mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' into permissions
This commit is contained in:
@@ -10,6 +10,8 @@ documents/
|
||||
.project
|
||||
.buildpath
|
||||
application/config/development/
|
||||
application/config/testing/
|
||||
application/config/production
|
||||
application/extensions/
|
||||
application/controllers/extensions/
|
||||
application/config/extensions/
|
||||
@@ -30,3 +32,4 @@ tests/codeception/tests/acceptance.suite.yml
|
||||
tests/codeception/tests/unit.suite.yml
|
||||
/sparks/*
|
||||
/webdav/google.php
|
||||
system/sql/
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
$config['fhc_version'] = '3.2';
|
||||
$config['fhc_version'] = '3.3';
|
||||
|
||||
$config['addons_aufnahme_url'] = array();
|
||||
$config['addons_aufnahme_url']['OE_ROOT'] = 'https://SERVER-NAME/addons/aufnahme/OE_ROOT/cis/index.php';
|
||||
|
||||
@@ -5,11 +5,6 @@ $config['navigation_header'] = array(
|
||||
'FH-Complete' => site_url(''),
|
||||
'Vilesci' => base_url('/vilesci'),
|
||||
'CIS' => CIS_ROOT
|
||||
),
|
||||
'system/infocenter/InfoCenter/infocenterFreigegeben' => array(
|
||||
'FH-Complete' => base_url('index.ci.php/'),
|
||||
'Vilesci' => base_url('/vilesci'),
|
||||
'CIS' => CIS_ROOT
|
||||
)
|
||||
);
|
||||
|
||||
@@ -63,13 +58,13 @@ $config['navigation_menu']['Vilesci/index'] = array(
|
||||
)
|
||||
);
|
||||
|
||||
//HIDDEN as long as filter is revised
|
||||
//$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array(
|
||||
// 'Freigegeben' => array(
|
||||
// 'link' => base_url('index.ci.php/system/infocenter/InfoCenter/infocenterFreigegeben'),
|
||||
// 'description' => 'Freigegeben',
|
||||
// 'icon' => 'thumbs-up'
|
||||
// ));
|
||||
|
||||
$config['navigation_menu']['system/infocenter/InfoCenter/index'] = array(
|
||||
'Freigegeben' => array(
|
||||
'link' => base_url('index.ci.php/system/infocenter/InfoCenter/infocenterFreigegeben'),
|
||||
'description' => 'Freigegeben',
|
||||
'icon' => 'thumbs-up'
|
||||
));
|
||||
|
||||
$config['navigation_menu']['system/infocenter/InfoCenter/showDetails'] = array(
|
||||
'Freigegeben' => array(
|
||||
@@ -84,5 +79,3 @@ $config['navigation_menu']['system/infocenter/InfoCenter/infocenterFreigegeben']
|
||||
'description' => 'Zurück',
|
||||
'icon' => 'angle-left'
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ $config['roles'] = array
|
||||
'basis/adresse','basis/akte','basis/kontakt','basis/log','basis/nation','basis/notiz','basis/notizzuordnung',
|
||||
'basis/person','basis/prestudent','basis/prestudentstatus','basis/status','basis/zgv','basis/zgvmaster',
|
||||
'lehre/studienplan','system/filters','fs/dms','basis/message','basis/benutzerrolle', 'basis/sprache',
|
||||
'system/personlock','basis/benutzerfunktion','system/vorlagestudiengang'
|
||||
'system/personlock','basis/benutzerfunktion','system/vorlagestudiengang', 'basis/bewerbungstermine'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
@@ -392,7 +392,6 @@ class DBTools extends FHC_Controller
|
||||
// **** Permission ****
|
||||
// ToDo: Check Persmissions in the bottom of this file
|
||||
case 'permissions':
|
||||
//var_dump($this->config->item('fhc_acl'));
|
||||
echo ' Permissions!';
|
||||
//$this->config->load('roles');
|
||||
foreach ($this->config->item('fhc_acl') as $b)
|
||||
|
||||
@@ -62,7 +62,8 @@ class Prestudentstatus extends FHC_Controller
|
||||
tbl_prestudentstatus.status_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudentstatus.studienplan_id,
|
||||
tbl_studienplan.orgform_kurzbz');
|
||||
tbl_studienplan.orgform_kurzbz,
|
||||
tbl_prestudent.person_id');
|
||||
$this->PrestudentstatusModel->addJoin('public.tbl_prestudent', 'prestudent_id');
|
||||
$this->PrestudentstatusModel->addJoin('lehre.tbl_studienplan', 'studienplan_id','LEFT');
|
||||
$this->PrestudentstatusModel->addJoin('lehre.tbl_studienordnung', 'studienordnung_id','LEFT');
|
||||
@@ -106,6 +107,14 @@ class Prestudentstatus extends FHC_Controller
|
||||
$this->PrestudentstatusModel->update($pk_arr,
|
||||
array('studienplan_id' => $studienplan->retval[0]->studienplan_id));
|
||||
$sum_corrected++;
|
||||
|
||||
if($row_status->status_kurzbz == 'Interessent')
|
||||
{
|
||||
$this->correctReihungstest(
|
||||
$row_status->person_id,
|
||||
$row_status->studienplan_id,
|
||||
$studienplan->retval[0]->studienplan_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -125,4 +134,58 @@ class Prestudentstatus extends FHC_Controller
|
||||
echo "Not Corrected:".$sum_notcorrected."\n";
|
||||
echo "Overall incorrect:".$sum_overall."\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Corrects the Assignment to a Placement Test
|
||||
* Corrects the Studyplan and adds the Studyplan to the Placement test
|
||||
* @param $person_id ID of the Person
|
||||
* @param $studienplan_id_old ID of the old Studyplan
|
||||
* @param $studienplan_id ID of the new Studyplan
|
||||
*/
|
||||
private function correctReihungstest($person_id, $studienplan_id_old, $studienplan_id)
|
||||
{
|
||||
$this->load->model('crm/RtPerson_model', 'RtPersonModel');
|
||||
$this->load->model('crm/RtStudienplan_model', 'RtStudienplanModel');
|
||||
|
||||
$this->RtPersonModel->resetQuery();
|
||||
// Correct also Assignments to Placement test
|
||||
$this->RtPersonModel->addJoin(
|
||||
'public.tbl_reihungstest',
|
||||
'tbl_reihungstest.reihungstest_id = tbl_rt_person.rt_id'
|
||||
);
|
||||
|
||||
$rt = $this->RtPersonModel->loadWhere(array(
|
||||
"person_id" => $person_id,
|
||||
"studienplan_id" => $studienplan_id_old
|
||||
));
|
||||
|
||||
// "tbl_reihungstest.datum > " => date('Y-m-d H:i:s')
|
||||
|
||||
if(hasData($rt))
|
||||
{
|
||||
foreach($rt->retval as $row_rt)
|
||||
{
|
||||
// Update RTPerson Record
|
||||
$this->RtPersonModel->update($row_rt->rt_person_id, array(
|
||||
'studienplan_id' => $studienplan_id,
|
||||
'updateamum' => date('Y-m-d H:i:s'),
|
||||
'updatevon' => 'cron'
|
||||
));
|
||||
|
||||
// Add new Studyplan to RtStudienplan if missing
|
||||
$rt_studienplan = $this->RtStudienplanModel->loadWhere(array(
|
||||
"reihungstest_id" => $row_rt->reihungstest_id,
|
||||
"studienplan_id" => $studienplan_id
|
||||
));
|
||||
|
||||
if(!hasData($rt_studienplan))
|
||||
{
|
||||
$this->RtStudienplanModel->insert(array(
|
||||
"reihungstest_id" => $row_rt->reihungstest_id,
|
||||
"studienplan_id" => $studienplan_id
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
*/
|
||||
class Filters extends CI_Controller
|
||||
{
|
||||
const SESSION_NAME = 'FILTER';
|
||||
const SESSION_NAME = 'FHC_FILTER_WIDGET';
|
||||
|
||||
const SELECTED_FIELDS = 'selectedFields';
|
||||
const SELECTED_FILTERS = 'selectedFilters';
|
||||
@@ -41,11 +41,13 @@ class Filters extends CI_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields'];
|
||||
$json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases'];
|
||||
$json->additionalColumns = $_SESSION[self::SESSION_NAME]['additionalColumns'];
|
||||
$json->checkboxes = $_SESSION[self::SESSION_NAME]['checkboxes'];
|
||||
$json->dataset = $_SESSION[self::SESSION_NAME]['dataset'];
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
|
||||
$json->selectedFields = $session['selectedFields'];
|
||||
$json->columnsAliases = $session['columnsAliases'];
|
||||
$json->additionalColumns = $session['additionalColumns'];
|
||||
$json->checkboxes = $session['checkboxes'];
|
||||
$json->dataset = $session['dataset'];
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
@@ -57,11 +59,13 @@ class Filters extends CI_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$json->allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields'];
|
||||
$json->allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases'];
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
|
||||
$json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields'];
|
||||
$json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases'];
|
||||
$json->allSelectedFields = $session['allSelectedFields'];
|
||||
$json->allColumnsAliases = $session['allColumnsAliases'];
|
||||
|
||||
$json->selectedFields = $session['selectedFields'];
|
||||
$json->columnsAliases = $session['columnsAliases'];
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
@@ -72,14 +76,17 @@ class Filters extends CI_Controller
|
||||
public function sortSelectedFields()
|
||||
{
|
||||
$selectedFieldsLst = $this->input->post('selectedFieldsLst');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
$allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields'];
|
||||
$allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases'];
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
|
||||
$json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields'];
|
||||
$json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases'];
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
|
||||
$json->selectedFields = $session['selectedFields'];
|
||||
$json->columnsAliases = $session['columnsAliases'];
|
||||
|
||||
if (isset($selectedFieldsLst) && is_array($selectedFieldsLst))
|
||||
{
|
||||
@@ -102,8 +109,8 @@ class Filters extends CI_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME]['selectedFields'] = $json->selectedFields;
|
||||
$_SESSION[self::SESSION_NAME]['columnsAliases'] = $json->columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $json->selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $json->columnsAliases;
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode($json));
|
||||
}
|
||||
@@ -115,10 +122,12 @@ class Filters extends CI_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$json->allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields'];
|
||||
$json->allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases'];
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
|
||||
$json->selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters'];
|
||||
$json->allSelectedFields = $session['allSelectedFields'];
|
||||
$json->allColumnsAliases = $session['allColumnsAliases'];
|
||||
|
||||
$json->selectedFilters = $session['selectedFilters'];
|
||||
$json->selectedFiltersAliases = array();
|
||||
$json->selectedFiltersMetaData = array();
|
||||
|
||||
@@ -126,10 +135,10 @@ class Filters extends CI_Controller
|
||||
$json->selectedFiltersActiveFiltersOperation = array();
|
||||
$json->selectedFiltersActiveFiltersOption = array();
|
||||
|
||||
$metaData = $_SESSION[self::SESSION_NAME]['metaData'];
|
||||
$activeFilters = $_SESSION[self::SESSION_NAME]['activeFilters'];
|
||||
$activeFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation'];
|
||||
$activeFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption'];
|
||||
$metaData = $session['metaData'];
|
||||
$activeFilters = $session['activeFilters'];
|
||||
$activeFiltersOperation = $session['activeFiltersOperation'];
|
||||
$activeFiltersOption = $session['activeFiltersOption'];
|
||||
|
||||
for ($i = 0; $i < count($json->selectedFilters); $i++)
|
||||
{
|
||||
@@ -170,7 +179,7 @@ class Filters extends CI_Controller
|
||||
*/
|
||||
public function saveFilter()
|
||||
{
|
||||
$this->_saveFilter($this->input->post("customFilterDescription"));
|
||||
$this->_saveFilter($this->input->post("customFilterDescription"), $this->input->post("fhc_controller_id"));
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!'));
|
||||
}
|
||||
@@ -178,11 +187,11 @@ class Filters extends CI_Controller
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _saveFilter($customFilterDescription)
|
||||
private function _saveFilter($customFilterDescription, $fhc_controller_id)
|
||||
{
|
||||
$objToBeSaved = new stdClass();
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession($fhc_controller_id);
|
||||
|
||||
$objToBeSaved->name = $customFilterDescription;
|
||||
|
||||
@@ -235,8 +244,8 @@ class Filters extends CI_Controller
|
||||
$personId = $resultBenutzer->retval[0]->person_id;
|
||||
|
||||
$result = $this->FiltersModel->loadWhere(array(
|
||||
'app' => $_SESSION[self::SESSION_NAME]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $personId
|
||||
));
|
||||
@@ -245,8 +254,8 @@ class Filters extends CI_Controller
|
||||
{
|
||||
$this->FiltersModel->update(
|
||||
array(
|
||||
'app' => $_SESSION[self::SESSION_NAME]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'description' => $descPGArray,
|
||||
'person_id' => $personId
|
||||
),
|
||||
@@ -258,8 +267,8 @@ class Filters extends CI_Controller
|
||||
else
|
||||
{
|
||||
$this->FiltersModel->insert(array(
|
||||
'app' => $_SESSION[self::SESSION_NAME]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME]['datasetName'],
|
||||
'app' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['app'],
|
||||
'dataset_name' => $_SESSION[self::SESSION_NAME][$fhc_controller_id]['datasetName'],
|
||||
'filter_kurzbz' => uniqid($personId, true),
|
||||
'person_id' => $personId,
|
||||
'description' => $descPGArray,
|
||||
@@ -277,12 +286,13 @@ class Filters extends CI_Controller
|
||||
public function deleteCustomFilter()
|
||||
{
|
||||
$filter_id = $this->input->post('filter_id');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
if (is_numeric($filter_id))
|
||||
{
|
||||
$this->FiltersModel->deleteCustomFilter($filter_id);
|
||||
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Tutto bene!!!'));
|
||||
$this->output->set_content_type('application/json')->set_output(json_encode('Removed'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -292,12 +302,15 @@ class Filters extends CI_Controller
|
||||
public function removeSelectedFields()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields'];
|
||||
$allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases'];
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
|
||||
$selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields'];
|
||||
$columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases'];
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
|
||||
$selectedFields = $session['selectedFields'];
|
||||
$columnsAliases = $session['columnsAliases'];
|
||||
|
||||
if (($pos = array_search($fieldName, $selectedFields)) !== false)
|
||||
{
|
||||
@@ -309,8 +322,8 @@ class Filters extends CI_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME]['columnsAliases'] = $columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -328,11 +341,14 @@ class Filters extends CI_Controller
|
||||
public function removeSelectedFilters()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $_SESSION[self::SESSION_NAME]['activeFilters'];
|
||||
$selectedFiltersActiveFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation'];
|
||||
$selectedFiltersActiveFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption'];
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
|
||||
$selectedFilters = $session['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $session['activeFilters'];
|
||||
$selectedFiltersActiveFiltersOperation = $session['activeFiltersOperation'];
|
||||
$selectedFiltersActiveFiltersOption = $session['activeFiltersOption'];
|
||||
|
||||
if (($pos = array_search($fieldName, $selectedFilters)) !== false)
|
||||
{
|
||||
@@ -342,10 +358,10 @@ class Filters extends CI_Controller
|
||||
array_splice($selectedFiltersActiveFiltersOption, $pos, 1);
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -363,12 +379,15 @@ class Filters extends CI_Controller
|
||||
public function addSelectedFields()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields'];
|
||||
$allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases'];
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
|
||||
$selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields'];
|
||||
$columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases'];
|
||||
$allSelectedFields = $session['allSelectedFields'];
|
||||
$allColumnsAliases = $session['allColumnsAliases'];
|
||||
|
||||
$selectedFields = $session['selectedFields'];
|
||||
$columnsAliases = $session['columnsAliases'];
|
||||
|
||||
if (($pos = array_search($fieldName, $allSelectedFields)) !== false
|
||||
&& array_search($fieldName, $selectedFields) === false)
|
||||
@@ -381,8 +400,8 @@ class Filters extends CI_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME]['columnsAliases'] = $columnsAliases;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFields'] = $selectedFields;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['columnsAliases'] = $columnsAliases;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -400,11 +419,14 @@ class Filters extends CI_Controller
|
||||
public function addSelectedFilters()
|
||||
{
|
||||
$fieldName = $this->input->post('fieldName');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$selectedFilters = $_SESSION[self::SESSION_NAME]['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $_SESSION[self::SESSION_NAME]['activeFilters'];
|
||||
$selectedFiltersActiveFiltersOperation = $_SESSION[self::SESSION_NAME]['activeFiltersOperation'];
|
||||
$selectedFiltersActiveFiltersOption = $_SESSION[self::SESSION_NAME]['activeFiltersOption'];
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
|
||||
$selectedFilters = $session['selectedFilters'];
|
||||
$selectedFiltersActiveFilters = $session['activeFilters'];
|
||||
$selectedFiltersActiveFiltersOperation = $session['activeFiltersOperation'];
|
||||
$selectedFiltersActiveFiltersOption = $session['activeFiltersOption'];
|
||||
|
||||
if (!in_array($fieldName, $selectedFilters))
|
||||
{
|
||||
@@ -414,10 +436,10 @@ class Filters extends CI_Controller
|
||||
$selectedFiltersActiveFiltersOption[$fieldName] = "";
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['selectedFilters'] = $selectedFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $selectedFiltersActiveFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $selectedFiltersActiveFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $selectedFiltersActiveFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -438,6 +460,9 @@ class Filters extends CI_Controller
|
||||
$filterOperations = $this->input->post('filterOperations');
|
||||
$filterOperationValues = $this->input->post('filterOperationValues');
|
||||
$filterOptions = $this->input->post('filterOptions');
|
||||
$fhc_controller_id = $this->input->post('fhc_controller_id');
|
||||
|
||||
$session = $this->_readSession($fhc_controller_id);
|
||||
|
||||
if ($fieldNames == null) $fieldNames = array();
|
||||
if ($filterOperationValues == null) $filterOperationValues = array();
|
||||
@@ -448,9 +473,9 @@ class Filters extends CI_Controller
|
||||
$activeFiltersOperation = array_combine($fieldNames, $filterOperations);
|
||||
$activeFiltersOption = array_combine($fieldNames, $filterOptions);
|
||||
|
||||
$_SESSION[self::SESSION_NAME]['activeFilters'] = $activeFilters;
|
||||
$_SESSION[self::SESSION_NAME]['activeFiltersOperation'] = $activeFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME]['activeFiltersOption'] = $activeFiltersOption;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFilters'] = $activeFilters;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOperation'] = $activeFiltersOperation;
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id]['activeFiltersOption'] = $activeFiltersOption;
|
||||
|
||||
$json = new stdClass();
|
||||
|
||||
@@ -469,7 +494,9 @@ class Filters extends CI_Controller
|
||||
{
|
||||
$json = new stdClass();
|
||||
|
||||
$dataset = $_SESSION[self::SESSION_NAME]['dataset'];
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
|
||||
$dataset = $session['dataset'];
|
||||
|
||||
if (is_array($dataset))
|
||||
{
|
||||
@@ -480,18 +507,20 @@ class Filters extends CI_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks
|
||||
* Checks if the user is allowed to use this filter
|
||||
*/
|
||||
private function _isAllowed()
|
||||
{
|
||||
$isAllowed = false;
|
||||
|
||||
if (isset($_SESSION[self::SESSION_NAME]['requiredPermissions']))
|
||||
$session = $this->_readSession($this->input->get('fhc_controller_id'));
|
||||
|
||||
if (isset($session['requiredPermissions']))
|
||||
{
|
||||
$tmpRequiredPermissions = $_SESSION[self::SESSION_NAME]['requiredPermissions'];
|
||||
$tmpRequiredPermissions = $session['requiredPermissions'];
|
||||
if (!is_array($tmpRequiredPermissions))
|
||||
{
|
||||
$tmpRequiredPermissions = array($_SESSION[self::SESSION_NAME]['requiredPermissions']);
|
||||
$tmpRequiredPermissions = array($session['requiredPermissions']);
|
||||
}
|
||||
|
||||
for ($i = 0; $i < count($tmpRequiredPermissions); $i++)
|
||||
@@ -506,17 +535,9 @@ class Filters extends CI_Controller
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$isAllowed)
|
||||
{
|
||||
header('Content-Type: application/json');
|
||||
|
||||
echo json_encode('You are not allowed to access to this content');
|
||||
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
if (!$isAllowed)
|
||||
{
|
||||
header('Content-Type: application/json');
|
||||
|
||||
@@ -525,4 +546,29 @@ class Filters extends CI_Controller
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _readSession($fhc_controller_id)
|
||||
{
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$fhc_controller_id]))
|
||||
return $_SESSION[self::SESSION_NAME][$fhc_controller_id];
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _writeSession($data, $fhc_controller_id)
|
||||
{
|
||||
if (!isset($_SESSION[self::SESSION_NAME])
|
||||
|| (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME])))
|
||||
{
|
||||
$_SESSION[self::SESSION_NAME] = array();
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$fhc_controller_id] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +95,8 @@ class InfoCenter extends FHC_Controller
|
||||
if(!$this->permissionlib->isBerechtigt('basis/person'))
|
||||
show_error('You have no Permission! You need Infocenter Role');
|
||||
|
||||
$this->_setControllerId(); // sets the controller id
|
||||
|
||||
$this->setNavigationMenuArray(); // sets property navigationMenuArray
|
||||
}
|
||||
|
||||
@@ -106,14 +108,14 @@ class InfoCenter extends FHC_Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->load->view('system/infocenter/infocenter.php');
|
||||
$this->load->view('system/infocenter/infocenter.php', array('fhc_controller_id' => $this->fhc_controller_id));
|
||||
}
|
||||
|
||||
|
||||
public function infocenterFreigegeben()
|
||||
{
|
||||
$this->load->view('system/infocenter/infocenterFreigegeben.php');
|
||||
$this->load->view('system/infocenter/infocenterFreigegeben.php', array('fhc_controller_id' => $this->fhc_controller_id));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialization function, gets person and prestudent data and loads the view with the data
|
||||
* @param $person_id
|
||||
@@ -124,10 +126,11 @@ class InfoCenter extends FHC_Controller
|
||||
show_error('person id is not numeric!');
|
||||
|
||||
$personexists = $this->PersonModel->load($person_id);
|
||||
|
||||
if(isError($personexists))
|
||||
show_error($personexists->retval);
|
||||
|
||||
if (empty($personexists->retval[0]))
|
||||
if (empty($personexists->retval))
|
||||
show_error('person does not exist!');
|
||||
|
||||
//mark person as locked for editing
|
||||
@@ -147,7 +150,7 @@ class InfoCenter extends FHC_Controller
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* unlocks page from edit by a person, redirects to overview filter page
|
||||
* @param $person_id
|
||||
@@ -224,6 +227,30 @@ class InfoCenter extends FHC_Controller
|
||||
->set_output(json_encode($jsonoutput));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Zugangsvoraussetzungen for a prestudents as a description text
|
||||
* @param $prestudent_id
|
||||
*/
|
||||
public function getZgvInfoForPrestudent($prestudent_id)
|
||||
{
|
||||
$studienordnung = $this->PrestudentstatusModel->getStudienordnungWithZgvText($prestudent_id);
|
||||
|
||||
$prestudentdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
$studiengangkurzbz = $prestudentdata['studiengang_kurzbz'];
|
||||
$studiengangbezeichnung = $prestudentdata['studiengang_bezeichnung'];
|
||||
|
||||
$data = array('studiengang_bezeichnung' => $studiengangbezeichnung, 'studiengang_kurzbz' => $studiengangkurzbz, 'data' => null);
|
||||
|
||||
if (hasData($studienordnung))
|
||||
{
|
||||
$data['data'] = $studienordnung->retval[0]->data;
|
||||
}
|
||||
|
||||
$this->load->view('system/infocenter/studiengangZgvInfo.php',
|
||||
$data
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves a zgv for a prestudent. includes Ort, Datum, Nation for bachelor and master.
|
||||
* @param $prestudent_id
|
||||
@@ -292,7 +319,7 @@ class InfoCenter extends FHC_Controller
|
||||
}
|
||||
|
||||
//check if still Interessent and not freigegeben yet
|
||||
if ($lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam))
|
||||
if (count($lastStatus->retval) > 0 && $lastStatus->retval[0]->status_kurzbz === 'Interessent' && !isset($lastStatus->retval[0]->bestaetigtam))
|
||||
{
|
||||
$result = $this->PrestudentstatusModel->insert(
|
||||
array(
|
||||
@@ -340,6 +367,11 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
$lastStatus = $this->PrestudentstatusModel->getLastStatus($prestudent_id);
|
||||
|
||||
if (isError($lastStatus))
|
||||
{
|
||||
show_error($lastStatus->retval);
|
||||
}
|
||||
|
||||
if (count($lastStatus->retval) > 0)
|
||||
{
|
||||
$lastStatus = $lastStatus->retval[0];
|
||||
@@ -367,17 +399,41 @@ class InfoCenter extends FHC_Controller
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$this->_sendFreigabeMail($prestudent_id);
|
||||
$this->load->model('crm/dokumentprestudent_model', 'DokumentprestudentModel');
|
||||
|
||||
$logdata = $this->_getPersonAndStudiengangFromPrestudent($prestudent_id);
|
||||
|
||||
//set documents which have been formal geprüft to accepted
|
||||
$result = $this->AkteModel->loadWhere(array('person_id' => $logdata['person_id'], 'formal_geprueft_amum !=' => NULL));
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$dokument_kurzbzs = array();
|
||||
|
||||
foreach ($result->retval as $akte)
|
||||
{
|
||||
$dokument_kurzbzs[] = $akte->dokument_kurzbz;
|
||||
}
|
||||
|
||||
$result = $this->DokumentprestudentModel->setAcceptedDocuments($prestudent_id, $dokument_kurzbzs);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
show_error($result->retval);
|
||||
}
|
||||
|
||||
$this->_sendFreigabeMail($prestudent_id);
|
||||
|
||||
$this->_log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz']));
|
||||
}
|
||||
}
|
||||
|
||||
$this->_redirectToStart($prestudent_id, 'ZgvPruef');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Saves a new Notiz for a person
|
||||
* @param $person_id
|
||||
@@ -401,7 +457,7 @@ class InfoCenter extends FHC_Controller
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode($result->retval));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates a new Notiz for a person
|
||||
* @param int $notiz_id
|
||||
@@ -409,7 +465,7 @@ class InfoCenter extends FHC_Controller
|
||||
* @return bool true if success
|
||||
*/
|
||||
public function updateNotiz($notiz_id, $person_id)
|
||||
{
|
||||
{
|
||||
$titel = $this->input->post('notiztitel');
|
||||
$text = $this->input->post('notiz');
|
||||
|
||||
@@ -423,18 +479,18 @@ class InfoCenter extends FHC_Controller
|
||||
"updatevon" => $this->uid
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
$json = FALSE;
|
||||
|
||||
|
||||
if (isSuccess($result))
|
||||
{
|
||||
$json = TRUE;
|
||||
|
||||
|
||||
//set log "Notiz updated"
|
||||
$this->_log($person_id, 'updatenotiz', array($titel));
|
||||
}
|
||||
|
||||
|
||||
$this->output
|
||||
->set_content_type('application/json')
|
||||
->set_output(json_encode($json));
|
||||
@@ -562,7 +618,7 @@ class InfoCenter extends FHC_Controller
|
||||
'children' => array()
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
$this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']);
|
||||
$this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']);
|
||||
|
||||
@@ -608,9 +664,10 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$toPrint = "%s=%s";
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter?filter_id'), $filterId),
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id),
|
||||
'description' => $description
|
||||
);
|
||||
}
|
||||
@@ -620,10 +677,10 @@ class InfoCenter extends FHC_Controller
|
||||
{
|
||||
foreach ($filters as $filterId => $description)
|
||||
{
|
||||
$toPrint = "%s=%s";
|
||||
$toPrint = "%s?%s=%s&%s=%s";
|
||||
|
||||
$tofill['children'][] = array(
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter?filter_id'), $filterId),
|
||||
'link' => sprintf($toPrint, site_url('system/infocenter/InfoCenter'), 'filter_id', $filterId, 'fhc_controller_id', $this->fhc_controller_id),
|
||||
'description' => $description,
|
||||
'subscriptDescription' => 'Remove',
|
||||
'subscriptLinkClass' => 'remove-filter',
|
||||
@@ -833,8 +890,9 @@ class InfoCenter extends FHC_Controller
|
||||
|
||||
$person_id = $prestudent->retval[0]->person_id;
|
||||
$studiengang_kurzbz = $prestudent->retval[0]->studiengang;
|
||||
$studiengang_bezeichnung = $prestudent->retval[0]->studiengangbezeichnung;
|
||||
|
||||
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz);
|
||||
return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz, 'studiengang_bezeichnung' => $studiengang_bezeichnung);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -971,4 +1029,21 @@ class InfoCenter extends FHC_Controller
|
||||
$this->loglib->logError('Studiengang has no mail for sending Freigabe mail');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the unique id for the called controller
|
||||
*/
|
||||
private function _setControllerId()
|
||||
{
|
||||
$fhc_controller_id = $this->input->get('fhc_controller_id');
|
||||
|
||||
if (!isset($fhc_controller_id) || empty($fhc_controller_id))
|
||||
{
|
||||
$fhc_controller_id = uniqid();
|
||||
header('Location: '.$_SERVER['REQUEST_URI'].'?fhc_controller_id='.$fhc_controller_id);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->fhc_controller_id = $fhc_controller_id;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,17 +62,16 @@ function generateToken($length = 64)
|
||||
}
|
||||
|
||||
/**
|
||||
* var_dump_to_error_log()
|
||||
* Gets the output of the var_dump function and print it out
|
||||
* via the error log. It also removes the end line characters
|
||||
*/
|
||||
function var_dump_to_error_log($parameter)
|
||||
{
|
||||
ob_start();
|
||||
var_dump($parameter);
|
||||
var_dump($parameter); // KEEP IT!!!
|
||||
$ob_get_contents = ob_get_contents();
|
||||
ob_end_clean();
|
||||
error_log(str_replace("\n", '', $ob_get_contents));
|
||||
error_log(str_replace("\n", '', $ob_get_contents)); // KEEP IT!!!
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -60,41 +60,8 @@ if ( ! function_exists('auth'))
|
||||
*/
|
||||
function getAuthUID()
|
||||
{
|
||||
$uid = false;
|
||||
$ci =& get_instance(); // get CI instance
|
||||
$ci->load->library('session'); // load session library
|
||||
$ci->load->library('AuthLib'); // load session library
|
||||
|
||||
// If uid hasn't never been set and is present in CI session
|
||||
if ($uid === false && isset($ci->session->uid))
|
||||
{
|
||||
$uid = $ci->session->uid;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Try to check if uid is stored elsewhere
|
||||
if (isset($_SERVER['PHP_AUTH_USER']))
|
||||
{
|
||||
$uid = $_SERVER['PHP_AUTH_USER'];
|
||||
}
|
||||
else if (isset($_SESSION['uid']))
|
||||
{
|
||||
$uid = $_SESSION['uid'];
|
||||
}
|
||||
// Workaround for a strange behavior
|
||||
// Sometimes $_SERVER['PHP_AUTH_USER'] is not set here, but is set when
|
||||
// used by authentication object
|
||||
else
|
||||
{
|
||||
$auth = new authentication();
|
||||
$uid = $auth->getUser();
|
||||
}
|
||||
}
|
||||
|
||||
// If uid is set and uid in CI session is not set
|
||||
if ($uid !== false && !isset($ci->session->uid))
|
||||
{
|
||||
$ci->session->uid = $uid;
|
||||
}
|
||||
|
||||
return $uid;
|
||||
}
|
||||
return $ci->authlib->getUser();
|
||||
}
|
||||
|
||||
@@ -15,39 +15,20 @@ class Kostenstelle_model extends DB_Model
|
||||
/**
|
||||
* Gets all active Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields
|
||||
* Gets Kostenstellen of current Geschaeftsjahr if Geschaeftsjahr not specified
|
||||
* Only the Kostenstellen for which a permission exists are returned!
|
||||
* @param $geschaeftsjahr
|
||||
* @return array|null
|
||||
* @return array|null Kostenstellen or empty array if no geschaeftsjahr found
|
||||
*/
|
||||
public function getActiveKostenstellenForGeschaeftsjahr($geschaeftsjahr = null)
|
||||
{
|
||||
$this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel');
|
||||
|
||||
if ($geschaeftsjahr === null)
|
||||
$gj = $this->_getGeschaeftsjahr($geschaeftsjahr);
|
||||
|
||||
if (hasData($gj))
|
||||
{
|
||||
$lgj = $this->GeschaeftsjahrModel->getCurrGeschaeftsjahr();
|
||||
$gjstart = $gj->retval[0]->start;
|
||||
|
||||
if ($lgj->error)
|
||||
return error($lgj->retval);
|
||||
|
||||
if (count($lgj->retval) < 1)
|
||||
return success(array());
|
||||
|
||||
$geschaeftsjahr = $lgj->retval[0]->geschaeftsjahr_kurzbz;
|
||||
}
|
||||
|
||||
$this->GeschaeftsjahrModel->addSelect('start, ende');
|
||||
$gj = $this->GeschaeftsjahrModel->load($geschaeftsjahr);
|
||||
|
||||
if ($gj->error)
|
||||
return error($gj->retval);
|
||||
|
||||
if (count($gj->retval) < 1)
|
||||
return success(array());
|
||||
|
||||
$gjstart = $gj->retval[0]->start;
|
||||
|
||||
$query = 'SELECT kostenstelle_id, kurzbz, wawi.tbl_kostenstelle.bezeichnung, wawi.tbl_kostenstelle.aktiv
|
||||
$query = 'SELECT kostenstelle_id, kurzbz, wawi.tbl_kostenstelle.bezeichnung, wawi.tbl_kostenstelle.aktiv, wawi.tbl_kostenstelle.oe_kurzbz
|
||||
FROM wawi.tbl_kostenstelle
|
||||
LEFT JOIN public.tbl_geschaeftsjahr kgjvon on wawi.tbl_kostenstelle.geschaeftsjahrvon = kgjvon.geschaeftsjahr_kurzbz
|
||||
LEFT JOIN public.tbl_geschaeftsjahr kgjbis on wawi.tbl_kostenstelle.geschaeftsjahrbis = kgjbis.geschaeftsjahr_kurzbz
|
||||
@@ -57,6 +38,96 @@ class Kostenstelle_model extends DB_Model
|
||||
(DATE ? < kgjbis.ende OR wawi.tbl_kostenstelle.geschaeftsjahrbis IS NULL)
|
||||
ORDER BY wawi.tbl_kostenstelle.bezeichnung';
|
||||
|
||||
return $this->execQuery($query, array($gjstart, $gjstart));
|
||||
return $this->execQuery($query, array($gjstart, $gjstart));
|
||||
}
|
||||
else
|
||||
{
|
||||
return success(array());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all active Kostenstellen for a geschaeftsjahr, as determined by the geschaeftsjahrvon and bis fields, together with their oe,
|
||||
* hierarchally sorted, gets Kostenstellen of current Geschaeftsjahr if Geschaeftsjahr not specified
|
||||
* @param null $geschaeftsjahr
|
||||
* @return array|null
|
||||
*/
|
||||
public function getActiveKostenstellenForGeschaeftsjahrWithOe($geschaeftsjahr = null)
|
||||
{
|
||||
$this->load->model('organisation/geschaeftsjahr_model', 'GeschaeftsjahrModel');
|
||||
|
||||
$gj = $this->_getGeschaeftsjahr($geschaeftsjahr);
|
||||
|
||||
if (hasData($gj))
|
||||
{
|
||||
$gjstart = $gj->retval[0]->start;
|
||||
|
||||
$query = "WITH RECURSIVE tree (oe_kurzbz, bezeichnung, path, level, organisationseinheittyp_kurzbz) AS (
|
||||
SELECT oe_kurzbz,
|
||||
bezeichnung || ' (' || organisationseinheittyp_kurzbz || ')' AS bezeichnung,
|
||||
oe_kurzbz || '|' AS path, 0 AS level,
|
||||
organisationseinheittyp_kurzbz
|
||||
FROM tbl_organisationseinheit
|
||||
WHERE oe_parent_kurzbz IS NULL
|
||||
AND aktiv = true
|
||||
UNION ALL
|
||||
SELECT oe.oe_kurzbz,
|
||||
oe.bezeichnung || ' (' || oe.organisationseinheittyp_kurzbz || ')' AS bezeichnung,
|
||||
tree.path || oe.oe_kurzbz || '|' AS path, tree.level + 1 AS level,
|
||||
oe.organisationseinheittyp_kurzbz
|
||||
FROM tree JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz = oe.oe_parent_kurzbz)
|
||||
)
|
||||
SELECT oe_kurzbz,
|
||||
SUBSTRING(REGEXP_REPLACE(path, '[A-z]+\|', '-', 'g') || rec.bezeichnung, 2) AS oe_description,
|
||||
level,
|
||||
kst.kostenstelle_id as kostenstelle_id,
|
||||
kst.kurzbz as kostenstelle_kurzbz,
|
||||
kst.bezeichnung as kostenstelle_bezeichnung,
|
||||
kst.aktiv as kostenstelle_aktiv
|
||||
FROM tree rec
|
||||
JOIN (
|
||||
SELECT kostenstelle_id, kurzbz, wawi.tbl_kostenstelle.bezeichnung, wawi.tbl_kostenstelle.aktiv, wawi.tbl_kostenstelle.oe_kurzbz as kstoe
|
||||
FROM wawi.tbl_kostenstelle
|
||||
LEFT JOIN public.tbl_geschaeftsjahr kgjvon on wawi.tbl_kostenstelle.geschaeftsjahrvon = kgjvon.geschaeftsjahr_kurzbz
|
||||
LEFT JOIN public.tbl_geschaeftsjahr kgjbis on wawi.tbl_kostenstelle.geschaeftsjahrbis = kgjbis.geschaeftsjahr_kurzbz
|
||||
WHERE
|
||||
(DATE ? >= kgjvon.start OR wawi.tbl_kostenstelle.geschaeftsjahrvon IS NULL)
|
||||
AND
|
||||
(DATE ? < kgjbis.ende OR wawi.tbl_kostenstelle.geschaeftsjahrbis IS NULL)
|
||||
ORDER BY wawi.tbl_kostenstelle.bezeichnung)
|
||||
kst on kst.kstoe = rec.oe_kurzbz
|
||||
ORDER BY level";
|
||||
|
||||
return $this->execQuery($query, array($gjstart, $gjstart));
|
||||
}
|
||||
else
|
||||
{
|
||||
return success(array());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets either given Geschaeftsjahr, current Geschaeftsjahr if not given, or chronologically last Geschaeftsjahr if there is no current
|
||||
* @param $geschaeftsjahr
|
||||
* @return mixed
|
||||
*/
|
||||
protected function _getGeschaeftsjahr($geschaeftsjahr)
|
||||
{
|
||||
if ($geschaeftsjahr === null)
|
||||
{
|
||||
$gj = $this->GeschaeftsjahrModel->getCurrGeschaeftsjahr();
|
||||
if (!hasData($gj))
|
||||
{
|
||||
$this->GeschaeftsjahrModel->addSelect('geschaeftsjahr_kurzbz, start, ende');
|
||||
$this->GeschaeftsjahrModel->addOrder('start', 'DESC');
|
||||
$gj = $this->GeschaeftsjahrModel->load();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->GeschaeftsjahrModel->addSelect('geschaeftsjahr_kurzbz, start, ende');
|
||||
$gj = $this->GeschaeftsjahrModel->load($geschaeftsjahr);
|
||||
}
|
||||
return $gj;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,10 +221,34 @@ class Prestudent_model extends DB_Model
|
||||
{
|
||||
$this->load->model('system/sprache_model', 'SpracheModel');
|
||||
$language = $this->SpracheModel->load($lastStatus->retval[0]->sprache);
|
||||
|
||||
if ($language->error)
|
||||
return error($language->retval);
|
||||
|
||||
if (count($language->retval) > 0)
|
||||
$lastStatus->retval[0]->sprachedetails = $language->retval[0];
|
||||
|
||||
//get Bewerbungsfrist
|
||||
$this->load->model('crm/bewerbungstermine_model', 'BewerbungstermineModel');
|
||||
$this->BewerbungstermineModel->addSelect('ende, nachfrist_ende');
|
||||
$this->BewerbungstermineModel->addOrder('ende', 'DESC');
|
||||
$this->BewerbungstermineModel->addLimit(1);
|
||||
$bewerbungstermin = $this->BewerbungstermineModel->loadWhere(
|
||||
array(
|
||||
'studienplan_id' => $lastStatus->retval[0]->studienplan_id,
|
||||
'studiensemester_kurzbz' => $lastStatus->retval[0]->studiensemester_kurzbz,
|
||||
'studiengang_kz' => $prestudent->retval[0]->studiengang_kz
|
||||
)
|
||||
);
|
||||
if ($bewerbungstermin->error)
|
||||
return error($bewerbungstermin->retval);
|
||||
|
||||
if (count($bewerbungstermin->retval) > 0)
|
||||
{
|
||||
$lastStatus->retval[0]->bewerbungstermin = $bewerbungstermin->retval[0]->ende;
|
||||
$lastStatus->retval[0]->bewerbungsnachfrist = $bewerbungstermin->retval[0]->nachfrist_ende;
|
||||
}
|
||||
|
||||
$prestudent->retval[0]->prestudentstatus = $lastStatus->retval[0];
|
||||
}
|
||||
|
||||
|
||||
@@ -107,4 +107,40 @@ class Prestudentstatus_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Studienordnung for last status of Prestudent
|
||||
* @param $prestudent_id
|
||||
* @return array
|
||||
*/
|
||||
public function getStudienordnungWithZgvText($prestudent_id)
|
||||
{
|
||||
$lastStatus = $this->getLastStatus($prestudent_id);
|
||||
|
||||
if ($lastStatus->error)
|
||||
{
|
||||
return error($lastStatus->retval);
|
||||
}
|
||||
|
||||
if (count($lastStatus->retval) > 0)
|
||||
{
|
||||
$lastStatus = $lastStatus->retval[0];
|
||||
|
||||
$this->addJoin('lehre.tbl_studienplan', 'studienplan_id');
|
||||
$this->addJoin('lehre.tbl_studienordnung', 'studienordnung_id');
|
||||
$this->addJoin('addon.tbl_stgv_zugangsvoraussetzung', 'studienordnung_id');
|
||||
return $this->loadWhere(
|
||||
array(
|
||||
'public.tbl_prestudentstatus.prestudent_id' => $lastStatus->prestudent_id,
|
||||
'public.tbl_prestudentstatus.status_kurzbz' => $lastStatus->status_kurzbz,
|
||||
'public.tbl_prestudentstatus.studiensemester_kurzbz' => $lastStatus->studiensemester_kurzbz,
|
||||
'public.tbl_prestudentstatus.ausbildungssemester' => $lastStatus->ausbildungssemester
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
return sucess(array());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
class RtStudienplan_model extends DB_Model
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = "public.tbl_rt_studienplan";
|
||||
$this->pk = array("rt_id", "studienplan_id");
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
}
|
||||
@@ -115,4 +115,52 @@ class Organisationseinheit_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, array($oe_kurzbz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die ChildNodes einer Organisationseinheit
|
||||
* @param $oe_kurzbz
|
||||
* @param bool $includeinactive - wether to include inactive parent oes
|
||||
* @return array mit den Childs inkl dem Uebergebenen Element
|
||||
*/
|
||||
public function getChilds($oe_kurzbz, $includeinactive = false)
|
||||
{
|
||||
$query = "
|
||||
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=? %s
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
FROM oes
|
||||
GROUP BY oe_kurzbz;";
|
||||
|
||||
return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen
|
||||
* @param $oe_kurzbz
|
||||
* @param bool $includeinactive - wether to include inactive parent oes
|
||||
* @return array|null
|
||||
*/
|
||||
public function getParents($oe_kurzbz, $includeinactive = false)
|
||||
{
|
||||
$query=
|
||||
"WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=? %s
|
||||
UNION ALL
|
||||
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true
|
||||
)
|
||||
SELECT oe_kurzbz
|
||||
FROM oes";
|
||||
|
||||
return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'tablesorter' => true,
|
||||
'customCSSs' => 'skin/tablesort_bootstrap.css',
|
||||
'customJSs' => array('include/js/bootstrapper.js', 'include/js/infocenter/infocenterPersonDataset.js')
|
||||
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<?php
|
||||
$this->load->view('system/infocenter/infocenterData.php');
|
||||
$this->load->view('system/infocenter/infocenterData.php', array('fhc_controller_id' => $fhc_controller_id));
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
SELECT zeitpunkt
|
||||
FROM system.tbl_log
|
||||
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\')
|
||||
AND person_id = p.person_id
|
||||
ORDER BY zeitpunkt DESC
|
||||
LIMIT 1
|
||||
@@ -23,7 +23,7 @@
|
||||
SELECT insertvon
|
||||
FROM system.tbl_log
|
||||
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
|
||||
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\', \'Interessent rejected\')
|
||||
AND person_id = p.person_id
|
||||
ORDER BY zeitpunkt DESC
|
||||
LIMIT 1
|
||||
@@ -187,6 +187,7 @@
|
||||
ORDER BY "LastAction" ASC
|
||||
',
|
||||
'requiredPermissions' => 'infocenter',
|
||||
'fhc_controller_id' => $fhc_controller_id,
|
||||
'checkboxes' => 'PersonId',
|
||||
'additionalColumns' => array('Details'),
|
||||
'columnsAliases' => array(
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
'addons' => true,
|
||||
'customCSSs' =>
|
||||
array(
|
||||
'skin/admintemplate.css',
|
||||
'skin/tablesort_bootstrap.css'
|
||||
'public/css/sbadmin2/admintemplate.css',
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css'
|
||||
),
|
||||
'customJSs' =>
|
||||
array(
|
||||
'include/js/bootstrapper.js',
|
||||
'include/js/tablesort/tablesort.js',
|
||||
'include/js/infocenter/infocenterDetails.js')
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/tablesort/tablesort.js',
|
||||
'public/js/infocenter/infocenterDetails.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'tablesorter' => true,
|
||||
'customCSSs' => 'skin/tablesort_bootstrap.css',
|
||||
'customJSs' => array('include/js/bootstrapper.js', 'include/js/infocenter/infocenterPersonDataset.js')
|
||||
'customCSSs' => 'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'customJSs' => array('public/js/bootstrapper.js', 'public/js/infocenter/infocenterPersonDataset.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
@@ -146,7 +146,7 @@
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
person_id=p.person_id
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND tbl_studiengang.typ in(\'b\')
|
||||
AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id=tbl_prestudent.prestudent_id
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC
|
||||
@@ -170,8 +170,7 @@
|
||||
)
|
||||
ORDER BY "LastAction" ASC
|
||||
',
|
||||
'hideHeader' => false,
|
||||
'hideSave' => false,
|
||||
'fhc_controller_id' => $fhc_controller_id,
|
||||
'checkboxes' => 'PersonId',
|
||||
'additionalColumns' => array('Details'),
|
||||
'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Nation','Letzte Aktion','Letzter Bearbeiter',
|
||||
@@ -238,9 +237,9 @@
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
$filterId = isset($_GET[InfoCenter::FILTER_ID]) ? $_GET[InfoCenter::FILTER_ID] : null;
|
||||
|
||||
|
||||
if (isset($filterId) && is_numeric($filterId))
|
||||
{
|
||||
$filterWidgetArray[InfoCenter::FILTER_ID] = $filterId;
|
||||
@@ -251,7 +250,7 @@
|
||||
$filterWidgetArray['datasetName'] = 'PersonActions';
|
||||
$filterWidgetArray['filterKurzbz'] = 'InfoCenterNotSentApplicationAll';
|
||||
}
|
||||
|
||||
|
||||
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
|
||||
?>
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<tbody>
|
||||
<?php foreach ($notizen as $notiz): ?>
|
||||
<tr data-toggle="tooltip"
|
||||
title="<?php echo isset($notiz->text) ? strip_tags($notiz->text) : '' ?>">
|
||||
title="<?php echo isset($notiz->text) ? strip_tags($notiz->text) : '' ?>" style="cursor: pointer">
|
||||
<td><?php echo date_format(date_create($notiz->insertamum), 'd.m.Y H:i:s') ?></td>
|
||||
<td><?php echo html_escape($notiz->titel) ?></td>
|
||||
<td><?php echo $notiz->verfasser_uid ?></td>
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="col-xs-6">
|
||||
<form id="sendmsgform" method="post" action="<?php echo $messagelink ?>"
|
||||
target="_blank">
|
||||
<input type="hidden" name="person_id"
|
||||
@@ -101,7 +101,7 @@
|
||||
</form>
|
||||
</div>
|
||||
<?php if (isset($stammdaten->zugangscode)): ?>
|
||||
<div class="col-lg-6 text-right">
|
||||
<div class="col-xs-6 text-right">
|
||||
<a href="<?php echo CIS_ROOT.'addons/bewerbung/cis/registration.php?code='.html_escape($stammdaten->zugangscode) ?>"
|
||||
target='_blank'><i class="glyphicon glyphicon-new-window"></i> Zugang Bewerbung</a>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'ZGV Info',
|
||||
'jquery' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css'
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">Zugangsvoraussetzungen <?php echo $studiengang_kurzbz; ?> - <?php echo $studiengang_bezeichnung; ?></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="data">
|
||||
<?php if (empty($data)): ?>
|
||||
Keine Zugangsvoraussetzungen für den Studiengang definiert
|
||||
<?php
|
||||
else:
|
||||
echo json_decode($data);
|
||||
endif;
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
@@ -2,25 +2,42 @@
|
||||
<?php
|
||||
foreach ($zgvpruefungen as $zgvpruefung):
|
||||
$infoonly = $zgvpruefung->infoonly;
|
||||
//set bootstrap columns
|
||||
//set bootstrap columns for zgv form
|
||||
$columns = array(4, 3, 2, 3);
|
||||
$headercolumns = array(7, 5);
|
||||
if (!$infoonly && isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) && isset($zgvpruefung->prestudentstatus->bewerbungstermin))
|
||||
{
|
||||
$headercolumns[0] = 5;
|
||||
$headercolumns[1] = 7;
|
||||
}
|
||||
?>
|
||||
<br/>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<div class="col-xs-<?php echo $headercolumns[0]; ?>">
|
||||
<h4 class="panel-title">
|
||||
<a data-toggle="collapse"
|
||||
href="#collapse<?php echo $zgvpruefung->prestudent_id ?>"><?php echo $zgvpruefung->studiengang.' - '.$zgvpruefung->studiengangbezeichnung.' | '.(isset($zgvpruefung->prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : '');
|
||||
?></a>
|
||||
</h4>
|
||||
</div>
|
||||
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent' && !$infoonly): ?>
|
||||
<div class="col-lg-4 text-right">
|
||||
<?php if (isset($zgvpruefung->prestudentstatus->status_kurzbz) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent'/* && !$infoonly*/): ?>
|
||||
<?php if ($infoonly): ?>
|
||||
<?php if (isset($zgvpruefung->prestudentstatus->bestaetigtam)): ?>
|
||||
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
|
||||
<i class="fa fa-check" style="color: green"></i>
|
||||
An Studiengang freigegeben
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php else: ?>
|
||||
<div class="col-xs-<?php echo $headercolumns[1]; ?> text-right">
|
||||
<?php echo 'Bewerbung abgeschickt: '.(isset($zgvpruefung->prestudentstatus->bewerbung_abgeschicktamum) ? '<i class="fa fa-check" style="color:green"></i>' : '<i class="fa fa-times" style="color:red"></i>'); ?>
|
||||
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungsnachfrist) ? ' | Nachfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungsnachfrist), 'd.m.Y') : ''); ?>
|
||||
<?php echo (isset($zgvpruefung->prestudentstatus->bewerbungstermin) ? ' | Bewerbungsfrist: '. date_format(date_create($zgvpruefung->prestudentstatus->bewerbungstermin), 'd.m.Y') : ''); ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="collapse<?php echo $zgvpruefung->prestudent_id ?>"
|
||||
@@ -70,10 +87,24 @@
|
||||
<div class="row">
|
||||
<div class="col-lg-<?php echo $columns[0] ?>">
|
||||
<div class="form-group">
|
||||
<label>ZGV: </label>
|
||||
<?php if ($infoonly)
|
||||
echo $zgvpruefung->zgv_bez;
|
||||
else
|
||||
<div class="row">
|
||||
<?php if ($infoonly): ?>
|
||||
<div class="col-xs-8">
|
||||
<label>ZGV:</label>
|
||||
<?php echo $zgvpruefung->zgv_bez; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<div class="col-xs-3">
|
||||
<label>ZGV:</label>
|
||||
</div>
|
||||
<?php endif;
|
||||
$zgvinfocolumns = $infoonly ? 4 : 9;
|
||||
?>
|
||||
<div class="col-xs-<?php echo $zgvinfocolumns; ?> text-right zgvinfo" id="zgvinfo_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
<a href="javascript:void(0)"><i class="fa fa-info-circle"></i> ZGV <?php echo $zgvpruefung->studiengang; ?></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php if (!$infoonly)
|
||||
echo $this->widgetlib->widget(
|
||||
'Zgv_widget',
|
||||
array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code),
|
||||
@@ -188,12 +219,12 @@
|
||||
<?php endif; ?>
|
||||
<?php if (!$infoonly): ?>
|
||||
<div class="row">
|
||||
<div class="col-lg-6 text-left">
|
||||
<div class="col-xs-6 text-left">
|
||||
<button type="button" class="btn btn-default zgvUebernehmen" id="zgvUebernehmen_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
Letzte ZGV übernehmen
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-lg-6 text-right">
|
||||
<div class="col-xs-6 text-right">
|
||||
<button type="submit" class="btn btn-default saveZgv" id="zgvSpeichern_<?php echo $zgvpruefung->prestudent_id ?>">
|
||||
Speichern
|
||||
</button>
|
||||
@@ -331,8 +362,7 @@
|
||||
Interessentenstatus bestätigt und<br/>deren
|
||||
Zgvdaten
|
||||
können im
|
||||
Infocenter nicht mehr bearbeitet oder
|
||||
freigegeben
|
||||
Infocenter nicht mehr bearbeitet
|
||||
werden.
|
||||
<br/>Alle nicht gespeicherten Zgvdaten gehen
|
||||
verloren.
|
||||
|
||||
@@ -8,8 +8,8 @@ $this->load->view(
|
||||
'fontawesome' => true,
|
||||
'tinymce' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'customCSSs' => 'skin/admintemplate_contentonly.css',
|
||||
'customJSs' => 'include/js/bootstrapper.js'
|
||||
'customCSSs' => 'public/css/sbadmin2/admintemplate_contentonly.css',
|
||||
'customJSs' => 'public/js/bootstrapper.js'
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
@@ -111,22 +111,6 @@
|
||||
</style>
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
function refreshSideMenu()
|
||||
{
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/infocenter/InfoCenter/setNavigationMenuArray'); ?>",
|
||||
method: "GET",
|
||||
data: {}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
renderSideMenu();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
|
||||
function sideMenuHook()
|
||||
{
|
||||
$(".remove-filter").click(function() {
|
||||
@@ -135,7 +119,8 @@
|
||||
url: "<?php echo site_url('system/Filters/deleteCustomFilter'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
filter_id: $(this).attr('value')
|
||||
filter_id: $(this).attr('value'),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
url: "<?php echo site_url('system/Filters/saveFilter'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
customFilterDescription: $("#customFilterDescription").val()
|
||||
customFilterDescription: $("#customFilterDescription").val(),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
@@ -77,7 +77,8 @@
|
||||
url: "<?php echo site_url('system/Filters/sortSelectedFields'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
selectedFieldsLst: arrayDndId
|
||||
selectedFieldsLst: arrayDndId,
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
@@ -109,7 +110,8 @@
|
||||
url: "<?php echo site_url('system/Filters/addSelectedFields'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).val()
|
||||
fieldName: $(this).val(),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
@@ -131,7 +133,8 @@
|
||||
url: "<?php echo site_url('system/Filters/removeSelectedFields'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).attr('fieldToRemove')
|
||||
fieldName: $(this).attr('fieldToRemove'),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
@@ -153,7 +156,9 @@
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/selectFields'); ?>",
|
||||
method: "GET",
|
||||
data: {},
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
url: "<?php echo site_url('system/Filters/addSelectedFilters'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).val()
|
||||
fieldName: $(this).val(),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
@@ -76,7 +77,8 @@
|
||||
filterNames: selectFilterName,
|
||||
filterOperations: selectFilterOperation,
|
||||
filterOperationValues: selectFilterOperationValue,
|
||||
filterOptions: selectFilterOption
|
||||
filterOptions: selectFilterOption,
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
@@ -100,7 +102,8 @@
|
||||
url: "<?php echo site_url('system/Filters/removeSelectedFilters'); ?>",
|
||||
method: "POST",
|
||||
data: {
|
||||
fieldName: $(this).attr('filterToRemove')
|
||||
fieldName: $(this).attr('filterToRemove'),
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
@@ -199,7 +202,9 @@
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/selectFilters'); ?>",
|
||||
method: "GET",
|
||||
data: {},
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
$.ajax({
|
||||
url: "<?php echo site_url('system/Filters/tableDataset'); ?>",
|
||||
method: "GET",
|
||||
data: {},
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
@@ -30,7 +30,7 @@ class FilterWidget extends Widget
|
||||
const WIDGET_URL_SELECT_FILTERS = 'widgets/filter/selectFilters';
|
||||
const WIDGET_URL_SAVE_FILTER = 'widgets/filter/saveFilter';
|
||||
|
||||
const SESSION_NAME = 'FILTER';
|
||||
const SESSION_NAME = 'FHC_FILTER_WIDGET';
|
||||
|
||||
const ALL_SELECTED_FIELDS = 'allSelectedFields';
|
||||
const ALL_COLUMNS_ALIASES = 'allColumnsAliases';
|
||||
@@ -111,7 +111,7 @@ class FilterWidget extends Widget
|
||||
public function display($widgetData)
|
||||
{
|
||||
//
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
|
||||
//
|
||||
if ($this->filterId == null && isset($filterSessionArray[self::FILTER_ID]))
|
||||
@@ -146,7 +146,7 @@ class FilterWidget extends Widget
|
||||
|
||||
//
|
||||
$selectedFields = array();
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
|
||||
{
|
||||
$selectedFields = $filterSessionArray[self::SELECTED_FIELDS];
|
||||
@@ -198,6 +198,7 @@ class FilterWidget extends Widget
|
||||
$tmpDataset[] = $formattedResult;
|
||||
}
|
||||
}
|
||||
|
||||
$filterSessionArray[self::DATASET_PARAMETER] = $tmpDataset;
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
@@ -207,7 +208,7 @@ class FilterWidget extends Widget
|
||||
|
||||
$filterSessionArray[self::METADATA_PARAMETER] = $this->metaData;
|
||||
|
||||
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
|
||||
$this->_writeSession($filterSessionArray);
|
||||
|
||||
//
|
||||
$this->loadViewFilters();
|
||||
@@ -425,9 +426,11 @@ class FilterWidget extends Widget
|
||||
{
|
||||
$filterSessionArray = array();
|
||||
|
||||
if (isset($_SESSION[self::SESSION_NAME]))
|
||||
$session = $this->_readSession();
|
||||
|
||||
if (count($session) > 0)
|
||||
{
|
||||
$filterSessionArray = $_SESSION[self::SESSION_NAME];
|
||||
$filterSessionArray = $session;
|
||||
}
|
||||
|
||||
if (!isset($filterSessionArray[self::SELECTED_FIELDS]))
|
||||
@@ -490,7 +493,7 @@ class FilterWidget extends Widget
|
||||
$filterSessionArray[self::REQUIRED_PERMISSIONS] = null;
|
||||
}
|
||||
|
||||
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
|
||||
$this->_writeSession($filterSessionArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -512,6 +515,7 @@ class FilterWidget extends Widget
|
||||
$this->columnsAliases = null;
|
||||
$this->filterName = null;
|
||||
$this->requiredPermissions = null;
|
||||
$this->fhc_controller_id = null;
|
||||
|
||||
if (!is_array($args) || (is_array($args) && count($args) == 0))
|
||||
{
|
||||
@@ -519,6 +523,15 @@ class FilterWidget extends Widget
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isset($args['fhc_controller_id']))
|
||||
{
|
||||
show_error('Dude you forgot the fhc_controller_id');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->fhc_controller_id = $args['fhc_controller_id'];
|
||||
}
|
||||
|
||||
if ((
|
||||
!isset($args[self::APP_PARAMETER])
|
||||
&& !isset($args[self::DATASET_NAME_PARAMETER])
|
||||
@@ -718,7 +731,7 @@ class FilterWidget extends Widget
|
||||
self::DATASET_NAME_PARAMETER => $filter->retval[0]->dataset_name
|
||||
);
|
||||
|
||||
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
|
||||
$this->_writeSession($filterSessionArray);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -733,7 +746,7 @@ class FilterWidget extends Widget
|
||||
self::DATASET_NAME_PARAMETER => null
|
||||
);
|
||||
|
||||
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
|
||||
$this->_writeSession($filterSessionArray);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -746,7 +759,7 @@ class FilterWidget extends Widget
|
||||
{
|
||||
$objToBeSaved = new stdClass();
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
|
||||
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
|
||||
{
|
||||
@@ -842,7 +855,7 @@ class FilterWidget extends Widget
|
||||
// Selected fields
|
||||
$selectedFields = array();
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
|
||||
{
|
||||
$selectedFields = $filterSessionArray[self::SELECTED_FIELDS];
|
||||
@@ -858,7 +871,7 @@ class FilterWidget extends Widget
|
||||
{
|
||||
$app = $this->app;
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
if (isset($filterSessionArray[self::APP_PARAMETER]))
|
||||
{
|
||||
$app = $filterSessionArray[self::APP_PARAMETER];
|
||||
@@ -874,7 +887,7 @@ class FilterWidget extends Widget
|
||||
{
|
||||
$datasetName = $this->datasetName;
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
if (isset($filterSessionArray[self::DATASET_NAME_PARAMETER]))
|
||||
{
|
||||
$datasetName = $filterSessionArray[self::DATASET_NAME_PARAMETER];
|
||||
@@ -891,7 +904,7 @@ class FilterWidget extends Widget
|
||||
$columnsAliases = $this->columnsAliases;
|
||||
$selectedFields = array();
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
|
||||
if (isset($filterSessionArray[self::SELECTED_FIELDS]))
|
||||
{
|
||||
@@ -922,7 +935,7 @@ class FilterWidget extends Widget
|
||||
// Selected filters
|
||||
$selectedFilters = array();
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
if (isset($filterSessionArray[self::SELECTED_FILTERS]))
|
||||
{
|
||||
$selectedFilters = $filterSessionArray[self::SELECTED_FILTERS];
|
||||
@@ -937,7 +950,7 @@ class FilterWidget extends Widget
|
||||
private function _setActiveFiltersFromPost(&$activeFilters, &$activeFiltersOperation, &$activeFiltersOption)
|
||||
{
|
||||
$selectedFilters = array();
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
|
||||
if (isset($filterSessionArray[self::ACTIVE_FILTERS]))
|
||||
{
|
||||
@@ -1008,6 +1021,8 @@ class FilterWidget extends Widget
|
||||
*/
|
||||
private function _setSessionFilterData()
|
||||
{
|
||||
$session = $this->_readSession();
|
||||
|
||||
$filterSessionArray = array(
|
||||
self::SELECTED_FIELDS => $this->_getSelectedFieldsFromPost(),
|
||||
self::SELECTED_FILTERS => $this->_getSelectedFiltersFromPost(),
|
||||
@@ -1030,7 +1045,7 @@ class FilterWidget extends Widget
|
||||
$filterSessionArray[self::FILTER_ID] = $this->filterId;
|
||||
$filterSessionArray[self::FILTER_NAME] = $this->filterName;
|
||||
|
||||
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
|
||||
$this->_writeSession(array_merge($session, $filterSessionArray));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1044,7 +1059,7 @@ class FilterWidget extends Widget
|
||||
$activeFiltersOperation = array();
|
||||
$activeFiltersOption = array();
|
||||
|
||||
$filterSessionArray = $this->session->userdata(self::SESSION_NAME);
|
||||
$filterSessionArray = $this->_readSession();
|
||||
|
||||
if (isset($filterSessionArray[self::ACTIVE_FILTERS]))
|
||||
{
|
||||
@@ -1157,4 +1172,29 @@ class FilterWidget extends Widget
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _readSession()
|
||||
{
|
||||
if (isset($_SESSION[self::SESSION_NAME]) && isset($_SESSION[self::SESSION_NAME][$this->fhc_controller_id]))
|
||||
return $_SESSION[self::SESSION_NAME][$this->fhc_controller_id];
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _writeSession($data)
|
||||
{
|
||||
if (!isset($_SESSION[self::SESSION_NAME])
|
||||
|| (isset($_SESSION[self::SESSION_NAME]) && !is_array($_SESSION[self::SESSION_NAME])))
|
||||
{
|
||||
$_SESSION[self::SESSION_NAME] = array();
|
||||
}
|
||||
|
||||
$_SESSION[self::SESSION_NAME][$this->fhc_controller_id] = $data;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ class mimetype_widget extends Widget
|
||||
$data['mimetype'] = '';
|
||||
$this->load->model('system/Vorlage_model');
|
||||
$res = $this->Vorlage_model->getMimeTypes();
|
||||
//var_dump($res);
|
||||
|
||||
foreach ($res->retval as $obj)
|
||||
{
|
||||
$item = array('name' => $obj->mimetype, 'value' => $obj->mimetype);
|
||||
|
||||
@@ -60,7 +60,7 @@ if(check_lektor($user))
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[2,0]],
|
||||
sortList: [[0,0],[1,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
$("#t2").tablesorter(
|
||||
@@ -103,40 +103,62 @@ if(check_lektor($user))
|
||||
|
||||
<?php
|
||||
$zeilenzaehl=0;
|
||||
$sql_query = "SELECT vorname, nachname, telefonklappe, ort_kurzbz, beschreibung, standort_id
|
||||
FROM campus.vw_mitarbeiter
|
||||
JOIN public.tbl_benutzerfunktion USING (uid)
|
||||
JOIN public.tbl_funktion USING (funktion_kurzbz)
|
||||
WHERE funktion_kurzbz='ersthelfer'
|
||||
AND (datum_bis>='now()' OR datum_bis IS NULL)
|
||||
AND campus.vw_mitarbeiter.aktiv=TRUE
|
||||
AND standort_id IS NOT NULL
|
||||
ORDER BY standort_id, nachname, vorname";
|
||||
$sql_query = " SELECT uid,
|
||||
vorname,
|
||||
nachname,
|
||||
COALESCE((
|
||||
SELECT tbl_kontakt.kontakt || ' - ' || telefonklappe
|
||||
FROM PUBLIC.tbl_mitarbeiter
|
||||
LEFT JOIN PUBLIC.tbl_kontakt USING (standort_id)
|
||||
WHERE mitarbeiter_uid = vw_mitarbeiter.uid
|
||||
AND (
|
||||
tbl_kontakt.kontakttyp = 'telefon'
|
||||
OR tbl_kontakt.kontakttyp IS NULL
|
||||
) limit 1
|
||||
), '-') AS telefonklappe,
|
||||
COALESCE((
|
||||
SELECT planbezeichnung
|
||||
FROM PUBLIC.tbl_mitarbeiter
|
||||
LEFT JOIN PUBLIC.tbl_ort USING (ort_kurzbz)
|
||||
WHERE mitarbeiter_uid = vw_mitarbeiter.uid
|
||||
), '-') AS ort_kurzbz,
|
||||
beschreibung
|
||||
FROM campus.vw_mitarbeiter
|
||||
JOIN PUBLIC.tbl_benutzerfunktion USING (uid)
|
||||
JOIN PUBLIC.tbl_funktion USING (funktion_kurzbz)
|
||||
WHERE funktion_kurzbz = 'ersthelfer'
|
||||
AND (
|
||||
datum_von <= 'now()'
|
||||
OR datum_von IS NULL
|
||||
)
|
||||
AND (
|
||||
datum_bis >= 'now()'
|
||||
OR datum_bis IS NULL
|
||||
)
|
||||
AND campus.vw_mitarbeiter.aktiv = TRUE
|
||||
ORDER BY nachname,
|
||||
vorname";
|
||||
$result = $db->db_query($sql_query);
|
||||
if ($db->db_num_rows($result) > 0)
|
||||
{
|
||||
$count = 0;
|
||||
|
||||
echo '<table class="tablesorter" id="t1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>'.$p->t("global/vorname").'</th>
|
||||
<th>'.$p->t("global/nachname").'</th>
|
||||
<th>'.$p->t("global/vorname").'</th>
|
||||
<th>'.$p->t("lvplan/raum").'</th>
|
||||
<th>'.$p->t("global/telefonnummer").'</th>
|
||||
</tr>
|
||||
</thead><tbody>';
|
||||
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{$count++;
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td width="10px">'.$count.'</td>
|
||||
<td width="40%"><a href="../profile/index.php?uid='.$row->uid.'">'.$row->nachname.'</a></td>
|
||||
<td width="30%">'.$row->vorname.'</td>
|
||||
<td width="40%">'.$row->nachname.'</td>
|
||||
<td width="15%">'.$row->ort_kurzbz.'</td>
|
||||
<td width="30%"><nobr>01/333 40 77 - <strong>'.$row->telefonklappe.'</strong></nobr></td>
|
||||
<td width="30%"><nobr>'.$row->telefonklappe.'</nobr></td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
@@ -211,7 +233,7 @@ if(check_lektor($user))
|
||||
|
||||
<?php
|
||||
$zeilenzaehl=0;
|
||||
$sql_query = "SELECT vorname, nachname, telefonklappe, kontakt, ort_kurzbz, beschreibung, vw_mitarbeiter.standort_id
|
||||
$sql_query = "SELECT uid, vorname, nachname, telefonklappe, kontakt, ort_kurzbz, beschreibung, vw_mitarbeiter.standort_id
|
||||
FROM campus.vw_mitarbeiter
|
||||
JOIN public.tbl_benutzerfunktion USING (uid)
|
||||
JOIN public.tbl_funktion USING (funktion_kurzbz)
|
||||
@@ -238,7 +260,7 @@ if(check_lektor($user))
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$row->nachname.'</td>
|
||||
<td><a href="../profile/index.php?uid='.$row->uid.'">'.$row->nachname.'</a></td>
|
||||
<td>'.$row->vorname.'</td>
|
||||
<td>('.$row->beschreibung.')</td>
|
||||
<td><nobr>'.$row->kontakt.'</nobr></td>
|
||||
@@ -253,7 +275,7 @@ if(check_lektor($user))
|
||||
|
||||
<?php
|
||||
$zeilenzaehl=0;
|
||||
$sql_query = "SELECT vorname, nachname, telefonklappe, ort_kurzbz, beschreibung, standort_id
|
||||
$sql_query = "SELECT uid, vorname, nachname, telefonklappe, ort_kurzbz, beschreibung, standort_id
|
||||
FROM campus.vw_mitarbeiter
|
||||
JOIN public.tbl_benutzerfunktion USING (uid)
|
||||
JOIN public.tbl_funktion USING (funktion_kurzbz)
|
||||
@@ -277,7 +299,7 @@ if(check_lektor($user))
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td width="40%">'.$row->nachname.'</td>
|
||||
<td width="40%"><a href="../profile/index.php?uid='.$row->uid.'">'.$row->nachname.'</a></td>
|
||||
<td width="30%">'.$row->vorname.'</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -187,6 +187,7 @@ function draw_monat($monat)
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$vertretung = new benutzer($row->vertretung_uid);
|
||||
$freigabe='';
|
||||
if($row->freigabeamum!='')
|
||||
{
|
||||
@@ -194,6 +195,8 @@ function draw_monat($monat)
|
||||
}
|
||||
echo "<span title='$freigabe'>";
|
||||
echo $mitarbeiter[$row->mitarbeiter_uid]['nachname'].' '.$datum_obj->formatDatum($row->vondatum,'d.m.Y')." - ".$datum_obj->formatDatum($row->bisdatum,'d.m.Y');
|
||||
if ($vertretung->uid != '')
|
||||
echo ' (Vertretung: '.$vertretung->nachname.')';
|
||||
if($row->freigabeamum=='')
|
||||
echo " <a href='".$_SERVER['PHP_SELF']."?action=freigabe&id=$row->zeitsperre_id&year=$year&uid=$uid' class='Item'>Freigabe</a>";
|
||||
echo "</span>";
|
||||
|
||||
+22
-13
@@ -196,10 +196,10 @@ function searchOE($searchItems)
|
||||
|
||||
//Suche nach Studiengaengen mit dem Suchbegriff und merge mit $searchItems
|
||||
$stg_oe_array = array();
|
||||
|
||||
|
||||
$oe = new organisationseinheit();
|
||||
$oe->search($searchItems);
|
||||
|
||||
$oe->search($searchItems);
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->search($searchItems);
|
||||
foreach($stg->result as $row)
|
||||
@@ -490,7 +490,7 @@ function searchContent($searchItems)
|
||||
// Jede Content_ID nur einmal ausgeben
|
||||
if (in_array($row->content_id, $content_id_arr))
|
||||
continue;
|
||||
|
||||
|
||||
// Wenn der Eintrag vom Typ "redirect" ist, checken ob extern verlinkt wird oder nur ein Anker gesetzt ist (erstes Zeichen #)
|
||||
// Externe Links werden so ausgegeben, interne Anker gar nicht
|
||||
if ($row->template_kurzbz == 'redirect')
|
||||
@@ -499,14 +499,23 @@ function searchContent($searchItems)
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($row->content);
|
||||
$content = $dom->getElementsByTagName('url')->item(0)->nodeValue;
|
||||
|
||||
|
||||
if (substr($content, 0, 1) == '#')
|
||||
continue;
|
||||
else
|
||||
{
|
||||
echo '<li><div class="suchergebnis">';
|
||||
echo '<a href="'.$content.'" target="blank">',$db->convert_html_chars($row->titel),'</a><br>';
|
||||
echo '</div></li>';
|
||||
if(mb_strpos($content, 'http') === 0)
|
||||
{
|
||||
echo '<li><div class="suchergebnis">';
|
||||
echo '<a href="'.$content.'" target="blank">',$db->convert_html_chars($row->titel),'</a><br>';
|
||||
echo '</div></li>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<li><div class="suchergebnis">';
|
||||
echo '<a href="../../../cms/content.php?content_id=',$db->convert_html_chars($row->content_id),'&sprache=',$db->convert_html_chars($row->sprache),'">',$db->convert_html_chars($row->titel),'</a><br>';
|
||||
echo '</div></li>';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -514,7 +523,7 @@ function searchContent($searchItems)
|
||||
echo '<li><div class="suchergebnis">';
|
||||
echo '<a href="../../../cms/content.php?content_id=',$db->convert_html_chars($row->content_id),'&sprache=',$db->convert_html_chars($row->sprache),'">',$db->convert_html_chars($row->titel),'</a><br>';
|
||||
$preview = findAndMark($row->content, $searchItems);
|
||||
|
||||
|
||||
echo $preview;
|
||||
echo '</div></li>';
|
||||
}
|
||||
@@ -543,7 +552,7 @@ function searchContent($searchItems)
|
||||
// Jede Content_ID nur einmal ausgeben
|
||||
if (in_array($row->content_id, $content_id_arr))
|
||||
continue;
|
||||
|
||||
|
||||
// Wenn der Eintrag vom Typ "redirect" ist, checken ob extern verlinkt wird oder nur ein Anker gesetzt ist (erstes Zeichen #)
|
||||
// Externe Links werden so ausgegeben, interne Anker gar nicht
|
||||
if ($row->template_kurzbz == 'redirect')
|
||||
@@ -552,7 +561,7 @@ function searchContent($searchItems)
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($row->content);
|
||||
$content = $dom->getElementsByTagName('url')->item(0)->nodeValue;
|
||||
|
||||
|
||||
if (substr($content, 0, 1) == '#')
|
||||
continue;
|
||||
else
|
||||
@@ -567,7 +576,7 @@ function searchContent($searchItems)
|
||||
echo '<li><div class="suchergebnis">';
|
||||
echo '<a href="../../../cms/content.php?content_id=',$db->convert_html_chars($row->content_id),'&sprache=',$db->convert_html_chars($row->sprache),'">',$db->convert_html_chars($row->titel),'</a><br>';
|
||||
$preview = findAndMark($row->content, $searchItems);
|
||||
|
||||
|
||||
echo $preview;
|
||||
echo '</div></li>';
|
||||
}
|
||||
@@ -594,7 +603,7 @@ function findAndMark($content, $items)
|
||||
}
|
||||
if($item == '')
|
||||
return '...';
|
||||
|
||||
|
||||
//CDATA und HTML Tags entfernen
|
||||
$content = mb_str_replace('<[CDATA[', '', $content);
|
||||
$content = mb_str_replace(']]>', '', $content);
|
||||
|
||||
+15
-13
@@ -205,7 +205,19 @@
|
||||
"source": {
|
||||
"url": "https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git",
|
||||
"type": "git",
|
||||
"reference": "master"
|
||||
"reference": "e85ee3814ba12b7095024d31424cc9d19d791d05"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "package",
|
||||
"package": {
|
||||
"name": "ludo/jquery-treetable",
|
||||
"version": "3.2.0",
|
||||
"source": {
|
||||
"url": "https://github.com/ludo/jquery-treetable.git",
|
||||
"type": "git",
|
||||
"reference": "73690a9df26dbc1a49981f9335df2a9cd9808813"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -240,6 +252,7 @@
|
||||
"json-forms": "1.4.0",
|
||||
"jsoneditor": "5.5.6",
|
||||
"kingsquare/json-schema-form": "*",
|
||||
"ludo/jquery-treetable": "^3.2",
|
||||
"michelf/php-markdown": "1.5.0",
|
||||
"ml/json-ld": "1.*",
|
||||
"mottie/tablesorter": "^2.29",
|
||||
@@ -265,17 +278,6 @@
|
||||
},
|
||||
"config": {
|
||||
"bin-dir": "vendor/bin"
|
||||
},
|
||||
"extra": {
|
||||
"merge-plugin": {
|
||||
"include": [
|
||||
"composer.json",
|
||||
"addons/*/composer.json"
|
||||
],
|
||||
"recurse": true,
|
||||
"replace": false,
|
||||
"merge-dev": false,
|
||||
"merge-extra": false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Generated
+59
-48
@@ -4,8 +4,8 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "329973fd68eea79f7c67464cbd121d58",
|
||||
"content-hash": "bf03cef0846a79959456abfccf90730e",
|
||||
"hash": "00d176bc89167feef10405c7457b6d6a",
|
||||
"content-hash": "8cd3ddef525145593a8fe885184ef4cc",
|
||||
"packages": [
|
||||
{
|
||||
"name": "BlackrockDigital/startbootstrap-sb-admin-2",
|
||||
@@ -69,16 +69,16 @@
|
||||
},
|
||||
{
|
||||
"name": "codeigniter/framework",
|
||||
"version": "3.1.7",
|
||||
"version": "3.1.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bcit-ci/CodeIgniter.git",
|
||||
"reference": "02a0518e1c56ba3506f370362ac5ebdb8a138312"
|
||||
"reference": "71e647782764184e3aab4faffe6d99176758979f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/02a0518e1c56ba3506f370362ac5ebdb8a138312",
|
||||
"reference": "02a0518e1c56ba3506f370362ac5ebdb8a138312",
|
||||
"url": "https://api.github.com/repos/bcit-ci/CodeIgniter/zipball/71e647782764184e3aab4faffe6d99176758979f",
|
||||
"reference": "71e647782764184e3aab4faffe6d99176758979f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -98,7 +98,7 @@
|
||||
],
|
||||
"description": "The CodeIgniter framework",
|
||||
"homepage": "https://codeigniter.com",
|
||||
"time": "2018-01-13 11:57:11"
|
||||
"time": "2018-03-22 14:48:55"
|
||||
},
|
||||
{
|
||||
"name": "components/angular.js",
|
||||
@@ -441,16 +441,16 @@
|
||||
},
|
||||
{
|
||||
"name": "components/jquery",
|
||||
"version": "3.2.1",
|
||||
"version": "3.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/components/jquery.git",
|
||||
"reference": "e5534d4ab8e80c159553d507e358ed20a806d3bf"
|
||||
"reference": "459648cda77875519c5da3ae1dd0ed5d170aa649"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/components/jquery/zipball/e5534d4ab8e80c159553d507e358ed20a806d3bf",
|
||||
"reference": "e5534d4ab8e80c159553d507e358ed20a806d3bf",
|
||||
"url": "https://api.github.com/repos/components/jquery/zipball/459648cda77875519c5da3ae1dd0ed5d170aa649",
|
||||
"reference": "459648cda77875519c5da3ae1dd0ed5d170aa649",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "component",
|
||||
@@ -479,7 +479,7 @@
|
||||
],
|
||||
"description": "jQuery JavaScript Library",
|
||||
"homepage": "http://jquery.com",
|
||||
"time": "2017-03-21 07:01:49"
|
||||
"time": "2018-03-04 13:23:48"
|
||||
},
|
||||
{
|
||||
"name": "components/jqueryui",
|
||||
@@ -916,6 +916,16 @@
|
||||
"description": "A framework-agnostic PHP Implementation for generating simple forms based on json-schema",
|
||||
"time": "2014-07-10 12:27:19"
|
||||
},
|
||||
{
|
||||
"name": "ludo/jquery-treetable",
|
||||
"version": "3.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ludo/jquery-treetable.git",
|
||||
"reference": "73690a9df26dbc1a49981f9335df2a9cd9808813"
|
||||
},
|
||||
"type": "library"
|
||||
},
|
||||
{
|
||||
"name": "michelf/php-markdown",
|
||||
"version": "1.5.0",
|
||||
@@ -1016,17 +1026,17 @@
|
||||
},
|
||||
{
|
||||
"name": "ml/json-ld",
|
||||
"version": "1.0.7",
|
||||
"version": "1.0.8",
|
||||
"target-dir": "ML/JsonLD",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lanthaler/JsonLD.git",
|
||||
"reference": "f9dfe184f0da9ce0e0ffdddabf6d93d01787ac91"
|
||||
"reference": "da8efc590273f0420e79cb110778508875690bde"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/f9dfe184f0da9ce0e0ffdddabf6d93d01787ac91",
|
||||
"reference": "f9dfe184f0da9ce0e0ffdddabf6d93d01787ac91",
|
||||
"url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/da8efc590273f0420e79cb110778508875690bde",
|
||||
"reference": "da8efc590273f0420e79cb110778508875690bde",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1035,7 +1045,8 @@
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"json-ld/tests": "@dev"
|
||||
"json-ld/tests": "1.0",
|
||||
"phpunit/phpunit": "^4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -1061,20 +1072,20 @@
|
||||
"JSON-LD",
|
||||
"jsonld"
|
||||
],
|
||||
"time": "2016-10-10 08:57:56"
|
||||
"time": "2018-01-28 12:53:52"
|
||||
},
|
||||
{
|
||||
"name": "mottie/tablesorter",
|
||||
"version": "v2.29.4",
|
||||
"version": "v2.30.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Mottie/tablesorter.git",
|
||||
"reference": "bf7339036ce11c91f55281825b1b601d18b67ed8"
|
||||
"reference": "c74a34b070002776133757faa5b8613988b42470"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Mottie/tablesorter/zipball/bf7339036ce11c91f55281825b1b601d18b67ed8",
|
||||
"reference": "bf7339036ce11c91f55281825b1b601d18b67ed8",
|
||||
"url": "https://api.github.com/repos/Mottie/tablesorter/zipball/c74a34b070002776133757faa5b8613988b42470",
|
||||
"reference": "c74a34b070002776133757faa5b8613988b42470",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1112,7 +1123,7 @@
|
||||
"sorting",
|
||||
"table"
|
||||
],
|
||||
"time": "2018-01-18 23:30:03"
|
||||
"time": "2018-03-19 12:17:24"
|
||||
},
|
||||
{
|
||||
"name": "netcarver/textile",
|
||||
@@ -1590,16 +1601,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v2.8.33",
|
||||
"version": "v2.8.38",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "a4bd0f02ea156cf7b5138774a7ba0ab44d8da4fe"
|
||||
"reference": "7f78892d900c72a40acd1fe793c856ef0c110f26"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/a4bd0f02ea156cf7b5138774a7ba0ab44d8da4fe",
|
||||
"reference": "a4bd0f02ea156cf7b5138774a7ba0ab44d8da4fe",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/7f78892d900c72a40acd1fe793c856ef0c110f26",
|
||||
"reference": "7f78892d900c72a40acd1fe793c856ef0c110f26",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1647,7 +1658,7 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-01-03 07:36:31"
|
||||
"time": "2018-04-03 05:20:27"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
@@ -1708,16 +1719,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.6.0",
|
||||
"version": "v1.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
|
||||
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
|
||||
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
|
||||
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1729,7 +1740,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.6-dev"
|
||||
"dev-master": "1.7-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1763,11 +1774,11 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2017-10-11 12:05:26"
|
||||
"time": "2018-01-30 19:27:44"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v2.8.33",
|
||||
"version": "v2.8.38",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
@@ -1827,16 +1838,16 @@
|
||||
},
|
||||
{
|
||||
"name": "tinymce/tinymce",
|
||||
"version": "4.7.5",
|
||||
"version": "4.7.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tinymce/tinymce-dist.git",
|
||||
"reference": "256a571d890d4e15da618019994f072cd43209bc"
|
||||
"reference": "a7178e20d6053b92a177900531ffd2cdcb77f77c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/256a571d890d4e15da618019994f072cd43209bc",
|
||||
"reference": "256a571d890d4e15da618019994f072cd43209bc",
|
||||
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/a7178e20d6053b92a177900531ffd2cdcb77f77c",
|
||||
"reference": "a7178e20d6053b92a177900531ffd2cdcb77f77c",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "component",
|
||||
@@ -1857,7 +1868,7 @@
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-2.1"
|
||||
"LGPL-2.1-only"
|
||||
],
|
||||
"description": "Web based JavaScript HTML WYSIWYG editor control.",
|
||||
"homepage": "http://www.tinymce.com",
|
||||
@@ -1869,7 +1880,7 @@
|
||||
"tinymce",
|
||||
"wysiwyg"
|
||||
],
|
||||
"time": "2018-01-22 13:09:23"
|
||||
"time": "2018-04-11 09:26:11"
|
||||
},
|
||||
{
|
||||
"name": "tomazdragar/SimpleCropper",
|
||||
@@ -1934,16 +1945,16 @@
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v1.35.0",
|
||||
"version": "v1.35.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "daa657073e55b0a78cce8fdd22682fddecc6385f"
|
||||
"reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/daa657073e55b0a78cce8fdd22682fddecc6385f",
|
||||
"reference": "daa657073e55b0a78cce8fdd22682fddecc6385f",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
|
||||
"reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1951,8 +1962,8 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/container": "^1.0",
|
||||
"symfony/debug": "~2.7",
|
||||
"symfony/phpunit-bridge": "~3.3@dev"
|
||||
"symfony/debug": "^2.7",
|
||||
"symfony/phpunit-bridge": "^3.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -1995,7 +2006,7 @@
|
||||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2017-09-27 18:06:46"
|
||||
"time": "2018-03-20 04:25:58"
|
||||
},
|
||||
{
|
||||
"name": "zetacomponents/base",
|
||||
|
||||
@@ -288,11 +288,7 @@ else
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#matrikelnummer" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-treecol-prestudent_id" label="PreStudentID" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#prestudent_id" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-treecol-person_id" label="PersonID" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
<treecol id="student-treecol-person_id" label="PersonID" flex="1" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#person_id" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
@@ -379,16 +375,20 @@ else
|
||||
<treecol id="student-treecol-studienplan" label="Studienplan" flex="1" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#studienplan_bezeichnung" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-treecol-prestudent_id" label="PreStudentID" flex="1" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#prestudent_id" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-treecol-mentor" label="Mentor" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#mentor" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-treecol-aktiv" label="Aktiv" flex="1" hidden="false" persist="hidden, width, ordinal"
|
||||
<treecol id="student-treecol-aktiv" label="Aktiv" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#aktiv" onclick="StudentTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-treecol-geburtsdatum_iso" label="GeburtsdatumISO" flex="1" hidden="false" persist="hidden, width, ordinal"
|
||||
<treecol id="student-treecol-geburtsdatum_iso" label="GeburtsdatumISO" flex="1" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum_iso" onclick="StudentTreeSort()"/>
|
||||
</treecols>
|
||||
@@ -398,50 +398,50 @@ else
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#uid" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#titelpre" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#nachname" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#vorname" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#vornamen" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#titelpost" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#svnr" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#ersatzkennzeichen" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#geschlecht" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#semester" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#verband" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#gruppe" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#studiengang" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#studiengang_kz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#matrikelnummer" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#prestudent_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#status" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#status_datum" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#status_bestaetigung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#status_datum_iso" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#status_bestaetigung_iso" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#mail_privat" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#mail_intern" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#anmerkungen" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#anmerkungpre" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#orgform" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#aufmerksamdurch_kurzbz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#uid" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#titelpre" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#nachname" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#vorname" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#vornamen" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#titelpost" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#svnr" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#ersatzkennzeichen" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#geschlecht" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#semester" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#verband" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#gruppe" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#studiengang" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#studiengang_kz" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#matrikelnummer" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#person_id" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#status" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#status_datum" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#status_bestaetigung" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#status_datum_iso" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#status_bestaetigung_iso" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#mail_privat" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#mail_intern" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#anmerkungen" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#anmerkungpre" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#orgform" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#aufmerksamdurch_kurzbz" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#punkte" />
|
||||
<!--
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte1" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte2" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#punkte3" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#punkte1" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#punkte2" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#punkte3" />
|
||||
-->
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#aufnahmegruppe_kurzbz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#dual_bezeichnung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#matr_nr" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#studienplan_bezeichnung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#mentor" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#aktiv" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum_iso" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#aufnahmegruppe_kurzbz" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#dual_bezeichnung" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#matr_nr" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#studienplan_bezeichnung" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#prestudent_id" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#mentor" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#aktiv" />
|
||||
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum_iso" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -37,7 +37,7 @@ class addon extends basis_db
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->aktive_addons = array_filter(explode(";", ACTIVE_ADDONS));
|
||||
$this->aktive_addons = array_filter(array_map('trim', explode(";", ACTIVE_ADDONS)));
|
||||
|
||||
}
|
||||
|
||||
|
||||
+579
-579
File diff suppressed because it is too large
Load Diff
+400
-400
@@ -1,400 +1,400 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class datum
|
||||
{
|
||||
public $ts_day=86400; // Timestamp eines Tages
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "31.12.2007 14:30"
|
||||
*/
|
||||
public function mktime_datumundzeit($datumundzeit)
|
||||
{
|
||||
if(mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datumundzeit, $regs))
|
||||
return mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "31.12.2007"
|
||||
*/
|
||||
public function mktime_datum($datum)
|
||||
{
|
||||
if(mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$datum, $regs))
|
||||
{
|
||||
return mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem Datum im
|
||||
* ISO-Format "2007-01-31"
|
||||
*/
|
||||
public function mktime_fromdate($datum)
|
||||
{
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
{
|
||||
return mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "2007-01-31 14:30:12"
|
||||
*/
|
||||
public function mktime_fromtimestamp($timestamp)
|
||||
{
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$timestamp, $regs))
|
||||
{
|
||||
return mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Springt von einen UNIX Timestamp ($datum) $wochen nach vor bzw. hinten
|
||||
*/
|
||||
public function jump_week($datum, $wochen)
|
||||
{
|
||||
$days = $wochen * 7;
|
||||
|
||||
$datetime=new DateTime();
|
||||
$datetime->setTimestamp($datum);
|
||||
$datetime->modify($days.' day');
|
||||
return $datetime->format("U");
|
||||
}
|
||||
|
||||
/**
|
||||
* Springt von einen UNIX Timestamp ($datum) $days nach vor bzw. hinten
|
||||
*/
|
||||
public function jump_day($datum, $days)
|
||||
{
|
||||
$stunde_vor=date("G",$datum);
|
||||
// Ein Tag sind 86400 Sekunden
|
||||
$datum+=86400*$days;
|
||||
$stunde_nach=date("G",$datum);
|
||||
if ($stunde_nach!=$stunde_vor)
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
/**
|
||||
* Konvertiert das ISO Datumsformat (YYYY-MM-DD)
|
||||
* nach (DD.MM.YYYY)
|
||||
*/
|
||||
public function convertISODate($datum)
|
||||
{
|
||||
return (mb_strlen($datum)>0?date('d.m.Y',strtotime($datum)):'');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft Uhrzeit auf Gueltigkeit (HH:MM:SS)
|
||||
* @return true wenn ok, false wenn falsches Format
|
||||
*/
|
||||
public function checkUhrzeit($uhrzeit)
|
||||
{
|
||||
if(mb_ereg("([0-9]{2}):([0-9]{2})(:([0-9]{2}))?$",$uhrzeit))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob das Datum im Format dd.mm.YYYY oder YYYY-mm-dd ist
|
||||
* @return true wenn ok, false wenn falsches Format
|
||||
*/
|
||||
public function checkDatum($datum)
|
||||
{
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})$",$datum) || mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})$",$datum))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen)
|
||||
* @param $datum1
|
||||
* @param $datum2
|
||||
*/
|
||||
public function DateDiff($datum1, $datum2)
|
||||
{
|
||||
$datetime1 = new DateTime($datum1);
|
||||
$datetime2 = new DateTime($datum2);
|
||||
$interval = $datetime1->diff($datetime2);
|
||||
return $interval->format('%R%a');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Datum / Datum und Uhrzeit zwischen 2 anderen liegt
|
||||
* Unterstuetzt auch offenes (leeres) Start und Ende Datum
|
||||
*
|
||||
* @param $start Startdatum
|
||||
* @param $ende Endedatum
|
||||
* @param $datum Datum das geprueft wird
|
||||
* @return true wenn dazwischen sonst false
|
||||
*/
|
||||
public function between($start, $ende, $datum)
|
||||
{
|
||||
$datestart = new DateTime($start);
|
||||
$dateende = new DateTime($ende);
|
||||
$dateref = new DateTime($datum);
|
||||
|
||||
// Start und Ende nicht gesetzt
|
||||
if($start=='' && $ende=='')
|
||||
return true;
|
||||
|
||||
// Start nicht gesetzt; Ende gesetzt
|
||||
if($start=='' && $ende!='' && $dateende>=$dateref)
|
||||
return true;
|
||||
|
||||
// Ende nicht gesetzt; Start gesetzt
|
||||
if($ende=='' && $start!='' && $datestart<=$dateref)
|
||||
return true;
|
||||
|
||||
// Start und Ende gesetzt
|
||||
if($ende!='' && $start!='' && $datestart<=$dateref && $dateende>=$dateref)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Summiert 2 Zeiten Stunde:Minute
|
||||
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
|
||||
* zB 12:10 + 23:15 = 35:25
|
||||
*
|
||||
* @param $zeit1
|
||||
* @param $zeit2
|
||||
* @return summe der beiden zeiten im Format Stunden:Minuten
|
||||
*/
|
||||
public function sumZeit($zeit1, $zeit2)
|
||||
{
|
||||
list($h1, $m1) = explode(':', $zeit1);
|
||||
list($h2, $m2) = explode(':', $zeit2);
|
||||
|
||||
$m1 +=$m2;
|
||||
|
||||
if($m1>=60)
|
||||
{
|
||||
$uebertrag = (int)($m1/60);
|
||||
$h1+= $uebertrag;
|
||||
}
|
||||
$m1=$m1%60;
|
||||
$h1+=$h2;
|
||||
if($m1<10)
|
||||
$m1='0'.$m1;
|
||||
if($h1<10)
|
||||
$h1='0'.$h1;
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtrahiert 2 Zeiten ($zeit1-$zeit2) Stunde:Minute
|
||||
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
|
||||
* zB 23:15 - 12:10 = 11:05
|
||||
*
|
||||
* @param $zeit1
|
||||
* @param $zeit2
|
||||
* @return subtraktion der beiden zeiten im Format Stunden:Minuten, null wenn zeit 1 kleiner als zeit2 ist
|
||||
*/
|
||||
public function subZeit($zeit1, $zeit2)
|
||||
{
|
||||
list($h1, $m1) = explode(':', $zeit1);
|
||||
list($h2, $m2) = explode(':', $zeit2);
|
||||
|
||||
if($h1<$h2)
|
||||
return null;
|
||||
else if($h1 == $h2 && $m1<$m2)
|
||||
return null;
|
||||
|
||||
$m1 -=$m2;
|
||||
//echo $h1.','.$m1.','.$h2.','.$m2;
|
||||
if($m1<0)
|
||||
{
|
||||
$m1 = $m1 + 60;
|
||||
$h1 = (int)$h1-1;
|
||||
}
|
||||
$m1=$m1%60;
|
||||
$h1-=$h2;
|
||||
if($m1<10)
|
||||
$m1='0'.$m1;
|
||||
if($h1<10)
|
||||
$h1='0'.$h1;
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft und Liefert ein Datum im angegeben Format
|
||||
* fuer die Formatierung wird die Funktion formatDatum verwendet
|
||||
* @param $datum
|
||||
* @param $format
|
||||
* @param $strict wenn das Datum aus einem Suchfeld komment, dann strict auf TRUE setzen da sonst
|
||||
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
|
||||
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
{
|
||||
|
||||
@list($day, $month, $year) = @explode(".", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@list($day, $month, $year) = @explode("-", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@list($year, $month, $day) = @explode(".", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@list($year, $month, $day) = @explode("-", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
if (strlen($datum)==6)
|
||||
{
|
||||
$year="20".substr($datum,0,2);
|
||||
$month=substr($datum,2,2);
|
||||
$day=substr($datum,4,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
else if (strlen($datum)==8)
|
||||
{
|
||||
$year=substr($datum,0,4);
|
||||
$month=substr($datum,4,2);
|
||||
$day=substr($datum, 6,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
$year=substr($datum,5,4);
|
||||
$month=substr($datum,3,2);
|
||||
$day=substr($datum, 0,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert ein Datum im angegeben Format
|
||||
* ToDo: Liefert aktuellen Timestamp wenn Sonderzeichen uebergeben werden
|
||||
* zB '---'
|
||||
* @param $datum
|
||||
* @param $format
|
||||
* @param $strict wenn das Datum aus einem Suchfeld kommt, dann strict auf TRUE setzen da sonst
|
||||
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
|
||||
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function formatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
{
|
||||
if(trim($datum)=='')
|
||||
return '';
|
||||
|
||||
$ts='';
|
||||
$error=false;
|
||||
|
||||
//2008-12-31
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
//2008-12-31 12:30
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
//2008-12-31 12:30:15
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
if($ts=='')
|
||||
{
|
||||
//1.12.2008
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
//1.12.2008 12:30
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
//1.12.2008 12:30:15
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
|
||||
if($ts=='' && !$strict)
|
||||
{
|
||||
$ts = strtotime($datum);
|
||||
|
||||
if(!$ts || $ts==-1)
|
||||
{
|
||||
//wenn strtotime fehlschlaegt liefert diese -1 zurueck, ab php5.1.0 jedoch false
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if($ts!='' && !$error)
|
||||
return date($format, $ts);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* konvertiert Zeit in format stunden:minuten in Stunden als Dezimalahl
|
||||
* @param $timestring in Form stunden:minuten
|
||||
* @return int Stundenzahl als Dezimalzahl
|
||||
*/
|
||||
public function convertTimeStringToHours($timestring)
|
||||
{
|
||||
return intval(substr($timestring, 0, 2)) + intval(substr($timestring, 3, 2)) / 60;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
class datum
|
||||
{
|
||||
public $ts_day=86400; // Timestamp eines Tages
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "31.12.2007 14:30"
|
||||
*/
|
||||
public function mktime_datumundzeit($datumundzeit)
|
||||
{
|
||||
if(mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datumundzeit, $regs))
|
||||
return mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "31.12.2007"
|
||||
*/
|
||||
public function mktime_datum($datum)
|
||||
{
|
||||
if(mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$datum, $regs))
|
||||
{
|
||||
return mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem Datum im
|
||||
* ISO-Format "2007-01-31"
|
||||
*/
|
||||
public function mktime_fromdate($datum)
|
||||
{
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
{
|
||||
return mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen UNIX Timestamp von einem String im
|
||||
* Format "2007-01-31 14:30:12"
|
||||
*/
|
||||
public function mktime_fromtimestamp($timestamp)
|
||||
{
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$timestamp, $regs))
|
||||
{
|
||||
return mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Falsches Datumsformat';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Springt von einen UNIX Timestamp ($datum) $wochen nach vor bzw. hinten
|
||||
*/
|
||||
public function jump_week($datum, $wochen)
|
||||
{
|
||||
$days = $wochen * 7;
|
||||
|
||||
$datetime=new DateTime();
|
||||
$datetime->setTimestamp($datum);
|
||||
$datetime->modify($days.' day');
|
||||
return $datetime->format("U");
|
||||
}
|
||||
|
||||
/**
|
||||
* Springt von einen UNIX Timestamp ($datum) $days nach vor bzw. hinten
|
||||
*/
|
||||
public function jump_day($datum, $days)
|
||||
{
|
||||
$stunde_vor=date("G",$datum);
|
||||
// Ein Tag sind 86400 Sekunden
|
||||
$datum+=86400*$days;
|
||||
$stunde_nach=date("G",$datum);
|
||||
if ($stunde_nach!=$stunde_vor)
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
}
|
||||
|
||||
/**
|
||||
* Konvertiert das ISO Datumsformat (YYYY-MM-DD)
|
||||
* nach (DD.MM.YYYY)
|
||||
*/
|
||||
public function convertISODate($datum)
|
||||
{
|
||||
return (mb_strlen($datum)>0?date('d.m.Y',strtotime($datum)):'');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft Uhrzeit auf Gueltigkeit (HH:MM:SS)
|
||||
* @return true wenn ok, false wenn falsches Format
|
||||
*/
|
||||
public function checkUhrzeit($uhrzeit)
|
||||
{
|
||||
if(mb_ereg("([0-9]{2}):([0-9]{2})(:([0-9]{2}))?$",$uhrzeit))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob das Datum im Format dd.mm.YYYY oder YYYY-mm-dd ist
|
||||
* @return true wenn ok, false wenn falsches Format
|
||||
*/
|
||||
public function checkDatum($datum)
|
||||
{
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})$",$datum) || mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})$",$datum))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen)
|
||||
* @param $datum1
|
||||
* @param $datum2
|
||||
*/
|
||||
public function DateDiff($datum1, $datum2)
|
||||
{
|
||||
$datetime1 = new DateTime($datum1);
|
||||
$datetime2 = new DateTime($datum2);
|
||||
$interval = $datetime1->diff($datetime2);
|
||||
return $interval->format('%R%a');
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Datum / Datum und Uhrzeit zwischen 2 anderen liegt
|
||||
* Unterstuetzt auch offenes (leeres) Start und Ende Datum
|
||||
*
|
||||
* @param $start Startdatum
|
||||
* @param $ende Endedatum
|
||||
* @param $datum Datum das geprueft wird
|
||||
* @return true wenn dazwischen sonst false
|
||||
*/
|
||||
public function between($start, $ende, $datum)
|
||||
{
|
||||
$datestart = new DateTime($start);
|
||||
$dateende = new DateTime($ende);
|
||||
$dateref = new DateTime($datum);
|
||||
|
||||
// Start und Ende nicht gesetzt
|
||||
if($start=='' && $ende=='')
|
||||
return true;
|
||||
|
||||
// Start nicht gesetzt; Ende gesetzt
|
||||
if($start=='' && $ende!='' && $dateende>=$dateref)
|
||||
return true;
|
||||
|
||||
// Ende nicht gesetzt; Start gesetzt
|
||||
if($ende=='' && $start!='' && $datestart<=$dateref)
|
||||
return true;
|
||||
|
||||
// Start und Ende gesetzt
|
||||
if($ende!='' && $start!='' && $datestart<=$dateref && $dateende>=$dateref)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Summiert 2 Zeiten Stunde:Minute
|
||||
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
|
||||
* zB 12:10 + 23:15 = 35:25
|
||||
*
|
||||
* @param $zeit1
|
||||
* @param $zeit2
|
||||
* @return summe der beiden zeiten im Format Stunden:Minuten
|
||||
*/
|
||||
public function sumZeit($zeit1, $zeit2)
|
||||
{
|
||||
list($h1, $m1) = explode(':', $zeit1);
|
||||
list($h2, $m2) = explode(':', $zeit2);
|
||||
|
||||
$m1 +=$m2;
|
||||
|
||||
if($m1>=60)
|
||||
{
|
||||
$uebertrag = (int)($m1/60);
|
||||
$h1+= $uebertrag;
|
||||
}
|
||||
$m1=$m1%60;
|
||||
$h1+=$h2;
|
||||
if($m1<10)
|
||||
$m1='0'.$m1;
|
||||
if($h1<10)
|
||||
$h1='0'.$h1;
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtrahiert 2 Zeiten ($zeit1-$zeit2) Stunde:Minute
|
||||
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
|
||||
* zB 23:15 - 12:10 = 11:05
|
||||
*
|
||||
* @param $zeit1
|
||||
* @param $zeit2
|
||||
* @return subtraktion der beiden zeiten im Format Stunden:Minuten, null wenn zeit 1 kleiner als zeit2 ist
|
||||
*/
|
||||
public function subZeit($zeit1, $zeit2)
|
||||
{
|
||||
list($h1, $m1) = explode(':', $zeit1);
|
||||
list($h2, $m2) = explode(':', $zeit2);
|
||||
|
||||
if($h1<$h2)
|
||||
return null;
|
||||
else if($h1 == $h2 && $m1<$m2)
|
||||
return null;
|
||||
|
||||
$m1 -=$m2;
|
||||
//echo $h1.','.$m1.','.$h2.','.$m2;
|
||||
if($m1<0)
|
||||
{
|
||||
$m1 = $m1 + 60;
|
||||
$h1 = (int)$h1-1;
|
||||
}
|
||||
$m1=$m1%60;
|
||||
$h1-=$h2;
|
||||
if($m1<10)
|
||||
$m1='0'.$m1;
|
||||
if($h1<10)
|
||||
$h1='0'.$h1;
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft und Liefert ein Datum im angegeben Format
|
||||
* fuer die Formatierung wird die Funktion formatDatum verwendet
|
||||
* @param $datum
|
||||
* @param $format
|
||||
* @param $strict wenn das Datum aus einem Suchfeld komment, dann strict auf TRUE setzen da sonst
|
||||
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
|
||||
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
{
|
||||
|
||||
@list($day, $month, $year) = @explode(".", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@list($day, $month, $year) = @explode("-", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@list($year, $month, $day) = @explode(".", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@list($year, $month, $day) = @explode("-", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
if (strlen($datum)==6)
|
||||
{
|
||||
$year="20".substr($datum,0,2);
|
||||
$month=substr($datum,2,2);
|
||||
$day=substr($datum,4,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
else if (strlen($datum)==8)
|
||||
{
|
||||
$year=substr($datum,0,4);
|
||||
$month=substr($datum,4,2);
|
||||
$day=substr($datum, 6,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
$year=substr($datum,5,4);
|
||||
$month=substr($datum,3,2);
|
||||
$day=substr($datum, 0,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert ein Datum im angegeben Format
|
||||
* ToDo: Liefert aktuellen Timestamp wenn Sonderzeichen uebergeben werden
|
||||
* zB '---'
|
||||
* @param $datum
|
||||
* @param $format
|
||||
* @param $strict wenn das Datum aus einem Suchfeld kommt, dann strict auf TRUE setzen da sonst
|
||||
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
|
||||
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function formatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
{
|
||||
if(trim($datum)=='')
|
||||
return '';
|
||||
|
||||
$ts='';
|
||||
$error=false;
|
||||
|
||||
//2008-12-31
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
//2008-12-31 12:30
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
//2008-12-31 12:30:15
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
if($ts=='')
|
||||
{
|
||||
//1.12.2008
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
//1.12.2008 12:30
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
//1.12.2008 12:30:15
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
|
||||
if($ts=='' && !$strict)
|
||||
{
|
||||
$ts = strtotime($datum);
|
||||
|
||||
if(!$ts || $ts==-1)
|
||||
{
|
||||
//wenn strtotime fehlschlaegt liefert diese -1 zurueck, ab php5.1.0 jedoch false
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if($ts!='' && !$error)
|
||||
return date($format, $ts);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* konvertiert Zeit in format stunden:minuten in Stunden als Dezimalahl
|
||||
* @param $timestring in Form stunden:minuten
|
||||
* @return int Stundenzahl als Dezimalzahl
|
||||
*/
|
||||
public function convertTimeStringToHours($timestring)
|
||||
{
|
||||
return intval(substr($timestring, 0, 2)) + intval(substr($timestring, 3, 2)) / 60;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -832,9 +832,9 @@ class dokument extends basis_db
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
$stg_obj = new basis_db();
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$stg_obj = new basis_db();
|
||||
$stg_obj->kuerzel = $row->kuerzel;
|
||||
$stg_obj->bezeichnung = $row->bezeichnung;
|
||||
$stg_obj->studiengang_kz = $row->studiengang_kz;
|
||||
|
||||
@@ -2378,7 +2378,7 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
if(!in_array($stg->oe_kurzbz, $oe))
|
||||
{
|
||||
$oe[] = $this->oe_kurzbz;
|
||||
$oe[] = $stg->oe_kurzbz;
|
||||
}
|
||||
|
||||
return $oe;
|
||||
|
||||
+23
-2
@@ -96,7 +96,8 @@ class mail
|
||||
|
||||
$header .= 'X-Mailer: FHComplete V1'.$eol;
|
||||
$header .= 'Mime-Version: 1.0'.$eol;
|
||||
$header .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
$header .= "Content-Type: multipart/related; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
$header .= "Content-Transfer-Encoding: 8bit".$eol;
|
||||
|
||||
// Body
|
||||
$mailbody = "";
|
||||
@@ -152,7 +153,7 @@ class mail
|
||||
$dispo = empty($attachment[3]) ? 'attachment' : 'inline';
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "Content-Disposition: $dispo; filename={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
if (!empty($attachment[3]))
|
||||
{
|
||||
$mailbody .= "Content-ID: <{$attachment[3]}>".$eol;
|
||||
@@ -231,6 +232,26 @@ class mail
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt ein Bild zum Mail hinzu
|
||||
* $image image-URL
|
||||
* $type MIME Type "image/[image-type]", zB "image/jpg"
|
||||
* $name Anzeigename des Files
|
||||
* $ContentID ContentID für inline-embedding (diese muss im script im tag <img src="cid:ContentID"> angegeben werden)
|
||||
*/
|
||||
public function addEmbeddedImage ($image, $type, $name = '', $ContentID)
|
||||
{
|
||||
$image_string = file_get_contents($image);
|
||||
if (!$image_string)
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Einlesen der Datei';
|
||||
return false;
|
||||
}
|
||||
|
||||
$image_b64 = chunk_split(base64_encode($image_string), 76, "\n");
|
||||
$this->attachments[] = Array($image_b64, $type, $name, $ContentID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt ein Attachment zum Mail hinzu
|
||||
* $content
|
||||
|
||||
+95
-22
@@ -25,6 +25,7 @@
|
||||
* @create 2007-06-06
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
|
||||
class note extends basis_db
|
||||
{
|
||||
@@ -32,14 +33,16 @@ class note extends basis_db
|
||||
public $result=array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $note; // smallint
|
||||
public $bezeichnung; // varchar(32)
|
||||
public $anmerkung; // varchar(256)
|
||||
public $farbe; // varchar(6)
|
||||
public $positiv=true; // boolean
|
||||
public $notenwert; // boolean
|
||||
public $aktiv; // boolean
|
||||
public $lehre; // boolean
|
||||
public $note; // smallint
|
||||
public $bezeichnung; // varchar(32)
|
||||
public $anmerkung; // varchar(256)
|
||||
public $farbe; // varchar(6)
|
||||
public $positiv=true; // boolean
|
||||
public $notenwert; // boolean
|
||||
public $aktiv; // boolean
|
||||
public $lehre; // boolean
|
||||
public $offiziell; // boolean
|
||||
public $bezeichnung_mehrsprachig; // varchar (64)[]
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -65,8 +68,22 @@ class note extends basis_db
|
||||
$this->errormsg = 'Note ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_note WHERE note=".$this->db_add_param($note);
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT note,
|
||||
bezeichnung,
|
||||
anmerkung,
|
||||
farbe,
|
||||
positiv,
|
||||
notenwert,
|
||||
aktiv,
|
||||
lehre,
|
||||
offiziell,
|
||||
$bezeichnung_mehrsprachig
|
||||
FROM
|
||||
lehre.tbl_note
|
||||
WHERE
|
||||
note=".$this->db_add_param($note);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -80,6 +97,8 @@ class note extends basis_db
|
||||
$this->positiv = $this->db_parse_bool($row->positiv);
|
||||
$this->lehre = $this->db_parse_bool($row->lehre);
|
||||
$this->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$this->offiziell = $this->db_parse_bool($row->offiziell);
|
||||
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -126,14 +145,27 @@ class note extends basis_db
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='INSERT INTO lehre.tbl_note (note, bezeichnung, anmerkung, positiv, notenwert, aktiv, lehre) VALUES('.
|
||||
$this->db_add_param($this->note).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->anmerkung).', '.
|
||||
$this->db_add_param($this->positiv, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->notenwert).','.
|
||||
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lehre, FHC_BOOLEAN).');';
|
||||
$qry='INSERT INTO lehre.tbl_note (note, bezeichnung, anmerkung, positiv, notenwert, aktiv, lehre, ';
|
||||
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
|
||||
{
|
||||
$idx = sprache::$index_arr[$key];
|
||||
$qry .= " bezeichnung_mehrsprachig[$idx],";
|
||||
}
|
||||
$qry .= ' offiziell) VALUES('.
|
||||
$this->db_add_param($this->note).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->anmerkung).', '.
|
||||
$this->db_add_param($this->positiv, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->notenwert).','.
|
||||
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lehre, FHC_BOOLEAN).',';
|
||||
|
||||
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
|
||||
$qry .= $this->db_add_param($value).',';
|
||||
|
||||
$qry .= $this->db_add_param($this->offiziell, FHC_BOOLEAN).');';
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -144,8 +176,18 @@ class note extends basis_db
|
||||
'positiv='.$this->db_add_param($this->positiv, FHC_BOOLEAN).', '.
|
||||
'notenwert='.$this->db_add_param($this->notenwert).', '.
|
||||
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
|
||||
'lehre='.$this->db_add_param($this->lehre, FHC_BOOLEAN).' '.
|
||||
'lehre='.$this->db_add_param($this->lehre, FHC_BOOLEAN).', ';
|
||||
|
||||
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
|
||||
{
|
||||
$idx = sprache::$index_arr[$key];
|
||||
$qry .= " bezeichnung_mehrsprachig[$idx]=".$this->db_add_param($value).", ";
|
||||
}
|
||||
|
||||
$qry .= ' offiziell='.$this->db_add_param($this->offiziell, FHC_BOOLEAN).' '.
|
||||
'WHERE note='.$this->db_add_param($this->note).';';
|
||||
|
||||
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -166,7 +208,20 @@ class note extends basis_db
|
||||
*/
|
||||
public function getAll($offiziell = null)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_note";
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT note,
|
||||
bezeichnung,
|
||||
anmerkung,
|
||||
farbe,
|
||||
positiv,
|
||||
notenwert,
|
||||
aktiv,
|
||||
lehre,
|
||||
offiziell,
|
||||
$bezeichnung_mehrsprachig
|
||||
FROM
|
||||
lehre.tbl_note ";
|
||||
|
||||
if(is_bool($offiziell))
|
||||
$qry .= " WHERE offiziell = ".$this->db_add_param($offiziell, FHC_BOOLEAN);
|
||||
@@ -187,6 +242,8 @@ class note extends basis_db
|
||||
$n->notenwert = $row->notenwert;
|
||||
$n->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$n->lehre = $this->db_parse_bool($row->lehre);
|
||||
$n->offiziell = $this->db_parse_bool($row->lehre);
|
||||
$n->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
|
||||
$this->result[] = $n;
|
||||
}
|
||||
@@ -206,8 +263,22 @@ class note extends basis_db
|
||||
*/
|
||||
public function getActive($offiziell = null)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_note WHERE aktiv = TRUE";
|
||||
|
||||
$sprache = new sprache();
|
||||
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
|
||||
$qry = "SELECT note,
|
||||
bezeichnung,
|
||||
anmerkung,
|
||||
farbe,
|
||||
positiv,
|
||||
notenwert,
|
||||
aktiv,
|
||||
lehre,
|
||||
offiziell,
|
||||
$bezeichnung_mehrsprachig
|
||||
FROM
|
||||
lehre.tbl_note
|
||||
WHERE
|
||||
aktiv = TRUE";
|
||||
|
||||
if(is_bool($offiziell))
|
||||
$qry .= " AND offiziell = ".$this->db_add_param($offiziell, FHC_BOOLEAN);
|
||||
@@ -228,6 +299,8 @@ class note extends basis_db
|
||||
$n->notenwert = $row->notenwert;
|
||||
$n->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$n->lehre = $this->db_parse_bool($row->lehre);
|
||||
$n->offiziell = $this->db_parse_bool($row->lehre);
|
||||
$n->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
|
||||
|
||||
$this->result[] = $n;
|
||||
}
|
||||
|
||||
@@ -45,13 +45,13 @@ class personlog extends basis_db
|
||||
|
||||
/**
|
||||
* Erstellt einen Log Eintrag zu einer Person
|
||||
* @param $person_id ID der Person.
|
||||
* @param $logtype_kurzbz Typ des Logeintrages
|
||||
* @param $logdata Array mit den zusaetzlichen Logdaten zu diesem Typ.
|
||||
* @param $taetigkeit_kurzbz Kurzbz der Verarbeitungstaetigkeit.
|
||||
* @param $app Applikation von der dieser Logeintrag stammt.
|
||||
* @param $oe_kurzbz Kurzbz der Organisationseinheit. (optional)
|
||||
* @param $user User der die Aktion durchgefuehrt hat. (optional)
|
||||
* @param integer $person_id ID der Person.
|
||||
* @param string $logtype_kurzbz Typ des Logeintrages
|
||||
* @param array $logdata Array mit den zusaetzlichen Logdaten zu diesem Typ.
|
||||
* @param string $taetigkeit_kurzbz Kurzbz der Verarbeitungstaetigkeit.
|
||||
* @param string $app Applikation von der dieser Logeintrag stammt.
|
||||
* @param string $oe_kurzbz Kurzbz der Organisationseinheit. (optional)
|
||||
* @param string $user User der die Aktion durchgefuehrt hat. (optional)
|
||||
* @return boolean true wenn erfolgreich, false im Fehlerfall.
|
||||
*/
|
||||
public function log($person_id, $logtype_kurzbz, $logdata, $taetigkeit_kurzbz, $app = 'core', $oe_kurzbz = null, $user = null)
|
||||
@@ -77,5 +77,25 @@ class personlog extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht alle Logeinträge vom Typ "Parked" der übergebenen Person_id die in der Zukunft liegen.
|
||||
* @param integer $person_id ID der Person, deren geparkter Logeintrag gelöscht werden soll.
|
||||
* @return boolean true wenn erfolgreich, false im Fehlerfall.
|
||||
*/
|
||||
public function deleteParked($person_id)
|
||||
{
|
||||
$qry = "DELETE FROM system.tbl_log WHERE logtype_kurzbz='Parked' AND person_id=".$this->db_add_param($person_id)." AND zeitpunkt>=now();";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen des geparkten Logeintrages';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -175,4 +175,5 @@ $this->phrasen['benotungstool/notenlisteImport']='Notenliste für den LV-Noten-I
|
||||
$this->phrasen['benotungstool/bearbeitetvon']='Bearbeitet von';
|
||||
$this->phrasen['benotungstool/teilnoten']='Teilnoten';
|
||||
$this->phrasen['benotungstool/hilfeImport']='Zum Importieren der Noten markieren sie die Spalten Kennzeichen und Note im Excel-File und kopieren sie diese in die Zwischenablage. Drücken sie danach diesen Knopf erneut, um die Noten zu importieren';
|
||||
$this->phrasen['benotungstool/geaenderteNotenVorhanden']='Es sind geänderte Noten vorhanden. Geben Sie diese frei, um die Assistenz zu informieren';
|
||||
?>
|
||||
|
||||
@@ -4,6 +4,7 @@ $this->phrasen['global/studienrichtung']='Studienrichtung';
|
||||
$this->phrasen['global/institut']='Institut';
|
||||
$this->phrasen['global/semester']='Semester';
|
||||
$this->phrasen['global/studiensemester']='Studiensemester';
|
||||
$this->phrasen['global/studienplan']='Studienplan';
|
||||
$this->phrasen['global/studienzentrum']='Studienzentrum';
|
||||
$this->phrasen['global/studiengangsleitung']='Studiengangsleitung';
|
||||
$this->phrasen['global/leitung']='Leitung';
|
||||
|
||||
@@ -171,4 +171,5 @@ $this->phrasen['benotungstool/punkte']='Points';
|
||||
$this->phrasen['benotungstool/importAnweisung']='Copy the columns "personal identifier" and "grade" from the grade list and insert them in the following field';
|
||||
$this->phrasen['benotungstool/pruefung']='Examination';
|
||||
$this->phrasen['benotungstool/notenlisteImport']='Grade list for the subject grade import (Excel)';
|
||||
$this->phrasen['benotungstool/geaenderteNotenVorhanden']='There are changed grades. Please send the changes to the assistant by clicking "Approval"';
|
||||
?>
|
||||
|
||||
@@ -4,6 +4,7 @@ $this->phrasen['global/studienrichtung']='Degree-Program';
|
||||
$this->phrasen['global/institut']='Institute';
|
||||
$this->phrasen['global/semester']='Semester';
|
||||
$this->phrasen['global/studiensemester']='Semester';
|
||||
$this->phrasen['global/studienplan']='Study Plan';
|
||||
$this->phrasen['global/studienzentrum']='Study Center';
|
||||
$this->phrasen['global/studiengangsleitung']='Program Director';
|
||||
$this->phrasen['global/leitung']='Head';
|
||||
|
||||
+159
-158
@@ -1,158 +1,159 @@
|
||||
<?php
|
||||
$this->phrasen['global/abbrechen']='annulla';
|
||||
$this->phrasen['global/abmelden']='esci';
|
||||
$this->phrasen['global/abschicken']='Invia ';
|
||||
$this->phrasen['global/adresse']='indirizzo';
|
||||
$this->phrasen['global/aendern']='modifica';
|
||||
$this->phrasen['global/aktion']='azione';
|
||||
$this->phrasen['global/alle']='tutti';
|
||||
$this->phrasen['global/allgemeinerdownload']='download generale';
|
||||
$this->phrasen['global/angelegtAm']='registrato il ';
|
||||
$this->phrasen['global/angemeldet']='iscritto';
|
||||
$this->phrasen['global/anleitung']='istruzioni';
|
||||
$this->phrasen['global/anmelden']='iscriversi';
|
||||
$this->phrasen['global/anmerkung']='osservazioni';
|
||||
$this->phrasen['global/anmerkungen']='osservazioni';
|
||||
$this->phrasen['global/anzeigen']='mostra';
|
||||
$this->phrasen['global/ausblenden']='';
|
||||
$this->phrasen['global/auswaehlen']='';
|
||||
$this->phrasen['global/auswahl']='';
|
||||
$this->phrasen['global/bearbeiten']='modifica';
|
||||
$this->phrasen['global/beginn']='inizio';
|
||||
$this->phrasen['global/beispiele']='esempi';
|
||||
$this->phrasen['global/benutzer']='utente';
|
||||
$this->phrasen['global/beschreibung']='descrizione';
|
||||
$this->phrasen['global/betreff']='oggetto';
|
||||
$this->phrasen['global/bezeichnung']='denominazione';
|
||||
$this->phrasen['global/bis']='fino';
|
||||
$this->phrasen['global/code']='codice';
|
||||
$this->phrasen['global/datei']='file';
|
||||
$this->phrasen['global/dateiErfolgreichHochgeladen']='il file è stato caricato';
|
||||
$this->phrasen['global/dateiExistiertNicht']='il file è inesistente';
|
||||
$this->phrasen['global/dateiLoeschen']='cancella file';
|
||||
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='impossibile caricare il file. Si prega di ripetere l\'operazione.';
|
||||
$this->phrasen['global/datensatzWurdeNichtGefunden']='impossibile trovare i dati cercati';
|
||||
$this->phrasen['global/datenWurdenGespeichert']='i dati sono stati salvati';
|
||||
$this->phrasen['global/datum']='Data';
|
||||
$this->phrasen['global/datumNichtGesetzt']='non è stata impostata la data';
|
||||
$this->phrasen['global/deutsch']='tedesco';
|
||||
$this->phrasen['global/dienstag']='martedì';
|
||||
$this->phrasen['global/donnerstag']='giovedì ';
|
||||
$this->phrasen['global/download']='download';
|
||||
$this->phrasen['global/editieren']='editare';
|
||||
$this->phrasen['global/eintragen']='registrare';
|
||||
$this->phrasen['global/eintragWurdeGeloescht']='cancellata registrazione';
|
||||
$this->phrasen['global/emailAdresse']='indirizzo e-mail';
|
||||
$this->phrasen['global/emailAnAssistenz']='e-mail alla segreteria';
|
||||
$this->phrasen['global/emailgesendetan']='spedisci e-mail a';
|
||||
$this->phrasen['global/ende']='fine';
|
||||
$this->phrasen['global/englisch']='inglese';
|
||||
$this->phrasen['global/entfernen']='cestina';
|
||||
$this->phrasen['global/erfolgreichAngelegt']='ok, registrato';
|
||||
$this->phrasen['global/erfolgreichgelöscht']='ok, cancellato';
|
||||
$this->phrasen['global/erfolgreichgespeichert']='ok, salvato';
|
||||
$this->phrasen['global/erstellen']='crea';
|
||||
$this->phrasen['global/fax']='fax';
|
||||
$this->phrasen['global/fehleraufgetreten']='è avvenuto un errore';
|
||||
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='errore di trasmissione dei parametri';
|
||||
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='errore di aggiornamento dei dati';
|
||||
$this->phrasen['global/fehlerBeimErmittelnDerUID ']='errore di ricerca della UID';
|
||||
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='errore di caricamento dei dati';
|
||||
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='errore di lettura dalla banca dati';
|
||||
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='errore di cancellazione della registrazione';
|
||||
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='errore di apertura del collegamento con la banca dati';
|
||||
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='errore di salvataggio dati';
|
||||
$this->phrasen['global/fhTechnikumWien']='SFU';
|
||||
$this->phrasen['global/fhtw']='Sigmund Freud PrivatUniversität';
|
||||
$this->phrasen['global/frau']='Sig.ra';
|
||||
$this->phrasen['global/freitag']='venerdì';
|
||||
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='per questa azione si necessita l\'amministratore del sistema';
|
||||
$this->phrasen['global/funktion']='funzione';
|
||||
$this->phrasen['global/geburtsdatum']='Data di nascita';
|
||||
$this->phrasen['global/geburtsort']='Luogo di nascita';
|
||||
$this->phrasen['global/geschaeftsfuehrendeltg']='Amministratore';
|
||||
$this->phrasen['global/geschlecht']='';
|
||||
$this->phrasen['global/gruppe']='Gruppo';
|
||||
$this->phrasen['global/handbuch']='Manuale';
|
||||
$this->phrasen['global/handy']='Cellulare';
|
||||
$this->phrasen['global/hauptwohnsitz']='Residenza ';
|
||||
$this->phrasen['global/hilfe']='Assistenza';
|
||||
$this->phrasen['global/hinzufuegen']='aggiungi';
|
||||
$this->phrasen['global/institut']='Istituto';
|
||||
$this->phrasen['global/ja']='sì';
|
||||
$this->phrasen['global/kalender']='Calendario';
|
||||
$this->phrasen['global/keineBerechtigung']='non autorizzato';
|
||||
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='errore di autorizzazione per questa pagina';
|
||||
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='errore di autorizzazione per modificare i dati';
|
||||
$this->phrasen['global/keineDatenGefunden']='impossibile trovare i dati';
|
||||
$this->phrasen['global/kopieren']='copia';
|
||||
$this->phrasen['global/LDAPserverNichtErreichbar']='il server LDAP non è raggiungibile';
|
||||
$this->phrasen['global/lehreinheit']='';
|
||||
$this->phrasen['global/lehrveranstaltung']='Insegnamento';
|
||||
$this->phrasen['global/lehrziele']='obiettivi di studio';
|
||||
$this->phrasen['global/loeschen']='cancella';
|
||||
$this->phrasen['global/löschen']='cancella';
|
||||
$this->phrasen['global/mail']='messaggio mail';
|
||||
$this->phrasen['global/mann']='maschio/uomo';
|
||||
$this->phrasen['global/matrikelnummer']='Matricola';
|
||||
$this->phrasen['global/minute']='minuti';
|
||||
$this->phrasen['global/mittwoch']='mercoledì';
|
||||
$this->phrasen['global/montag']='lunedì';
|
||||
$this->phrasen['global/nachname']='Cognome';
|
||||
$this->phrasen['global/name']='Nome';
|
||||
$this->phrasen['global/nebenwohnsitz']='domicilio';
|
||||
$this->phrasen['global/nein']='no';
|
||||
$this->phrasen['global/neu']='nuovo';
|
||||
$this->phrasen['global/newsgroups']='newsgroup';
|
||||
$this->phrasen['global/nichtAngemeldet ']='errore di log in: impossibile trovare l\'UID dell\'utente ';
|
||||
$this->phrasen['global/nummer']='numero';
|
||||
$this->phrasen['global/ok']='ok';
|
||||
$this->phrasen['global/organisationseinheit']='Unità organizzativa';
|
||||
$this->phrasen['global/organisationseinheiten']='';
|
||||
$this->phrasen['global/ort']='luogo';
|
||||
$this->phrasen['global/passwort']='Password';
|
||||
$this->phrasen['global/person']='persona';
|
||||
$this->phrasen['global/personen']='persone ';
|
||||
$this->phrasen['global/personenkennzeichen']='Codice Persona';
|
||||
$this->phrasen['global/personenkz']='Codice Persona';
|
||||
$this->phrasen['global/plz']='CAP';
|
||||
$this->phrasen['global/postnomen']='Titolo';
|
||||
$this->phrasen['global/samstag']='sabato';
|
||||
$this->phrasen['global/sekretariat']='segreteria';
|
||||
$this->phrasen['global/semester']='Semestre';
|
||||
$this->phrasen['global/sonntag']='domenica';
|
||||
$this->phrasen['global/speichern']='salva';
|
||||
$this->phrasen['global/sprache']='lingua';
|
||||
$this->phrasen['global/staatsbuergerschaft']='cittadinanza';
|
||||
$this->phrasen['global/stellvertreter']='supplenza ';
|
||||
$this->phrasen['global/strasse']='via';
|
||||
$this->phrasen['global/studentenvertreter']='rappresentanti degli studendi';
|
||||
$this->phrasen['global/studiengang']='Corso di studi';
|
||||
$this->phrasen['global/studiengangKonnteNichtGefundenWerden ']='impossibile trovare corso di studi digitato';
|
||||
$this->phrasen['global/studiengangsleitung']='Direzione del corso di studi';
|
||||
$this->phrasen['global/studiengangsmanagement']='Management del corso di studi';
|
||||
$this->phrasen['global/studienrichtung']='indirizzo di studio';
|
||||
$this->phrasen['global/studiensemester']='Semestre di studio';
|
||||
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden ']='impossibile trovare semestre di studio digitato';
|
||||
$this->phrasen['global/studienzentrum']='';
|
||||
$this->phrasen['global/stunde']='ora';
|
||||
$this->phrasen['global/suchen']='cerca';
|
||||
$this->phrasen['global/telefon']='telefono';
|
||||
$this->phrasen['global/telefonnummer']='numero telefonico';
|
||||
$this->phrasen['global/titel']='Titolo';
|
||||
$this->phrasen['global/uid']='UID';
|
||||
$this->phrasen['global/umbenennen']='cambia nome';
|
||||
$this->phrasen['global/unbekannterFehleraufgetreten']='è avvenuto un errore sconosciuto';
|
||||
$this->phrasen['global/universität']='università';
|
||||
$this->phrasen['global/username']='Username';
|
||||
$this->phrasen['global/userNichtGefunden']='';
|
||||
$this->phrasen['global/verband']='Gruppo Principale';
|
||||
$this->phrasen['global/von']='inizio';
|
||||
$this->phrasen['global/vorname']='Nome';
|
||||
$this->phrasen['global/warnungWirklichLoeschen']='';
|
||||
$this->phrasen['global/zurueck']='Indietro';
|
||||
$this->phrasen['global/zuruecksetzen']='';
|
||||
$this->phrasen['global/zweck']='';
|
||||
$this->phrasen['global/ects']='ECTS';
|
||||
|
||||
?>
|
||||
<?php
|
||||
$this->phrasen['global/abbrechen']='annulla';
|
||||
$this->phrasen['global/abmelden']='esci';
|
||||
$this->phrasen['global/abschicken']='Invia ';
|
||||
$this->phrasen['global/adresse']='indirizzo';
|
||||
$this->phrasen['global/aendern']='modifica';
|
||||
$this->phrasen['global/aktion']='azione';
|
||||
$this->phrasen['global/alle']='tutti';
|
||||
$this->phrasen['global/allgemeinerdownload']='download generale';
|
||||
$this->phrasen['global/angelegtAm']='registrato il ';
|
||||
$this->phrasen['global/angemeldet']='iscritto';
|
||||
$this->phrasen['global/anleitung']='istruzioni';
|
||||
$this->phrasen['global/anmelden']='iscriversi';
|
||||
$this->phrasen['global/anmerkung']='osservazioni';
|
||||
$this->phrasen['global/anmerkungen']='osservazioni';
|
||||
$this->phrasen['global/anzeigen']='mostra';
|
||||
$this->phrasen['global/ausblenden']='';
|
||||
$this->phrasen['global/auswaehlen']='';
|
||||
$this->phrasen['global/auswahl']='';
|
||||
$this->phrasen['global/bearbeiten']='modifica';
|
||||
$this->phrasen['global/beginn']='inizio';
|
||||
$this->phrasen['global/beispiele']='esempi';
|
||||
$this->phrasen['global/benutzer']='utente';
|
||||
$this->phrasen['global/beschreibung']='descrizione';
|
||||
$this->phrasen['global/betreff']='oggetto';
|
||||
$this->phrasen['global/bezeichnung']='denominazione';
|
||||
$this->phrasen['global/bis']='fino';
|
||||
$this->phrasen['global/code']='codice';
|
||||
$this->phrasen['global/datei']='file';
|
||||
$this->phrasen['global/dateiErfolgreichHochgeladen']='il file è stato caricato';
|
||||
$this->phrasen['global/dateiExistiertNicht']='il file è inesistente';
|
||||
$this->phrasen['global/dateiLoeschen']='cancella file';
|
||||
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='impossibile caricare il file. Si prega di ripetere l\'operazione.';
|
||||
$this->phrasen['global/datensatzWurdeNichtGefunden']='impossibile trovare i dati cercati';
|
||||
$this->phrasen['global/datenWurdenGespeichert']='i dati sono stati salvati';
|
||||
$this->phrasen['global/datum']='Data';
|
||||
$this->phrasen['global/datumNichtGesetzt']='non è stata impostata la data';
|
||||
$this->phrasen['global/deutsch']='tedesco';
|
||||
$this->phrasen['global/dienstag']='martedì';
|
||||
$this->phrasen['global/donnerstag']='giovedì ';
|
||||
$this->phrasen['global/download']='download';
|
||||
$this->phrasen['global/editieren']='editare';
|
||||
$this->phrasen['global/eintragen']='registrare';
|
||||
$this->phrasen['global/eintragWurdeGeloescht']='cancellata registrazione';
|
||||
$this->phrasen['global/emailAdresse']='indirizzo e-mail';
|
||||
$this->phrasen['global/emailAnAssistenz']='e-mail alla segreteria';
|
||||
$this->phrasen['global/emailgesendetan']='spedisci e-mail a';
|
||||
$this->phrasen['global/ende']='fine';
|
||||
$this->phrasen['global/englisch']='inglese';
|
||||
$this->phrasen['global/entfernen']='cestina';
|
||||
$this->phrasen['global/erfolgreichAngelegt']='ok, registrato';
|
||||
$this->phrasen['global/erfolgreichgelöscht']='ok, cancellato';
|
||||
$this->phrasen['global/erfolgreichgespeichert']='ok, salvato';
|
||||
$this->phrasen['global/erstellen']='crea';
|
||||
$this->phrasen['global/fax']='fax';
|
||||
$this->phrasen['global/fehleraufgetreten']='è avvenuto un errore';
|
||||
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='errore di trasmissione dei parametri';
|
||||
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='errore di aggiornamento dei dati';
|
||||
$this->phrasen['global/fehlerBeimErmittelnDerUID ']='errore di ricerca della UID';
|
||||
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='errore di caricamento dei dati';
|
||||
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='errore di lettura dalla banca dati';
|
||||
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='errore di cancellazione della registrazione';
|
||||
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='errore di apertura del collegamento con la banca dati';
|
||||
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='errore di salvataggio dati';
|
||||
$this->phrasen['global/fhTechnikumWien']='SFU';
|
||||
$this->phrasen['global/fhtw']='Sigmund Freud PrivatUniversität';
|
||||
$this->phrasen['global/frau']='Sig.ra';
|
||||
$this->phrasen['global/freitag']='venerdì';
|
||||
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='per questa azione si necessita l\'amministratore del sistema';
|
||||
$this->phrasen['global/funktion']='funzione';
|
||||
$this->phrasen['global/geburtsdatum']='Data di nascita';
|
||||
$this->phrasen['global/geburtsort']='Luogo di nascita';
|
||||
$this->phrasen['global/geschaeftsfuehrendeltg']='Amministratore';
|
||||
$this->phrasen['global/geschlecht']='';
|
||||
$this->phrasen['global/gruppe']='Gruppo';
|
||||
$this->phrasen['global/handbuch']='Manuale';
|
||||
$this->phrasen['global/handy']='Cellulare';
|
||||
$this->phrasen['global/hauptwohnsitz']='Residenza ';
|
||||
$this->phrasen['global/hilfe']='Assistenza';
|
||||
$this->phrasen['global/hinzufuegen']='aggiungi';
|
||||
$this->phrasen['global/institut']='Istituto';
|
||||
$this->phrasen['global/ja']='sì';
|
||||
$this->phrasen['global/kalender']='Calendario';
|
||||
$this->phrasen['global/keineBerechtigung']='non autorizzato';
|
||||
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='errore di autorizzazione per questa pagina';
|
||||
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='errore di autorizzazione per modificare i dati';
|
||||
$this->phrasen['global/keineDatenGefunden']='impossibile trovare i dati';
|
||||
$this->phrasen['global/kopieren']='copia';
|
||||
$this->phrasen['global/LDAPserverNichtErreichbar']='il server LDAP non è raggiungibile';
|
||||
$this->phrasen['global/lehreinheit']='';
|
||||
$this->phrasen['global/lehrveranstaltung']='Insegnamento';
|
||||
$this->phrasen['global/lehrziele']='obiettivi di studio';
|
||||
$this->phrasen['global/loeschen']='cancella';
|
||||
$this->phrasen['global/löschen']='cancella';
|
||||
$this->phrasen['global/mail']='messaggio mail';
|
||||
$this->phrasen['global/mann']='maschio/uomo';
|
||||
$this->phrasen['global/matrikelnummer']='Matricola';
|
||||
$this->phrasen['global/minute']='minuti';
|
||||
$this->phrasen['global/mittwoch']='mercoledì';
|
||||
$this->phrasen['global/montag']='lunedì';
|
||||
$this->phrasen['global/nachname']='Cognome';
|
||||
$this->phrasen['global/name']='Nome';
|
||||
$this->phrasen['global/nebenwohnsitz']='domicilio';
|
||||
$this->phrasen['global/nein']='no';
|
||||
$this->phrasen['global/neu']='nuovo';
|
||||
$this->phrasen['global/newsgroups']='newsgroup';
|
||||
$this->phrasen['global/nichtAngemeldet ']='errore di log in: impossibile trovare l\'UID dell\'utente ';
|
||||
$this->phrasen['global/nummer']='numero';
|
||||
$this->phrasen['global/ok']='ok';
|
||||
$this->phrasen['global/organisationseinheit']='Unità organizzativa';
|
||||
$this->phrasen['global/organisationseinheiten']='';
|
||||
$this->phrasen['global/ort']='luogo';
|
||||
$this->phrasen['global/passwort']='Password';
|
||||
$this->phrasen['global/person']='persona';
|
||||
$this->phrasen['global/personen']='persone ';
|
||||
$this->phrasen['global/personenkennzeichen']='Codice Persona';
|
||||
$this->phrasen['global/personenkz']='Codice Persona';
|
||||
$this->phrasen['global/plz']='CAP';
|
||||
$this->phrasen['global/postnomen']='Titolo';
|
||||
$this->phrasen['global/samstag']='sabato';
|
||||
$this->phrasen['global/sekretariat']='segreteria';
|
||||
$this->phrasen['global/semester']='Semestre';
|
||||
$this->phrasen['global/sonntag']='domenica';
|
||||
$this->phrasen['global/speichern']='salva';
|
||||
$this->phrasen['global/sprache']='lingua';
|
||||
$this->phrasen['global/staatsbuergerschaft']='cittadinanza';
|
||||
$this->phrasen['global/stellvertreter']='supplenza ';
|
||||
$this->phrasen['global/strasse']='via';
|
||||
$this->phrasen['global/studentenvertreter']='rappresentanti degli studendi';
|
||||
$this->phrasen['global/studiengang']='Corso di studi';
|
||||
$this->phrasen['global/studiengangKonnteNichtGefundenWerden ']='impossibile trovare corso di studi digitato';
|
||||
$this->phrasen['global/studiengangsleitung']='Direzione del corso di studi';
|
||||
$this->phrasen['global/studiengangsmanagement']='Management del corso di studi';
|
||||
$this->phrasen['global/studienrichtung']='indirizzo di studio';
|
||||
$this->phrasen['global/studiensemester']='Semestre di studio';
|
||||
$this->phrasen['global/studienplan']='Piano di studio';
|
||||
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden ']='impossibile trovare semestre di studio digitato';
|
||||
$this->phrasen['global/studienzentrum']='';
|
||||
$this->phrasen['global/stunde']='ora';
|
||||
$this->phrasen['global/suchen']='cerca';
|
||||
$this->phrasen['global/telefon']='telefono';
|
||||
$this->phrasen['global/telefonnummer']='numero telefonico';
|
||||
$this->phrasen['global/titel']='Titolo';
|
||||
$this->phrasen['global/uid']='UID';
|
||||
$this->phrasen['global/umbenennen']='cambia nome';
|
||||
$this->phrasen['global/unbekannterFehleraufgetreten']='è avvenuto un errore sconosciuto';
|
||||
$this->phrasen['global/universität']='università';
|
||||
$this->phrasen['global/username']='Username';
|
||||
$this->phrasen['global/userNichtGefunden']='';
|
||||
$this->phrasen['global/verband']='Gruppo Principale';
|
||||
$this->phrasen['global/von']='inizio';
|
||||
$this->phrasen['global/vorname']='Nome';
|
||||
$this->phrasen['global/warnungWirklichLoeschen']='';
|
||||
$this->phrasen['global/zurueck']='Indietro';
|
||||
$this->phrasen['global/zuruecksetzen']='';
|
||||
$this->phrasen['global/zweck']='';
|
||||
$this->phrasen['global/ects']='ECTS';
|
||||
|
||||
?>
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
/*float: right; */ /* adjust as needed */
|
||||
margin: 15px;
|
||||
color: grey; /* adjust as needed */
|
||||
|
||||
}
|
||||
|
||||
.panel-heading .accordion-toggle.collapsed:before{
|
||||
@@ -50,4 +49,10 @@
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
/*table footer line (e.g. for sums)*/
|
||||
.table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th
|
||||
{
|
||||
border-top-width: 2px;
|
||||
}
|
||||
+50
-26
@@ -1,21 +1,29 @@
|
||||
/*
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function getUrlParameter(sParam)
|
||||
{
|
||||
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
||||
sURLVariables = sPageURL.split('&'),
|
||||
sParameterName,
|
||||
i;
|
||||
|
||||
for (i = 0; i < sURLVariables.length; i++)
|
||||
{
|
||||
sParameterName = sURLVariables[i].split('=');
|
||||
|
||||
if (sParameterName[0] === sParam)
|
||||
{
|
||||
return sParameterName[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var fhc_controller_id = getUrlParameter("fhc_controller_id");
|
||||
|
||||
/**
|
||||
* javascript file for infocenterDetails page
|
||||
*/
|
||||
|
||||
$(document).ready(
|
||||
function ()
|
||||
{
|
||||
@@ -71,6 +79,14 @@ $(document).ready(
|
||||
}
|
||||
);
|
||||
|
||||
//show popup with zgvinfo
|
||||
$(".zgvinfo").click(function ()
|
||||
{
|
||||
var prestudentid = this.id.substr(this.id.indexOf("_") + 1);
|
||||
openZgvInfoForPrestudent(prestudentid);
|
||||
}
|
||||
);
|
||||
|
||||
//prevent opening modal when Statusgrund not chosen
|
||||
$(".absageModal").on('show.bs.modal', function (e)
|
||||
{
|
||||
@@ -99,7 +115,7 @@ $(document).ready(
|
||||
var personId = $("#hiddenpersonid").val();
|
||||
var notizId = $("#notizform :input[name='hiddenNotizId']").val();
|
||||
var data = $(this).serializeArray();
|
||||
|
||||
|
||||
if (notizId !== '')
|
||||
{
|
||||
updateNotiz(notizId, personId, data);
|
||||
@@ -107,24 +123,23 @@ $(document).ready(
|
||||
else
|
||||
{
|
||||
saveNotiz(personId, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
//update notiz - autofill notizform
|
||||
$(document).on("click", "#notiztable tbody tr", function ()
|
||||
{
|
||||
var notizId = $(this).find("td:eq(3)").html();
|
||||
var notizTitle = $(this).find("td:eq(1)").text();
|
||||
var notizContent = this.title;
|
||||
|
||||
|
||||
$("#notizform label:first").text("Notiz ändern").css("color", "red");
|
||||
$("#notizform :input[type='reset']").css("display", "inline-block");
|
||||
|
||||
|
||||
$("#notizform :input[name='hiddenNotizId']").val(notizId);
|
||||
$("#notizform :input[name='notiztitel']").val(notizTitle);
|
||||
$("#notizform :input[name='notiz']").val(notizContent);
|
||||
$("#notizform :input[name='notiz']").val(notizContent);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -137,6 +152,15 @@ $(document).ready(
|
||||
|
||||
});
|
||||
|
||||
function openZgvInfoForPrestudent(prestudent_id)
|
||||
{
|
||||
var screenwidth = screen.width;
|
||||
var popupwidth = 760;
|
||||
var marginleft = screenwidth - popupwidth;
|
||||
console.log(marginleft);
|
||||
window.open("../getZgvInfoForPrestudent/" + prestudent_id, "_blank","resizable=yes,scrollbars=yes,width="+popupwidth+",height="+screen.height+",left="+marginleft);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// ajax calls
|
||||
|
||||
@@ -145,7 +169,7 @@ function saveFormalGeprueft(personid, akteid, checked)
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: "../saveFormalGeprueft/" + personid,
|
||||
url: "../saveFormalGeprueft/" + personid + '?fhc_controller_id=' + fhc_controller_id,
|
||||
data: {"akte_id": akteid, "formal_geprueft": checked},
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
@@ -175,7 +199,7 @@ function zgvUebernehmen(personid, prestudentid, btn)
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
url: "../getLastPrestudentWithZgvJson/" + personid,
|
||||
url: "../getLastPrestudentWithZgvJson/" + personid + '?fhc_controller_id=' + fhc_controller_id,
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data !== null)
|
||||
@@ -215,7 +239,7 @@ function saveZgv(data)
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
data: data,
|
||||
url: "../saveZgvPruefung/" + prestudentid,
|
||||
url: "../saveZgvPruefung/" + prestudentid + '?fhc_controller_id=' + fhc_controller_id,
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data === prestudentid)
|
||||
@@ -241,7 +265,7 @@ function saveNotiz(personid, data)
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
data: data,
|
||||
url: "../saveNotiz/" + personid,
|
||||
url: "../saveNotiz/" + personid + '?fhc_controller_id=' + fhc_controller_id,
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
refreshNotizen();
|
||||
@@ -260,7 +284,7 @@ function updateNotiz(notizId, personId, data)
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
data: data,
|
||||
url: "../updateNotiz/" + notizId + "/" + personId,
|
||||
url: "../updateNotiz/" + notizId + "/" + personId + '?fhc_controller_id=' + fhc_controller_id,
|
||||
success: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data)
|
||||
@@ -309,7 +333,7 @@ function refreshNotizen()
|
||||
//readd tablesorter
|
||||
formatNotizTable()
|
||||
}
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
function formatNotizTable()
|
||||
+50
-17
@@ -1,18 +1,3 @@
|
||||
/*
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Javascript file for infocenter overview page
|
||||
*/
|
||||
@@ -48,7 +33,11 @@ function appendTableActionsHtml()
|
||||
|
||||
$.ajax({
|
||||
url: window.location.pathname.replace('infocenter/InfoCenter', 'Filters/rowNumber'),
|
||||
method: "GET"
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
},
|
||||
dataType: "json"
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
@@ -72,7 +61,9 @@ function appendTableActionsHtml()
|
||||
setTableActions();
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {});
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -111,3 +102,45 @@ function setTableActions()
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
function getUrlParameter(sParam)
|
||||
{
|
||||
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
|
||||
sURLVariables = sPageURL.split('&'),
|
||||
sParameterName,
|
||||
i;
|
||||
|
||||
for (i = 0; i < sURLVariables.length; i++)
|
||||
{
|
||||
sParameterName = sURLVariables[i].split('=');
|
||||
|
||||
if (sParameterName[0] === sParam)
|
||||
{
|
||||
return sParameterName[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Refreshes the side menu
|
||||
*/
|
||||
function refreshSideMenu()
|
||||
{
|
||||
$.ajax({
|
||||
url: window.location.pathname+"/setNavigationMenuArray",
|
||||
method: "GET",
|
||||
data: {
|
||||
fhc_controller_id: getUrlParameter("fhc_controller_id")
|
||||
}
|
||||
})
|
||||
.done(function(data, textStatus, jqXHR) {
|
||||
|
||||
renderSideMenu();
|
||||
|
||||
}).fail(function(jqXHR, textStatus, errorThrown) {
|
||||
alert(textStatus);
|
||||
});
|
||||
}
|
||||
@@ -1,22 +1,3 @@
|
||||
/*
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/**
|
||||
* provides helper functions for adding mottie tablesorter
|
||||
* enables easier configuration of the tablesorter by providing a common default configuration
|
||||
*/
|
||||
|
||||
/**
|
||||
* adds tablesorter to specified tableid, german date format, default theme
|
||||
* @param tableid
|
||||
+3
-3
@@ -34,7 +34,7 @@ else
|
||||
$projekt_obj = new projekt();
|
||||
if(isset($_REQUEST['filter']))
|
||||
{
|
||||
if($_REQUEST['filter']=='')
|
||||
if($_REQUEST['filter']=='' || $_REQUEST['filter']=='alle')
|
||||
$projekt_obj->getProjekte($oe);
|
||||
if($_REQUEST['filter']=='aktuell')
|
||||
$projekt_obj->getProjekteAktuell(false, $oe);
|
||||
@@ -68,8 +68,8 @@ for ($i=0;$i<count($projekt_obj->result);$i++)
|
||||
<PROJEKT:ende_iso>'.$projekt->ende.'</PROJEKT:ende_iso>
|
||||
<PROJEKT:ende>'.$datum_obj->formatDatum($projekt->ende,'d.m.Y').'</PROJEKT:ende>
|
||||
<PROJEKT:budget>'.$projekt->budget.'</PROJEKT:budget>
|
||||
<PROJEKT:farbe>'.$projekt->farbe.'</PROJEKT:farbe>
|
||||
<PROJEKT:anzahl_ma>'.$projekt->anzahl_ma.'</PROJEKT:anzahl_ma>
|
||||
<PROJEKT:farbe>'.$projekt->farbe.'</PROJEKT:farbe>
|
||||
<PROJEKT:anzahl_ma>'.$projekt->anzahl_ma.'</PROJEKT:anzahl_ma>
|
||||
<PROJEKT:aufwand_pt>'.$projekt->aufwand_pt.'</PROJEKT:aufwand_pt>
|
||||
<PROJEKT:aufwandstyp_kurzbz>'.$projekt->aufwandstyp_kurzbz.'</PROJEKT:aufwandstyp_kurzbz>
|
||||
</RDF:Description>'."\n";
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 80 KiB |
@@ -180,6 +180,10 @@ treechildren::-moz-tree-cell-text(Aktiv_Nein)
|
||||
{
|
||||
color: grey;
|
||||
}
|
||||
treechildren::-moz-tree-cell-text(Aktiv_false)
|
||||
{
|
||||
color: grey;
|
||||
}
|
||||
treechildren::-moz-tree-cell(Lektor_inaktiv)
|
||||
{
|
||||
color: grey;
|
||||
|
||||
@@ -795,6 +795,7 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1"))
|
||||
else
|
||||
echo '<br>Created table system.tbl_extensions';
|
||||
|
||||
|
||||
// GRANT SELECT ON TABLE system.tbl_extensions TO web;
|
||||
$qry = 'GRANT SELECT ON TABLE system.tbl_extensions TO web;';
|
||||
if (!$db->db_query($qry))
|
||||
@@ -845,6 +846,20 @@ if(!@$db->db_query("SELECT 0 FROM system.tbl_extensions WHERE 0 = 1"))
|
||||
echo '<br>Altered sequence system.tbl_extensions_id_seq';
|
||||
}
|
||||
|
||||
// Adds primary key to system.tbl_extensions using column extension_id
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_extensions_extension_id'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "ALTER TABLE system.tbl_extensions ADD CONSTRAINT pk_extensions_extension_id PRIMARY KEY (extension_id);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_extensions '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>system.tbl_extensions: added primary key on column extension_id';
|
||||
}
|
||||
}
|
||||
|
||||
// UNIQUE INDEX uidx_extensions_name_version
|
||||
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_extensions_name_version'"))
|
||||
{
|
||||
@@ -2218,6 +2233,20 @@ if($result = $db->db_query("SELECT view_definition FROM information_schema.views
|
||||
}
|
||||
}
|
||||
|
||||
// OE_KURZBZ in system.tbl_filters auf 32 Zeichen verlängert
|
||||
if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='system' AND TABLE_NAME='tbl_filters' AND COLUMN_NAME = 'oe_kurzbz' AND character_maximum_length=16"))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
$qry = " ALTER TABLE system.tbl_filters ALTER COLUMN oe_kurzbz TYPE varchar(32)";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_filters '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte oe_kurzbz in system.tbl_filters von varchar(16) auf varchar(32) geändert<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -78,12 +78,12 @@ $error_msg='';
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht alle BenutzerInnen aus NICHT-generierten Verteilern im Studiengang 0 (Erhalter), deren Account vor mehr als 3 Wochen deaktiviert wurde
|
||||
* Löscht alle BenutzerInnen aus NICHT-generierten Verteilern die nicht für die Lehre sind (Attribut lehre=false), deren Account vor mehr als 3 Wochen deaktiviert wurde
|
||||
*/
|
||||
|
||||
$qry_delete = " DELETE FROM public.tbl_benutzergruppe
|
||||
WHERE tbl_benutzergruppe.studiensemester_kurzbz IS NULL
|
||||
AND gruppe_kurzbz IN (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE generiert=false AND studiengang_kz=0)
|
||||
AND gruppe_kurzbz IN (SELECT gruppe_kurzbz FROM public.tbl_gruppe WHERE generiert=false AND lehre=false)
|
||||
AND uid IN (SELECT uid FROM public.tbl_benutzer WHERE aktiv=false AND updateaktivam<now()-'3 weeks'::interval);";
|
||||
|
||||
if(!($result = $db->db_query($qry_delete)))
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Manfred kindl <manfred.kindl@technikum-wien.at>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Dieses Skript durchläuft alle Dateien vom Typ .sql im Ordner system/sql.
|
||||
* Wenn von diesen SQLs Datensätze retourniert werden oder Fehler auftreten, werden diese in ein Mail gepackt und an MAIL_ADMIN geschickt.
|
||||
*/
|
||||
|
||||
require_once('../config/global.config.inc.php');
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/mail.class.php');
|
||||
|
||||
// Datenbankverbindung herstellen
|
||||
if (! $db = new basis_db ())
|
||||
die ( 'Es konnte keine Verbindung zum Server aufgebaut werden.' );
|
||||
|
||||
$slq_import_path = DOC_ROOT.'system/sql';
|
||||
$mailcontent = '';
|
||||
$mailheader = '
|
||||
<style type="text/css">
|
||||
.error
|
||||
{
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
.table
|
||||
{
|
||||
font-size: small;
|
||||
cellpadding: 3px;
|
||||
}
|
||||
.table th
|
||||
{
|
||||
background: #DCE4EF;
|
||||
border: 1px solid #FFF;
|
||||
padding: 4px;
|
||||
text-align: left;
|
||||
}
|
||||
.table td
|
||||
{
|
||||
background-color: #EEEEEE;
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
</style>';
|
||||
|
||||
// Wenn das Script ueber die Kommandozeile aufgerufen wird, erfolgt keine Authentifizierung
|
||||
if (php_sapi_name() != 'cli')
|
||||
{
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('admin'))
|
||||
{
|
||||
exit($rechte->errormsg);
|
||||
}
|
||||
}
|
||||
$files = glob($slq_import_path.'/*.sql');
|
||||
$filename = '';
|
||||
$db_row = '';
|
||||
|
||||
if (($files = glob($slq_import_path.'/*.sql')) != false)
|
||||
{
|
||||
foreach ($files as $file)
|
||||
{
|
||||
$filename = (basename($file));
|
||||
$sql = file_get_contents($file);
|
||||
|
||||
// Checken, ob letztes Zeichen ; ist, wenn nicht, hinzufügen
|
||||
if (substr($sql, -1, 1) != ';')
|
||||
$sql = $sql .= '; ';
|
||||
|
||||
// Wenn Fehler auftritt, diesen ins Mail schreiben
|
||||
if (! $result = $db->db_query ($sql))
|
||||
{
|
||||
$mailcontent .= '<h3>Die Abfrage der Datei "'.$filename.'" hat folgenden Fehler geliefert:</h3>';
|
||||
$mailcontent .= '<span class="error">'.$db->db_last_error () . '</span><br>';
|
||||
$mailcontent .= '<pre>'.$sql.'</pre><br>';
|
||||
continue;
|
||||
}
|
||||
|
||||
// Wenn rows vom SQL zurückkommen, diese ins Mail schreiben
|
||||
if ($db->db_num_rows($result) > 0)
|
||||
{
|
||||
$mailcontent .= '<h3>Die Abfrage der Datei "'.$filename.'" hat folgendes Ergebnis geliefert:</h3>';
|
||||
|
||||
// Wenn zu viele Datensätze retourniert werden, abbrechen und Meldung ausgeben
|
||||
if ($db->db_num_rows($result) > 1000)
|
||||
$mailcontent .= '<span class="error">ACHTUNG! Es wurden mehr als 1000 Datensätze zurückgegeben</span><br>';
|
||||
|
||||
$mailcontent .= '<table class="table"><thead><tr>';
|
||||
$array = array();
|
||||
$object = $db->db_fetch_object($result);
|
||||
$row_array = get_object_vars($object);
|
||||
foreach($row_array AS $key => $value)
|
||||
{
|
||||
$mailcontent .= '<th>'.$key.'</th>';
|
||||
}
|
||||
$mailcontent .= '</tr></thead><tbody>';
|
||||
$counter = 0; // Wenn mehr als 1000 Datensätze retourniert werden, abbrechen
|
||||
$result = $db->db_query ($sql);
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if ($counter == 1000)
|
||||
break;
|
||||
|
||||
$mailcontent .= '<tr>';
|
||||
foreach ($row AS $column)
|
||||
{
|
||||
$mailcontent .= '<td>'.($column === 'f' ? 'false' : ($column === 't' ? 'true' : $column)).'</td>';
|
||||
}
|
||||
$mailcontent .= '</tr>';
|
||||
$counter++;
|
||||
}
|
||||
$mailcontent .= '</tbody></table>';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
$mailcontent = '';
|
||||
|
||||
// Wenn Mailcontent nicht leer ist, Mail senden
|
||||
if ($mailcontent != '')
|
||||
{
|
||||
$mailcontent = $mailheader.$mailcontent;
|
||||
echo $mailcontent;
|
||||
|
||||
$mail = new mail(MAIL_ADMIN, 'no-reply', 'Fehler in System Check "addons/bewerbung/cronjobs/system_check.php"', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Inhalt vollständig darzustellen.');
|
||||
$mail->setHTMLContent($mailcontent);
|
||||
$mail->send();
|
||||
}
|
||||
else
|
||||
echo 'Es sind keine Fehler aufgetreten';
|
||||
|
||||
|
||||
@@ -686,7 +686,6 @@
|
||||
<text:section text:style-name="Sect1" text:name="Bereich1">
|
||||
<text:h text:style-name="P72" text:outline-level="1">Ausbildungsvertrag</text:h>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="svnr = ''"><text:p text:style-name="P91">Keine Sozialversicherungsnummer oder Ersatzkennzeichen vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="gebdatum = ''"><text:p text:style-name="P91">Kein Geburtsdatum vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="titel_kurzbz = ''"><text:p text:style-name="P91">Kein akademischer Grad vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="student_maxsemester = ''"><text:p text:style-name="P91">Keine Ausbildungsdauer vorhanden</text:p></xsl:if>
|
||||
@@ -733,52 +732,6 @@
|
||||
<text:p text:style-name="P4">
|
||||
<text:span text:style-name="T12">Geburtsdatum (Date of birth): <text:tab/><xsl:value-of select="gebdatum"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P4">
|
||||
<text:span text:style-name="T10">Sozialversicherungsnr. </text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T10">
|
||||
<text:note text:id="ftn1" text:note-class="footnote">
|
||||
<text:note-citation>1</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T15">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T2">Gemäß § 3 Absatz 1 des Bildungsdokumentationsgesetzes idgF und der Bildungsdokumentationsverordnung-Fachhochschulen idgF<text:s/>hat der Erhalter die Sozialversicherungsnummer zu erfassen und gemäß § 7 Absatz 2 im Wege der Agentur für Qualitätssicherung und Akkreditierung Austria an das zuständige Bundesministerium und die Bundesanstalt Statistik Österreich zu übermitteln.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P8"/>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T10"> </text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="T13">:<text:tab/><xsl:value-of select="svnr"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P5">
|
||||
<text:span text:style-name="T12">
|
||||
<text:tab/>(Social security number)</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T12">
|
||||
<text:note text:id="ftn2" text:note-class="footnote">
|
||||
<text:note-citation>2</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T17">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T4">Pursuant to § 3 section 1 of the Education Documentation Act as amended and the Education Documentation Regulation for Universities of Applied Sciences as amended, the operator shall record the social security number pursuant to § 7 paragraph 2 and shall transfer it via the Agency for Quality Assurance and Accreditation Austria to the competent Ministry and Statistics Austria.</text:span>
|
||||
</text:p>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T12"> </text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="T12">: </text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P17"/>
|
||||
<text:p text:style-name="P17"/>
|
||||
<text:p text:style-name="P3">
|
||||
@@ -1220,7 +1173,7 @@
|
||||
<text:span text:style-name="T40">6.2.9 Verwertungsrechte</text:span>
|
||||
<text:span text:style-name="T41"> </text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P39">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der Studentin oder dem Studenten getroffen wurden, ist die Studentin oder der Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen auf dessen schriftliche Anfrage hin anzubieten.</text:p>
|
||||
<text:p text:style-name="P39">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der Studentin oder dem Studenten getroffen wurden, ist die Studentin oder der Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.</text:p>
|
||||
<text:p text:style-name="P39"/>
|
||||
<text:p text:style-name="P41">6.2.10 Aufzeichnungen und Mitschnitte</text:p>
|
||||
<text:p text:style-name="P39">Es ist der/dem Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, StudiVZ etc., aber auch auf Youtube usw. oder durch sonstige für diese Zwecke geeignete Kommunikations-mittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben. </text:p>
|
||||
@@ -1233,7 +1186,7 @@
|
||||
<text:p text:style-name="P20">Die Studentin bzw. der Student ist zur Geheimhaltung von Forschungs- und Entwicklungsaktivitäten und -ergebnissen gegenüber Dritten verpflichtet. </text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P67">6.2.9 Exploitation Rights</text:p>
|
||||
<text:p text:style-name="P20">Unless other arrangements have been agreed between the operator and the student at an individual level, on written request, the student undertakes to offer the operator the rights to research and development results. </text:p>
|
||||
<text:p text:style-name="P20">Unless otherwise agreed between the operator and the student on an individual basis, the student is required, upon written request, to offer the operator the rights to research and development results generated as part of funded projects.</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
@@ -1244,7 +1197,6 @@
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">6.2.11 Confidentiality </text:p>
|
||||
<text:p text:style-name="P20">The student is required to maintain confidentiality towards third parties of research and development activities and results. </text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
@@ -1254,7 +1206,7 @@
|
||||
<text:p text:style-name="P39">Im Falle eines Unfalles mit körperlicher Verletzung des/der Studierenden im Zusammenhang mit dem Studium ist die/der Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Dies betrifft auch Wegunfälle zur oder von der FH.</text:p>
|
||||
<text:p text:style-name="P39"/>
|
||||
<text:p text:style-name="P39">6.2.13 Schadensmeldung </text:p>
|
||||
<text:p text:style-name="P39">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P39">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die Studierende verpflichtet, diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P39"/>
|
||||
<text:p text:style-name="P92">6.2.14 Rückgabeverpflichtung bei Studienende </text:p>
|
||||
<text:p text:style-name="P39">Die Studentin bzw. der Student ist verpflichtet, bei einer Beendigung des Studiums unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.</text:p>
|
||||
@@ -1280,7 +1232,8 @@
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">6.2.13 Damage Report</text:p>
|
||||
<text:p text:style-name="P20">If any damage should be caused to the inventory of the University of Applied Sciences, the student undertakes to report this to the administrative assistant of the degree program within three days. Any liability claims shall remain unaffected.</text:p>
|
||||
<text:p text:style-name="P20">In the case of damage to the inventory of the University of Applied Sciences, the student is obliged to notify the course secretariat immediately, but no later than within three days. Any liability claims remain unaffected.</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P92">6.2.14 Obligation to Return Borrowed Items</text:p>
|
||||
<text:p text:style-name="P20">The student undertakes to return promptly all equipment, books, keys and other materials that have been made available, when the course is finished or broken off.</text:p>
|
||||
@@ -1336,7 +1289,7 @@
|
||||
<text:p text:style-name="P76">persönliche<text:span text:style-name="T24">m</text:span> Verhalten, das zu einer Beeinträchtigung des Images und/oder Betriebes des Studienganges, der Fach-hochschule bzw. des Erhalters oder von Personen führt, die für die Fachhochschule bzw. den Erhalter tätig sind;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P76">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen anzubieten (siehe Pkt. 6.2.9);</text:p>
|
||||
<text:p text:style-name="P76">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen einzuräumen (siehe Pkt. 6.2.9);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P76">Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.11); </text:p>
|
||||
@@ -1414,7 +1367,7 @@
|
||||
<text:span text:style-name="T38">Das gesamte Studienprogramm wird in englischer Sprache angeboten. Die Studentin bzw. der Student erklärt, die englische Sprache in Wort und Schrift in dem für eine akademische Ausbildung erforderlichen Ausmaß zu beherrschen.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P71"/>
|
||||
<text:p text:style-name="P53">Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet und e-mail) trägt der Student bzw. die Studentin. </text:p>
|
||||
<text:p text:style-name="P53">Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet) trägt der Student bzw. die Studentin. </text:p>
|
||||
</xsl:if>
|
||||
<text:list xml:id="list101940709679101" text:continue-numbering="true" text:style-name="WW8Num4">
|
||||
<text:list-item>
|
||||
@@ -1444,7 +1397,7 @@
|
||||
</text:p>
|
||||
<text:p text:style-name="P56"/>
|
||||
<text:p text:style-name="P56"/>
|
||||
<text:p text:style-name="P55">Students in the program are required to obtain and maintain computer equipment which allows them to participate in the distance learning elements. The total cost of acquisition and operation (including costs for Internet and e-mail) shall be borne by the student. </text:p>
|
||||
<text:p text:style-name="P55">Students in the program are required to obtain and maintain computer equipment which allows them to participate in the distance learning elements. The total cost of acquisition and operation (including costs for Internet) shall be borne by the student. </text:p>
|
||||
</xsl:if>
|
||||
<text:p text:style-name="P65">
|
||||
<text:soft-page-break/>
|
||||
|
||||
@@ -715,7 +715,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:h text:style-name="P98" text:outline-level="1">Ausbildungsvertrag</text:h>
|
||||
<text:p text:style-name="P54">außerordentliches Studium (Besuch einzelner Lehrveranstaltungen eines Studiengangs)</text:p>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="svnr = ''"><text:p text:style-name="P100">Keine Sozialversicherungsnummer oder Ersatzkennzeichen vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="gebdatum = ''"><text:p text:style-name="P100">Kein Geburtsdatum vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="student_maxsemester = ''"><text:p text:style-name="P100">Keine Ausbildungsdauer vorhanden</text:p></xsl:if>
|
||||
<text:p text:style-name="P7"/>
|
||||
@@ -757,52 +756,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P3">
|
||||
<text:span text:style-name="T15">Geburtsdatum (Date of birth): <text:tab/><xsl:value-of select="gebdatum"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P3">
|
||||
<text:span text:style-name="T12">Sozialversicherungsnr. </text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T12">
|
||||
<text:note text:id="ftn1" text:note-class="footnote">
|
||||
<text:note-citation>1</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="P64">
|
||||
<text:span text:style-name="T19">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T2">Gemäß § 3 Absatz 1 des Bildungsdokumentationsgesetzes idgF und der Bildungsdokumentationsverordnung-Fachhochschulen idgF hat der Erhalter die Sozialversicherungsnummer zu erfassen und gemäß § 7 Absatz 2 im Wege der Agentur für Qualitätssicherung und Akkreditierung Austria an das zuständige Bundesministerium und die Bundesanstalt Statistik Österreich zu übermitteln. </text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P53"/>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T12"> </text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="T17">:<text:tab/><xsl:value-of select="svnr"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P4">
|
||||
<text:span text:style-name="T15">
|
||||
<text:tab/>(Social security number)</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T15">
|
||||
<text:note text:id="ftn2" text:note-class="footnote">
|
||||
<text:note-citation>2</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T20">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T5">Pursuant to § 3 section 1 of the Education Documentation Act as amended and the Education Documentation Regulation for Universities of Applied Sciences as amended, the operator shall record the social security number pursuant to § 7 paragraph 2 and shall transfer it via the Agency for Quality Assurance and Accreditation Austria to the competent Ministry and Statistics Austria. </text:span>
|
||||
</text:p>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T15"> </text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="T15">: </text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P34"/>
|
||||
<text:p text:style-name="P55">
|
||||
<text:span text:style-name="T15">(kurz „ao. Studentin“ bzw. „ao. Student“ genannt)<text:tab/>(referred to as "external student")</text:span>
|
||||
@@ -1049,11 +1002,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P25">
|
||||
<text:span text:style-name="Strong_20_Emphasis"/>
|
||||
</text:p>
|
||||
<text:p text:style-name="P25">
|
||||
<text:span text:style-name="Strong_20_Emphasis">
|
||||
<text:span text:style-name="T12"/>
|
||||
</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P25">
|
||||
<text:span text:style-name="Strong_20_Emphasis">
|
||||
<text:span text:style-name="T9">6.1 Rights </text:span>
|
||||
@@ -1106,6 +1054,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:span text:style-name="T51">Die ao. Studentin bzw. der ao. Student</text:span> ist verpflichtet, zwei Wochen vor Beginn jedes Semesters einen Studienbeitrag gemäß Fachhochschul-Studiengesetz in der Höhe von derzeit € 363,36 netto pro Semester zu entrichten. Im Falle einer Erhöhung des gesetzlichen Studienbeitragssatzes erhöht sich der angeführte Betrag entsprechend. </text:p>
|
||||
<text:p text:style-name="P40">Die vollständige Bezahlung des Studienbeitrags ist Voraussetzung für die Aufnahme bzw. die Fortsetzung des ao. Studiums. Bei Nichtantritt des ao. Studiums oder Abbruch zu Beginn oder während des Semesters verfällt der Studienbeitrag. </text:p>
|
||||
<text:p text:style-name="P40"/>
|
||||
<text:p text:style-name="P40"/>
|
||||
<text:p text:style-name="P47">6.2.3 ÖH-Beitrag</text:p>
|
||||
<text:p text:style-name="P47">Gemäß § 4 Abs 10 FHStG sind Studierende an Fachhochschulen Mitglieder der Österreichischen HochschülerInnenschaft (ÖH). Der/Die ao. Studierende hat semesterweise einen ÖH-Beitrag an den Erhalter zu entrichten, der diesen an die ÖH abführt. Die Entrichtung des Betrags ist Voraussetzung für die Zulassung zum ao. Studium bzw. für dessen Fortsetzung.</text:p>
|
||||
<text:p text:style-name="P47"/>
|
||||
@@ -1153,7 +1102,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:span text:style-name="T52">Die ao. Studentin bzw. der ao. Student</text:span> hat unaufgefordert dafür zu sorgen, dass die von ihr/ihm beigebrachten Daten aktuell sind. Änderungen sind der Studiengangsassistenz unverzüglich schriftlich mitzuteilen. Darüber hinaus trifft sie/ihn die Pflicht, sich von studienbezogenen Informationen, die ihr/ihm an die vom Erhalter zur Verfügung gestellte Emailadresse zugestellt werden, in geeigneter Weise Kenntnis zu verschaffen.</text:p>
|
||||
<text:p text:style-name="P50"/>
|
||||
<text:p text:style-name="P52">6.2.8 Verwertungsrechte </text:p>
|
||||
<text:p text:style-name="P52">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen auf dessen schriftliche Anfrage hin anzubieten.</text:p>
|
||||
<text:p text:style-name="P52">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.</text:p>
|
||||
<text:p text:style-name="P52"/>
|
||||
<text:p text:style-name="P52">6.2.9 Aufzeichnungen und Mitschnitte</text:p>
|
||||
<text:p text:style-name="P52">Es ist der/dem ao. Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, StudiVZ etc, aber auch auf Youtube usw. oder durch sonstige für diese Zwecke geeignete Kommunikations-mittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben. </text:p>
|
||||
@@ -1166,7 +1115,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P18"/>
|
||||
<text:p text:style-name="P18"/>
|
||||
<text:p text:style-name="P48">6.2.8 Exploitation Rights</text:p>
|
||||
<text:p text:style-name="P48">Unless other arrangements have been agreed between the operator and the external student at an individual level, on written request, the external student undertakes to offer the operator the rights to research and development results. </text:p>
|
||||
<text:p text:style-name="P48">Unless otherwise agreed between the operator and the student on an individual basis, the student is required, upon written request, to offer the operator the rights to research and development results generated as part of funded projects.</text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">6.2.9 Recordings </text:p>
|
||||
@@ -1180,7 +1131,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P48">Im Falle eines Unfalles mit körperlicher Verletzung des/der ao. Studierenden im Zusammenhang mit dem ao. Studium ist die/der ao. Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Dies betrifft auch Wegunfälle zur oder von der FH.</text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">6.2.12 Schadensmeldung </text:p>
|
||||
<text:p text:style-name="P48">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P48">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">6.2.13 Rückgabeverpflichtung bei Studienende </text:p>
|
||||
<text:p text:style-name="P48">Die ao. Studentin bzw. der ao. Student ist verpflichtet, bei einer Beendigung des ao. Studiums unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.</text:p>
|
||||
@@ -1195,7 +1146,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P48">In the event of an accident with bodily injury to an external student in connection with his / her external studies, he / she is obliged to report this to the administrative assistant of the degree program within three days. This also applies to accidents on the way to or from the UAS. </text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">6.2.12 Damage Report</text:p>
|
||||
<text:p text:style-name="P48">If any damage should be caused to the inventory of the University of Applied Sciences, the external student undertakes to report this to the administrative assistant of the degree program within three days. Any liability claims shall remain unaffected.</text:p>
|
||||
<text:p text:style-name="P48">In the case of damage to the inventory of the University of Applied Sciences, the student is obliged to notify the course secretariat immediately, but no later than within three days. Any liability claims remain unaffected.</text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">6.2.13 Obligation to Return Borrowed Items</text:p>
|
||||
<text:p text:style-name="P48">The external student undertakes to return promptly all equipment, books, keys and other materials that have been made available, when the course is finished or broken off.</text:p>
|
||||
@@ -1236,7 +1189,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P85">persönlichem Verhalten, das zu einer Beeinträchtigung des Images und/oder Betriebes des Studienganges, der Fach-hochschule bzw. des Erhalters oder von Personen führt, die für die Fachhochschule bzw. den Erhalter tätig sind;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P87">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen anzubieten (siehe Pkt. 6.2.8);</text:p>
|
||||
<text:p text:style-name="P87">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen einzuräumen (siehe Pkt. 6.2.8);</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P67">
|
||||
@@ -1292,7 +1245,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P93">
|
||||
<text:soft-page-break/>Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.1<text:span text:style-name="T53">0</text:span>); </text:p>
|
||||
<text:soft-page-break/>Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.10); </text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P83">strafgerichtlicher Verurteilung (wobei die Art des Deliktes und der Grad der Schuld berücksichtigt werden);</text:p>
|
||||
@@ -1301,7 +1254,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P83">Nichterfüllung finanzieller Verpflichtungen trotz Mahnung (z.B. Unkostenbeitrag, Studienbeitrag etc.); </text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P82">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.<text:span text:style-name="T53">6</text:span>);</text:p>
|
||||
<text:p text:style-name="P82">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.6);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P82">Plagiieren im Rahmen wissenschaftlicher Arbeiten.</text:p>
|
||||
@@ -1319,7 +1272,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
<text:list xml:id="list183619874298973" text:continue-numbering="true" text:style-name="WW8Num4">
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P93">breach of confidentiality (see Section 6.2.1<text:span text:style-name="T53">0</text:span>);</text:p>
|
||||
<text:p text:style-name="P93">breach of confidentiality (see Section 6.2.10);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P83">a criminal conviction (whereby the nature of the offence and the level of culpability are taken into account);</text:p>
|
||||
@@ -1328,7 +1281,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P83">non-fulfilment of the financial obligations, despite a reminder (e.g. contribution towards expenses, tuition fees , etc.); </text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P82">refusal to provide any data (see section 6.2.<text:span text:style-name="T53">6</text:span>); </text:p>
|
||||
<text:p text:style-name="P82">refusal to provide any data (see section 6.2.6);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P82">plagiarism in academic work.</text:p>
|
||||
@@ -1354,14 +1307,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P90"/>
|
||||
<text:p text:style-name="P90">Falls das gesamte Studienprogramm in englischer Sprache angeboten wird, erklärt die ao. Studentin bzw. der ao. Student, die englische Sprache in Wort und Schrift in dem für eine akademische Ausbildung erforderlichen Ausmaß zu beherrschen.</text:p>
|
||||
<text:p text:style-name="P90"/>
|
||||
<text:p text:style-name="P90">Ao. Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet und e-mail) trägt der ao. Student bzw. die ao. Studentin.</text:p>
|
||||
<text:p text:style-name="P90">Ao. Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet) trägt der ao. Student bzw. die ao. Studentin.</text:p>
|
||||
<text:p text:style-name="P90"/>
|
||||
<text:p text:style-name="P94">8. Supplementary Agreements </text:p>
|
||||
<text:p text:style-name="P90"/>
|
||||
<text:p text:style-name="P90">If the degree program is offered in English, the external student declares to master the English language in word and in writing to the extent necessary for an academic degree program.</text:p>
|
||||
<text:p text:style-name="P90"/>
|
||||
<text:p text:style-name="P90"/>
|
||||
<text:p text:style-name="P90">External students in the program are required to obtain and maintain computer equipment which allows them to participate in the distance learning elements. The total cost of acquisition and operation (including costs for Internet and e-mail) shall be borne by the external student. </text:p>
|
||||
<text:p text:style-name="P90">External students in the program are required to obtain and maintain computer equipment which allows them to participate in the distance learning elements. The total cost of acquisition and operation (including costs for Internet) shall be borne by the external student. </text:p>
|
||||
</xsl:if>
|
||||
<text:p text:style-name="P75">
|
||||
<text:span text:style-name="T26">
|
||||
|
||||
@@ -909,53 +909,6 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P2">
|
||||
<text:span text:style-name="T15">Geburtsdatum (Date of birth): <text:tab/><xsl:value-of select="gebdatum"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P2">
|
||||
<text:span text:style-name="T13">Sozialversicherungsnr. </text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T13">
|
||||
<text:note text:id="ftn1" text:note-class="footnote">
|
||||
<text:note-citation>1</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T18">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T2">Gemäß § 3 Absatz 1 des Bildungsdokumentationsgesetzes idgF und der Bildungsdokumentationsverordnung-Fachhochschulen <text:s/>idgF hat der Erhalter die Sozialversicherungsnummer zu erfassen und gemäß § 7 Absatz 2 im Wege der Agentur für Qualitätssicherung und Akkreditierung Austria an das zuständige Bundesministerium und die Bundesanstalt Statistik Österreich zu übermitteln.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P6"/>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T13"> </text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="T16">:<text:tab/><xsl:value-of select="svnr"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P3">
|
||||
<text:span text:style-name="T15">
|
||||
<text:tab/>(Social security number)</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T15">
|
||||
<text:note text:id="ftn2" text:note-class="footnote">
|
||||
<text:note-citation>2</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T20">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T4">Pursuant to § 3 section 1 of the Education Documentation Act as amended and the Education Documentation Regulation for Universities of Applied Sciences as amended, the operator shall record the social security number pursuant to § 7 paragraph 2 and shall transfer it via the Agency for Quality Assurance and Accreditation Austria to the competent Ministry and Statistics Austria.</text:span>
|
||||
</text:p>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T15"> </text:span>
|
||||
</text:span>
|
||||
<text:span text:style-name="T15">: <text:tab/>
|
||||
</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P41"/>
|
||||
</text:section>
|
||||
<text:section text:style-name="Sect1" text:name="Bereich3">
|
||||
@@ -1355,11 +1308,11 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P36">Die ao. Studentin bzw. der ao. Student hat unaufgefordert dafür zu sorgen, dass die von ihr/ihm beigebrachten Daten aktuell sind. Änderungen sind der Studiengangsassistenz unverzüglich schriftlich mitzuteilen. Darüber hinaus trifft sie/ihn die Pflicht, sich von studienbezogenen Informationen, die ihr/ihm an die vom Erhalter zur Verfügung gestellte Emailadresse zugestellt werden, in geeigneter Weise Kenntnis zu verschaffen.</text:p>
|
||||
<text:p text:style-name="P38"/>
|
||||
<text:p text:style-name="P38">6.2.5 Verwertungsrechte </text:p>
|
||||
<text:p text:style-name="P38">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen auf dessen schriftliche Anfrage hin anzubieten.</text:p>
|
||||
<text:p text:style-name="P38">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.</text:p>
|
||||
<text:p text:style-name="P38"/>
|
||||
<text:p text:style-name="P38">6.2.6 Aufzeichnungen und Mitschnitte</text:p>
|
||||
<text:p text:style-name="P38">Es ist der/dem ao. Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, WhatsAPP, LinkedIn, XING etc, aber auch auf Youtube, Instagram usw. oder durch sonstige für diese Zwecke geeignete Kommunikations-mittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben. </text:p>
|
||||
<text:p text:style-name="P38">Ausgenommen hiervon ist eine Aufzeichnung zu ausschließlichen Lern-, Studien- und Forschungszwecken und zum privaten Gebrauch, sofern hierfür der / die Vortragende vorab ausdrücklich seine / ihre schriftliche Zustimmung erteilt hat. </text:p>
|
||||
<text:p text:style-name="P38">Ausgenommen hiervon ist eine Aufzeichnung zu ausschließlichen Lern-, Studien- und Forschungszwecken und</text:p>
|
||||
<text:p text:style-name="P92">6.2.4 Updating personal data and the retrieval of information</text:p>
|
||||
<text:p text:style-name="P57">
|
||||
<text:span text:style-name="T48">Without being reminded, the external student must ensure that the data provided by them is up-to-date. Changes are to be immediately communicated to the administrative assistant in writing. Furthermore, it is the students’ responsibility to make themselves suitably aware of information relating to their studies which has been sent to them at the email address provided for them by the operator.</text:span>
|
||||
@@ -1367,16 +1320,20 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P57"/>
|
||||
<text:p text:style-name="P57"/>
|
||||
<text:p text:style-name="P68">6.2.5 Exploitation Rights</text:p>
|
||||
<text:p text:style-name="P68">Unless other arrangements have been agreed between the operator and the external student at an individual level, on written request, the external student undertakes to offer the operator the rights to research and development results. </text:p>
|
||||
<text:p text:style-name="P68">Unless otherwise agreed between the operator and the student on an individual basis, the student is required, upon written request, to offer the operator the rights to research and development results generated as part of funded projects.</text:p>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68">6.2.6 Recordings </text:p>
|
||||
<text:p text:style-name="P68">It is expressly forbidden for the external student to record lectures in part or in total (e.g. by using film and / or sound recordings or other audio-visual means suitable for this purpose). In addition, any form of making the aforementioned recordings publically available (wired or wireless) for example in social networks such as Facebook, WhatsAPP, LinkedIn, XING etc, but also on Youtube, Instagram etc., or by other means of communication designed for these purposes is strictly prohibited. These regulations shall apply correspondingly to scripts, other learning aids and examination data. </text:p>
|
||||
<text:p text:style-name="P68">The only exception is a recording exclusively for the purpose of learning, study and research and for personal use, provided that the lecturer has expressly granted his / her prior written consent.<text:bookmark-start text:name="_Ref78867653"/>
|
||||
<text:p text:style-name="P68">The only exception is a recording exclusively for the purpose of learning, study and research<text:bookmark-start text:name="_Ref78867653"/>
|
||||
</text:p>
|
||||
<text:p text:style-name="P33"/>
|
||||
<text:p text:style-name="P33"/>
|
||||
<text:p text:style-name="P33"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68">zum privaten Gebrauch, sofern hierfür der / die Vortragende vorab ausdrücklich seine / ihre schriftliche Zustimmung erteilt hat. </text:p>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P33">
|
||||
<text:soft-page-break/>
|
||||
<text:span text:style-name="T42">6.2.7</text:span>
|
||||
@@ -1386,8 +1343,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P13">Die ao. Studentin bzw. der ao. Student ist zur Geheimhaltung von Forschungs- und Entwicklungsaktivitäten und -ergebnissen gegenüber Dritten verpflichtet. </text:p>
|
||||
<text:p text:style-name="P13"/>
|
||||
<text:p text:style-name="P68">6.2.8 Schadensmeldung</text:p>
|
||||
<text:p text:style-name="P68">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen innerhalb von drei Tagen dem Lehrgangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Lehrgangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68">6.2.9 Rückgabeverpflichtung bei Studienende</text:p>
|
||||
<text:p text:style-name="P68">Die ao. Studentin bzw. der ao. Student ist verpflichtet, bei einer Beendigung des Lehrgangs unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.</text:p>
|
||||
@@ -1405,12 +1361,16 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</text:p>
|
||||
<text:p text:style-name="P70">Die ao. Studentin bzw. der ao. Student kann den Ausbildungsvertrag schriftlich jeweils zum Ende eines Semesters kündigen. <text:span text:style-name="T49">Die Verpflichtung zur vollständigen Leistung der Lehrgangskosten wird von einer Kündigung durch die ao. Studentin bzw. den ao. Studenten nicht berührt.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P93">6.2.7 Confidentiality </text:p>
|
||||
<text:p text:style-name="P93">and for personal use, provided that the lecturer has expressly granted his / her prior written consent.</text:p>
|
||||
<text:p text:style-name="P13"/>
|
||||
<text:p text:style-name="P68">6.2.7 Confidentiality</text:p>
|
||||
<text:p text:style-name="P13">The external student is required to maintain confidentiality towards third parties of research and development activities and results. </text:p>
|
||||
<text:p text:style-name="P13"/>
|
||||
<text:p text:style-name="P13"/>
|
||||
<text:p text:style-name="P68">6.2.8 Damage Report</text:p>
|
||||
<text:p text:style-name="P68">If any damage should be caused to the inventory of the University of Applied Sciences, the external student undertakes to report this to the administrative assistant of the Certificate Program for Further Education within three days. Any liability claims shall remain unaffected.</text:p>
|
||||
<text:p text:style-name="P68">In the case of damage to the inventory of the University of Applied Sciences, the student is obliged to notify the course secretariat immediately, but no later than within three days. Any liability claims remain unaffected.</text:p>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68"/>
|
||||
<text:p text:style-name="P68">6.2.9 Obligation to Return Borrowed Items</text:p>
|
||||
<text:p text:style-name="P68">The external student undertakes to return promptly all equipment, books, keys and other materials that have been made available, when the Certificate Program for Further Education is finished or broken off.</text:p>
|
||||
@@ -1461,10 +1421,10 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P99">persönlichem Verhalten, das zu einer Beeinträchtigung des Images und/oder Betriebes des Lehrganges, der Fach-hochschule bzw. des Erhalters oder von Personen führt, die für die Fachhochschule bzw. den Erhalter tätig sind;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P99">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen anzubieten (siehe Pkt. 6.2.<text:span text:style-name="T51">5</text:span>);</text:p>
|
||||
<text:p text:style-name="P99">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen einzuräumen (siehe Pkt. 6.2.5);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P99">Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.<text:span text:style-name="T51">7</text:span>); </text:p>
|
||||
<text:p text:style-name="P99">Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.7); </text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P99">strafgerichtlicher Verurteilung (wobei die Art des Deliktes und der Grad der Schuld berücksichtigt werden);</text:p>
|
||||
@@ -1501,11 +1461,11 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P99">personal behavior, which leads to an adverse effect on the image and / or operation of the Certificate Program, the university or the operator or on persons who are working for the university or the operator;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P99">breach of the obligation to offer the operator the rights to research and development results (see Section 6.2.<text:span text:style-name="T51">5</text:span>);<text:line-break/>
|
||||
<text:p text:style-name="P99">breach of the obligation to offer the operator the rights to research and development results (see Section 6.2.5);<text:line-break/>
|
||||
</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P99">breach of confidentiality (see Section 6.2.<text:span text:style-name="T51">7</text:span>);</text:p>
|
||||
<text:p text:style-name="P99">breach of confidentiality (see Section 6.2.7);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P99">a criminal conviction (whereby the nature of the offence and the level of culpability are taken into account);</text:p>
|
||||
@@ -1514,13 +1474,13 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P115"/>
|
||||
<text:list xml:id="list155838677773193" text:continue-numbering="true" text:style-name="WW8Num4">
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P116">Nichterfüllung finanzieller Verpflichtungen trotz Mahnung (z.B. Unkostenbeitrag, Studienbeitrag etc.); </text:p>
|
||||
<text:p text:style-name="P116">Nichterfüllung finanzieller Verpflichtungen trotz Mahnung (z.B. Unkostenbeitrag, Studienbeitrag etc.);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P98">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.<text:span text:style-name="T51">3</text:span>) </text:p>
|
||||
<text:p text:style-name="P98">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.3);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P98">Plagiieren im Rahmen wissenschaftlicher Arbeiten </text:p>
|
||||
<text:p text:style-name="P98">Plagiieren im Rahmen wissenschaftlicher Arbeiten.</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P13"/>
|
||||
@@ -1532,7 +1492,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:span text:style-name="T21">8. Ergänzende Vereinbarungen</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P97"/>
|
||||
<text:p text:style-name="P49">Ao. Studierende des Programms sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet und e-mail) trägt der ao. Student bzw. die ao. Studentin. </text:p>
|
||||
<text:p text:style-name="P49">Ao. Studierende des Programms sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet) trägt der ao. Student bzw. die ao. Studentin. </text:p>
|
||||
<text:p text:style-name="P49"/>
|
||||
<text:p text:style-name="P85">
|
||||
<text:span text:style-name="T21">9. Unwirksamkeit von Vertrags-bestimmungen</text:span>
|
||||
@@ -1549,10 +1509,10 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P111">non-fulfilment of the financial obligations, despite a reminder (e.g. contribution towards expenses, tuition fees , etc.); </text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P98">refusal to provide any data (see section 6.2.<text:span text:style-name="T51">3</text:span>); </text:p>
|
||||
<text:p text:style-name="P98">refusal to provide any data (see section 6.2.3); </text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P98">plagiarism in academic work</text:p>
|
||||
<text:p text:style-name="P98">plagiarism in academic work.</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P13"/>
|
||||
@@ -1566,7 +1526,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:span text:style-name="T21">8. Supplementary Agreements</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P46"/>
|
||||
<text:p text:style-name="P45">External students in the program are required to obtain and maintain computer equipment which allows them to participate in the distance learning elements. The total cost of acquisition and operation (including costs for Internet and e-mail) shall be borne by the external student. </text:p>
|
||||
<text:p text:style-name="P45">External students in the program are required to obtain and maintain computer equipment which allows them to participate in the distance learning elements. The total cost of acquisition and operation (including costs for Internet) shall be borne by the external student. </text:p>
|
||||
<text:p text:style-name="P45"/>
|
||||
<text:p text:style-name="P45"/>
|
||||
<text:p text:style-name="P86">
|
||||
|
||||
@@ -363,7 +363,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:sequence-decls>
|
||||
<text:h text:style-name="P22" text:outline-level="1" text:is-list-header="true">Ausbildungsvertrag</text:h>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="svnr = ''"><text:p text:style-name="P42">Keine Sozialversicherungsnummer oder Ersatzkennzeichen vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="gebdatum = ''"><text:p text:style-name="P42">Kein Geburtsdatum vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="titel_kurzbz = ''"><text:p text:style-name="P42">Kein akademischer Grad vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="student_maxsemester = ''"><text:p text:style-name="P42">Keine Ausbildungsdauer vorhanden</text:p></xsl:if>
|
||||
@@ -384,25 +383,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
<text:p text:style-name="P6">Adresse: <text:tab/><xsl:value-of select="strasse"/>; <xsl:value-of select="plz"/></text:p>
|
||||
<text:p text:style-name="P7">Geburtsdatum: <text:tab/><text:database-display text:table-name="" text:table-type="table" text:column-name="Geb.datum"><xsl:value-of select="gebdatum"/></text:database-display></text:p>
|
||||
<text:p text:style-name="P1">
|
||||
<text:span text:style-name="T10"><text:span text:style-name="T10">Sozialversicherungsnummer:</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T10">
|
||||
<text:note text:id="ftn1" text:note-class="footnote">
|
||||
<text:note-citation text:label="1">1</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T4">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T5">Gemäß § 3 Absatz 1 des Bildungsdokumentationsgesetzes idgF und der Bildungsdokumentationsverordnung-Fachhochschulen idgF<text:s/> hat der Erhalter die Sozialversicherungsnummer zu erfassen und gemäß § 7 Absatz 2 im Wege der Agentur für Qualitätssicherung und Akkreditierung Austria an das zuständige Bundesministerium und die Bundesanstalt Statistik Österreich zu übermitteln.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P10"/>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span><text:tab/><xsl:value-of select="svnr"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P11"/>
|
||||
<text:p text:style-name="P4">(kurz „Studentin“ bzw. „Student“ genannt) andererseits im Rahmen des <xsl:value-of select="studiengang_typ"/> Studienganges „<xsl:value-of select="studiengang"/>“, StgKz <xsl:value-of select="studiengang_kz"/>, in der Organisationsform eines
|
||||
<xsl:choose>
|
||||
@@ -577,7 +557,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P35">Die Studentin bzw. der Student hat unaufgefordert dafür zu sorgen, dass die von ihr/ihm beigebrachten Daten aktuell sind. Änderungen sind der Studiengangsassistenz unverzüglich schriftlich mitzuteilen. Darüber hinaus trifft sie/ihn die Pflicht, sich von studienbezogenen Informationen, die ihr/ihm an die vom Erhalter zur Verfügung gestellte Emailadresse zugestellt werden, in geeigneter Weise Kenntnis zu verschaffen.</text:p>
|
||||
|
||||
<text:p text:style-name="P32">6.2.9 Verwertungsrechte</text:p>
|
||||
<text:p text:style-name="P35">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der Studentin oder dem Studenten getroffen wurden, ist die Studentin oder der Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen auf dessen schriftliche Anfrage hin anzubieten.</text:p>
|
||||
<text:p text:style-name="P35">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der Studentin oder dem Studenten getroffen wurden, ist die Studentin oder der Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.</text:p>
|
||||
|
||||
<text:p text:style-name="P32">6.2.10 Aufzeichnungen und Mitschnitte</text:p>
|
||||
<text:p text:style-name="P35">Es ist der/dem Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, StudiVZ etc., aber auch auf Youtube usw. oder durch sonstige für diese Zwecke geeignete Kommunikationsmittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben.</text:p>
|
||||
@@ -592,7 +572,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P5"/>
|
||||
|
||||
<text:p text:style-name="P5">6.2.13 Schadensmeldung</text:p>
|
||||
<text:p text:style-name="P5">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P5">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die Studierende verpflichtet, diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
|
||||
<text:p text:style-name="P5">6.2.14 Rückgabeverpflichtung bei Studienende</text:p>
|
||||
@@ -636,7 +616,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P40">persönlichem Verhalten, das zu einer Beeinträchtigung des Images und/oder Betriebes des Studienganges, der Fachhochschule bzw. des Erhalters oder von Personen führt, die für die Fachhochschule bzw. den Erhalter tätig sind;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen anzubieten (siehe Pkt. 6.2.9);</text:p>
|
||||
<text:p text:style-name="P40">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen einzuräumen (siehe Pkt. 6.2.9);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.11); </text:p>
|
||||
@@ -648,10 +628,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P40">Nichterfüllung finanzieller Verpflichtungen trotz Mahnung (z.B. Unkostenbeitrag, Studienbeitrag etc.);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.7)</text:p>
|
||||
<text:p text:style-name="P40">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.7);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Plagiieren im Rahmen wissenschaftlicher Arbeiten</text:p>
|
||||
<text:p text:style-name="P40">Plagiieren im Rahmen wissenschaftlicher Arbeiten.</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P12"/>
|
||||
@@ -673,7 +653,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P5">Das gesamte Studienprogramm wird in englischer Sprache angeboten. Die Studentin bzw. der Student erklärt, die englische Sprache in Wort und Schrift in dem für eine akademische Ausbildung erforderlichen Ausmaß zu beherrschen.</text:p>
|
||||
<text:p text:style-name="P17"/>
|
||||
<text:p text:style-name="P5">
|
||||
Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet und e-mail) trägt der Student bzw. die Studentin.
|
||||
Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet) trägt der Student bzw. die Studentin.
|
||||
</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
</xsl:if>
|
||||
|
||||
@@ -359,7 +359,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:sequence-decls>
|
||||
<text:h text:style-name="P22" text:outline-level="1" text:is-list-header="true">Ausbildungsvertrag außerordentliches Studium (Besuch einzelner Lehrveranstaltungen eines Studiengangs)</text:h>
|
||||
<!-- Ueberprueft ob benoetigte Datenfelder leer sind -->
|
||||
<xsl:if test="svnr = ''"><text:p text:style-name="P42">Keine Sozialversicherungsnummer oder Ersatzkennzeichen vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="gebdatum = ''"><text:p text:style-name="P42">Kein Geburtsdatum vorhanden</text:p></xsl:if>
|
||||
<xsl:if test="student_maxsemester = ''"><text:p text:style-name="P42">Keine Ausbildungsdauer vorhanden</text:p></xsl:if>
|
||||
<text:p text:style-name="P2"/>
|
||||
@@ -378,25 +377,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:p>
|
||||
<text:p text:style-name="P6">Adresse: <text:tab/><xsl:value-of select="strasse"/>; <xsl:value-of select="plz"/></text:p>
|
||||
<text:p text:style-name="P7">Geburtsdatum: <text:tab/><text:database-display text:table-name="" text:table-type="table" text:column-name="Geb.datum"><xsl:value-of select="gebdatum"/></text:database-display></text:p>
|
||||
<text:p text:style-name="P1">
|
||||
<text:span text:style-name="T10"><text:span text:style-name="T10">Sozialversicherungsnummer:</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T10">
|
||||
<text:note text:id="ftn1" text:note-class="footnote">
|
||||
<text:note-citation text:label="1">1</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T4">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T5">Gemäß § 3 Absatz 1 des Bildungsdokumentationsgesetzes idgF und der Bildungsdokumentationsverordnung-Fachhochschulen <text:s/> idgF hat der Erhalter die Sozialversicherungsnummer zu erfassen und gemäß § 7 Absatz 2 im Wege der Agentur für Qualitätssicherung und Akkreditierung Austria an das zuständige Bundesministerium und die Bundesanstalt Statistik Österreich zu übermitteln.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P10"/>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span><text:tab/><xsl:value-of select="svnr"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P11"/>
|
||||
<text:p text:style-name="P4">(kurz „ao. Studentin“ bzw. „ao. Student“ genannt) andererseits im Rahmen des außerordentlichen Studiums bzw. des Besuchs einzelner Lehrveranstaltungen an der FH Technikum Wien.</text:p>
|
||||
<text:p text:style-name="P4">Die konkreten Lehrveranstaltungen des außerordentlichen Studiums sind in der Information über die Zulassung zum außerordentlichen Studium angeführt.</text:p>
|
||||
@@ -528,7 +508,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P32">6.2.7 Aktualisierung eigener Daten und Bezug von Informationen</text:p>
|
||||
<text:p text:style-name="P35">Die ao. Studentin bzw. der ao. Student hat unaufgefordert dafür zu sorgen, dass die von ihr/ihm beigebrachten Daten aktuell sind. Änderungen sind der Studiengangsassistenz unverzüglich schriftlich mitzuteilen. Darüber hinaus trifft sie/ihn die Pflicht, sich von studienbezogenen Informationen, die ihr/ihm an die vom Erhalter zur Verfügung gestellte Emailadresse zugestellt werden, in geeigneter Weise Kenntnis zu verschaffen.</text:p>
|
||||
<text:p text:style-name="P32">6.2.8 Verwertungsrechte</text:p>
|
||||
<text:p text:style-name="P35">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen auf dessen schriftliche Anfrage hin anzubieten.</text:p>
|
||||
<text:p text:style-name="P35">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.</text:p>
|
||||
<text:p text:style-name="P32">6.2.9 Aufzeichnungen und Mitschnitte</text:p>
|
||||
<text:p text:style-name="P35">Es ist der/dem ao. Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, StudiVZ etc, aber auch auf Youtube usw. oder durch sonstige für diese Zwecke geeignete Kommunikationsmittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben.</text:p>
|
||||
<text:p text:style-name="P35">Ausgenommen hiervon ist eine Aufzeichnung zu ausschließlichen Lern-, Studien- und Forschungszwecken und zum privaten Gebrauch, sofern hierfür der/die Vortragende vorab ausdrücklich seine/ihre schriftliche Zustimmung erteilt hat.</text:p>
|
||||
@@ -537,7 +517,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P31">6.2.11 Unfallmeldung</text:p>
|
||||
<text:p text:style-name="P5">Im Falle eines Unfalles mit körperlicher Verletzung des/der ao. Studierenden im Zusammenhang mit dem ao. Studium ist die/der ao. Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Dies betrifft auch Wegunfälle zur oder von der FH.</text:p>
|
||||
<text:p text:style-name="P31">6.2.12 Schadensmeldung</text:p>
|
||||
<text:p text:style-name="P5">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P5">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Studiengangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P31">6.2.13 Rückgabeverpflichtung bei Studienende</text:p>
|
||||
<text:p text:style-name="P5">Die ao. Studentin bzw der ao. Student ist verpflichtet, bei einer Beendigung des ao. Ausbildungsverhältnisses unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
@@ -575,7 +555,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P40">persönlichem Verhalten, das zu einer Beeinträchtigung des Images und/oder Betriebes des Studienganges, der Fachhochschule bzw. des Erhalters oder von Personen führt, die für die Fachhochschule bzw. den Erhalter tätig sind;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen anzubieten (siehe Pkt. 6.2.8);</text:p>
|
||||
<text:p text:style-name="P40">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen einzuräumen (siehe Pkt. 6.2.8);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.10); </text:p>
|
||||
@@ -587,10 +567,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
<text:p text:style-name="P40">Nichterfüllung finanzieller Verpflichtungen trotz Mahnung (z.B. Unkostenbeitrag, Studienbeitrag etc.);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.5)</text:p>
|
||||
<text:p text:style-name="P40">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.5);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Plagiieren im Rahmen wissenschaftlicher Arbeiten</text:p>
|
||||
<text:p text:style-name="P40">Plagiieren im Rahmen wissenschaftlicher Arbeiten.</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P12"/>
|
||||
@@ -614,7 +594,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</text:list>
|
||||
<text:p text:style-name="P5">Das gesamte Studienprogramm wird in englischer Sprache angeboten. Die ao. Studentin bzw. der ao. Student erklärt, die englische Sprache in Wort und Schrift in dem für eine akademische Ausbildung erforderlichen Ausmaß zu beherrschen.</text:p>
|
||||
<text:p text:style-name="P17"/>
|
||||
<text:p text:style-name="P5">Ao. Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet und e-mail) trägt der ao. Student bzw. die ao. Studentin.</text:p>
|
||||
<text:p text:style-name="P5">Ao. Studierende des Studiengangs sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet) trägt der ao. Student bzw. die ao. Studentin.</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
</xsl:if>
|
||||
|
||||
|
||||
@@ -432,25 +432,6 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</text:p>
|
||||
<text:p text:style-name="P6">Adresse: <text:tab/><xsl:value-of select="strasse"/>; <xsl:value-of select="plz"/></text:p>
|
||||
<text:p text:style-name="P7">Geburtsdatum: <text:tab/><text:database-display text:table-name="" text:table-type="table" text:column-name="Geb.datum"><xsl:value-of select="gebdatum"/></text:database-display></text:p>
|
||||
<text:p text:style-name="P1">
|
||||
<text:span text:style-name="T10"><text:span text:style-name="T10">Sozialversicherungsnummer:</text:span>
|
||||
<text:span text:style-name="Footnote_20_Symbol">
|
||||
<text:span text:style-name="T10">
|
||||
<text:note text:id="ftn1" text:note-class="footnote">
|
||||
<text:note-citation text:label="1">1</text:note-citation>
|
||||
<text:note-body>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="T4">
|
||||
<text:s/>
|
||||
</text:span>
|
||||
<text:span text:style-name="T5">Gemäß § 3 Absatz 1 des Bildungsdokumentationsgesetzes und der Bildungsdokumentationsverordnung-Fachhochschulen <text:s/>hat der Erhalter die Sozialversicherungsnummer zu erfassen und gemäß § 7 Absatz 2 im Wege der Agentur für Qualitätssicherung und Akkreditierung Austria an das zuständige Bundesministerium und die Bundesanstalt Statistik Österreich zu übermitteln.</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P10"/>
|
||||
</text:note-body>
|
||||
</text:note>
|
||||
</text:span>
|
||||
</text:span><text:tab/><xsl:value-of select="svnr"/></text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P11"/>
|
||||
<text:p text:style-name="P4">(kurz „ao. Studentin“ bzw. „ao. Student“ genannt) andererseits, im Rahmen des Lehrgangs zur Weiterbildung nach §9 FHStG idgF</text:p>
|
||||
<text:p text:style-name="P11"/>
|
||||
@@ -614,14 +595,14 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P32">6.2.4 Aktualisierung eigener Daten und Bezug von Informationen</text:p>
|
||||
<text:p text:style-name="P35">Die ao. Studentin bzw. der ao. Student hat unaufgefordert dafür zu sorgen, dass die von ihr/ihm beigebrachten Daten aktuell sind. Änderungen sind der Lehrgangsassistenz unverzüglich schriftlich mitzuteilen. Darüber hinaus trifft sie/ihn die Pflicht, sich von studienbezogenen Informationen, die ihr/ihm an die vom Erhalter zur Verfügung gestellte Emailadresse zugestellt werden, in geeigneter Weise Kenntnis zu verschaffen.</text:p>
|
||||
<text:p text:style-name="P32">6.2.5 Verwertungsrechte</text:p>
|
||||
<text:p text:style-name="P35">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen auf dessen schriftliche Anfrage hin anzubieten.</text:p>
|
||||
<text:p text:style-name="P35">Sofern nicht im Einzelfall andere Regelungen zwischen dem Erhalter und der ao. Studentin oder dem ao. Studenten getroffen wurden, ist die ao. Studentin oder der ao. Student verpflichtet, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen, die im Rahmen von geförderten Projekten geschaffen wurden, auf dessen schriftliche Anfrage hin einzuräumen.</text:p>
|
||||
<text:p text:style-name="P32">6.2.6 Aufzeichnungen und Mitschnitte</text:p>
|
||||
<text:p text:style-name="P35">Es ist der/dem ao. Studierenden ausdrücklich untersagt, Lehrveranstaltungen als Ganzes oder nur Teile davon aufzuzeichnen und/oder mitzuschneiden (z.B. durch Film- und/oder Tonaufnahmen oder sonstige hierfür geeignete audiovisuelle Mittel). Darüber hinaus ist jede Form der öffentlichen Zurverfügungstellung (drahtlos oder drahtgebunden) der vorgenannten Aufnahmen z.B. in sozialen Netzwerken wie Facebook, WhatsAPP, LinkedIn, Xing etc, aber auch auf Youtube, Instagram usw. oder durch sonstige für diese Zwecke geeignete Kommunikationsmittel untersagt. Diese Regelungen gelten sinngemäß auch für Skripten, sonstige Lernbehelfe und Prüfungsangaben.</text:p>
|
||||
<text:p text:style-name="P35">Ausgenommen hiervon ist eine Aufzeichnung zu ausschließlichen Lern-, Studien- und Forschungszwecken und zum privaten Gebrauch, sofern hierfür der/die Vortragende vorab ausdrücklich seine/ihre schriftliche Zustimmung erteilt hat.</text:p>
|
||||
<text:p text:style-name="P31">6.2.7 Geheimhaltungspflicht</text:p>
|
||||
<text:p text:style-name="P5">Die ao. Studentin bzw. der ao. Student ist zur Geheimhaltung von Forschungs- und Entwicklungsaktivitäten und -ergebnissen gegenüber Dritten verpflichtet. </text:p>
|
||||
<text:p text:style-name="P31">6.2.8 Schadensmeldung</text:p>
|
||||
<text:p text:style-name="P5">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen innerhalb von drei Tagen dem Lehrgangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P5">Im Falle des Eintretens eines Schadens am Inventar der Fachhochschule ist der/die ao. Studierende verpflichtet, diesen unverzüglich, spätestens aber innerhalb von drei Tagen dem Lehrgangssekretariat zu melden. Allfällige Haftungsansprüche bleiben hiervon unberührt.</text:p>
|
||||
<text:p text:style-name="P31">6.2.9 Rückgabeverpflichtung bei Studienende</text:p>
|
||||
<text:p text:style-name="P5">Die ao. Studentin bzw. der ao. Student ist verpflichtet, bei einer Beendigung des Lehrgangs unverzüglich alle zur Verfügung gestellten Gerätschaften, Bücher, Schlüssel und sonstige Materialien zurückzugeben.</text:p>
|
||||
|
||||
@@ -663,10 +644,10 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P40">persönlichem Verhalten, das zu einer Beeinträchtigung des Images und/oder Betriebes des Lehrgangs, der Fachhochschule bzw. des Erhalters oder von Personen führt, die für die Fachhochschule bzw. den Erhalter tätig sind;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.3)</text:p>
|
||||
<text:p text:style-name="P40">Weigerung zur Beibringung von Daten (siehe Pkt. 6.2.3);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen anzubieten (siehe Pkt. 6.2.5);</text:p>
|
||||
<text:p text:style-name="P40">Verletzung der Verpflichtung, dem Erhalter die Rechte an Forschungs- und Entwicklungsergebnissen einzuräumen (siehe Pkt. 6.2.5);</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Verletzung der Geheimhaltungspflicht (siehe Pkt. 6.2.7); </text:p>
|
||||
@@ -678,7 +659,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P40">Nichterfüllung finanzieller Verpflichtungen trotz Mahnung;</text:p>
|
||||
</text:list-item>
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P40">Plagiieren im Rahmen wissenschaftlicher Arbeiten</text:p>
|
||||
<text:p text:style-name="P40">Plagiieren im Rahmen wissenschaftlicher Arbeiten.</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P12"/>
|
||||
@@ -698,7 +679,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P5">
|
||||
Ao. Studierende des Programms sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet und e-mail) trägt der ao. Student bzw. die ao. Studentin.
|
||||
Ao. Studierende des Programms sind verpflichtet, eine EDV-Ausstattung zu beschaffen und zu unterhalten, die es ermöglicht, an den Fernlehrelementen teilzunehmen. Die gesamten Kosten der Anschaffung und des Betriebs (inkl. Kosten für Internet) trägt der ao. Student bzw. die ao. Studentin.
|
||||
</text:p>
|
||||
<text:p text:style-name="P5"/>
|
||||
|
||||
|
||||
@@ -227,7 +227,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P8">Linux: Nach dem Systemstart im Boot Manager einfach Linux auswählen. Das System startet mit dem KDE Login Manager. Dort ist ebenfalls der Accountname und das Passwort einzugeben.</text:p>
|
||||
<text:p text:style-name="P8"/>
|
||||
<text:p text:style-name="P6">Ändern des Passwortes</text:p>
|
||||
<text:p text:style-name="P8">Zur Änderung Ihres Passwortes loggen Sie sich mit Ihrem Webbrowser auf https://cis.technikum-wien.at ein und wählen dem Menüpunkt 'Profil > Passwort ändern'.</text:p>
|
||||
<text:p text:style-name="P8">Zur Änderung Ihres Passwortes loggen Sie sich mit Ihrem Webbrowser auf https://cis.technikum-wien.at ein und wählen dem Menüpunkt 'Mein CIS > Passwort ändern'.</text:p>
|
||||
<text:p text:style-name="P8"/>
|
||||
<text:p text:style-name="P6">Wie und wo kann ich meine Daten ablegen?</text:p>
|
||||
<text:p text:style-name="P8">Nach einem erfolgreichen Login ist unter Windows XP/7 das Laufwerk M: mit Ihrem Userverzeichnis am Server verbunden. Dort haben Sie die Möglichkeit Ihre Daten abzulegen. Achten Sie immer darauf, Ihr Quota (Speicherplatz den Sie zur Verfügung haben) nicht zu überschreiten. Einige Programme funktionieren dann nicht mehr einwandfrei.</text:p>
|
||||
@@ -280,7 +280,7 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
<text:p text:style-name="P8"/>
|
||||
<text:p text:style-name="P6">Password Change</text:p>
|
||||
<text:p text:style-name="P8">Open your web browser and go to https://cis.technikum-wien.at. Enter your user name (Account) and</text:p>
|
||||
<text:p text:style-name="P8">password, select "Profile > Change Password" from the pane on the left and follow the instructions.</text:p>
|
||||
<text:p text:style-name="P8">password, select "My CIS > Change Password" from the pane on the left and follow the instructions.</text:p>
|
||||
<text:p text:style-name="P8"/>
|
||||
<text:p text:style-name="P6">Disk space for your files</text:p>
|
||||
<text:p text:style-name="P8">In Windows XP and Windows 7, log in to the UAS Technikum Wien domain, and you will be automatically</text:p>
|
||||
|
||||
@@ -0,0 +1,315 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2018 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Cristina Hainberger <hainberg@technikum-wien.at> */
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/ampel.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/phrasen.class.php');
|
||||
|
||||
$db = new basis_db();
|
||||
$datum = new datum();
|
||||
$now = $datum->mktime_fromdate(date('Y-m-d'));
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
//get all notifications
|
||||
$ampel_obj = new ampel();
|
||||
$ampel_obj->getAll();
|
||||
$ampel_arr = $ampel_obj->result;
|
||||
|
||||
//filter only notifications that are not expired, not before vorlaufzeit AND email is true
|
||||
$ampel_arr = filterAmpeln($ampel_arr);
|
||||
|
||||
//get user of notifications, ampel_id, description and deadline
|
||||
$new_ampel_user_arr = array(); //user with new notifications that are not confirmed
|
||||
$overdue_ampel_user_arr = array(); //user with overdue notifications that are not confirmed
|
||||
foreach($ampel_arr as $ampel)
|
||||
{
|
||||
$deadline = $datum->mktime_fromdate($ampel->deadline);
|
||||
$insert_date = $datum->formatDatum($ampel->insertamum, 'Y-m-d');
|
||||
$qry_all_ampel_user = $ampel->benutzer_select;
|
||||
$kurzbz = $ampel->kurzbz;
|
||||
|
||||
$new = false;
|
||||
$overdue = false;
|
||||
$new_user_arr = array();
|
||||
$overdue_user_arr = array();
|
||||
|
||||
if($result = $db->db_query($qry_all_ampel_user))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$user = $row->uid;
|
||||
|
||||
//break if almost confirmed
|
||||
if ($ampel_obj->isBestaetigt($user, $ampel->ampel_id))
|
||||
break;
|
||||
|
||||
//check if notification is new (within last week, as cronjob will run every week)
|
||||
if ($datum->DateDiff (date('Y-m-d'), $insert_date) >= -7)
|
||||
{
|
||||
$new = true;
|
||||
$new_user_arr[] = $user;
|
||||
}
|
||||
|
||||
//check if notification is overdue
|
||||
if ($now > $deadline)
|
||||
{
|
||||
$overdue = true;
|
||||
$overdue_user_arr[] = $user;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($new)
|
||||
{
|
||||
$new_ampel_user_arr[] = array(
|
||||
'ampel_id' => $ampel->ampel_id,
|
||||
'ampel_bezeichnung' => $kurzbz,
|
||||
'user' => $new_user_arr,
|
||||
'deadline' => date('d.m.Y', $deadline));
|
||||
}
|
||||
|
||||
if ($overdue)
|
||||
{
|
||||
$overdue_ampel_user_arr[] = array(
|
||||
'ampel_id' => $ampel->ampel_id,
|
||||
'ampel_bezeichnung' => $kurzbz,
|
||||
'user' => $overdue_user_arr,
|
||||
'deadline' => date('d.m.Y', $deadline));
|
||||
}
|
||||
}
|
||||
|
||||
//rearrange arrays as needed to send in eMails
|
||||
$new_ampel_user_arr = organizeAmpelnForMail($new_ampel_user_arr);
|
||||
$overdue_ampel_user_arr = organizeAmpelnForMail($overdue_ampel_user_arr);
|
||||
|
||||
//send eMail for new notifications
|
||||
foreach ($new_ampel_user_arr as $receiver)
|
||||
{
|
||||
//get data about sender
|
||||
$person = new person();
|
||||
$person->getPersonFromBenutzer($receiver['user']);
|
||||
$firstName = $person->vorname;
|
||||
|
||||
//link to notifications system site
|
||||
$link = APP_ROOT . "cis/index.php?sprache=German&content_id=&menu=" . APP_ROOT . "cis/menu.php?content_id=&content=" . APP_ROOT . "cis/private/tools/ampelverwaltung.php";
|
||||
|
||||
//eMail data
|
||||
$to = $receiver['user'] . '@' . DOMAIN;
|
||||
$from = 'noreply@'.DOMAIN;
|
||||
$subject = 'Sie haben eine neue Ampel!';
|
||||
$title = "Sie haben neue Nachrichten in Ihrem Ampelsystem!";
|
||||
$content = "<p>Hallo " . $firstName . ",</p>";
|
||||
$content .= "<p>es gibt neue Ampeln für Sie:</p><br>";
|
||||
|
||||
for ($i = 0; $i < count($receiver) - 1; $i++)
|
||||
{
|
||||
$receiver[$i]['ampel_id'];
|
||||
$content .= "<p><i>NEU:</i>  <strong>" . $receiver[$i]['ampel_bezeichnung'] . "</strong></p>";
|
||||
}
|
||||
|
||||
$content .= "<br><p>Sie können sie jetzt gleich in Ihrem Ampelsystem bestätigen:</p>";
|
||||
$content .= "<br><a style=\"color: #74ba24;\" href=" . $link . ">Zu meinem Ampelsystem</a></br>";
|
||||
$content .= "<p><br>Schönen Tag noch,</p>";
|
||||
$content .= "<p>Sancho</p>";
|
||||
|
||||
//send eMail
|
||||
sendMail($to, $from, $subject, $content, $title);
|
||||
}
|
||||
|
||||
//send eMail for overdue notifications
|
||||
foreach ($overdue_ampel_user_arr as $receiver)
|
||||
{
|
||||
//get data about sender
|
||||
$person = new person();
|
||||
$person->getPersonFromBenutzer($receiver['user']);
|
||||
$firstName = $person->vorname;
|
||||
|
||||
//link to notifications system site
|
||||
$link = APP_ROOT . "cis/index.php?sprache=German&content_id=&menu=" . APP_ROOT . "cis/menu.php?content_id=&content=" . APP_ROOT . "cis/private/tools/ampelverwaltung.php";
|
||||
|
||||
//eMail data
|
||||
$to = $receiver['user'] . '@' . DOMAIN;
|
||||
$from = 'noreply@'.DOMAIN;
|
||||
$subject = 'Bestätigen Sie bitte Ihre Ampel!';
|
||||
$title = "Die Deadline für Ihre Ampel ist überschritten!";
|
||||
$content = "<p>Hallo " . $firstName . ",</p>";
|
||||
$content .= "<p>es gibt Ampeln, die von Ihnen noch bestätigt werden müssen:</p><br>";
|
||||
|
||||
for ($i = 0; $i < count($receiver) - 1; $i++)
|
||||
{
|
||||
$receiver[$i]['ampel_id'];
|
||||
$content .= "<p><i>BESTÄTIGUNG FEHLT:</i>  <strong>" . $receiver[$i]['ampel_bezeichnung'] . "</strong></p>";
|
||||
$content .= "<p><small><i style=\"color: #65696E;\">Die Deadline für die Bestätigung war am <span style=\"color: #FF0000;\">" . $receiver[$i]['deadline'] . "</span></i></small></p><br>";
|
||||
}
|
||||
|
||||
$content .= "<br><p>Sie können sie jetzt gleich in Ihrem Ampelsystem bestätigen:</p>";
|
||||
$content .= "<br><a style=\"color: #74ba24;\" href=" . $link . ">Zu meinem Ampelsystem</a></br>";
|
||||
$content .= "<p><br>Schönen Tag noch,</p>";
|
||||
$content .= "<p>Sancho</p>";
|
||||
|
||||
//send eMail
|
||||
sendMail($to, $from, $subject, $content, $title);
|
||||
}
|
||||
|
||||
|
||||
//************************************************************* FUNCTIONS
|
||||
function filterAmpeln($ampel_arr)
|
||||
{
|
||||
$datum = new datum();
|
||||
$now = $datum->mktime_fromdate(date('Y-m-d'));
|
||||
$arr = array();
|
||||
|
||||
foreach ($ampel_arr as $ampel)
|
||||
{
|
||||
$deadline = $datum->mktime_fromdate($ampel->deadline);
|
||||
$vorlaufzeit = $ampel->vorlaufzeit;
|
||||
$verfallszeit = $ampel->verfallszeit;
|
||||
|
||||
$datum_liegt_vor_vorlaufzeit = false;
|
||||
$datum_liegt_nach_verfallszeit = false;
|
||||
|
||||
if (!is_null($vorlaufzeit))
|
||||
$datum_liegt_vor_vorlaufzeit = $now < strtotime('-' . $vorlaufzeit . ' day', $deadline);
|
||||
|
||||
if (!is_null($verfallszeit))
|
||||
$datum_liegt_nach_verfallszeit = $now > strtotime('+' . $verfallszeit . ' day', $deadline);
|
||||
|
||||
if (!$datum_liegt_vor_vorlaufzeit && !$datum_liegt_nach_verfallszeit && $ampel->email)
|
||||
{
|
||||
$arr[] = $ampel;
|
||||
}
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
function organizeAmpelnForMail ($ampel_user_arr)
|
||||
{
|
||||
$helper_arr = array();
|
||||
$unique_user_arr = array();
|
||||
foreach ($ampel_user_arr as $ampel_user)
|
||||
{
|
||||
foreach ($ampel_user['user'] as $user)
|
||||
{
|
||||
if(!in_array($user, $helper_arr))
|
||||
{
|
||||
$helper_arr[] = $user;
|
||||
$unique_user_arr[] = array(
|
||||
'user' => $user,
|
||||
array(
|
||||
'ampel_id' => $ampel_user['ampel_id'],
|
||||
'ampel_bezeichnung' => $ampel_user['ampel_bezeichnung'],
|
||||
'deadline' => $ampel_user['deadline']));
|
||||
}
|
||||
else
|
||||
{
|
||||
$index = array_search($user, array_column($unique_user_arr, 'user'));
|
||||
$unique_user_arr[$index][] =
|
||||
array(
|
||||
'ampel_id' => $ampel_user['ampel_id'],
|
||||
'ampel_bezeichnung' => $ampel_user['ampel_bezeichnung'],
|
||||
'deadline' => $ampel_user['deadline']);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $unique_user_arr;
|
||||
}
|
||||
function sendMail($to, $from, $subject, $html_content, $title = 'Sancho hat neue Nachrichten für Sie!')
|
||||
{
|
||||
$sancho_img = APP_ROOT . "skin/images/sancho_round_right_blue.png";
|
||||
$logo_img = APP_ROOT . "skin/images/fh_logo.png";
|
||||
|
||||
//mail content as plain text (fallback if html not activated)
|
||||
$plain_text = "Hallo,\n\n";
|
||||
if (!empty ($title))
|
||||
$plain_text .= strip_tags($title) . "\n\n";
|
||||
$plain_text .= "Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Inhalt vollständig darzustellen.";
|
||||
|
||||
//mail content as html text
|
||||
/*
|
||||
* no css styles in html-head (email clients picky about that)
|
||||
* tables inside tables for correct styles in different email clients
|
||||
*/
|
||||
$html_text = '
|
||||
<html>
|
||||
<head>
|
||||
<title>Sancho Ampelmail</title>
|
||||
</head>
|
||||
<body><center>
|
||||
<table width="650px" cellpadding="0" cellspacing="0" style="border: 2px solid #65696e; border-spacing: 0px; margin-top: 40px;">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<table cellpadding="0" width="100%" cellspacing="0" style="padding:0; border-bottom: 2px solid #A0A0A0; margin: 0; font-family: arial, verdana, sans-serif; font-size: 0.8em; border-spacing: 0px;">
|
||||
<tr>
|
||||
<td width="25%" style="padding: 25px;">
|
||||
<img src="cid:SanchoFace" align="left" alt="sancho_face" width="105" height="105">
|
||||
</td>
|
||||
<td width="75%" style="padding: 25px;">
|
||||
<h4 align="center" style="padding-top: 20">' . $title . '</h4>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">
|
||||
<table cellpadding="0" width="100%" cellspacing="0" style="padding:0; border-bottom: 2px solid #A0A0A0; margin: 0; font-family: arial, verdana, sans-serif; font-size: 0.8em; border-spacing: 0px;">
|
||||
<tr>
|
||||
<td style="padding: 25px;">
|
||||
<br>' . $html_content . '</br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left">
|
||||
<table cellpadding="0" width="100%" cellspacing="0" style="padding:0; margin: 0; font-family: arial, verdana, sans-serif; font-size: 0.8em; border-spacing: 0px;">
|
||||
<tr>
|
||||
<td width="75%" style="padding: 25px;">
|
||||
<span style="color: #0a629c; padding: 20 0 0 20;">So spannend kann Technik sein!</span>
|
||||
</td>
|
||||
<td width="25%" style="padding: 25px;">
|
||||
<a href="https://www.technikum-wien.at"><img src="cid:Logo" align="right" alt="logo" width="120" height="70">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></body>
|
||||
</html>';
|
||||
|
||||
$mail = new mail($to, $from, $subject, $plain_text);
|
||||
$mail->setHtmlContent($html_text);
|
||||
$mail->addEmbeddedImage($sancho_img, "image/png", "", "SanchoFace");
|
||||
$mail->addEmbeddedImage($logo_img, "image/png", "", "Logo");
|
||||
|
||||
if(!$mail->send())
|
||||
echo $p->t('global/emailNichtVersendet') . ' an ' . $to . "<br>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -321,7 +321,10 @@ switch($method)
|
||||
$studienSemesterResult = $studienplan->loadStudiensemesterFromStudienplan($studienplan_id);
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getAll();
|
||||
$studiensemester->getAll('desc');
|
||||
$studiensemester_array = array();
|
||||
foreach ($studiensemester->studiensemester AS $row)
|
||||
$studiensemester_array[$row->studiensemester_kurzbz] = false;
|
||||
|
||||
$ausbildungssemesterResult = array();
|
||||
/*
|
||||
@@ -357,6 +360,9 @@ switch($method)
|
||||
|
||||
foreach($ausbildungssemesterResult as $row)
|
||||
{
|
||||
if (array_key_exists($row->studiensemester, $studiensemester_array))
|
||||
$studiensemester_array[$row->studiensemester] = true;
|
||||
|
||||
echo '<tr id="row_'.$row->studiensemester.'" style="font-size: 1em !important;"><td style="font-size: 1em; padding: 0.5em 0.5em 0.5em 0.5em;" align="center">'.$row->studiensemester.'</td>';
|
||||
for($i = 1; $i<=$ausbildungssemester; $i++)
|
||||
{
|
||||
@@ -373,10 +379,23 @@ switch($method)
|
||||
}
|
||||
echo '<tr>
|
||||
<td align="center"><select id="studiensemester">';
|
||||
$length = count($studiensemester->studiensemester)-1;
|
||||
for($i = $length; $i>0; $i--)
|
||||
$lastStudiensemesterActive = '';
|
||||
$selected = '';
|
||||
//Das nächste Studiensemester wird selected
|
||||
foreach($studiensemester_array AS $key => $value)
|
||||
{
|
||||
echo '<option value='.$studiensemester->studiensemester[$i]->studiensemester_kurzbz.'>'.$studiensemester->studiensemester[$i]->studiensemester_kurzbz.'</option>';
|
||||
if ($value == true)
|
||||
{
|
||||
echo '<option value='.$key.' disabled="disabled">'.$key.'</option>';
|
||||
$lastStudiensemesterActive = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($selected == '' && $lastStudiensemesterActive !== false)
|
||||
$selected = 'selected';
|
||||
echo '<option value='.$key.' '.$selected.'>'.$key.'</option>';
|
||||
}
|
||||
$selected = '';
|
||||
}
|
||||
echo '</select></td>';
|
||||
for($j=1; $j<=$ausbildungssemester; $j++)
|
||||
|
||||
@@ -23,6 +23,7 @@ require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/studienplan.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/organisationsform.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
@@ -32,6 +33,7 @@ if(!$rechte->isBerechtigt('lehre/studienordnung', null, 's'))
|
||||
die('keine Berechtigung für diese Seite!');
|
||||
|
||||
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
|
||||
$orgform_kurzbz = isset($_GET['orgform_kurzbz'])?$_GET['orgform_kurzbz']:'';
|
||||
$db = new basis_db();
|
||||
|
||||
echo '<!doctype html>
|
||||
@@ -61,13 +63,37 @@ echo '
|
||||
';
|
||||
$stg = new studiengang();
|
||||
$stg->getAll('typ, kurzbz');
|
||||
$types = new studiengang();
|
||||
$types->getAllTypes();
|
||||
$typ = '';
|
||||
foreach($stg->result as $row)
|
||||
{
|
||||
if ($typ != $row->typ || $typ == '')
|
||||
{
|
||||
if ($typ != '')
|
||||
echo '</optgroup>';
|
||||
echo '<optgroup label="'.($types->studiengang_typ_arr[$row->typ] != ''?$types->studiengang_typ_arr[$row->typ]:$row->typ).'">';
|
||||
}
|
||||
if($row->studiengang_kz == $studiengang_kz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
echo '<option value="'.$row->studiengang_kz.'" '.$selected.'>'.$db->convert_html_chars($row->kuerzel.' - '.$row->bezeichnung).'</option>';
|
||||
$typ = $row->typ;
|
||||
}
|
||||
echo '</select>
|
||||
<select name="orgform_kurzbz">
|
||||
<option value="" '.($orgform_kurzbz==''?'selected':'').'>Alle Orgformen</option>';
|
||||
$orgform = new organisationsform();
|
||||
$orgform->getOrgformLV();
|
||||
foreach ($orgform->result as $of)
|
||||
{
|
||||
if($orgform_kurzbz == $of->orgform_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$db->convert_html_chars($of->orgform_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($of->orgform_kurzbz).' - '.$db->convert_html_chars($of->bezeichnung).'</OPTION>';
|
||||
}
|
||||
echo '</select>
|
||||
<input type="submit" value="Anzeigen">
|
||||
@@ -77,7 +103,7 @@ $max_semester=0;
|
||||
if($studiengang_kz!='')
|
||||
{
|
||||
$studienplan = new studienplan();
|
||||
$studienplan->getStudienplaeneFromSem($studiengang_kz);
|
||||
$studienplan->getStudienplaeneFromSem($studiengang_kz, null, null, $orgform_kurzbz);
|
||||
|
||||
foreach($studienplan->result as $row)
|
||||
{
|
||||
|
||||
@@ -120,6 +120,11 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
|
||||
$sql_query_upd1.="UPDATE public.tbl_notizzuordnung SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE system.tbl_log SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE wawi.tbl_konto SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_msg_message SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_msg_recipient SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_msg_status SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE system.tbl_person_lock SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE system.tbl_log SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
|
||||
if($db->db_query($sql_query_upd1))
|
||||
|
||||
Reference in New Issue
Block a user