Removed Legacy Scripts

This commit is contained in:
oesi
2017-02-10 13:33:51 +01:00
parent 95d5c890fd
commit 03e97199f6
46 changed files with 156 additions and 14005 deletions
-13
View File
@@ -1,13 +0,0 @@
CodeIgniter - FHComplete -> Hybrid Cyborg
=========================================
== CodeIgniter Basics
https://codeigniter.com/user_guide/
=== wichtige Pfadkonstanten
* FCPATH -> dort wo die index.php liegt -> Bspl: /var/www/html/
* BASEPATH -> Pfad zum CodeIgniter-Framework -> Bspl: '..../vendor/codeingiter/framework/system/'
* APPPATH -> Pfad zur Application-Folder '/var/www/html/application/'
-2352
View File
File diff suppressed because it is too large Load Diff
-23
View File
@@ -1,23 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1 style="text-align: center;"><br>
</h1>
<h1 style="text-align: center;"><br>
</h1>
<h1 style="text-align: center;"><big>System-Umstellung</big></h1>
<br>
<h2 style="text-align: center;">Ende der Umstellung ist vorraussichtlich <big><span style="text-decoration: underline;">
Dienstag 6.2.2007 19:00 Uhr</span></big></h2>
<br>
<div style="text-align: right;">
<h3><br>
</h3>
<h3><br>
</h3>
<h3>Wir bitten um Ihr Verst&auml;ndnis!</h3>
</div>
</body>
</html>
-246
View File
@@ -1,246 +0,0 @@
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Examples extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->database();
$this->load->helper('url');
$this->load->library('grocery_CRUD');
}
public function _example_output($output = null)
{
$this->load->view('example.php', $output);
}
public function offices()
{
$output = $this->grocery_crud->render();
$this->_example_output($output);
}
public function index()
{
$this->_example_output((object)array('output' => '' , 'js_files' => array() , 'css_files' => array()));
}
public function offices_management()
{
try{
$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('offices');
$crud->set_subject('Office');
$crud->required_fields('city');
$crud->columns('city', 'country', 'phone', 'addressLine1', 'postalCode');
$output = $crud->render();
$this->_example_output($output);
}catch(Exception $e){
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
}
public function employees_management()
{
$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('employees');
$crud->set_relation('officeCode', 'offices', 'city');
$crud->display_as('officeCode', 'Office City');
$crud->set_subject('Employee');
$crud->required_fields('lastName');
$crud->set_field_upload('file_url', 'assets/uploads/files');
$output = $crud->render();
$this->_example_output($output);
}
public function customers_management()
{
$crud = new grocery_CRUD();
$crud->set_table('customers');
$crud->columns('customername', 'contactlastname', 'phone', 'city', 'country', 'salesrepemployeenumber', 'creditlimit');
$crud->display_as('salesrepemployeenumber', 'from Employeer')
->display_as('customername', 'Name')
->display_as('contactlastname', 'Last Name');
$crud->set_subject('Customer');
$crud->set_relation('salesrepemployeenumber', 'employees', 'lastname');
$output = $crud->render();
$this->_example_output($output);
}
public function orders_management()
{
$crud = new grocery_CRUD();
$crud->set_relation('customerNumber', 'customers', '{contactLastName} {contactFirstName}');
$crud->display_as('customerNumber', 'Customer');
$crud->set_table('orders');
$crud->set_subject('Order');
$crud->unset_add();
$crud->unset_delete();
$output = $crud->render();
$this->_example_output($output);
}
public function products_management()
{
$crud = new grocery_CRUD();
$crud->set_table('products');
$crud->set_subject('Product');
$crud->unset_columns('productDescription');
$crud->callback_column('buyPrice', array($this,'valueToEuro'));
$output = $crud->render();
$this->_example_output($output);
}
public function valueToEuro($value, $row)
{
return $value.' &euro;';
}
public function film_management()
{
$crud = new grocery_CRUD();
$crud->set_table('film');
$crud->set_relation_n_n('actors', 'film_actor', 'actor', 'film_id', 'actor_id', 'fullname', 'priority');
$crud->set_relation_n_n('category', 'film_category', 'category', 'film_id', 'category_id', 'name');
$crud->unset_columns('special_features', 'description', 'actors');
$crud->fields('title', 'description', 'actors', 'category', 'release_year', 'rental_duration', 'rental_rate', 'length', 'replacement_cost', 'rating', 'special_features');
$output = $crud->render();
$this->_example_output($output);
}
public function film_management_twitter_bootstrap()
{
try{
$crud = new grocery_CRUD();
$crud->set_theme('twitter-bootstrap');
$crud->set_table('film');
$crud->set_relation_n_n('actors', 'film_actor', 'actor', 'film_id', 'actor_id', 'fullname', 'priority');
$crud->set_relation_n_n('category', 'film_category', 'category', 'film_id', 'category_id', 'name');
$crud->unset_columns('special_features', 'description', 'actors');
$crud->fields('title', 'description', 'actors', 'category', 'release_year', 'rental_duration', 'rental_rate', 'length', 'replacement_cost', 'rating', 'special_features');
$output = $crud->render();
$this->_example_output($output);
}catch(Exception $e){
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
}
function multigrids()
{
$this->config->load('grocery_crud');
$this->config->set_item('grocery_crud_dialog_forms', true);
$this->config->set_item('grocery_crud_default_per_page', 10);
$output1 = $this->offices_management2();
$output2 = $this->employees_management2();
$output3 = $this->customers_management2();
$js_files = $output1->js_files + $output2->js_files + $output3->js_files;
$css_files = $output1->css_files + $output2->css_files + $output3->css_files;
$output = "<h1>List 1</h1>".$output1->output."<h1>List 2</h1>".$output2->output."<h1>List 3</h1>".$output3->output;
$this->_example_output((object)array(
'js_files' => $js_files,
'css_files' => $css_files,
'output' => $output
));
}
public function offices_management2()
{
$crud = new grocery_CRUD();
$crud->set_table('offices');
$crud->set_subject('Office');
$crud->set_crud_url_path(site_url(strtolower(__CLASS__."/".__FUNCTION__)), site_url(strtolower(__CLASS__."/multigrids")));
$output = $crud->render();
if ($crud->getState() != 'list') {
$this->_example_output($output);
} else {
return $output;
}
}
public function employees_management2()
{
$crud = new grocery_CRUD();
$crud->set_theme('datatables');
$crud->set_table('employees');
$crud->set_relation('officeCode', 'offices', 'city');
$crud->display_as('officeCode', 'Office City');
$crud->set_subject('Employee');
$crud->required_fields('lastName');
$crud->set_field_upload('file_url', 'assets/uploads/files');
$crud->set_crud_url_path(site_url(strtolower(__CLASS__."/".__FUNCTION__)), site_url(strtolower(__CLASS__."/multigrids")));
$output = $crud->render();
if ($crud->getState() != 'list') {
$this->_example_output($output);
} else {
return $output;
}
}
public function customers_management2()
{
$crud = new grocery_CRUD();
$crud->set_table('customers');
$crud->columns('customerName', 'contactLastName', 'phone', 'city', 'country', 'salesRepEmployeeNumber', 'creditLimit');
$crud->display_as('salesRepEmployeeNumber', 'from Employeer')
->display_as('customerName', 'Name')
->display_as('contactLastName', 'Last Name');
$crud->set_subject('Customer');
$crud->set_relation('salesRepEmployeeNumber', 'employees', 'lastName');
$crud->set_crud_url_path(site_url(strtolower(__CLASS__."/".__FUNCTION__)), site_url(strtolower(__CLASS__."/multigrids")));
$output = $crud->render();
if ($crud->getState() != 'list') {
$this->_example_output($output);
} else {
return $output;
}
}
}
-54
View File
@@ -1,54 +0,0 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Main extends CI_Controller
{
/**
* Load Database und the url-helper
**/
private function __construct()
{
parent::__construct();
// Standard Libraries of codeigniter are required
$this->load->database();
$this->load->helper('url');
// Test the grocery CRUD
$this->load->library('grocery_CRUD');
}
/**
* Show the Welcome Page by default
* @return void
**/
public function index()
{
echo "<h1>Welcome to the world of Codeigniter</h1>";
//Just an example to ensure that we get into the function die();
}
/**
* Test grocery CRUD for tbl_person
* @return void
**/
public function person()
{
$this->grocery_crud->set_table('tbl_pperson');
$output = $this->grocery_crud->render();
echo "<pre>";
print_r($output);
echo "</pre>";
//die();
$this->__exampleOutput($output);
}
/**
* example Output
* @param string $output The HTML-Output from grocery.
* @return void
**/
private function __exampleOutput($output = null)
{
$this->load->view('our_template.php', $output);
}
}
-216
View File
@@ -1,216 +0,0 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class ModelTest extends FHC_Controller
{
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
* @return void
*/
public function index()
{
//$this->session->uid='admin'; // Should normaly be set through auth
$this->load->model('person/Person_model');
$res = $this->Person_model->getPerson(null, 'asdf\' OR person_id=1; SELECT 1; --');
var_dump($res->result_object());
$this->load->model('crm/Prestudent_model');
$id=null;
// Insert PreStudent
$data = array
(
'aufmerksamdurch_kurzbz' => 'k.A.',
'person_id' => 1,
'studiengang_kz' => 0
);
$res = $this->Prestudent_model->insert($data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id=$res->retval;
// Update PreStudent
$data = array
(
'zgvort' => 'Wien',
'zgvdatum' => '2012-12-12',
'facheinschlberuf' => true
);
$res = $this->Prestudent_model->update($id, $data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id=$res->retval;
// Replace PreStudent
/*$data = array
(
'prestudent_id' => $id,
'zgvmaort' => 'Linz',
'zgvmadatum' => '2011-11-11',
'facheinschlberuf' => false
);
$res = $this->Prestudent_model->replace($data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval;
else
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval;*/
// Load PreStudent
$res = $this->Prestudent_model->load($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
var_dump($res->retval);
// Insert PreStudentStatus
$this->load->model('crm/Prestudentstatus_model');
$data = array
(
'prestudent_id' => $id,
'status_kurzbz' => 'Interessent',
'studiensemester_kurzbz' => 'WS2001',
'ausbildungssemester' => 1
);
$res = $this->Prestudentstatus_model->insert($data);
var_dump($res->retval);
// Load PreStudentStatus
$res = $this->Prestudentstatus_model->load($data);
var_dump($res->retval->result_object());
$res = $this->Prestudentstatus_model->load(array($id,'Interessent', 'WS2001', 1));
var_dump($res->retval->result_object());
// Update PreStudentStatus
$res = $this->Prestudentstatus_model->update($data, array
(
'prestudent_id' => $id,
'status_kurzbz' => 'Bewerber',
'studiensemester_kurzbz' => 'WS2011',
'ausbildungssemester' => 2
));
var_dump($res->retval);
$res = $this->Prestudentstatus_model->update(array($id,'Bewerber', 'WS2011', 2), $data );
var_dump($res->retval);
// Delete PreStudentStatus
$res = $this->Prestudentstatus_model->delete($data);
var_dump($res->retval);
// Delete PreStudent
$res = $this->Prestudent_model->delete($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
var_dump($res->retval);
$this->load->model('organisation/Organisationseinheit_model');
// Insert OE
$data = array
(
'oe_kurzbz' => 'testoe',
'bezeichnung' => 'testoe',
'organisationseinheittyp_kurzbz' => 'Institut',
'standort_id' => null
);
$res = $this->Organisationseinheit_model->insert($data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id = $data['oe_kurzbz'];
var_dump($res);
// Update OE
$data = array
(
'freigabegrenze' => 1234.56,
'kurzzeichen' => 'TestOE',
'lehre' => false
);
$res = $this->Organisationseinheit_model->update($id, $data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id=$res->retval;
// Delete Organisationseinheit
$res = $this->Organisationseinheit_model->delete($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
var_dump($res->retval);
$this->load->model('system/Sprache_model');
// Insert Sprache
$data = array
(
'sprache' => 'test',
'bezeichnung' => "{'testsprache'}",
'locale' => 'te_TE',
'content' => false
);
$res = $this->Sprache_model->insert($data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id = $data['sprache'];
var_dump($res);
// Update Sprache
$data = array
(
'index' => 4,
'bezeichnung' => "{'TestSprache', 'TestLanguage', 'TestSpanisch'}",
'content' => true
);
$res = $this->Sprache_model->update($id, $data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id=$res->retval; //echo $id;
// Load Sprache
$res = $this->Sprache_model->load($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
{
$result = $res->retval->result_object();
var_dump($result);
var_dump($this->Sprache_model->pgArrayPhp($result[0]->bezeichnung));
var_dump($this->Sprache_model->pgBoolPhp($result[0]->content));
}
// Load All Sprache
$res = $this->Sprache_model->loadWhere();
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
{
var_dump($res->retval);
$result = $res->retval->result_object();
var_dump($result);
}
// Delete Sprache
$res = $this->Sprache_model->delete($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->fhcCode,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
var_dump($res->retval);
}
}
-7
View File
@@ -1,7 +0,0 @@
<?php
class Pages extends CI_Controller {
public function view($page = 'vilesci')
{
}
}
+2 -4
View File
@@ -22,15 +22,13 @@ class Redirect extends FHC_Controller
public function __construct()
{
parent::__construct();
// Loads config file fhcomplete
$this->config->load('fhcomplete');
}
public function redirectByToken($token)
{
var_dump($token);
if (isset($token))
{
redirect($this->config->item('addons_aufnahme_url') . '?token=' . $token);
-45
View File
@@ -1,45 +0,0 @@
<?php
/*!
* @brief This function sends compute requests to
* ZipComp-Task and waits for response:
* @image html ZipCmd_ZipComp_Communication.png
*
* <!-- Hide plantuml commands from Doxygen inside comment.
* Note: Use of the Doxygen tag command to hide code in 1.7.3 will hide the Doxygen docs that follow.
* Warning: Don't replaced plantuml commands '@' with '\' - it won't work.
* @startuml ZipCmd_ZipComp_Communication.png
*
* ZipCmd -> ZipComp: First Compute Request
* ZipCmd <-- ZipComp: First Compute Response
*
* ZipCmd -> ZipComp: Second Compute Request
* ZipCmd <-- ZipComp: Second Compute Response
*
* @enduml
* -->
*
* @return some value on success.
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
/**
* @class Rest_server
* @brief Rest Server Controller
*
* A more detailed class description.
*/
class Rest_server extends FHC_Controller
{
/**
* Index Method for default function.
*
* @return void
*
*/
public function index()
{
$this->load->helper('url');
$this->load->view('rest_server');
}
}
-25
View File
@@ -1,25 +0,0 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
}
-458
View File
@@ -1,458 +0,0 @@
<?php
/**
* FH-Complete
*
* @package FHC-Helper
* @author FHC-Team
* @copyright Copyright (c) 2016 fhcomplete.org
* @license GPLv3
* @link https://fhcomplete.org
* @since Version 1.0.0
* @filesource
*/
if (! defined('BASEPATH')) exit('No direct script access allowed');
//require_once 'include/basis.class.php';
/**
* FHC-Auth Helpers
*
* @package FH-Complete
* @subpackage Helpers
* @category Helpers
* @author FHC-Team
* @link http://fhcomplete.org/user_guide/helpers/fhcauth_helper.html
*/
// ------------------------------------------------------------------------
//require_once('include/sprache.class.php');
class basis_db
{
protected $ci=null;
protected $db_result=null;
protected $errormsg=null;
public function __construct($ci)
{
$this->ci=$ci;
if (!defined('FHC_INTEGER'))
{
define('FHC_INTEGER',1);
define('FHC_STRING',2);
define('FHC_BOOLEAN',3);
define('FHC_LANG_ARRAY',4);
}
}
public function db_connect()
{
$conn_str='host='.DB_HOST.' port='.DB_PORT.' dbname='.DB_NAME.' user='.DB_USER.' password='.DB_PASSWORD;
//Connection Herstellen
if (DB_CONNECT_PERSISTENT)
{
if (!basis_db::$db_conn = pg_pconnect($conn_str))
die('Fehler beim Oeffnen der Datenbankverbindung');
}
else
{
if (!basis_db::$db_conn = pg_connect($conn_str))
die('Fehler beim Oeffnen der Datenbankverbindung');
}
}
public function db_query($sql)
{
if ($this->db_result=$this->ci->db->simple_query($sql))
return $this->db_result;
else
{
$this->errormsg.='Abfrage in Datenbank fehlgeschlagen! '.$this->db_last_error();
return false;
}
}
public function db_num_rows($result=null)
{
if (is_null($result))
return pg_num_rows($this->db_result);
else
return pg_num_rows($result);
}
public function db_fetch_object($result = null, $i=null)
{
if (is_null($result))
{
if (is_null($i))
return pg_fetch_object($this->db_result);
else
return pg_fetch_object($this->db_result, $i);
}
else
{
if (is_null($i))
return pg_fetch_object($result);
else
return pg_fetch_object($result, $i);
}
}
public function db_fetch_row($result = null, $i=null)
{
if (is_null($result))
{
if (is_null($i))
return pg_fetch_row($this->db_result);
else
return pg_fetch_row($this->db_result, $i);
}
else
{
if (is_null($i))
return pg_fetch_row($result);
else
return pg_fetch_row($result, $i);
}
}
public function db_fetch_assoc($result = null, $i=null)
{
if (is_null($result))
{
if (is_null($i))
return pg_fetch_assoc($this->db_result);
else
return pg_fetch_assoc($this->db_result, $i);
}
else
{
if (is_null($i))
return pg_fetch_row($result);
else
return pg_fetch_row($result, $i);
}
}
public function db_result($result = null, $i,$item)
{
if (is_null($result))
{
return pg_result($this->db_result, $i,$item);
}
else
{
return pg_result($result, $i,$item);
}
}
public function db_getResultJSON($result = null)
{
$rows=array();
if (is_null($result))
{
while ($r = pg_fetch_assoc($this->db_result))
$rows[] = $r;
//print json_encode($rows);
}
else
{
pg_result_seek($result, 0);
//var_dump($result);
while ($r = pg_fetch_assoc($result))
{
$rows[] = $r;
}
//print json_encode($rows);
}
return json_encode($rows);
}
public function db_last_error()
{
return pg_last_error();
}
public function db_affected_rows($result=null)
{
if (is_null($result))
return pg_affected_rows($this->db_result);
else
return pg_affected_rows($result);
}
public function db_result_seek($result=null, $offset)
{
if (is_null($result))
return pg_result_seek($this->db_result, $offset);
else
return pg_result_seek($result, $offset);
}
public function db_fetch_array($result=null)
{
if (is_null($result))
return pg_fetch_array($this->db_result);
else
return pg_fetch_array($result);
}
public function db_num_fields($result=null)
{
if (is_null($result))
return pg_num_fields($this->db_result);
else
return pg_num_fields($result);
}
/**
* Liefert den Feldnamen mit index i
*/
public function db_field_name($result=null, $i)
{
if (is_null($result))
return pg_field_name($this->db_result, $i);
else
return pg_field_name($result, $i);
}
/**
* Gibt den Speicher wieder Frei.
* (ist das sinnvoll wenn es per Value uebergeben wird??)
*/
public function db_free_result($result = null)
{
if (is_null($result))
{
return pg_free_result($this->db_result);
}
else
{
return pg_free_result($result);
}
}
/**
* Liefert die aktuelle Datenbankversion
*/
public function db_version()
{
return pg_version(basis_db::$db_conn);
}
/**
* Escaped Sonderzeichen in Variablen vor der Verwendung in SQL Statements
* um SQL Injections zu verhindern
*
*/
public function db_escape($var)
{
return pg_escape_string($var);
}
/**
* Null Value Handling und Hochkomma für Inserts / Updates
* Wenn die Uebergebe Variable leer ist, wird ein String mit null
* zurueckgeliefert, wenn nicht dann wird der string unter Hochkomma zurueckgeliefert
* es sei denn qoute=false dann wird nur der String zurueckgeliefert
*
* @param $var String-Value fuer SQL Request
* @return string
*/
public function db_null_value($var, $qoute=true)
{
if ($qoute)
return ($var!==''?$this->db_qoute($var):'null');
else
return ($var!==''?$var:'null');
}
/**
* Setzt einen String unter Hochkomma
* @param $var Value fuer Insert/Update
* @return value unter Hochkomma
*/
public function db_qoute($var)
{
return "'".$var."'";
}
/**
* Escaped einen Parameter fuer die Verwendung in Insert/Update SQL Befehlen
* Es werden abhaengig vom Typ Hochkomma oder Null hinzugefuegt
* @param $var Value der gesetzt werden soll
* @param $type Typ des Values (FHC_STRING | FHC_BOOLEAN | FHC_INTEGER | ...)
* @param $nullable boolean gibt an ob das Feld NULL sein darf. Wenn true wird
* NULL statt einem Leerstring zurueckgeliefert
* @return Escapter Value inklusive Hochkomma wenn noetig
*
* Verwendungsbeispiel:
* Update tbl_person set nachname=$this->db_add_param($var)
* Update tbl_person set aktiv=$this->db_add_param($var, FHC_BOOL, false)
* Update tbl_person set anzahlkinder=$this->db_add_param($var, FHC_INT)
*/
public function db_add_param($var, $type=FHC_STRING, $nullable=true)
{
if (($var==='' || is_null($var)) && $type!=FHC_BOOLEAN)
{
if ($nullable)
return 'null';
else
return "''";
}
switch($type)
{
case FHC_INTEGER:
$var = $this->db_escape($var);
if (!is_numeric($var) && $var!=='')
die('Invalid Integer Parameter detected:'.$var);
$var = $this->db_null_value($var, false);
break;
case FHC_LANG_ARRAY:
$sprache = new sprache();
$sprache->getAll(true);
$buf = $var;
$var = array();
$languages = $sprache->getAllIndexesSorted();
foreach($languages as $sk => $sp)
{
if (!$sp || !isset($buf[$sp]))
$var[$sk] = "";
else
$var[$sk] = $this->db_escape($buf[$sp]);
}
$var = str_replace('\\', '\\\\', $var);
$var = str_replace('"', '\\\"', $var);
$var = '\'{"' . join('","', $var) . '"}\'';
break;
case FHC_BOOLEAN:
if ($var===true)
$var='true';
elseif ($var===false)
$var='false';
elseif ($var=='' && $nullable)
$var = 'null';
else
die('Invalid Boolean Parameter detected');
break;
case FHC_STRING:
default:
$var = $this->db_escape($var);
$var = $this->db_null_value($var);
break;
}
return $var;
}
/**
* Erzeugt aus einem DB-Result-Boolean einen PHP Boolean
*/
public function db_parse_bool($var)
{
if ($var=='t')
return true;
elseif ($var=='f')
return false;
elseif ($var=='')
return '';
else
die('Invalid DB Boolean. Wrong DB-Engine?');
}
/**
* Bereitet ein Array von Elementen auf, damit es in der IN-Klausel eines
* Select Befehls verwendet werden kann.
*/
public function db_implode4SQL($array)
{
$string = '';
foreach($array as $row)
{
if ($string!='')
$string.=',';
$string.=$this->db_add_param($row);
}
return $string;
}
/**
* Erstellt aus einem DB Array ein PHP Array
* @param $var DB Result Array Spalte
* @return php array
*/
public function db_parse_array($var)
{
if ($var == '')
return;
preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?<!^\{)(?=\}$))/i', $var, $matches, PREG_SET_ORDER);
$values = array();
foreach ($matches as $match)
{
$values[] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]);
}
return $values;
}
/**
* Erstellt aus einem DB Array ein PHP Array
* @param $var DB Result Array Spalte
* @return php array
*/
public function db_parse_lang_array($var)
{
if ($var == '')
return;
preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?<!^\{)(?=\}$))/i', $var, $matches, PREG_SET_ORDER);
$values = array();
$sprache = new sprache();
$sprache->loadIndexArray();
$sprache = new sprache();
$sprache->getAll(true);
$languages = $sprache->getAllIndexesSorted();
foreach ($matches as $mk => $match)
{
$values[$languages[$mk+1]] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]);
}
return $values;
}
}
function indexSort($a, $b)
{
return strcmp($a->index, $b->index);
}
/**
* Bereitet ein Array von Elementen auf, damit es in der IN-Klausel eines
* Select Befehls verwendet werden kann.
*/
function dbImplode4SQL($array)
{
$string = '';
foreach($array as $row)
{
if ($string != '')
{
$string.=',';
}
$string.=$this->db_add_param($row);
}
return $string;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-18
View File
@@ -1,18 +0,0 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
* =======================================
* Author : Slamet Nurhadi
* License : NO License
* Email : slametnhd@gmail.com
*
*
*
* =======================================
*/
require_once APPPATH."../vendor/easyrdf/easyrdf/lib/EasyRdf.php";
class RdfLib
{
}
-592
View File
@@ -1,592 +0,0 @@
<?php
/**
* PHP grocery CRUD
*
* LICENSE
*
* Grocery CRUD is released with dual licensing, using the GPL v3 (license-gpl3.txt) and the MIT license (license-mit.txt).
* You don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using.
* Please see the corresponding license file for details of these licenses.
* You are free to use, modify and distribute this software, but all copyright information must remain.
*
* @package grocery CRUD
* @copyright Copyright (c) 2010 through 2012, John Skoumbourdis
* @license https://github.com/scoumbourdis/grocery-crud/blob/master/license-grocery-crud.txt
* @version 1.4.2
* @author John Skoumbourdis <scoumbourdisj@gmail.com>
*/
// ------------------------------------------------------------------------
/**
* Grocery CRUD Model
*
*
* @package grocery CRUD
* @author John Skoumbourdis <scoumbourdisj@gmail.com>
* @version 1.5.4
* @link http://www.grocerycrud.com/documentation
*/
class Grocery_crud_model extends CI_Model {
protected $primary_key = null;
protected $table_name = null;
protected $relation = array();
protected $relation_n_n = array();
protected $primary_keys = array();
function __construct()
{
parent::__construct();
}
function db_table_exists($table_name = null)
{
return $this->db->table_exists($table_name);
}
function get_list()
{
if ($this->table_name === null)
return false;
$select = "{$this->table_name}.*";
//set_relation special queries
if (!empty($this->relation))
{
foreach($this->relation as $relation)
{
list($field_name , $related_table , $related_field_title) = $relation;
$unique_join_name = $this->_unique_join_name($field_name);
$unique_field_name = $this->_unique_field_name($field_name);
if (strstr($related_field_title,'{'))
{
$related_field_title = str_replace(" ","&nbsp;",$related_field_title);
$select .= ", CONCAT('".str_replace(array('{','}'),array("',COALESCE({$unique_join_name}.",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $unique_field_name";
}
else
{
$select .= ", $unique_join_name.$related_field_title AS $unique_field_name";
}
if ($this->field_exists($related_field_title))
$select .= ", {$this->table_name}.$related_field_title AS {$this->table_name}.$related_field_title";
}
}
//set_relation_n_n special queries. We prefer sub queries from a simple join for the relation_n_n as it is faster and more stable on big tables.
if (!empty($this->relation_n_n))
{
$select = $this->relation_n_n_queries($select);
}
$this->db->select($select, false);
$results = $this->db->get($this->table_name)->result();
return $results;
}
public function get_row($table_name = null)
{
$table_name = $table_name === null ? $this->table_name : $table_name;
return $this->db->get($table_name)->row();
}
public function set_primary_key($field_name, $table_name = null)
{
$table_name = $table_name === null ? $this->table_name : $table_name;
$this->primary_keys[$table_name] = $field_name;
}
protected function relation_n_n_queries($select)
{
$this_table_primary_key = $this->get_primary_key();
foreach($this->relation_n_n as $relation_n_n)
{
list($field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table,
$primary_key_alias_to_selection_table, $title_field_selection_table, $priority_field_relation_table) = array_values((array)$relation_n_n);
$primary_key_selection_table = $this->get_primary_key($selection_table);
$field = "";
$use_template = strpos($title_field_selection_table,'{') !== false;
$field_name_hash = $this->_unique_field_name($title_field_selection_table);
if ($use_template)
{
$title_field_selection_table = str_replace(" ", "&nbsp;", $title_field_selection_table);
$field .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$title_field_selection_table))."')";
}
else
{
$field .= "$selection_table.$title_field_selection_table";
}
//Sorry Codeigniter but you cannot help me with the subquery!
$select .= ", (SELECT GROUP_CONCAT(DISTINCT $field) FROM $selection_table "
."LEFT JOIN $relation_table ON $relation_table.$primary_key_alias_to_selection_table = $selection_table.$primary_key_selection_table "
."WHERE $relation_table.$primary_key_alias_to_this_table = `{$this->table_name}`.$this_table_primary_key GROUP BY $relation_table.$primary_key_alias_to_this_table) AS $field_name";
}
return $select;
}
function order_by($order_by , $direction)
{
$this->db->order_by( $order_by , $direction );
}
function where($key, $value = NULL, $escape = TRUE)
{
$this->db->where( $key, $value, $escape);
}
function or_where($key, $value = NULL, $escape = TRUE)
{
$this->db->or_where( $key, $value, $escape);
}
function having($key, $value = NULL, $escape = TRUE)
{
$this->db->having( $key, $value, $escape);
}
function or_having($key, $value = NULL, $escape = TRUE)
{
$this->db->or_having( $key, $value, $escape);
}
function like($field, $match = '', $side = 'both')
{
$this->db->like($field, $match, $side);
}
function or_like($field, $match = '', $side = 'both')
{
$this->db->or_like($field, $match, $side);
}
function limit($value, $offset = '')
{
$this->db->limit( $value , $offset );
}
function get_total_results()
{
//set_relation_n_n special queries. We prefer sub queries from a simple join for the relation_n_n as it is faster and more stable on big tables.
if (!empty($this->relation_n_n))
{
$select = "{$this->table_name}.*";
$select = $this->relation_n_n_queries($select);
$this->db->select($select,false);
}
return $this->db->get($this->table_name)->num_rows();
}
function set_basic_table($table_name = null)
{
if ( !($this->db->table_exists($table_name)) )
return false;
$this->table_name = $table_name;
return true;
}
function get_edit_values($primary_key_value)
{
$primary_key_field = $this->get_primary_key();
$this->db->where($primary_key_field,$primary_key_value);
$result = $this->db->get($this->table_name)->row();
return $result;
}
function join_relation($field_name , $related_table , $related_field_title)
{
$related_primary_key = $this->get_primary_key($related_table);
if ($related_primary_key !== false)
{
$unique_name = $this->_unique_join_name($field_name);
$this->db->join( $related_table.' as '.$unique_name , "$unique_name.$related_primary_key = {$this->table_name}.$field_name",'left');
$this->relation[$field_name] = array($field_name , $related_table , $related_field_title);
return true;
}
return false;
}
function set_relation_n_n_field($field_info)
{
$this->relation_n_n[$field_info->field_name] = $field_info;
}
protected function _unique_join_name($field_name)
{
return 'j'.substr(md5($field_name),0,8); //This j is because is better for a string to begin with a letter and not with a number
}
protected function _unique_field_name($field_name)
{
return 's'.substr(md5($field_name),0,8); //This s is because is better for a string to begin with a letter and not with a number
}
function get_relation_array($field_name , $related_table , $related_field_title, $where_clause, $order_by, $limit = null, $search_like = null)
{
$relation_array = array();
$field_name_hash = $this->_unique_field_name($field_name);
$related_primary_key = $this->get_primary_key($related_table);
$select = "$related_table.$related_primary_key, ";
if (strstr($related_field_title,'{'))
{
$related_field_title = str_replace(" ", "&nbsp;", $related_field_title);
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
}
else
{
$select .= "$related_table.$related_field_title as $field_name_hash";
}
$this->db->select($select,false);
if ($where_clause !== null)
$this->db->where($where_clause);
if ($where_clause !== null)
$this->db->where($where_clause);
if ($limit !== null)
$this->db->limit($limit);
if ($search_like !== null)
$this->db->having("$field_name_hash LIKE '%".$this->db->escape_like_str($search_like)."%'");
$order_by !== null
? $this->db->order_by($order_by)
: $this->db->order_by($field_name_hash);
$results = $this->db->get($related_table)->result();
foreach($results as $row)
{
$relation_array[$row->$related_primary_key] = $row->$field_name_hash;
}
return $relation_array;
}
function get_ajax_relation_array($search, $field_name , $related_table , $related_field_title, $where_clause, $order_by)
{
return $this->get_relation_array($field_name , $related_table , $related_field_title, $where_clause, $order_by, 10 , $search);
}
function get_relation_total_rows($field_name , $related_table , $related_field_title, $where_clause)
{
if ($where_clause !== null)
$this->db->where($where_clause);
return $this->db->count_all_results($related_table);
}
function get_relation_n_n_selection_array($primary_key_value, $field_info)
{
$select = "";
$related_field_title = $field_info->title_field_selection_table;
$use_template = strpos($related_field_title,'{') !== false;;
$field_name_hash = $this->_unique_field_name($related_field_title);
if ($use_template)
{
$related_field_title = str_replace(" ", "&nbsp;", $related_field_title);
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
}
else
{
$select .= "$related_field_title as $field_name_hash";
}
$this->db->select('*, '.$select,false);
$selection_primary_key = $this->get_primary_key($field_info->selection_table);
if (empty($field_info->priority_field_relation_table))
{
if (!$use_template){
$this->db->order_by("{$field_info->selection_table}.{$field_info->title_field_selection_table}");
}
}
else
{
$this->db->order_by("{$field_info->relation_table}.{$field_info->priority_field_relation_table}");
}
$this->db->where($field_info->primary_key_alias_to_this_table, $primary_key_value);
$this->db->join(
$field_info->selection_table,
"{$field_info->relation_table}.{$field_info->primary_key_alias_to_selection_table} = {$field_info->selection_table}.{$selection_primary_key}"
);
$results = $this->db->get($field_info->relation_table)->result();
$results_array = array();
foreach($results as $row)
{
$results_array[$row->{$field_info->primary_key_alias_to_selection_table}] = $row->{$field_name_hash};
}
return $results_array;
}
function get_relation_n_n_unselected_array($field_info, $selected_values)
{
$use_where_clause = !empty($field_info->where_clause);
$select = "";
$related_field_title = $field_info->title_field_selection_table;
$use_template = strpos($related_field_title,'{') !== false;
$field_name_hash = $this->_unique_field_name($related_field_title);
if ($use_template)
{
$related_field_title = str_replace(" ", "&nbsp;", $related_field_title);
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
}
else
{
$select .= "$related_field_title as $field_name_hash";
}
$this->db->select('*, '.$select,false);
if ($use_where_clause){
$this->db->where($field_info->where_clause);
}
$selection_primary_key = $this->get_primary_key($field_info->selection_table);
if (!$use_template)
$this->db->order_by("{$field_info->selection_table}.{$field_info->title_field_selection_table}");
$results = $this->db->get($field_info->selection_table)->result();
$results_array = array();
foreach($results as $row)
{
if (!isset($selected_values[$row->$selection_primary_key]))
$results_array[$row->$selection_primary_key] = $row->{$field_name_hash};
}
return $results_array;
}
function db_relation_n_n_update($field_info, $post_data ,$main_primary_key)
{
$this->db->where($field_info->primary_key_alias_to_this_table, $main_primary_key);
if (!empty($post_data))
$this->db->where_not_in($field_info->primary_key_alias_to_selection_table , $post_data);
$this->db->delete($field_info->relation_table);
$counter = 0;
if (!empty($post_data))
{
foreach($post_data as $primary_key_value)
{
$where_array = array(
$field_info->primary_key_alias_to_this_table => $main_primary_key,
$field_info->primary_key_alias_to_selection_table => $primary_key_value,
);
$this->db->where($where_array);
$count = $this->db->from($field_info->relation_table)->count_all_results();
if ($count == 0)
{
if (!empty($field_info->priority_field_relation_table))
$where_array[$field_info->priority_field_relation_table] = $counter;
$this->db->insert($field_info->relation_table, $where_array);
}elseif ($count >= 1 && !empty($field_info->priority_field_relation_table))
{
$this->db->update( $field_info->relation_table, array($field_info->priority_field_relation_table => $counter) , $where_array);
}
$counter++;
}
}
}
function db_relation_n_n_delete($field_info, $main_primary_key)
{
$this->db->where($field_info->primary_key_alias_to_this_table, $main_primary_key);
$this->db->delete($field_info->relation_table);
}
function get_field_types_basic_table()
{
$db_field_types = array();
foreach($this->db->query('SELECT column_name AS "Field", data_type AS "Type",
CASE WHEN indisprimary THEN '."'PRI'".' WHEN indisunique THEN '."'UNI'".' ELSE null END AS "Key", is_nullable AS "Null", NULL AS "Extra"
FROM information_schema.columns
JOIN pg_namespace ON (table_schema=nspname)
JOIN pg_class ON (pg_class.relnamespace = pg_namespace.oid AND pg_class.oid = table_name::regclass)
JOIN pg_attribute ON (pg_attribute.attrelid = pg_class.oid AND attname=column_name)
LEFT JOIN pg_index ON (indrelid = pg_class.oid AND
pg_attribute.attnum = any(pg_index.indkey))
WHERE table_name = '."'{$this->table_name}'")->result() as $db_field_type)
{
$type = explode("(",$db_field_type->Type);
$db_type = $type[0];
if (isset($type[1]))
{
if (substr($type[1],-1) == ')')
{
$length = substr($type[1],0,-1);
}
else
{
list($length) = explode(" ",$type[1]);
$length = substr($length,0,-1);
}
}
else
{
$length = '';
}
$db_field_types[$db_field_type->Field]['db_max_length'] = $length;
$db_field_types[$db_field_type->Field]['db_type'] = $db_type;
$db_field_types[$db_field_type->Field]['db_null'] = $db_field_type->Null == 'YES' ? true : false;
$db_field_types[$db_field_type->Field]['db_extra'] = $db_field_type->Extra;
$db_field_types[$db_field_type->Field]['db_key'] = $db_field_type->Key;
$db_field_types[$db_field_type->Field]['primary_key'] = $db_field_type->Key == 'PRI' ? 1 : 0;
}
$results = $this->db->field_data($this->table_name);
foreach($results as $num => $row)
{
$row = (array)$row;
$results[$num] = (object)( array_merge($row, $db_field_types[$row['name']]) );
}
return $results;
}
function get_field_types($table_name)
{
$results = $this->db->field_data($table_name);
return $results;
}
function db_update($post_array, $primary_key_value)
{
$primary_key_field = $this->get_primary_key();
return $this->db->update($this->table_name,$post_array, array( $primary_key_field => $primary_key_value));
}
function db_insert($post_array)
{
$insert = $this->db->insert($this->table_name,$post_array);
if ($insert)
{
return $this->db->insert_id();
}
return false;
}
function db_delete($primary_key_value)
{
$primary_key_field = $this->get_primary_key();
if ($primary_key_field === false)
return false;
$this->db->limit(1);
$this->db->delete($this->table_name,array( $primary_key_field => $primary_key_value));
if ( $this->db->affected_rows() != 1)
return false;
else
return true;
}
function db_file_delete($field_name, $filename)
{
if ( $this->db->update($this->table_name,array($field_name => ''),array($field_name => $filename)) )
{
return true;
}
else
{
return false;
}
}
function field_exists($field,$table_name = null)
{
if (empty($table_name))
{
$table_name = $this->table_name;
}
return $this->db->field_exists($field,$table_name);
}
function get_primary_key($table_name = null)
{
if ($table_name == null)
{
if (isset($this->primary_keys[$this->table_name]))
{
return $this->primary_keys[$this->table_name];
}
if (empty($this->primary_key))
{
$fields = $this->get_field_types_basic_table();
foreach($fields as $field)
{
if ($field->primary_key == 1)
{
return $field->name;
}
}
return false;
}
else
{
return $this->primary_key;
}
}
else
{
if (isset($this->primary_keys[$table_name]))
{
return $this->primary_keys[$table_name];
}
$fields = $this->get_field_types($table_name);
foreach($fields as $field)
{
/*if ($field->primary_key == 1)
{
return $field->name;
}*/
}
return false;
}
}
function escape_str($value)
{
return $this->db->escape_str($value);
}
}
-89
View File
@@ -1,89 +0,0 @@
<?php
if (! defined('BASEPATH')) exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
<style type="text/css">
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
a {
color: #003399;
background-color: transparent;
font-weight: normal;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
#body {
margin: 0 15px 0 15px;
}
p.footer {
text-align: right;
font-size: 11px;
border-top: 1px solid #D0D0D0;
line-height: 32px;
padding: 0 10px 0 10px;
margin: 20px 0 0 0;
}
#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}
</style>
</head>
<body>
<div id="container">
<h1>Welcome to CodeIgniter!</h1>
<div id="body">
<p>The page you are looking at is being generated dynamically by CodeIgniter.</p>
<p>If you would like to edit this page you'll find it located at:</p>
<code>application/views/welcome_message.php</code>
<p>The corresponding controller for this page is found at:</p>
<code>application/controllers/Welcome.php</code>
<p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p>
</div>
<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo (ENVIRONMENT === 'development') ? 'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
</div>
</body>
</html>
-43
View File
@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="FHComplete" default="test">
<fileset dir="." id="fileset.deploy.id">
<!-- directories which should not be deployed -->
<exclude name="config/cis.config.inc.php"/>
<exclude name="config/vilesci.config.inc.php"/>
<exclude name="config/system.config.inc.php" />
<exclude name="config/global.config.inc.php" />
<exclude name="config/wawi.config.inc.php" />
<exclude name="phpdoc/**"/>
<!-- git repo -->
<exclude name=".git/**"/>
<!-- build file -->
<exclude name="build.xml"/>
</fileset>
<fileset dir="." id="phpfiles">
<include name="include/*.php" />
</fileset>
<target name="test">
<echo msg="Testing for Syntax Errors" />
<phplint>
<fileset refid="phpfiles" />
</phplint>
</target>
<!-- requires a 512M memory limit to complete -->
<target name="phpdoc">
<mkdir dir="phpdoc"/>
<phpdoc2 title="FHComplete API Documentation" destdir="phpdoc">
<fileset dir=".">
<include name="include/*.class.php" />
</fileset>
</phpdoc2>
</target>
<target name="deploy">
<echo msg="Deploying FHComplete" />
<exec command="/home/fhcomplete/UpdateFHComplete.sh" passthru="true"/>
</target>
</project>
-189
View File
@@ -1,189 +0,0 @@
<?php
trait db_extra
{
/*
* Moved to private to avoid to violate "Strict standards"
* This property must be used only in the methods of this trait
* and access to it should only be done through the methods of this trait
*/
private $db_result = null;
public function db_query($sql)
{
if ($this->db_result=$this->db->simple_query($sql))
return $this->db_result;
else
{
$this->errormsg.='Abfrage in Datenbank fehlgeschlagen! '.$this->db_last_error();
return false;
}
}
public function db_num_rows($result=null)
{
if(is_null($result))
return pg_num_rows($this->db_result);
else
return pg_num_rows($result);
}
public function db_fetch_object($result = null, $i=null)
{
if(is_null($result))
{
if(is_null($i))
return pg_fetch_object($this->db_result);
else
return pg_fetch_object($this->db_result, $i);
}
else
{
if(is_null($i))
return pg_fetch_object($result);
else
return pg_fetch_object($result, $i);
}
}
public function db_add_param($var, $type=FHC_STRING, $nullable=true)
{
if($var==='' && $type!=FHC_BOOLEAN)
{
if($nullable)
return 'null';
else
return "''";
}
switch($type)
{
case FHC_INTEGER:
$var = $this->db_escape($var);
if(!is_numeric($var) && $var!=='')
die('Invalid Integer Parameter detected:'.$var);
$var = $this->db_null_value($var, false);
break;
case FHC_BOOLEAN:
if($var===true)
$var='true';
elseif($var===false)
$var='false';
elseif($var=='' && $nullable)
$var = 'null';
else
die('Invalid Boolean Parameter detected');
break;
case FHC_STRING:
default:
$var = $this->db_escape($var);
$var = $this->db_null_value($var);
break;
}
return $var;
}
public function db_escape($var)
{
return pg_escape_string($var);
}
public function db_null_value($var, $qoute=true)
{
if($qoute)
return ($var!==''?$this->db_qoute($var):'null');
else
return ($var!==''?$var:'null');
}
public function db_qoute($var)
{
return "'".$var."'";
}
public function db_parse_bool($var)
{
if($var=='t')
return true;
elseif($var=='f')
return false;
elseif($var=='')
return '';
else
die('Invalid DB Boolean. Wrong DB-Engine?');
}
/**
* Bereitet ein Array von Elementen auf, damit es in der IN-Klausel eines
* Select Befehls verwendet werden kann.
*/
public function db_implode4SQL($array)
{
$string = '';
foreach($array as $row)
{
if($string!='')
$string.=',';
$string.=$this->db_add_param($row);
}
return $string;
}
public function db_num_fields($result=null)
{
if(is_null($result))
return pg_num_fields($this->db_result);
else
return pg_num_fields($result);
}
public function convert_html_chars($value)
{
return htmlspecialchars($value);
}
/**
* Liefert den Feldnamen mit index i
*/
public function db_field_name($result=null, $i)
{
if(is_null($result))
return pg_field_name($this->db_result, $i);
else
return pg_field_name($result, $i);
}
public function db_last_error()
{
return pg_last_error();
}
/**
* Erstellt aus einem DB Array ein PHP Array
* @param $var DB Result Array Spalte
* @return php array
*/
public function db_parse_lang_array($var)
{
if ($var == '')
return;
preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?<!^\{)(?=\}$))/i', $var, $matches, PREG_SET_ORDER);
$values = array();
$sprache = new sprache();
$sprache->loadIndexArray();
$sprache = new sprache();
$sprache->getAll(true);
$languages = $sprache->getAllIndexesSorted();
foreach ($matches as $mk => $match)
{
$values[$languages[$mk+1]] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]);
}
return $values;
}
}
-375
View File
@@ -1,375 +0,0 @@
<?php
/**
* CodeIgniter
*
* An open source application development framework for PHP
*
* This content is released under the MIT License (MIT)
*
* Copyright (c) 2014 - 2015, British Columbia Institute of Technology
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* @package CodeIgniter
* @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (http://ellislab.com/)
* @copyright Copyright (c) 2014 - 2015, British Columbia Institute of Technology (http://bcit.ca/)
* @license http://opensource.org/licenses/MIT MIT License
* @link http://codeigniter.com
* @since Version 1.0.0
* @filesource
*/
/*
*---------------------------------------------------------------
* APPLICATION ENVIRONMENT
*---------------------------------------------------------------
*
* You can load different configurations depending on your
* current environment. Setting the environment also influences
* things like logging and error reporting.
*
* This can be set to anything, but default usage is:
*
* development
* testing
* production
*
* NOTE: If you change these, also change the error_reporting() code below
*/
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
/*
*---------------------------------------------------------------
* ERROR REPORTING
*---------------------------------------------------------------
*
* Different environments will require different levels of error reporting.
* By default development will show errors but testing and live will hide them.
*/
switch (ENVIRONMENT)
{
case 'development':
error_reporting(-1);
ini_set('display_errors', 1);
break;
case 'testing':
case 'production':
ini_set('display_errors', 0);
if (version_compare(PHP_VERSION, '5.3', '>='))
{
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
}
else
{
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
}
break;
default:
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
echo 'The application environment is not set correctly.';
exit(1); // EXIT_ERROR
}
/*
*---------------------------------------------------------------
* SYSTEM FOLDER NAME
*---------------------------------------------------------------
*
* This variable must contain the name of your "system" folder.
* Include the path if the folder is not in the same directory
* as this file.
*/
$system_path = dirname(__FILE__).'/vendor/codeigniter/framework/system';
/*
*---------------------------------------------------------------
* APPLICATION FOLDER NAME
*---------------------------------------------------------------
*
* If you want this front controller to use a different "application"
* folder than the default one you can set its name here. The folder
* can also be renamed or relocated anywhere on your server. If
* you do, use a full server path. For more info please see the user guide:
* http://codeigniter.com/user_guide/general/managing_apps.html
*
* NO TRAILING SLASH!
*/
$application_folder = dirname(__FILE__).'/application';
/*
*---------------------------------------------------------------
* VIEW FOLDER NAME
*---------------------------------------------------------------
*
* If you want to move the view folder out of the application
* folder set the path to the folder here. The folder can be renamed
* and relocated anywhere on your server. If blank, it will default
* to the standard location inside your application folder. If you
* do move this, use the full server path to this folder.
*
* NO TRAILING SLASH!
*/
$view_folder = '';
/*
* --------------------------------------------------------------------
* DEFAULT CONTROLLER
* --------------------------------------------------------------------
*
* Normally you will set your default controller in the routes.php file.
* You can, however, force a custom routing by hard-coding a
* specific controller class/function here. For most applications, you
* WILL NOT set your routing here, but it's an option for those
* special instances where you might want to override the standard
* routing in a specific front controller that shares a common CI installation.
*
* IMPORTANT: If you set the routing here, NO OTHER controller will be
* callable. In essence, this preference limits your application to ONE
* specific controller. Leave the function name blank if you need
* to call functions dynamically via the URI.
*
* Un-comment the $routing array below to use this feature
*/
// The directory name, relative to the "controllers" folder. Leave blank
// if your controller is not in a sub-folder within the "controllers" folder
// $routing['directory'] = '';
// The controller class file name. Example: mycontroller
// $routing['controller'] = '';
// The controller function you wish to be called.
// $routing['function'] = '';
/*
* -------------------------------------------------------------------
* CUSTOM CONFIG VALUES
* -------------------------------------------------------------------
*
* The $assign_to_config array below will be passed dynamically to the
* config class when initialized. This allows you to set custom config
* items or override any default config values found in the config.php file.
* This can be handy as it permits you to share one application between
* multiple front controller files, with each file containing different
* config values.
*
* Un-comment the $assign_to_config array below to use this feature
*/
// $assign_to_config['name_of_config_item'] = 'value of config item';
// --------------------------------------------------------------------
// END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE
// --------------------------------------------------------------------
/*
* ---------------------------------------------------------------
* Resolve the system path for increased reliability
* ---------------------------------------------------------------
*/
// Set the current directory correctly for CLI requests
if (defined('STDIN'))
{
chdir(dirname(__FILE__));
}
if (($_temp = realpath($system_path)) !== FALSE)
{
$system_path = $_temp.'/';
}
else
{
// Ensure there's a trailing slash
$system_path = rtrim($system_path, '/').'/';
}
// Is the system path correct?
if ( ! is_dir($system_path))
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
echo 'Your system folder path does not appear to be set correctly. Please open the following file and correct this: '.pathinfo(__FILE__, PATHINFO_BASENAME);
exit(3); // EXIT_CONFIG
}
/*
* -------------------------------------------------------------------
* Now that we know the path, set the main path constants
* -------------------------------------------------------------------
*/
// The name of THIS file
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
// Path to the system folder
define('BASEPATH', str_replace('\\', '/', $system_path));
// Path to the front controller (this file)
define('FCPATH', dirname(__FILE__).'/');
// Name of the "system folder"
define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));
// The path to the "application" folder
if (is_dir($application_folder))
{
if (($_temp = realpath($application_folder)) !== FALSE)
{
$application_folder = $_temp;
}
define('APPPATH', $application_folder.DIRECTORY_SEPARATOR);
}
else
{
if ( ! is_dir(BASEPATH.$application_folder.DIRECTORY_SEPARATOR))
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
echo 'Your application folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF;
exit(3); // EXIT_CONFIG
}
define('APPPATH', BASEPATH.$application_folder.DIRECTORY_SEPARATOR);
}
// The path to the "views" folder
if ( ! is_dir($view_folder))
{
if ( ! empty($view_folder) && is_dir(APPPATH.$view_folder.DIRECTORY_SEPARATOR))
{
$view_folder = APPPATH.$view_folder;
}
elseif ( ! is_dir(APPPATH.'views'.DIRECTORY_SEPARATOR))
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
echo 'Your view folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF;
exit(3); // EXIT_CONFIG
}
else
{
$view_folder = APPPATH.'views';
}
}
if (($_temp = realpath($view_folder)) !== FALSE)
{
$view_folder = $_temp.DIRECTORY_SEPARATOR;
}
else
{
$view_folder = rtrim($view_folder, '/\\').DIRECTORY_SEPARATOR;
}
define('VIEWPATH', $view_folder);
/*
* --------------------------------------------------------------------
* LOAD THE BOOTSTRAP FILE
* --------------------------------------------------------------------
*
* And away we go...
*/
include_once 'vendor/autoload.php';
//require_once BASEPATH.'core/CodeIgniter.php';
// Now the Hack starts
/*
* ------------------------------------------------------
* Load the framework constants
* ------------------------------------------------------
*/
if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php'))
{
require_once(APPPATH.'config/'.ENVIRONMENT.'/constants.php');
}
require_once(APPPATH.'config/constants.php');
// ToDo: Check if Security procedure is needed
// ToDo: Check if custom error handler is needed
/*
* ------------------------------------------------------
* Set the subclass_prefix
* ------------------------------------------------------
*
*/
if ( ! empty($assign_to_config['subclass_prefix']))
{
get_config(array('subclass_prefix' => $assign_to_config['subclass_prefix']));
}
require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/core/Common.php');
require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/core/Controller.php');
/*
* ------------------------------------------------------
* Instantiate the config class
* ------------------------------------------------------
*
* Note: It is important that Config is loaded first as
* most other classes depend on it either directly or by
* depending on another class that uses it.
*
*/
$CFG =& load_class('Config', 'core');
// Do we have any manually set config items in the index.php file?
if (isset($assign_to_config) && is_array($assign_to_config))
{
foreach ($assign_to_config as $key => $value)
{
$CFG->set_item($key, $value);
}
}
/*
* ------------------------------------------------------
* Load the Language class
* ------------------------------------------------------
*/
$LANG =& load_class('Lang', 'core');
if (!defined('FHC_INTEGER'))
{
define('FHC_INTEGER',1);
define('FHC_STRING',2);
define('FHC_BOOLEAN',3);
define('FHC_LANG_ARRAY',4);
}
function &get_instance()
{
return CI_Controller::get_instance();
}
/*require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/core/CodeIgniter.php');
*/
require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/database/DB.php');
//require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/core/Common.php');
require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/core/Loader.php');
$loader=new CI_Loader();
require_once(dirname(__FILE__).'/application/core/FHC_Controller.php');
$controller=new CI_Controller();
require_once(dirname(__FILE__).'/vendor/codeigniter/framework/system/core/Model.php');
require_once(dirname(__FILE__).'/application/core/FHC_Model.php');
$model=new CI_Model();
// Traits
require_once(dirname(__FILE__).'/ci_db_extra.php');
+154 -154
View File
@@ -50,7 +50,7 @@ $studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiens
if($studiensemester_kurzbz!='')
{
//Erhalter einlesen
$qry="SELECT * FROM public.tbl_erhalter";
if($db->db_query($qry))
@@ -59,19 +59,19 @@ if($studiensemester_kurzbz!='')
{
$erhalter=sprintf("%03s",$row->erhalter_kz);
}
else
else
{
die('Kein Erhalter gefunden!');
}
}
else
else
{
die('Der Erhalter konnte nicht geladen werden!');
}
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("OEH-Beitrag". "_".$studiensemester_kurzbz." erstellt am ".$heute.".xls");
@@ -82,13 +82,13 @@ if($studiensemester_kurzbz!='')
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_bold->setAlign('center');
$format_date =& $workbook->addFormat();
$format_date->setNumFormat('DD.MM.YYYY');
$format_right =& $workbook->addFormat();
$format_right->setAlign('right');
$stg_arr=array();
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbzlang', false);
@@ -97,7 +97,7 @@ if($studiensemester_kurzbz!='')
$spalte=0;
$zeile=0;
$worksheet->write($zeile,$spalte,'Personenkennzahl',$format_bold);
$maxlength[$spalte]=16;
$worksheet->write($zeile,++$spalte,'Erhalter',$format_bold);
@@ -142,27 +142,27 @@ if($studiensemester_kurzbz!='')
$maxlength[$spalte]=16;
$worksheet->write($zeile,++$spalte,'Status',$format_bold);
$maxlength[$spalte]=20;
// Daten holen - Alle Personen mit akt. Status Student, Diplomand oder Praktikant plus Incoming
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@".DOMAIN."' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_strasse,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_strasse,
titelpost, get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") as status,
(SELECT ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id=public.tbl_prestudent.prestudent_id AND tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' ORDER BY datum desc LIMIT 1) AS semester
FROM public.tbl_person
JOIN public.tbl_benutzer using(person_id)
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@".DOMAIN."' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_strasse,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_strasse,
titelpost, get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") as status,
(SELECT ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id=public.tbl_prestudent.prestudent_id AND tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' ORDER BY datum desc LIMIT 1) AS semester
FROM public.tbl_person
JOIN public.tbl_benutzer using(person_id)
JOIN public.tbl_student on(uid=student_uid)
JOIN public.tbl_prestudent using(prestudent_id)
JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id)
WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming')
AND tbl_student.studiengang_kz<999 AND tbl_prestudent.bismelden=true";
// AND tbl_benutzer.aktiv=true
@@ -173,105 +173,105 @@ if($studiensemester_kurzbz!='')
{
$zeile++;
$spalte=0;
$worksheet->write($zeile,$spalte,$row->personenkennzahl,$format_right);
if(mb_strlen($row->personenkennzahl)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->personenkennzahl);
$worksheet->write($zeile,++$spalte,'="'.$erhalter.'"',$format_right);
$worksheet->write($zeile,++$spalte,$row->studiengang_kz);
if(mb_strlen($row->studiengang_kz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->studiengang_kz);
$worksheet->write($zeile,++$spalte,$row->geschlecht);
if(mb_strlen($row->geschlecht)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->geschlecht);
$worksheet->write($zeile,++$spalte,$row->vorname);
if(mb_strlen($row->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->vorname);
$worksheet->write($zeile,++$spalte,$row->nachname);
if(mb_strlen($row->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nachname);
$worksheet->write($zeile,++$spalte, $datum_obj->formatDatum($row->geburtsdatum,"d.m.Y"));
if(mb_strlen($row->geburtsdatum)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->geburtsdatum);
$worksheet->write($zeile,++$spalte, $row->nation);
if(mb_strlen($row->nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nation);
$worksheet->write($zeile,++$spalte,$row->titelpre);
if(mb_strlen($row->titelpre)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->titelpre);
$worksheet->write($zeile,++$spalte,$row->email);
if(mb_strlen($row->email)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->email);
$worksheet->write($zeile,++$spalte,$row->telefon);
if(mb_strlen($row->telefon)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->telefon);
$worksheet->write($zeile,++$spalte,$row->s_nation);
if(mb_strlen($row->s_nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_nation);
$worksheet->write($zeile,++$spalte,$row->s_plz);
if(mb_strlen($row->s_plz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_plz);
$worksheet->write($zeile,++$spalte,$row->s_ort);
if(mb_strlen($row->s_ort)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_ort);
$worksheet->write($zeile,++$spalte, $row->s_strasse);
if(mb_strlen($row->s_strasse)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_strasse);
$worksheet->write($zeile,++$spalte,$row->w_nation);
if(mb_strlen($row->w_nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_nation);
$worksheet->write($zeile,++$spalte,$row->w_plz);
if(mb_strlen($row->w_plz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_plz);
$worksheet->write($zeile,++$spalte, $row->w_ort);
if(mb_strlen($row->w_ort)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_ort);
$worksheet->write($zeile,++$spalte, $row->w_strasse);
if(mb_strlen($row->w_strasse)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_strasse);
$worksheet->write($zeile,++$spalte, $row->titelpost);
if(mb_strlen($row->titelpost)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->titelpost);
$maxlength[$spalte]=mb_strlen($row->titelpost);
$worksheet->write($zeile,++$spalte, $row->semester);
if(mb_strlen($row->semester)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->semester);
$maxlength[$spalte]=mb_strlen($row->semester);
$worksheet->write($zeile,++$spalte, $row->status);
if(mb_strlen($row->status)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->status);
$maxlength[$spalte]=mb_strlen($row->status);
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
// Creating worksheet "bezahlt"
$worksheet2 =& $workbook->addWorksheet("bezahlt");
$worksheet2->setInputEncoding('utf-8');
$spalte=0;
$zeile=0;
$worksheet2->write($zeile,$spalte,'Personenkennzahl',$format_bold);
$maxlength[$spalte]=16;
$worksheet2->write($zeile,++$spalte,'Erhalter',$format_bold);
@@ -316,33 +316,33 @@ if($studiensemester_kurzbz!='')
$maxlength[$spalte]=16;
$worksheet2->write($zeile,++$spalte,'Status',$format_bold);
$maxlength[$spalte]=20;
// Daten holen - Alle Personen mit akt. Status Student, Diplomand oder Praktikant, die bezahlt haben
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@".DOMAIN."' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_strasse,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_strasse,
titelpost, get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") as status,
(SELECT ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id=public.tbl_prestudent.prestudent_id AND tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' ORDER BY datum desc LIMIT 1) AS semester
FROM public.tbl_person
JOIN public.tbl_konto as ka using(person_id)
JOIN public.tbl_konto as kb using(person_id)
JOIN public.tbl_benutzer using(person_id)
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@".DOMAIN."' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_strasse,
(SELECT nation FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_nation,
(SELECT plz FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_plz,
(SELECT ort FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_ort,
(SELECT strasse FROM public.tbl_adresse WHERE person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_strasse,
titelpost, get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") as status,
(SELECT ausbildungssemester FROM public.tbl_prestudentstatus WHERE prestudent_id=public.tbl_prestudent.prestudent_id AND tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' ORDER BY datum desc LIMIT 1) AS semester
FROM public.tbl_person
JOIN public.tbl_konto as ka using(person_id)
JOIN public.tbl_konto as kb using(person_id)
JOIN public.tbl_benutzer using(person_id)
JOIN public.tbl_student on(uid=student_uid)
JOIN public.tbl_prestudent using(prestudent_id)
JOIN public.tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id)
WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming')
WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, ".$db->db_add_param($studiensemester_kurzbz).") in('Student','Diplomand','Praktikant','Incoming','Absolvent','Abbrecher')
AND tbl_student.studiengang_kz<999 AND
ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz
AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz
ka.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND ka.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=ka.studiengang_kz
AND kb.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND kb.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=kb.studiengang_kz
AND kb.buchungsnr_verweis=ka.buchungsnr";
//AND tbl_benutzer.aktiv=true
@@ -352,111 +352,111 @@ if($studiensemester_kurzbz!='')
{
$zeile++;
$spalte=0;
$worksheet2->write($zeile,$spalte,$row->personenkennzahl,$format_right);
if(mb_strlen($row->personenkennzahl)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->personenkennzahl);
$worksheet2->write($zeile,++$spalte,'="'.$erhalter.'"',$format_right);
$worksheet2->write($zeile,++$spalte,$row->studiengang_kz);
if(mb_strlen($row->studiengang_kz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->studiengang_kz);
$worksheet2->write($zeile,++$spalte,$row->geschlecht);
if(mb_strlen($row->geschlecht)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->geschlecht);
$worksheet2->write($zeile,++$spalte,$row->vorname);
if(mb_strlen($row->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->vorname);
$worksheet2->write($zeile,++$spalte,$row->nachname);
if(mb_strlen($row->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nachname);
$worksheet2->write($zeile,++$spalte, $datum_obj->formatDatum($row->geburtsdatum,"d.m.Y"));
if(mb_strlen($row->geburtsdatum)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->geburtsdatum);
$worksheet2->write($zeile,++$spalte, $row->nation);
if(mb_strlen($row->nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nation);
$worksheet2->write($zeile,++$spalte,$row->titelpre);
if(mb_strlen($row->titelpre)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->titelpre);
$worksheet2->write($zeile,++$spalte,$row->email);
if(mb_strlen($row->email)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->email);
$worksheet2->write($zeile,++$spalte,$row->telefon);
if(mb_strlen($row->telefon)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->telefon);
$worksheet2->write($zeile,++$spalte,$row->s_nation);
if(mb_strlen($row->s_nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_nation);
$worksheet2->write($zeile,++$spalte,$row->s_plz);
if(mb_strlen($row->s_plz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_plz);
$worksheet2->write($zeile,++$spalte,$row->s_ort);
if(mb_strlen($row->s_ort)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_ort);
$worksheet2->write($zeile,++$spalte, $row->s_strasse);
if(mb_strlen($row->s_strasse)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_strasse);
$worksheet2->write($zeile,++$spalte,$row->w_nation);
if(mb_strlen($row->w_nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_nation);
$worksheet2->write($zeile,++$spalte,$row->w_plz);
if(mb_strlen($row->w_plz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_plz);
$worksheet2->write($zeile,++$spalte, $row->w_ort);
if(mb_strlen($row->w_ort)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_ort);
$worksheet2->write($zeile,++$spalte, $row->w_strasse);
if(mb_strlen($row->w_strasse)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_strasse);
$worksheet2->write($zeile,++$spalte, $row->titelpost);
if(mb_strlen($row->titelpost)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->titelpost);
$worksheet2->write($zeile,++$spalte, $row->semester);
if(mb_strlen($row->semester)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->semester);
$maxlength[$spalte]=mb_strlen($row->semester);
$worksheet2->write($zeile,++$spalte, $row->status);
if(mb_strlen($row->status)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->status);
$maxlength[$spalte]=mb_strlen($row->status);
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet2->setColumn($i, $i, $breite+2);
/*
/*
// Creating worksheet "noch nicht bezahlt"
$worksheet3 =& $workbook->addWorksheet("nicht bezahlt");
$spalte=0;
$zeile=0;
//$worksheet->write($zeile,$spalte,'OEH-Beitragszahler'.$studiensemester_kurzbz.' erstellt am '.date("d.m.Y"), $format_bold);
//$spalte=0;
//$zeile++;
$worksheet3->write($zeile,$spalte,'Personenkennzahl',$format_bold);
$maxlength[$spalte]=16;
$worksheet3->write($zeile,++$spalte,'Erhalter',$format_bold);
@@ -497,31 +497,31 @@ if($studiensemester_kurzbz!='')
$maxlength[$spalte]=9;
$worksheet3->write($zeile,++$spalte,'Titelpost',$format_bold);
$maxlength[$spalte]=9;
// Daten holen
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, '005' as erhalter, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@technikum-wien.at' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE tbl_kontakt.person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
(SELECT nation FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_nation,
(SELECT plz FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_plz,
(SELECT ort FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_ort,
(SELECT strasse FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_strasse,
(SELECT nation FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_nation,
(SELECT plz FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_plz,
(SELECT ort FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_ort,
(SELECT strasse FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_strasse,
titelpost
FROM tbl_person
JOIN tbl_benutzer on(tbl_person.person_id=tbl_benutzer.person_id)
$qry="SELECT DISTINCT ON (matrikelnr) matrikelnr AS personenkennzahl, '005' as erhalter, tbl_student.studiengang_kz, geschlecht, vorname, nachname, gebdatum AS geburtsdatum,
geburtsnation AS nation, titelpre, uid || '@technikum-wien.at' AS email,
(SELECT kontakt FROM public.tbl_kontakt WHERE tbl_kontakt.person_id=public.tbl_person.person_id and (kontakttyp='mobil' OR kontakttyp='telefon') LIMIT 1) AS telefon,
(SELECT nation FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_nation,
(SELECT plz FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_plz,
(SELECT ort FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_ort,
(SELECT strasse FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse ASC LIMIT 1) AS s_strasse,
(SELECT nation FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_nation,
(SELECT plz FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_plz,
(SELECT ort FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_ort,
(SELECT strasse FROM public.tbl_adresse WHERE tbl_adresse.person_id=public.tbl_person.person_id ORDER BY heimatadresse desc LIMIT 1) AS w_strasse,
titelpost
FROM tbl_person
JOIN tbl_benutzer on(tbl_person.person_id=tbl_benutzer.person_id)
JOIN tbl_student on(uid=student_uid)
JOIN tbl_prestudentstatus on(tbl_prestudentstatus.prestudent_id=tbl_student.prestudent_id)
LEFT JOIN public.tbl_konto on(tbl_person.person_id=tbl_konto.person_id)
WHERE tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
LEFT JOIN public.tbl_konto on(tbl_person.person_id=tbl_konto.person_id)
WHERE tbl_prestudentstatus.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
AND (status_kurzbz='Student' OR status_kurzbz='Diplomand' OR status_kurzbz='Praktikant')
AND tbl_student.studiengang_kz<999
AND tbl_person.person_id NOT IN (SELECT person_id FROM tbl_konto WHERE tbl_konto.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
AND tbl_konto.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=tbl_konto.studiengang_kz AND tbl_konto.buchungsnr_verweis IS NOT NULL
AND tbl_student.studiengang_kz<999
AND tbl_person.person_id NOT IN (SELECT person_id FROM tbl_konto WHERE tbl_konto.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
AND tbl_konto.buchungstyp_kurzbz='OEH' AND tbl_student.studiengang_kz=tbl_konto.studiengang_kz AND tbl_konto.buchungsnr_verweis IS NOT NULL
AND person_id=tbl_person.person_id)";
if($result = $db->db_query($conn, $qry))
@@ -530,94 +530,94 @@ if($studiensemester_kurzbz!='')
{
$zeile++;
$spalte=0;
$worksheet3->write($zeile,$spalte,$row->personenkennzahl,$format_right);
if(mb_strlen($row->personenkennzahl)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->personenkennzahl);
$worksheet3->write($zeile,++$spalte,'="'.$row->erhalter.'"',$format_right);
$worksheet3->write($zeile,++$spalte,$row->studiengang_kz);
if(mb_strlen($row->studiengang_kz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->studiengang_kz);
$worksheet3->write($zeile,++$spalte,$row->geschlecht);
if(mb_strlen($row->geschlecht)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->geschlecht);
$worksheet3->write($zeile,++$spalte,$row->vorname);
if(mb_strlen($row->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->vorname);
$worksheet3->write($zeile,++$spalte,$row->nachname);
if(mb_strlen($row->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nachname);
$worksheet3->write($zeile,++$spalte, $datum_obj->formatDatum($row->geburtsdatum,"d.m.Y"));
if(mb_strlen($row->geburtsdatum)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->geburtsdatum);
$worksheet3->write($zeile,++$spalte, $row->nation);
if(mb_strlen($row->nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->nation);
$worksheet3->write($zeile,++$spalte,$row->titelpre);
if(mb_strlen($row->titelpre)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->titelpre);
$worksheet3->write($zeile,++$spalte,$row->email);
if(mb_strlen($row->email)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->email);
$worksheet3->write($zeile,++$spalte,$row->telefon);
if(mb_strlen($row->telefon)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->telefon);
$worksheet3->write($zeile,++$spalte,$row->s_nation);
if(mb_strlen($row->s_nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_nation);
$worksheet3->write($zeile,++$spalte,$row->s_plz);
if(mb_strlen($row->s_plz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_plz);
$worksheet3->write($zeile,++$spalte,$row->s_ort);
if(mb_strlen($row->s_ort)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_ort);
$worksheet3->write($zeile,++$spalte, $row->s_strasse);
if(mb_strlen($row->s_strasse)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->s_strasse);
$worksheet3->write($zeile,++$spalte,$row->w_nation);
if(mb_strlen($row->w_nation)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_nation);
$worksheet3->write($zeile,++$spalte,$row->w_plz);
if(mb_strlen($row->w_plz)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_plz);
$worksheet3->write($zeile,++$spalte, $row->w_ort);
if(mb_strlen($row->w_ort)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_ort);
$worksheet3->write($zeile,++$spalte, $row->w_strasse);
if(mb_strlen($row->w_strasse)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->w_strasse);
$worksheet3->write($zeile,++$spalte, $row->titelpost);
if(mb_strlen($row->titelpost)>$maxlength[$spalte])
$maxlength[$spalte]=mb_strlen($row->titelpost);
$maxlength[$spalte]=mb_strlen($row->titelpost);
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet3->setColumn($i, $i, $breite+2);*/
$workbook->close();
}
else
else
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
@@ -630,21 +630,21 @@ else
<body class="Background_main">
<h2>OEH-Beitragszahler</h2>
';
echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
echo 'Studiensemester: <SELECT name="studiensemester_kurzbz">';
$stsem = new studiensemester();
$stsem_akt = $stsem->getaktorNext();
$stsem->getAll();
foreach ($stsem->studiensemester as $row)
{
if($row->studiensemester_kurzbz==$stsem_akt)
$selected='selected';
else
else
$selected='';
echo "<OPTION value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</OPTION>";
}
echo "</SELECT>";
-125
View File
@@ -1,125 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<p>
Für den Betrieb von FH-Complete müssen folgende Systemvoraussetzungen erfüllt werden:
</p>
<ul>
<li>WebServer (empfohlen: Apache 2.2)</li>
<li>PHP 5.2 oder höher<br/>
<li>PostgreSQL 8.4 (oder SQL99 kompatible Datenbank)</li>
</ul>
<p><b>Browseranforderungen</b><br/>
<br/>
Für die Applikationen TEMPUS und FAS wird ein Gecko-basierender Browser benötigt:
</p>
<ul>
<li>Empfohlen: <a href="http://www.seamonkey-project.org/releases/1.1.18" target="blank">Seamonkey Version 1.1.18</a></li>
<li>Firefox ab Version 1.5</li>
</ul>
<p>
Für die Applikationen CIS und Vilesci kann jeder standardkonforme Webbrowser verwendet werden.
</p>
<br/>
<br/>
</div>
</td>
</tr>
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</div>
</body>
</html>
-168
View File
@@ -1,168 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<body>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menuselected"><a class="menuselected" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td colspan="7">&nbsp;</td>
</tr>
<tr>
<td colspan="7">
<img title="CIS" height="60" alt="CIS" src="skin/images/cis_logo_weiss.png">
</td>
</tr>
<tr>
<td colspan="7">
<p>
<br/><br/>
Das CIS ist die zentrale Plattform für Studierende und MitarbeiterInnen.
Hier werden verschiedene zentrale Servicedienste
zur Verfügung gestellt. Kurz: Ein Content Management
System für Hochschulen.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td colspan="7">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>NEWS</b><br/>
Nicht nur allgemeine News, sondern auch aktuelle Neuigkeiten,
bezogen auf Organisationseinheiten, werden hierarchisch
abgebildet und entsprechend der Gruppenzugehörigkeit
angezeigt. Die Studierenden erfahren nicht zuviel und
nicht zuwenig.<br/><br/>
<b>LV-PLAN</b><br/>
Der Lehrveranstaltungsplan wird wahlweise in einer Wochenansicht
oder einer kompletten Semesteransicht angezeigt.
Dabei kann nach Räumen, Gruppen, Lehrgängen oder Personen
gefiltert werden. Auch Raumreservierungen können
einfach und schnell getätigt werden. Offene Schnittstellen
nach außen runden das Angebot ab und so ist es ein Leichtes,
die Lehrstunden in das bevorzugte Werkzeug (Outlook,
iPhone…) zu importieren bzw. zu abonnieren.<br/><br/>
<b>Kommunikation</b><br/>
Hier haben Sie alle Infos zur internen Kommunikation
auf einen Blick. Personensuche, Mailgruppen, Telefonnummern...
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>LEHRE</b><br/>
Der Bereich Lehre umfasst alles Nötige für die Durchführung
der Lehre. Infos zur Lehrveranstaltung, Anwesenheitslisten,
Notenlisten, TeilnehmerInnenlisten (auch mit Fotos), Mailgruppen,
Nachprüfungen, Semesterplan und ein integriertes
Tool um bei Übungen und Abgaben zu unterstützen. Sollte
das Abgabe-Tool immer noch nicht ausreichen, bietet das
System eine ausgereifte Schnittstelle in die eLearning-Plattform
„Moodle“. Die Gesamtnote kommt wahlweise direkt
aus den Tools oder wird von den LektorInnen erfasst und für
die Übernahme freigegeben.<br/><br/>
<b>ABGABE-TOOL</b><br/>
Die Studierenden kreuzen an, welche Aufgaben sie gelöst
haben. Folgende Einstellungen erweitern hier die Möglichkeiten:</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Maximum an Aufgaben pro Studierenden</li>
<li>Maximale Studierende pro Aufgabe<br/>
(Verteilung wird erzwungen)</li>
<li>File-Upload zu jeder Übung</li>
<li>Abgabefristen</li>
<li>Sichtbarkeit der Statistik</li>
<li>Master Thesen-Abgabe mit Plagiatsprüfung</li>
</ul>
<p style="padding-left:30px; padding-right:30px;">
<b>CMS</b><br/>
Sonstige Inhalte werden über ein schlank gehaltenes
CMS-System gewartet.
</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="7">
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/cis/" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="CIS-Screenshot" width="266" alt="CIS-Screenshot" src="skin/images/cis-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td colspan="7"></td>
</tr>
<tr>
<td colspan="7">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-136
View File
@@ -1,136 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
function maillink()
{
window.location.href="mai"+"lto:"+"systementw"+"icklung"+"@techni"+"kum-wien.at";
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<p style="font-size:20px;text-align: center;">COMMUNITY</p>
</td>
</tr>
<tr>
<td>
<p>
<br/>
<h1>VISION</h1>
<p>
Eine Bildungseinrichtung, die mit öffentlichen Mitteln finanziert wird, sollte unabhängig vom Software-Hersteller sein und verantwortungsbewusst mit den zu Verfügung stehenden Mitteln umgehen.<br/>
Dieser Grundgedanke einer Gemeinwohlökonomie hat uns zu dem Schluss gebracht, ein freies Verwaltungssoftwaresystem für Hochschulen zu entwickeln.<br><br/>
Langfristig ist es unser Ziel, möglichst viele Bildungseinrichtungen als Kooperationspartner für die Weiterentwicklung (Perfektionierung) des Systems zu finden und somit eine aktive Community zu schaffen.
</p>
<h1>WARUM?</h1>
<p>
Das Verwaltungssystem einer Hochschule hat sehr spezielle und komplexe Anforderungen.<br/>
Die kommerziellen Anbeiter in diesem Bereich kommen und gehen. Grund dafür ist, dass ein kommerzieller Anbieter bei diesen Anforderungen langfristig nicht überleben kann.
Ein Softwareentwickler mit 10 MitarbeiterInnen (minimal) braucht einen Jahresumsatz von etwa € 650.000.
Hätte dieser Anbieter alle österreichischen Fachhochschulen als Kunde (dzt. ca 10), so müsste jede FH € 65.000/Jahr Lizenzkosten an den Entwickler zahlen, um dessen Kosten zu decken.<br/>
Praktisch gesehen, kann es daher keine professionelle, kommerzielle Lösung geben.<br/>
</p>
<h1>WIE SIE MITWIRKEN KÖNNEN</h1>
<h2>- Als Anwender</h2>
<p>
Ihre Bildungseinrichtung benutzt das System und unterstützt die Community mit Feedback (Fehlermeldungen, Verbesserungsvorschlägen, etc.).
</p>
<h2>- Als Entwickler</h2>
<p>
Sie sind nicht nur Anwender, sondern auch in der Lage, selbstständig den Code zu Erweitern/Verbessern?<br/><br/>
Durch Registrierung als Entwickler, können sie selbst erstellte Patches einschicken und leisten somit einen großen Beitrag zur Weiterentwicklung von FH-Complete.
</p>
<h2>- Als Auftraggeber</h2>
<p>
Sie sind AnwenderIn, möchten ein neues Feature implementieren, haben aber keine eigenen EntwicklerInnen?<br/><br/>
Durch die freie Lizenz haben sie die Möglichkeit, eine beliebige Softwareentwicklungsfirma zu beauftragen, um die gewünschte Erweiterung zu implementieren.
FH-Complete setzt auf Standardkomponenten im Web 2.0-Bereich. Dadaurch haben sie eine große Auswahlmöglichkeit an Anbietern.
Den so zugekauften Code stellen Sie der Community zur Verfügung und helfen so, FH-Complete zu vervollständigen.
<br/><br/>
Registrieren Sie sich am Besten noch heute:</p>
<div align='center'><a href="#Mail" onclick="maillink();">Als EntwicklerIn registrieren</a></div>
<p>
Den aktuellen Fortschritt der Weiterentwicklung können sie jederzeit in unserem Feature-Request-System verfolgen:</p>
<div style="color: #D1D7DA; font-size:14px;" align='center'><a href="http://fhcomplete.technikum-wien.at/mantis/my_view_page.php" target="blank">Roadmap FH-Complete in Mantis</a> -&gt; Roadmap</div>
<p>
Außerdem haben wir mit der Dokumentation des Systems in unserem Wiki begonnen:</p>
<div align='center'><a href="http://fhcomplete.technikum-wien.at/dokuwiki" target="blank">Dokumentation in Dokuwiki</a></div>
</td>
</tr>
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-171
View File
@@ -1,171 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td colspan="7">&nbsp;</td>
</tr>
<tr>
<td colspan="7">
<img title="FAS" height="60" alt="FAS-Logo" src="skin/images/fas_logo_weiss.png">
</td>
</tr>
<tr>
<td colspan="7">
<p>
<br/><br/>
Das FAS ist ein freies Administrations-System, welches die
gesamte Verwaltung von Studierenden und MitarbeiterInnen
speziell für Hochschulen unterstützt. Vom Eintritt eines/einer
MitarbeiterIn bis zum Ausscheiden und vom Interessenten
bis zum/zur Absolventen/Absolventin verwaltet das Programm
alle relevanten Daten rund um den Lehrbetrieb einer
Hochschule.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td colspan="7">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>STUDIERENDE</b><br/>
Der komplette Lebenszyklus vom Interessentenstatus über
die BewerberInnen zu den Studierenden bis zu den AbsolventInnen
wird im FAS abgebildet. Es werden Lehrverbände
und Gruppen definiert und den Studierenden zugewiesen.
Kontaktdaten und Dokumente werden erfasst. Noten, Prüfungen,
Funktionen und Projektarbeiten werden organisiert.<br/><br/>
<b>PERSONAL</b><br/>
Nicht nur Kontaktdaten oder Personaldaten, sondern auch
alle meldungspflichtigen Informationen werden hier erfasst
und gewartet. Die MitarbeiterInnen werden Organisationseinheiten
zugeteilt und somit lässt sich auf Knopfdruck ein
detailliertes Organigramm erstellen. Zusätzlich werden den
MitarbeiterInnen noch Funktionen innerhalb des Organisationsbaumes
zugeteilt.<br/><br/>
<b>Kommunikation</b><br/>
Hier haben Sie alle Infos zur internen Kommunikation
auf einen Blick. Personensuche, Mailgruppen, Telefonnummern...
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>LEHRAUFTRÄGE</b><br/>
Per Drag&Drop können schnell LektorInnen den Lehrveranstaltungen
zugewiesen werden und daraus Lehraufträge
erstellt werden. Die Gesamtkosten sind automatisch und
übersichtlich aufgestellt. Auch das nachträgliche Ändern
von LektorInnen ist mit einem Klick erledigt.<br/><br/>
<b>MELDUNG</b><br/>
Die gesamte BIS-Meldung wird hier automatisiert erstellt.
Plausibilitätsprüfungen säubern die Daten schon im Vorfeld,
damit bei der Meldung selbst der Aufwand so gering wie
möglich bleibt. Sie können hier praktisch nichts mehr falsch
machen. Das Zittern vor der BIS-Meldung war gestern!<br/><br/>
<b>EXTRAS</b><br/>
</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Firmenverwaltung</li>
<li>Reihungstestverwaltung</li>
<li>Diverse Statistiken</li>
<li>Zeugnisarchivierung</li>
<li>Kontoführung der Studierenden</li>
<li>Entlehnsystem für Betriebsmittel</li>
<li>Schnittstellen zum Zutrittskartensystem</li>
<li>Verwaltung und Abrechung der Projektarbeiten<br/>
(Master Thesen etc.)</li>
<li>Incoming- und Outgoingverwaltung</li>
<li>Abschlussprüfungen</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="7">
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/content/fas.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="FAS-Screenshot" width="266" alt="FAS-Screenshot" src="skin/images/fas-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td colspan="7"></td>
</tr>
<tr>
<td colspan="7">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-121
View File
@@ -1,121 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function maillink()
{
window.location.href="mai"+"lto:"+"systementw"+"icklung"+"@techni"+"kum-wien.at";
}
function mailkoeltringer()
{
window.location.href="mai"+"lto:"+"gabriele.koeltringer"+"@techni"+"kum-wien.at?subject=Anfrage%20FH-Complete";
}
</script>
</head>
<body>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<p style="font-size:20px;text-align: center;">IMPRESSUM</p>
</td>
</tr>
<tr>
<td>
<p> <br/><br/>
<b>Offenlegungspflicht gemäß § 25 Mediengesetz und Informationspflicht gemäß § 5 E-Commerce-Gesetz:<br/><br/>
Medieninhaber und Herausgeber</b><br/><br/>
<a href="http://www.projectsolutions.at" target="blank"><img title="Project Solutions Technikum Wien" height="50" alt="Logo Project Solutions Technikum Wien" src="skin/images/ps_logo_weiss.png"></a><br/><br/><br/>
<b>Technikum Wien GmbH</b><br/>
Höchstädtplatz 6<br/>
A-1200 Wien<br/>
Gabriele Költringer
T: +43 1 333 40 77-630<br/>
<a href="#Mail" onclick="mailkoeltringer();">E-Mail</a><br/><br/>
<b>Für den Inhalt verantwortlich</b><br/><br/>
Systementwicklung der FH Technikum Wien Fragen, Kommentare und Anregungen zur Website bitte an:<br/>
<a href="#Mail" onclick="maillink();">Systementwicklung</a><br/><br/>
<b>Haftungsausschluss</b><br/><br/>
Unser Team bemüht, sämtliche auf www.fhcomplete.org dargestellte Informationen
inhaltlich richtig zu gestalten und laufend aktuell zu halten.<br/>
Dessen ungeachtet übernimmt die Technikum Wien GmbH oder die FH Technikum Wien keine Garantie für Richtigkeit, Vollständigkeit und Aktualität der präsentierten Inhalte.
Eine Haftung der Technikum Wien GmbH oder der FH Technikum Wien wird daher ausgeschlossen. <br/>
Alle Links zu externen Seiten sind sorgfältig ausgewählt.
Da die Technikum Wien GmbH oder die FH Technikum Wien auf deren Inhalt keinen Einfluss hat, übernehmen diese dafür keine Verantwortung.<br/><br/>
<b>Copyright</b><br/><br/>
Das Layout der Website, die verwendeten Grafiken und Bilder sowie einzelne Beiträge sind urheberrechtlich geschützt.
Die Wiedergabe mit Quellenangabe ist erlaubt, soweit sie dem Recht Dritter an bestimmten Text- und Multimedia-Daten (z.B. Bildern) nicht entgegensteht.
Einzelne Seiten unserer Homepage dürfen nicht in fremde Frames eingebunden werden. Wir freuen uns jedoch, wenn Sie Hyperlinks zu www.fhcomplete.org herstellen.
</p>
</td>
</tr>
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
</div>
</body>
</html>
-124
View File
@@ -1,124 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function maillink()
{
window.location.href="mai"+"lto:"+"systementw"+"icklung"+"@techni"+"kum-wien.at";
}
function mailpam()
{
window.location.href="mai"+"lto:"+"christian.paminger"+"@techni"+"kum-wien.at?subject=Anfrage%20FH-Complete";
}
function mailkindl()
{
window.location.href="mai"+"lto:"+"manfred.kindl"+"@techni"+"kum-wien.at?subject=Anfrage%20FH-Complete";
}
function mailkoeltringer()
{
window.location.href="mai"+"lto:"+"gabriele.koeltringer"+"@techni"+"kum-wien.at?subject=Anfrage%20FH-Complete";
}
</script>
</head>
<body>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<p style="font-size:20px;text-align: center;">KONTAKT</p>
</td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="80%">
<tr>
<td width="60%">
<p style="padding-left:0px;padding-right:0px;"> <br/><br/>
<b>Project Solutions Technikum Wien</b><br/>
Höchstädtplatz 6<br/>
1200 Wien<br/><br/>
Gabriele Költringer<br/>
<i>Geschäftsführerin Project Solutions Technikum Wien</i><br/>
T: +43 1 333 40 77-630<br/>
<a href="#Mail" onclick="mailkoeltringer();">E-Mail</a><br/><br/>
Ing. Dipl.-Ing. (FH) Christian Paminger<br/>
<i>Leitung Systementwicklung</i><br/>
<a href="#Mail" onclick="mailpam();">E-Mail</a><br/><br/>
Manfred Kindl<br/>
<i>Systemadministration</i><br/>
<a href="#Mail" onclick="mailkindl();">E-Mail</a><br/><br/>
</p>
</td>
<td width="40%">
<a href="http://www.projectsolutions.at" target="blank"><img title="Project Solutions Technikum Wien" height="90" alt="Logo Project Solutions Technikum Wien" src="skin/images/ps_logo_weiss.png"></a>
</td>
</tr>
</table>
</td>
</tr>
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br/>
<br/>
<br/>
<br/>
<br/>
</div>
</body>
</html>
-85
View File
@@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Zugangsdaten</title>
<style type="text/css">
body
{
background-color: #006095;
}
div
{
font-size:12px;
font-family:Arial;
}
p
{
font-size:14px;
font-family:Arial;
padding-left:20px;
padding-right:20px;
color:#D1D7DA;
text-align: justify;
}
ul
{
list-style-type:square;
list-style-position:inside;
color:#FFF;
text-align:left;
font-size:14px;
font-family:Arial;
padding-left:20px;
padding-right:20px;
color:#D1D7DA;
text-align: justify;
}
</style>
</head>
<body>
<div align="center" style="padding:30px;">
<table border="1" cellpadding="0" cellspacing="0" width="700px">
<tr>
<td>
<p style="font-family : Tahoma;font-size:medium;text-align: justify;">
<br/>
Für die Demoapplikationen stehen Ihnen folgende Benutzer zur Verfügung:
<ul style="text-align:left;">
<li>admin</li>
<li>assistenz1</li>
<li>assistenz2</li>
<li>assistenz3</li>
<li>lektor1</li>
<li>lektor2</li>
<li>lektor3</li>
<li>student1</li>
<li>student2</li>
<li>student3</li>
</ul>
<p>
Alle Benutzer haben das Passwort '1q2w3'.<br/>
Den einzelnen Benutzern sind jeweils unterschiedliche Berechtigungen zugeordnet.<br/><br/>
Um die Applikationen Tempus und FAS nutzen zu können, müssen folgende Einstellungen im Browser vorgenommen werden:</p>
<ul style="text-align:left;">
<li>Öffnen Sie hierzu ein neues Browserfenster und geben Sie in die Adresszeile 'about:config' ein.</li>
<li>Bestätigen Sie die angezeigte Warnmeldung mit OK.</li>
<li>Suchen Sie den Eintrag 'signed.applets.codebase_pricipal_support'</li>
<li>Doppelklicken Sie auf den Eintrag, damit er auf true gesetzt wird</li>
<li>Wiederholen Sie den Vorgang mit dem Eintrag 'dom.allow_scripts_to_close_windows'</li>
</ul>
<p>
Falls Sie die Seamonkey Suite verwenden und die Mails mit einem Externen MailClient versenden wollen, müssen Sie zusätzlich
noch den Eintrag 'network.protocol-handler.external.mailto' auf true setzen.
<br/>
</p>
</p>
</td>
</tr>
</table>
</div>
</body>
</html>
-161
View File
@@ -1,161 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<img title="Tempus" height="60" alt="Tempus-Logo" src="skin/images/tempus_logo_weiss.png">
</td>
</tr>
<tr>
<td>
<p>
<br/><br/>
Tempus ist ein Programm zur Erstellung, Wartung und Modifikation
von Stundenplänen an Hochschulen insbesondere
an Fachhochschulen und erlaubt es mehreren UserInnen
gleichzeitig, an derselben Datenbank und demselben Stundenplan
zu arbeiten. Die Bearbeitung erfolgt wochenweise
basierend auf Kalenderwochen. Die Steuerung geschieht
hauptsächlich per Drag&amp;Drop.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>MENÜSTRUKTUR</b><br/>
Die hierarchisch aufgebaute Menüstruktur ermöglicht den
schnellen Wechsel zwischen Lehrverbänden, Räumen und
LektorInnen.<br/><br/>
<b>VERPLANUNG</b><br/>
Die Daten zur Verplanung erhält der/die UserIn aus den
Lehraufträgen, die in der Applikation FAS-Online eingegeben
wurden. Im Wochenraster werden die Einheiten per
Drag&Drop einzeln per Hand oder automatisch über das
gesamte Semester verplant. Die Raumvorschläge erfolgen
gemäß des definierten Raumtyps (Hörsaal, EDV, Labor ...)<br/><br/>
<b>KONTROLLE</b><br/>
Bei der Planung wird Rücksicht auf die Verfügbarkeit
der Studierenden, LektorInnen und Räume genommen
und bei Kollisionen eine Warnung ausgegeben. Auf
allen Ebenen werden kollidierende Einheiten während
der Planung auffällig gekennzeichnet und können auch
bewusst beibehalten werden.
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>INFORMATION</b><br/>
Täglich automatisch generierte Update-Mails informieren
Studierende und LektorInnen bei Änderungen im Stundenplan.<br/><br/>
<b>ÜBERSICHT</b><br/>
LektorInnen haben die Möglichkeit, Zeitwünsche und
Verfügbarkeiten einzutragen, welche der/dem StundenplanerIn
auf einen Blick angezeigt werden.<br/><br/>
<b>EXTRAS</b><br/>
<ul style="padding-left:30px; padding-right:30px;">
<li>Semesterplanübersicht</li>
<li>Detailinformationen zu jeder Einheit</li>
<li>Direkte Bearbeitung der Lehraufträge</li>
<li>Übersicht über die Studierenden</li>
<li>Gleichzeitiges Arbeiten über mehrere Fenster</li>
<li>Flexible Anpassung der Oberfläche</li>
<li>Drucken von Semesterplänen</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/content/tempus.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="Tempus-Screenshot" width="266" alt="Tempus-Screenshot" src="skin/images/tempus-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-163
View File
@@ -1,163 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<img title="Vilesci" height="60" alt="Vilesci-Logo" src="skin/images/vilesci_logo_weiss.png">
</td>
</tr>
<tr>
<td>
<p>
<br/><br/>
Vilesci ist die Wartungsoberfläche für AdministratorInnen,
in der wichtige Hintergrunddaten eingegeben und gepflegt
werden. Einstellungen und Daten, die nicht im FAS eingegeben
oder geändert werden können oder sollen, sind
über Vilesci administrierbar. Die Verwaltung von Gruppen
und nicht variablen Daten sowie statistische Auswertungen
werden hier vorgenommen. Auch Zugriffsberechtigungen
werden in dieser Oberfläche gesetzt.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>LEHRE</b><br/>
Curriculumsänderungen und Wartungsarbeiten bei den Lehrveranstaltungen
sind schnell durchführbar. Lehrfächer und
Lehreinheiten sind übersichtlich abruf- und veränderbar. Hier
findet man auch Verwaltungshilfen für Freifächer und den
LV-Plan. Außerdem erleichtern nachträgliche Kollisionschecks
das Säubern und Überprüfen des LV-Plans..<br/><br/>
<b>STAMMDATEN</b><br/>
Im Vilesci werden ebenso Benutzerberechtigungen vergeben,
als auch Studiengänge, Räume und Firmen verwaltet. Die
Termine der Reihungstests werden hier gepflegt und auch
die Zutrittskarten werden hier verwaltet.<br/><br/>
<b>PERSONEN</b><br/>
Das Zusammenlegen doppelter Personendatensätze, die
Gruppenverwaltung, Detailinformationen der MitarbeiterInnen
sowie die Urlaubsverwaltung all dies wird hier
den AdministratorInnen für die tägliche Arbeit ermöglicht
und erleichtert. Auch die Mailgruppen werden über diese
Oberfläche gewartet und Zeitwünsche von LektorInnen
können bearbeitet werden.
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>WARTUNG</b><br/>
Zur Datenbereinigung und Löschung unnötiger Datensätze
kann Vilesci ebenso dienen, wie zur Vorrückung von Studierenden
und Lehraufträgen ins nächste Semester.<br/><br/>
<b>AUSWERTUNG</b><br/>
Schließlich können im Vilesci viele Statistiken generiert
werden, die dem/der BenutzerIn die tägliche Arbeit
erleichtern und helfen, die Übersicht zu behalten.<br/><br/>
<b>EXTRAS</b><br/>
</p>
<ul style="padding-left:30px; padding-right:30px;">
<li>Schnittstelle zur Verwaltung von Daten im Moodle</li>
<li>Betriebsmittelverwaltung</li>
<li>Drag&amp;Drop zur einfacheren Steuerung</li>
<li>Zugriff ins Inventarsystem</li>
<li>und vieles mehr!</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.org/demo/vilesci/" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="Vilesci-Screenshot" width="266" alt="Vilesci-Screenshot" src="skin/images/vilesci-screenshot.png">
</a>
<br/><br/>
</td>
</tr>
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-157
View File
@@ -1,157 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
function PopupZugangsdaten (Adresse)
{
MeinFenster = window.open(Adresse, "Zugangsdaten", "width=800,height=550,left=100,top=200,location=no,menubar=no,resizable=yes");
MeinFenster.focus();
}
</script>
</head>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menu"><a class="menu" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menuselected"><a class="menuselected" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<img title="WaWi" height="60" alt="Wawi-Logo" src="skin/images/wawi_logo_weiss.png">
</td>
</tr>
<tr>
<td>
<p>
<br/><br/>
Die Erweiterung WaWi bietet ein Warenwirtschaftssystem,
ein Bestellwesen und ein einfaches Rechnungswesen. Das
Besondere daran ist die Einfachheit und die dahinterliegende
Baumstruktur der Organisationseinheiten. So lässt sich sehr
einfach das Gesamtbudget überwachen.<br/><br/><br/>
</p>
</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;" >
<b>KOSTENSTELLEN</b><br/>
Diese werden an einer Organisationseinheit (Studiengang,
Institut, Abteilung…) aufgehängt. Durch Berechtigungen
kann einE BenutzerIn beispielsweise Bestellungen auf eine
Kostenstelle tätigen oder sogar Bestellungen für diese Kostenstelle
freigeben. Der/die AdministratorIn der Kostenstelle
bestimmt diese Rechte und hat vor allem sein/ihr Budget
immer im Überblick.<br/><br/>
<b>BESTELLUNG</b><br/>
Eine Bestellung wird einer Kostenstelle zugeordnet. In der
Folge ergeben sich verschiedene Workflows. Je nach Einstellung
und Höhe der Gesamtsumme wird die Bestellung
von einer oder mehreren Personen freigegeben, ehe sie
tatsächlich bestellt wird. Nach erfolgter Lieferung werden
die einzelnen Positionen halbautomatisch ins Inventarsystem
übernommen.<br/><br/>
</p>
</td>
<td valign="top" width="50%">
<p style="padding-left:30px; padding-right:30px;">
<b>RECHNUNG</b><br/>
Jeder Bestellung können mehrere Rechnungen zugeordnet
werden. Ist die Rechnung bezahlt, wird sie von der Buchhaltung
einfach abgehakt und der/die KostenstellenleiterIn
hat die volle Transparenz über sein Budget.<br/><br/>
<b>INVENTAR</b><br/>
Das Inventarsystem erlaubt es, die Betriebsmittel den Organisationseinheiten
zuzuordnen. Von dort aus können sie
über das FAS an MitarbeiterInnen oder Studierende zugeteilt
werden (Entlehnsystem). Zusätzlich ist auch die Zuordnung
nach Räumen möglich, womit die jährliche Inventur erheblich
erleichtert wird. Auch ein einfaches System für die AfA ist
hier integriert.<br/><br/>
<b>KONTO</b><br/>
Jede Bestellung kann auf ein Konto erfolgen. So wird ein
Matrix-System erzeugt und es kann jederzeit eine aktuelle
Aufstellungstabelle über die Kostenstellen und Konten
exportiert werden.
</td>
</tr>
</table>
</td>
</tr>
<!-- <tr>
<td>
<br/><br/>
<a href="fhcomplete_logindaten.html" onclick="PopupZugangsdaten(this.href); return false">Zugangsdaten und Einstellungen</a>
<a href="http://fhcomplete.technikum-wien.at/demo/content/tempus.xul.php" target="blank">
<p style="text-align: center">Weiter zur Demoseite</p>
<img title="Tempus-Screenshot" width="266" alt="Tempus-Screenshot" src="skin/images/tempus-screenshot.png">
</a>
<br/><br/>
</td>
</tr>-->
<tr height="60">
<td></td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-50
View File
@@ -1,50 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE" "http://www.w3.org/TR/html4/loose.dtd">
<html lang=de>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="description" content="FH-Complete - The free campus manangement system." />
<meta name="keywords" content="FH-Complete, Campus Managemet" />
<meta name="author" content="FH-Complete team and contributors">
<link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>
<title>FH-Complete Demo</title>
</head>
<body>
<h1>FH-Complete Demo</h1>
<h2>Where do you want to go?</h2>
<h3>Core Components</h3>
<ul>
<li>CIS</li>
<li><a href="index.ci.php">VileSci</a></li>
<li>WaWi</li>
<li>FAS</li>
<li>Tempus</li>
<li>Planner</li>
</ul>
<h3>AddOns</h3>
<ul>
<li><a href="addons/aufnahme/cis/index.php">Aufnahme</a></li>
<li>Studienplatzverwaltung</li>
<li>Studiengangverwaltung</li>
<li><a href="addons/reports/cis/index.php">Reports</a></li>
<li>Datenimport</li>
<li>Kompetenzen</li>
</ul>
<h3>Demo Users</h3>
<ul>
<li><strong>username/password</strong></li>
<li>admin/1q2w3</li>
<li>student1/1q2w3</li>
<li>lektor1/1q2w3</li>
<li>assistenz1/1q2w3</li>
<li>gl1/1q2w3</li>
<li>gl2/1q2w3</li>
<li>gl3/1q2w3</li>
</ul>
</body>
</html>
-196
View File
@@ -1,196 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
<title>FH Complete</title>
<link href="skin/fhcomplete_website.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center" style="padding:30px;">
<table border="0" cellpadding="0" cellspacing="0" width="500px">
<tr>
<td align="center"><a href="index.html"><img title="FH Complete" height="90" alt="FH Complete" src="skin/images/fh-complete_weiss.png"></a></td>
</tr>
<tr height="40">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5">
<table align="center" cellpadding="0" cellspacing="0"><tr>
<td class="menuselected"><a class="menuselected" href="index.html">ÜBERBLICK</a></td>
<td class="menu"><a class="menu" href="fhcomplete_anforderungen.html">ANFORDERUNGEN</a></td>
<td class="menu"><a class="menu" href="fhcomplete_community.html">COMMUNITY</a></td>
</tr></table>
</td>
</tr>
<tr><td colspan="5">&nbsp;</td></tr>
<tr>
<td class="menu"><a class="menu" href="fhcomplete_cis.html">CIS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_fas.html">FAS-ONLINE</a></td>
<td class="menu"><a class="menu" href="fhcomplete_tempus.html">TEMPUS</a></td>
<td class="menu"><a class="menu" href="fhcomplete_wawi.html">WAWI</a></td>
<td class="menu"><a class="menu" href="fhcomplete_vilesci.html">VILESCI</a></td>
</tr>
</table>
</td>
</tr>
<tr height="30">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<p>
Das Produktpaket FH Complete beinhaltet fünf Applikationen,
welche mit einer zentralen Datenbank arbeiten und
somit optimal ineinander greifen.<br/><br/>
Der gesamte Ablauf eines Studiums wird durch FH Complete
abgebildet von den InteressentInnen zu den AbsolventInnen,
vom Lehrauftrag bis zum Lehrplan, vom/von der
SupportmitarbeiterIn bis zum Rektor.<br/><br/>
Das gesamte Paket steht unter der freien Lizenz <a href="http://de.wikipedia.org/wiki/GNU_General_Public_License" target="_blank">GPL</a> und
bedient sich offener Standards wie z.B. XML, PHP, SQL. Die
moderne Architektur ermöglicht das Arbeiten von mehreren
Personen an beliebig vielen Standorten gleichzeitig.<br/><br/>
Schnittstellen zu anderen Systemen, wie eLearning, CRM
oder Groupware erweitern die Möglichkeiten auf jeden
beliebigen Anwendungsfall.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="menu" href="fhcomplete_cis.html"><img title="CIS" height="60" alt="CIS" src="skin/images/cis_logo_weiss.png"></a>
</p>
</td>
</tr>
<tr height="10">
<td colspan="7"></td>
</tr>
<tr>
<td>
<p>
Das Campus Informations-System ist die Web-Oberfläche
für Studierende und LektorInnen. Hier finden sie News,
informieren sich über die Lehre, rufen Lehrveranstaltungspläne
ab und vieles mehr.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="menu" href="fhcomplete_fas.html"><img title="FAS" height="60" alt="FAS" src="skin/images/fas_logo_weiss.png"></a>
</p>
</td>
</tr>
<tr height="10">
<td></td>
</tr>
<tr>
<td>
<p>
Das FH Adminstrations-System dient als Oberfläche zur Verwaltung
aller relevanten Daten für Studierende, LektorInnen
und MitarbeiterInnen.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="menu" href="fhcomplete_tempus.html"><img title="Tempus" height="60" alt="Tempus" src="skin/images/tempus_logo_weiss.png"></a>
</p>
</td>
</tr>
<tr height="10">
<td></td>
</tr>
<tr>
<td>
<p>
Tempus dient dazu, die Lehraufträge in konkreten Lehreinheiten
abzubilden. Hier werden Kollisionen erkannt,
Raumvorschläge berechnet, Studierende und Lehrpersonal
automatisch benachrichtigt und der gesamte Plan in alle
möglichen Formate exportiert.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="menu" href="fhcomplete_wawi.html"><img title="WaWi" height="60" alt="WaWi" src="skin/images/wawi_logo_weiss.png"></a>
</p>
</td>
</tr>
<tr height="10">
<td></td>
</tr>
<tr>
<td>
<p>
Im WaWi werden neben dem Inventar auch Bestellungen und
Rechnungen verwaltet. Ein ausgeklügeltes Freigabesystem
für die Bestellungen und ein Entlehnsystem für das Inventar
runden dieses Paket ab.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="menu" href="fhcomplete_vilesci.html"><img title="Vilesci" height="60" alt="Vilesci" src="skin/images/vilesci_logo_weiss.png"></a>
</p>
</td>
</tr>
<tr height="10">
<td></td>
</tr>
<tr>
<td>
<p>
Vilesci bietet für AdministratorInnen eine Oberfläche für
die Bearbeitung und Pflege von Hintergrunddaten, für eine
Erstellung von statistischen Auswertungen und für die Verwaltung
von Inventar, Gruppen und Zugriffsberechtigungen.
</p>
</td>
</tr>
<tr>
<td style="padding-top:50px; padding-bottom:50px; vertical-align:center;">
<div>
<a href="Folder_FH_Complete.pdf" target="blank">FH-Complete Folder zum Download <img title="Folder" alt="PDF" src="skin/images/pdfpic.gif"></a>
</div>
</td>
</tr>
<tr>
<td>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="10%">
<tr>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_impressum.html">IMPRESSUM</a>
</p>
</td>
<td width="100%">
<p style="padding-left:30px; padding-right:30px;" >
<a style="text-decoration:none;font-size:12px;" href="fhcomplete_kontakt.html">KONTAKT</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
-86
View File
@@ -1,86 +0,0 @@
#!/bin/bash
#
# This archive is part of the FH-Complete source code.
#
# The source code of this software - FH-Complete - is under the terms of one of
# two licenses: Apache v2 and GPL v2
#
# ABOUT:
# =====
# This script will install some FH-Complete dependencies and configure default
# files
#
# WARNING:
# Of course that Apache and PostgreSQL should already be running
# because it is not responsability of FH-Complete to install other software
# Anyway, the following steps are an example to help install a full system:
#
# ------------------------------------------------------------------------------
# apt-get install sudo
# sudo apt-get update
# apt-get install phppgadmin postgresql apache
# apt-get install php5-pgsql php5-gd php5-curl
# a2enmod rewrite
# service apache2 restart
# sudo apt-get install -y git
# cd /var/www/html
# git clone https://github.com/FH-Complete/FH-Complete.git fhcomplete
# sudo chown www-data /var/www/html/fhcomplete
# -----------------------------------------------------------------------------
# CREATE DATABASE USERS fhcomplete, web, vilesci
# Running:
# =======
# ./install.sh
#
# =============================================================================
# Install script for FH-Complete
# =============================================================================
echo "==============================================================="
echo "Installing FH-Complete (install.sh)"
echo "==============================================================="
# Make sure only root can run our script
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
echo "Starting..."
cwd=$(pwd)
echo "Database ..."
#pkill -ef fhctest &
#sudo -u postgres psql template1 -c 'DROP DATABASE IF EXISTS fhctest;'
#echo "Database fhctest dropped!"
sudo -u postgres createdb -O fhcomplete fhctest
sudo -u postgres psql fhctest -c 'CREATE SCHEMA IF NOT EXISTS system;'
sudo -u postgres psql fhctest -c 'ALTER SCHEMA system OWNER TO fhcomplete;'
echo "Installing FH-Complete..."
# cp index.ci.php index.php # Maybe somtimes
if [ "$1" != "-no-copy-config" ]; then
cp config/global.config-default.inc.php config/global.config.inc.php
cp config/cis.config-default.inc.php config/cis.config.inc.php
cp config/vilesci.config-default.inc.php config/vilesci.config.inc.php
cp config/system.config-default.inc.php config/system.config.inc.php
fi
# mkdir documents
#chown www-data data/cache
echo "======= Install composer and run it ============="
echo "commented out for phpci"
# php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
# php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === '41e71d86b40f28e771d4bb662b997f79625196afcca95a5abf44391188c695c6c1456e16154c75a211d238cc3bc5cb47') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# php composer-setup.php
# php -r "unlink('composer-setup.php');"
# ./composer.phar update
echo "======= Database Migration ============="
php index.ci.php DBTools migrate
echo "Done!"
echo "Now run #php bin/fhcomplete update (Joking, its just a todo notice!)"
exit 0
-64
View File
@@ -1,64 +0,0 @@
<?php
if(isset($_GET['stylesheet']))
{
$style = $_GET['stylesheet'];
setcookie('stylesheet', $style);
?>
<script type="text/javascript">
top.location.href="cis/index.html";
</script>
<?php
}
else if (isset($_COOKIE['stylesheet']))
$style = $_COOKIE['stylesheet'];
else
$style =null;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>CIS - FH Technikum Wien</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
</head>
<body id="inhalt">
<?php
//echo $_COOKIE['stylesheet'];
$dir = "skin/styles/";
$files = scandir($dir);
$erg = count($files);
$j = 0;
for($i = 0; $i < $erg; $i++)
{
if(is_dir($dir.$files[$i]) && $files[$i] != "." && $files[$i] != ".." && $files[$i] != ".svn")
{
$files_erg[$j] = $files[$i];
$j++;
}
}
echo "<h3> W&auml;hlen Sie Ihr pers&ouml;nliches Layout! </h3>";
echo "<table>";
for($i = 0; $i <count($files_erg); $i++)
{
if($style == $files_erg[$i])
echo '<tr bgcolor="#EEEEEE">';
else
echo "<tr>";
echo "<td>";
echo "<a class='Item' href='?stylesheet=".$files_erg[$i]."'><img id='layout' src='skin/styles/".$files_erg[$i]."/screenshot.jpg' width='300' /></a>";
echo "</td><td>";
readfile('skin/styles/'.$files_erg[$i].'/description.txt');
echo "</td>";
}
echo "</tr>";
echo "</table>";
?>
</body>
</html>
-14
View File
@@ -1,14 +0,0 @@
[App]
Name=FHC-Planner
ID=planner@technikum-wien.at
Version=0.1
BuildID=20110901
Vendor=FH Technikum Wien
Copyright=Copyright (c) 2004-2011 FH TW
[Gecko]
MinVersion=1.0
MaxVersion=7.0
[XRE]
EnableExtensionManager=1
-9
View File
@@ -1,9 +0,0 @@
content planner chrome/content/
skin planner classic/1.0 chrome/skin/
overlay chrome://browser/content/browser.xul chrome://planner/content/browser-overlay.xul
style chrome://browser/content/browser.xul chrome://planner/skin/planner.css
overlay chrome://navigator/content/navigator.xul chrome://planner/content/browser-overlay.xul
locale planner en-US chrome/locale/en-US/
locale planner de-AT chrome/locale/de-AT/
-18
View File
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE dialog SYSTEM "chrome://planner/locale/about.dtd">
<dialog title="&about; FHC-Planner" orient="vertical" autostretch="always" onload="sizeToContent()" buttons="accept" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<groupbox align="center" orient="horizontal">
<vbox>
<text value="FHC-Planner" style="font-weight: bold; font-size: x-large;"/>
<text value="&version; 1.0"/>
<separator class="thin"/>
<text value="&createdBy;" style="font-weight: bold;"/>
<text value="Christian Paminger"/>
<separator class="thin"/>
</vbox>
</groupbox>
</dialog>
@@ -1,21 +0,0 @@
var planner = {
onLoad: function() {
// initialization code
this.initialized = true;
this.strings = document.getElementById("planner-strings");
},
onMenuItemCommand: function(e) {
var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
promptService.alert(window, this.strings.getString("helloMessageTitle"),
this.strings.getString("helloMessage"));
},
onToolbarButtonCommand: function(e) {
// just reuse the function above. you can change this, obviously!
planner.onMenuItemCommand(e);
}
};
window.addEventListener("load", planner.onLoad, false);
@@ -1,31 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://planner/skin/planner.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://planner/locale/planner.dtd">
<overlay id="overlay-planner"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!--<script type="application/x-javascript" src="chrome://planner/content/browser-overlay.js"/>-->
<script type="application/x-javascript">
var PlannerStart = function()
{
var winref=window.open('chrome://planner/content/planner.xul', 'window-planner', 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1');
}
</script>
<menupopup id="menu_ToolsPopup">
<menuitem id="menutitem-toolbar-planner" label="Planner" key="planner-run-key" oncommand="PlannerStart()"/>
</menupopup>
<menupopup id="windowPopup">
<menuitem id="menutitem-toolbar-planner" insertafter="tb-chatzilla-menu" label="Planner" key="planner-run-key" oncommand="PlannerStart()"/>
</menupopup>
<keyset>
<key id="key-planner-run" modifiers="accel alt shift" key="P" oncommand="PlannerStart()"/>
</keyset>
<window id="main-window">
<vbox id="browser-bottombox">
<toolbarbutton insertbefore="status-bar" id="planner-toolbar-button" class="statusbarpanel-iconic" label="Planner" src="chrome://planner/skin/planner.png" tooltiptext="runplanner" oncommand="PlannerStart()"/>
</vbox>
</window>
</overlay>
-293
View File
@@ -1,293 +0,0 @@
var FileController = {
_app : null,
init : function(aApp) {
this._app = aApp;
},
supportsCommand : function(cmd) {
var isSupported = false;
switch (cmd) {
case "cmd_pageSetup":
case "cmd_print":
case "cmd_exit":
isSupported = true;
break;
default:
isSupported = false;
break;
}
return isSupported;
},
isCommandEnabled : function(cmd) {
return true;
},
doCommand : function(cmd) {
switch (cmd) {
case "cmd_pageSetup":
{
PrintUtils.showPageSetup();
break;
}
case "cmd_print":
{
PrintUtils.print();
break;
}
case "cmd_exit":
{
if (this._app.shutdownQuery() == false) {
return;
}
var aForceQuit = false;
var appStartup = Components.classes['@mozilla.org/toolkit/app-startup;1'].getService(Components.interfaces.nsIAppStartup);
// eAttemptQuit will try to close each XUL window, but the XUL window can cancel the quit
// process if there is unsaved data. eForceQuit will quit no matter what.
var quitSeverity = aForceQuit ? Components.interfaces.nsIAppStartup.eForceQuit : Components.interfaces.nsIAppStartup.eAttemptQuit;
appStartup.quit(quitSeverity);
break;
}
}
}
};
var ToolsController = {
_app : null,
init : function(aApp) {
this._app = aApp;
},
supportsCommand : function(cmd) {
var isSupported = false;
switch (cmd) {
case "cmd_options":
isSupported = true;
break;
default:
isSupported = false;
break;
}
return isSupported;
},
isCommandEnabled : function(cmd) {
return true;
},
doCommand : function(cmd) {
switch (cmd) {
case "cmd_options":
{
window.openDialog("chrome://planner/content/options.xul", "options", "centerscreen,modal");
break;
}
}
}
};
var HelpController = {
_app : null,
init : function(aApp) {
this._app = aApp;
},
supportsCommand : function(cmd) {
var isSupported = false;
switch (cmd) {
case "cmd_about":
isSupported = true;
break;
default:
isSupported = false;
break;
}
return isSupported;
},
isCommandEnabled : function(cmd) {
return true;
},
doCommand : function(cmd) {
switch (cmd) {
case "cmd_about":
{
window.openDialog("chrome://planner/content/about.xul", "about", "centerscreen,modal");
break;
}
}
}
};
/**
* Command Updater
*/
var CommandUpdater = {
/**
* Gets a controller that can handle a particular command.
* @param command
* A command to locate a controller for, preferring controllers that
* show the command as enabled.
* @returns In this order of precedence:
* - the first controller supporting the specified command
* associated with the focused element that advertises the
* command as ENABLED
* - the first controller supporting the specified command
* associated with the global window that advertises the
* command as ENABLED
* - the first controller supporting the specified command
* associated with the focused element
* - the first controller supporting the specified command
* associated with the global window
*/
_getControllerForCommand: function(command) {
try {
var controller = top.document.commandDispatcher.getControllerForCommand(command);
if (controller && controller.isCommandEnabled(command))
return controller;
}
catch(e) {
}
var controllerCount = window.controllers.getControllerCount();
for (var i = 0; i < controllerCount; ++i) {
var current = window.controllers.getControllerAt(i);
try {
if (current.supportsCommand(command) && current.isCommandEnabled(command))
return current;
}
catch (e) {
}
}
return controller || window.controllers.getControllerForCommand(command);
},
/**
* Updates the state of a XUL <command> element for the specified command
* depending on its state.
* @param command
* The name of the command to update the XUL <command> element for
*/
updateCommand: function(command) {
var enabled = false;
try {
var controller = this._getControllerForCommand(command);
if (controller) {
enabled = controller.isCommandEnabled(command);
}
}
catch(ex) { }
this.enableCommand(command, enabled);
},
/**
* Updates the state of a XUL <command> element for the specified command
* depending on its state.
* @param command
* The name of the command to update the XUL <command> element for
*/
updateCommands: function(_commands) {
var commands = _commands.split(",");
for (var command in commands) {
this.updateCommand(commands[command]);
}
},
/**
* Enables or disables a XUL <command> element.
* @param command
* The name of the command to enable or disable
* @param enabled
* true if the command should be enabled, false otherwise.
*/
enableCommand: function(command, enabled) {
var element = document.getElementById(command);
if (!element)
return;
if (enabled)
element.removeAttribute("disabled");
else
element.setAttribute("disabled", "true");
},
/**
* Performs the action associated with a specified command using the most
* relevant controller.
* @param command
* The command to perform.
*/
doCommand: function(command) {
var controller = this._getControllerForCommand(command);
if (!controller)
return;
controller.doCommand(command);
},
/**
* Changes the label attribute for the specified command.
* @param command
* The command to update.
* @param labelAttribute
* The label value to use.
*/
setMenuValue: function(command, labelAttribute) {
var commandNode = top.document.getElementById(command);
if (commandNode)
{
var label = commandNode.getAttribute(labelAttribute);
if ( label )
commandNode.setAttribute('label', label);
}
},
/**
* Changes the accesskey attribute for the specified command.
* @param command
* The command to update.
* @param valueAttribute
* The value attribute to use.
*/
setAccessKey: function(command, valueAttribute) {
var commandNode = top.document.getElementById(command);
if (commandNode)
{
var value = commandNode.getAttribute(valueAttribute);
if ( value )
commandNode.setAttribute('accesskey', value);
}
},
/**
* Inform all the controllers attached to a node that an event has occurred
* (e.g. the tree controllers need to be informed of blur events so that they can change some of the
* menu items back to their default values)
* @param node
* The node receiving the event
* @param event
* The event.
*/
onEvent: function(node, event) {
var numControllers = node.controllers.getControllerCount();
var controller;
for ( var controllerIndex = 0; controllerIndex < numControllers; controllerIndex++ )
{
controller = node.controllers.getControllerAt(controllerIndex);
if ( controller )
controller.onEvent(event);
}
}
};
-15
View File
@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<!DOCTYPE prefwindow SYSTEM "chrome://planner/locale/options.dtd">
<prefwindow id="planner-preferences" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="&prefwindow.title;">
<prefpane id="pane1" label="&pane1.title;">
<preferences>
<preference id="boolpref1" name="extensions.planner.boolpref" type="bool"/>
<preference id="intpref1" name="extensions.planner.intpref" type="int"/>
<preference id="stringpref1" name="extensions.planner.stringpref" type="string"/> <!-- note that this is only an ASCII string - use unichar for unicode strings -->
</preferences>
<checkbox id="checkboolpref" preference="boolpref1" label="&checkboolpref.label;" accesskey="&checkboolpref.accesskey;"/>
<label accesskey="&intpref.accesskey;" control="textintpref">&intpref.label;</label><textbox id="textintpref" preference="intpref1"/>
<label accesskey="&stringpref.accesskey;" control="textstringpref">&stringpref.label;</label><textbox id="textstringpref" preference="stringpref1"/>
</prefpane>
</prefwindow>
-10
View File
@@ -1,10 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="planner" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="Planner"
width="800"
height="600"
persist="screenX screenY width height sizemode"
>
<browser flex="2" type="content-primary" src="https://vilesci.technikum-wien.at/content/planner.xul.php" />
</window>
-66
View File
@@ -1,66 +0,0 @@
treechildren::-moz-tree-cell(makeItGreen)
{
background-color: #88FF88;
}
treechildren::-moz-tree-cell(makeItRed)
{
background-color: #FFAAAA;
}
treechildren::-moz-tree-cell(makeItBlue)
{
background-color: #9999FF;
}
treechildren::-moz-tree-cell(makeItYellow)
{
background-color: #FFFF99;
}
#motorsport-manager-toolbar-button {
list-style-image: URL("chrome://motorsportmanager/skin/toolbar-large.png");
}
#motorsport-manager-status-bar-icon {
width: 83px;
margin: 0 5px;
}
.motorsport-manager-selected {
outline: 2px solid red !important;
}
label.gesenkt
{
border-style:solid;
border-width:1px;
background-color:#33FF33;
text-align:center;
}
label.normal
{
border-style:solid;
border-width:1px;
background-color:#FFFF33;
text-align:center;
}
label.erhoeht
{
border-style:solid;
border-width:1px;
background-color:#FF3333;
text-align:center;
}
textbox
{
max-height:1.6em;
}
button
{
max-height:1.8em;
}
grid
{
margin:0px;
padding:0px;
border:0px;
}
View File
-36
View File
@@ -1,36 +0,0 @@
// pref("toolkit.defaultChromeURI", "https://user:pass@vilesci.technikum-wien.at/content/planner.xul.php");
// Entry Point for Extension
pref("toolkit.defaultChromeURI", "chrome://planner/content/browser-overlay.xul");
// Entry Point for Browser
// pref("browser.chromeURL", "chrome://planner/content/planner.xul")
/* debugging prefs */
pref("browser.dom.window.dump.enabled", true);
pref("javascript.options.showInConsole", true);
pref("javascript.options.strict", true);
pref("nglayout.debug.disable_xul_cache", true);
pref("nglayout.debug.disable_xul_fastload", true);
/* added to allow <label class="text-links" ... /> to work */
pref("network.protocol-handler.expose.http", false);
pref("network.protocol-handler.warn-external.http", false);
/* Remote XUL */
user_pref("signed.applets.codebase_principal_support", true);
user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p0.id", "http://fhcomplete.technikum-wien.at");
user_pref("capability.principal.codebase.p0.subjectName", "");
user_pref("capability.principal.codebase.p1.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p1.id", "http://calva.technikum-wien.at");
user_pref("capability.principal.codebase.p1.subjectName", "");
user_pref("capability.principal.codebase.p2.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p2.id", "https://vilesci.technikum-wien.at");
user_pref("capability.principal.codebase.p2.subjectName", "");
user_pref("capability.principal.codebase.p3.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p3.id", "http://dev.technikum-wien.at");
user_pref("capability.principal.codebase.p3.subjectName", "");
user_pref("capability.principal.codebase.p3.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p3.id", "http://localhost");
user_pref("capability.principal.codebase.p3.subjectName", "");
-32
View File
@@ -1,32 +0,0 @@
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest"
em:id="planner@technikum-wien.at"
em:type="2"
em:name="FHC-Planner"
em:version="2.0.1"
em:creator="Christian Paminger"
em:contributor="Systementwicklung FH Technikum Wien"
em:developer="Christian Paminger, Andreas Österreicher, Karl Burkhart"
em:description="Projektmanagement Modul in FH-Complete"
em:homepageURL="http://fhcomplete.technikum-wien.at/"
em:aboutURL="chrome://planner/content/about.xul"
em:optionsURL="chrome://planner/content/options.xul">
<em:targetApplication resource="rdf:#$JrcLu"/>
<em:targetApplication resource="rdf:#Seamonkey"/>
</Description>
<Description about="rdf:#$JrcLu">
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- Firefox -->
<em:minVersion>2.0</em:minVersion>
<em:maxVersion>6.2</em:maxVersion>
</Description>
<Description about="rdf:#Seamonkey">
<em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <!-- SeaMonkey -->
<em:minVersion>2.0b1</em:minVersion>
<em:maxVersion>2.2.*</em:maxVersion>
</Description>
</RDF>