mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-30 10:29:28 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
+22
-15
@@ -2,8 +2,10 @@
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class UDF extends Auth_Controller
|
||||
class FAS_UDF extends Auth_Controller
|
||||
{
|
||||
const FAS_UDF_SESSION_NAME = 'fasUdfSessionName';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
@@ -22,31 +24,33 @@ class UDF extends Auth_Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$fasUdfSession = getSession(self::FAS_UDF_SESSION_NAME);
|
||||
|
||||
$person_id = $this->input->get('person_id');
|
||||
if (isset($this->session->person_id))
|
||||
if (isset($fasUdfSession['person_id']))
|
||||
{
|
||||
if (!isset($person_id))
|
||||
{
|
||||
$person_id = $this->session->person_id;
|
||||
$person_id = $fasUdfSession['person_id'];
|
||||
}
|
||||
unset($this->session->person_id);
|
||||
unset($fasUdfSession['person_id']);
|
||||
}
|
||||
|
||||
$prestudent_id = $this->input->get('prestudent_id');
|
||||
if (isset($this->session->prestudent_id))
|
||||
if (isset($fasUdfSession['prestudent_id']))
|
||||
{
|
||||
if (!isset($prestudent_id))
|
||||
{
|
||||
$prestudent_id = $this->session->prestudent_id;
|
||||
$prestudent_id = $fasUdfSession['prestudent_id'];
|
||||
}
|
||||
unset($this->session->prestudent_id);
|
||||
unset($fasUdfSession['prestudent_id']);
|
||||
}
|
||||
|
||||
$result = null;
|
||||
if (isset($this->session->result))
|
||||
if (isset($fasUdfSession['result']))
|
||||
{
|
||||
$result = clone $this->session->result;
|
||||
$this->session->set_userdata('result', null);
|
||||
$result = clone $fasUdfSession['result'];
|
||||
setSessionElement(self::FAS_UDF_SESSION_NAME, 'result', null);
|
||||
}
|
||||
|
||||
$data = array('result' => $result);
|
||||
@@ -71,7 +75,7 @@ class UDF extends Auth_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$this->load->view('system/udf', $data);
|
||||
$this->load->view('system/fas_udf', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -90,9 +94,9 @@ class UDF extends Auth_Controller
|
||||
if (isSuccess($validation))
|
||||
{
|
||||
// Load model UDF_model
|
||||
$this->load->model('system/UDF_model', 'UDFModel');
|
||||
$this->load->model('system/FAS_UDF_model', 'FASUDFModel');
|
||||
|
||||
$result = $this->UDFModel->saveUDFs($udfs);
|
||||
$result = $this->FASUDFModel->saveUDFs($udfs);
|
||||
|
||||
$userdata['result'] = $result;
|
||||
}
|
||||
@@ -101,8 +105,11 @@ class UDF extends Auth_Controller
|
||||
$userdata['result'] = $validation;
|
||||
}
|
||||
|
||||
$this->session->set_userdata($userdata);
|
||||
redirect('system/UDF');
|
||||
setSessionElement(self::FAS_UDF_SESSION_NAME, 'person_id', $userdata['person_id']);
|
||||
setSessionElement(self::FAS_UDF_SESSION_NAME, 'prestudent_id', $userdata['prestudent_id']);
|
||||
setSessionElement(self::FAS_UDF_SESSION_NAME, 'result', $userdata['result']);
|
||||
|
||||
redirect('system/FAS_UDF');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
class Bisiozweck_model extends DB_Model
|
||||
{
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'bis.tbl_bisio_zweck';
|
||||
$this->pk = array('bisio_id', 'zweck_code');
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
<?php
|
||||
|
||||
class FAS_UDF_model extends DB_Model
|
||||
{
|
||||
// String values of booleans
|
||||
const STRING_NULL = 'null';
|
||||
const STRING_TRUE = 'true';
|
||||
const STRING_FALSE = 'false';
|
||||
|
||||
const UDF_DROPDOWN_TYPE = 'dropdown';
|
||||
const UDF_MULTIPLEDROPDOWN_TYPE = 'multipledropdown';
|
||||
|
||||
/**
|
||||
* Methods to save data from FAS
|
||||
*/
|
||||
public function saveUDFs($udfs)
|
||||
{
|
||||
$result = error('No way man!');
|
||||
$resultPerson = success('person');
|
||||
$resultPrestudent = success('prestudent');
|
||||
|
||||
$person_id = null;
|
||||
if (isset($udfs['person_id'])) $person_id = $udfs['person_id'];
|
||||
unset($udfs['person_id']);
|
||||
|
||||
$prestudent_id = null;
|
||||
if (isset($udfs['prestudent_id'])) $prestudent_id = $udfs['prestudent_id'];
|
||||
unset($udfs['prestudent_id']);
|
||||
|
||||
$jsons = array();
|
||||
|
||||
//
|
||||
if (isset($person_id))
|
||||
{
|
||||
// Load model Person_model
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
|
||||
$result = $this->load(array('public', 'tbl_person'));
|
||||
if (isSuccess($result) && count($result->retval) == 1)
|
||||
{
|
||||
$jsons = json_decode($result->retval[0]->jsons);
|
||||
}
|
||||
|
||||
$udfs = $this->_fillMissingTextUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingChkboxUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingDropdownUDF($udfs, $jsons);
|
||||
|
||||
$resultPerson = $this->PersonModel->update($person_id, $udfs);
|
||||
}
|
||||
|
||||
//
|
||||
if (isset($prestudent_id))
|
||||
{
|
||||
// Load model Prestudent_model
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
$result = $this->load(array('public', 'tbl_prestudent'));
|
||||
if (isSuccess($result) && count($result->retval) == 1)
|
||||
{
|
||||
$jsons = json_decode($result->retval[0]->jsons);
|
||||
}
|
||||
|
||||
$udfs = $this->_fillMissingTextUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingChkboxUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingDropdownUDF($udfs, $jsons);
|
||||
|
||||
$resultPrestudent = $this->PrestudentModel->update($prestudent_id, $udfs);
|
||||
}
|
||||
|
||||
if (isSuccess($resultPerson) && isSuccess($resultPrestudent))
|
||||
{
|
||||
$result = success(array($resultPerson->retval, $resultPrestudent->retval));
|
||||
}
|
||||
else if(isError($resultPerson))
|
||||
{
|
||||
$result = $resultPerson;
|
||||
}
|
||||
else if(isError($resultPrestudent))
|
||||
{
|
||||
$result = $resultPrestudent;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _fillMissingChkboxUDF($udfs, $jsons)
|
||||
{
|
||||
$_fillMissingChkboxUDF = $udfs;
|
||||
|
||||
foreach($jsons as $udfDescription)
|
||||
{
|
||||
if ($udfDescription->{UDFLib::TYPE} == UDFLib::CHKBOX_TYPE)
|
||||
{
|
||||
if (!isset($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}]))
|
||||
{
|
||||
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_FALSE)
|
||||
{
|
||||
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = false;
|
||||
}
|
||||
else if ($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_TRUE)
|
||||
{
|
||||
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $_fillMissingChkboxUDF;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _fillMissingDropdownUDF($udfs, $jsons)
|
||||
{
|
||||
$_fillMissingDropdownUDF = $udfs;
|
||||
|
||||
foreach($jsons as $udfDescription)
|
||||
{
|
||||
if ($udfDescription->{UDFLib::TYPE} == UDF_model::UDF_DROPDOWN_TYPE
|
||||
|| $udfDescription->{UDFLib::TYPE} == UDF_model::UDF_MULTIPLEDROPDOWN_TYPE)
|
||||
{
|
||||
if (!isset($_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}]))
|
||||
{
|
||||
$_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
else if($_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_NULL)
|
||||
{
|
||||
$_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $_fillMissingDropdownUDF;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _fillMissingTextUDF($udfs, $jsons)
|
||||
{
|
||||
$_fillMissingTextUDF = $udfs;
|
||||
|
||||
foreach($jsons as $udfDescription)
|
||||
{
|
||||
if ($udfDescription->{UDFLib::TYPE} == 'textarea'
|
||||
|| $udfDescription->{UDFLib::TYPE} == 'textfield')
|
||||
{
|
||||
if (!isset($_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}]))
|
||||
{
|
||||
$_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
else if(trim($_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}]) == '')
|
||||
{
|
||||
$_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $_fillMissingTextUDF;
|
||||
}
|
||||
}
|
||||
@@ -2,14 +2,6 @@
|
||||
|
||||
class UDF_model extends DB_Model
|
||||
{
|
||||
// String values of booleans
|
||||
const STRING_NULL = 'null';
|
||||
const STRING_TRUE = 'true';
|
||||
const STRING_FALSE = 'false';
|
||||
|
||||
const UDF_DROPDOWN_TYPE = 'dropdown';
|
||||
const UDF_MULTIPLEDROPDOWN_TYPE = 'multipledropdown';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@@ -38,164 +30,4 @@ class UDF_model extends DB_Model
|
||||
|
||||
return $udfResults;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// These methods work only with the this version of FAS, not with the future versions
|
||||
|
||||
/**
|
||||
* Methods to save data from FAS
|
||||
*/
|
||||
public function saveUDFs($udfs)
|
||||
{
|
||||
$result = error('No way man!');
|
||||
$resultPerson = success('person');
|
||||
$resultPrestudent = success('prestudent');
|
||||
|
||||
$person_id = null;
|
||||
if (isset($udfs['person_id'])) $person_id = $udfs['person_id'];
|
||||
unset($udfs['person_id']);
|
||||
|
||||
$prestudent_id = null;
|
||||
if (isset($udfs['prestudent_id'])) $prestudent_id = $udfs['prestudent_id'];
|
||||
unset($udfs['prestudent_id']);
|
||||
|
||||
$jsons = array();
|
||||
|
||||
//
|
||||
if (isset($person_id))
|
||||
{
|
||||
// Load model Person_model
|
||||
$this->load->model('person/Person_model', 'PersonModel');
|
||||
|
||||
$result = $this->load(array('public', 'tbl_person'));
|
||||
if (isSuccess($result) && count($result->retval) == 1)
|
||||
{
|
||||
$jsons = json_decode($result->retval[0]->jsons);
|
||||
}
|
||||
|
||||
$udfs = $this->_fillMissingTextUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingChkboxUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingDropdownUDF($udfs, $jsons);
|
||||
|
||||
$resultPerson = $this->PersonModel->update($person_id, $udfs);
|
||||
}
|
||||
|
||||
//
|
||||
if (isset($prestudent_id))
|
||||
{
|
||||
// Load model Prestudent_model
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
|
||||
$result = $this->load(array('public', 'tbl_prestudent'));
|
||||
if (isSuccess($result) && count($result->retval) == 1)
|
||||
{
|
||||
$jsons = json_decode($result->retval[0]->jsons);
|
||||
}
|
||||
|
||||
$udfs = $this->_fillMissingTextUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingChkboxUDF($udfs, $jsons);
|
||||
$udfs = $this->_fillMissingDropdownUDF($udfs, $jsons);
|
||||
|
||||
$resultPrestudent = $this->PrestudentModel->update($prestudent_id, $udfs);
|
||||
}
|
||||
|
||||
if (isSuccess($resultPerson) && isSuccess($resultPrestudent))
|
||||
{
|
||||
$result = success(array($resultPerson->retval, $resultPrestudent->retval));
|
||||
}
|
||||
else if(isError($resultPerson))
|
||||
{
|
||||
$result = $resultPerson;
|
||||
}
|
||||
else if(isError($resultPrestudent))
|
||||
{
|
||||
$result = $resultPrestudent;
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _fillMissingChkboxUDF($udfs, $jsons)
|
||||
{
|
||||
$_fillMissingChkboxUDF = $udfs;
|
||||
|
||||
foreach($jsons as $udfDescription)
|
||||
{
|
||||
if ($udfDescription->{UDFLib::TYPE} == UDFLib::CHKBOX_TYPE)
|
||||
{
|
||||
if (!isset($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}]))
|
||||
{
|
||||
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_FALSE)
|
||||
{
|
||||
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = false;
|
||||
}
|
||||
else if ($_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_TRUE)
|
||||
{
|
||||
$_fillMissingChkboxUDF[$udfDescription->{UDFLib::NAME}] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $_fillMissingChkboxUDF;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _fillMissingDropdownUDF($udfs, $jsons)
|
||||
{
|
||||
$_fillMissingDropdownUDF = $udfs;
|
||||
|
||||
foreach($jsons as $udfDescription)
|
||||
{
|
||||
if ($udfDescription->{UDFLib::TYPE} == UDF_model::UDF_DROPDOWN_TYPE
|
||||
|| $udfDescription->{UDFLib::TYPE} == UDF_model::UDF_MULTIPLEDROPDOWN_TYPE)
|
||||
{
|
||||
if (!isset($_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}]))
|
||||
{
|
||||
$_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
else if($_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] == UDF_model::STRING_NULL)
|
||||
{
|
||||
$_fillMissingDropdownUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $_fillMissingDropdownUDF;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private function _fillMissingTextUDF($udfs, $jsons)
|
||||
{
|
||||
$_fillMissingTextUDF = $udfs;
|
||||
|
||||
foreach($jsons as $udfDescription)
|
||||
{
|
||||
if ($udfDescription->{UDFLib::TYPE} == 'textarea'
|
||||
|| $udfDescription->{UDFLib::TYPE} == 'textfield')
|
||||
{
|
||||
if (!isset($_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}]))
|
||||
{
|
||||
$_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
else if(trim($_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}]) == '')
|
||||
{
|
||||
$_fillMissingTextUDF[$udfDescription->{UDFLib::NAME}] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $_fillMissingTextUDF;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
}
|
||||
}
|
||||
?>
|
||||
<form action="<?php echo site_url('system/UDF/saveUDF'); ?>" method="POST">
|
||||
<form action="<?php echo site_url('system/FAS_UDF/saveUDF'); ?>" method="POST">
|
||||
|
||||
<div class="div-table">
|
||||
<div class="div-row">
|
||||
@@ -1974,6 +1974,9 @@ function personen_id_read_mitarbeiter_oder_student($db,$person_id)
|
||||
*/
|
||||
function read_create_html_news($db,$fachbereich_kurzbz,$studiengang_kz,$semester)
|
||||
{
|
||||
if(defined('CIS_INFOSCREEN_NEWS_ANZEIGEN') && CIS_INFOSCREEN_NEWS_ANZEIGEN==false)
|
||||
return '';
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Lesen Newstickerzeilen
|
||||
// ------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -308,8 +308,12 @@ else
|
||||
// Nur Noten, die aufs Zeugnis gedruckt werden für Durchschnittsberechnung addieren
|
||||
if ($row->zeugnis == true)
|
||||
{
|
||||
$notenSummenArray[$row->lehrveranstaltung_id]['notenwert'] = (isset($notenarr[$row->note]['notenwert']) ? $notenarr[$row->note]['notenwert'] : '');
|
||||
$notenSummenArray[$row->lehrveranstaltung_id]['ects'] = $row->ects;
|
||||
// Noten ohne Wert werden entfernen
|
||||
if(isset($notenarr[$row->note]['notenwert']))
|
||||
{
|
||||
$notenSummenArray[$row->lehrveranstaltung_id]['notenwert'] = $notenarr[$row->note]['notenwert'];
|
||||
$notenSummenArray[$row->lehrveranstaltung_id]['ects'] = $row->ects;
|
||||
}
|
||||
}
|
||||
}
|
||||
$tblBody .= "</td>";
|
||||
@@ -379,13 +383,10 @@ else
|
||||
$anzahlLv = 0;
|
||||
foreach ($notenSummenArray AS $key => $value)
|
||||
{
|
||||
if ($value['notenwert'] != '')
|
||||
{
|
||||
$anzahlLv++;
|
||||
$notenSumme += $value['notenwert'];
|
||||
$ectsSumme += $value['ects'];
|
||||
$notenSummeGewichtet += $value['notenwert'] * $value['ects'];
|
||||
}
|
||||
$anzahlLv++;
|
||||
$notenSumme += $value['notenwert'];
|
||||
$ectsSumme += $value['ects'];
|
||||
$notenSummeGewichtet += $value['notenwert'] * $value['ects'];
|
||||
}
|
||||
|
||||
$tblBody .= "</tbody>";
|
||||
|
||||
@@ -352,7 +352,9 @@ function writePruefungsTable(e, data, anmeldung)
|
||||
var termin = d.von.split(" ");
|
||||
var time = termin[1].substring(0,5);
|
||||
termin = termin[0].split("-");
|
||||
termin = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
minimumFrist.setMonth(minimumFrist.getMonth() - 2);
|
||||
termin = new Date(termin[0], termin[1]-1,termin[2]);
|
||||
var frist = termin;
|
||||
termin = termin.getDate()+"."+(termin.getMonth()+1)+"."+termin.getFullYear();
|
||||
frist = frist.getTime();
|
||||
@@ -374,26 +376,29 @@ function writePruefungsTable(e, data, anmeldung)
|
||||
button = "<p><a href='#' title='<?php echo $p->t('pruefung/stornierenMoeglichBis'); ?> "+frist+"'><input style='width: 140px;' type='button' value='"+termin+" "+time+"' onclick='stornoAnmeldung(\""+anmeldung_id+"\");'></a></p>";
|
||||
|
||||
}
|
||||
else
|
||||
else if(new Date() > minimumFrist)
|
||||
{
|
||||
button = "<p><a href='#' title='<?php echo $p->t('pruefung/anmeldenMoeglichBis'); ?> "+frist+"'><input style='width: 140px; background-color: green;' type='button' value='"+termin+" "+time+"' onclick='openDialog(\""+e.lehrveranstaltung[0].lehrveranstaltung_id+"\", \""+d.pruefungstermin_id+"\", \""+e.lehrveranstaltung[0].bezeichnung.replace("'", "'")+"\", \""+d.von+"\", \""+d.bis+"\");'></a></p>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
button = "<p><input style='width: 180px;' type='button' value='<?php echo $p->t('pruefung/zurLvAnmeldung'); ?>' onclick='openAnmeldung(\""+e.lehrveranstaltung[0].lehrveranstaltung_id+"\", \""+e.pruefung.studiensemester_kurzbz+"\");'></p>";
|
||||
}
|
||||
|
||||
row += button;
|
||||
|
||||
if(d.max === null)
|
||||
{
|
||||
teilnehmer += "<?php echo $p->t('pruefung/unbegrenzt'); ?><br />";
|
||||
}
|
||||
else
|
||||
{
|
||||
teilnehmer += "<p><span style='line-height: 24px'>"+(d.max - d.teilnehmer)+"/"+d.max+"</span></p>";
|
||||
}
|
||||
if(new Date() > minimumFrist)
|
||||
{
|
||||
if(d.max === null)
|
||||
{
|
||||
teilnehmer += "<?php echo $p->t('pruefung/unbegrenzt'); ?><br />";
|
||||
}
|
||||
else
|
||||
{
|
||||
teilnehmer += "<p><span style='line-height: 24px'>"+(d.max - d.teilnehmer)+"/"+d.max+"</span></p>";
|
||||
}
|
||||
}
|
||||
});
|
||||
row += "<td>"+teilnehmer+"</td>";
|
||||
return row;
|
||||
|
||||
@@ -178,7 +178,10 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
|
||||
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
|
||||
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
|
||||
$prf->organisationseinheit = $oe->bezeichnung;
|
||||
array_push($pruefungen, $prf);
|
||||
|
||||
// nur hinzufügen wenn zumindest 1 Termin vorhanden ist
|
||||
if (!empty($prf->pruefung->termine))
|
||||
array_push($pruefungen, $prf);
|
||||
}
|
||||
}
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
@@ -265,7 +268,10 @@ function getPruefungByLvFromStudiengang($aktStudiensemester = null, $uid = null)
|
||||
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
|
||||
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
|
||||
$prf->organisationseinheit = $oe->bezeichnung;
|
||||
array_push($pruefungen, $prf);
|
||||
|
||||
// nur hinzufügen wenn zumindest 1 Termin vorhanden ist
|
||||
if (!empty($prf->pruefung->termine))
|
||||
array_push($pruefungen, $prf);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -805,7 +811,10 @@ function getAllPruefungen($aktStudiensemester = null, $uid = null)
|
||||
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
|
||||
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
|
||||
$prf->organisationseinheit = $oe->bezeichnung;
|
||||
array_push($pruefungen, $prf);
|
||||
|
||||
// nur hinzufügen wenn zumindest 1 Termin vorhanden ist
|
||||
if (!empty($prf->pruefung->termine))
|
||||
array_push($pruefungen, $prf);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -150,8 +150,8 @@ $studiensemester->getAll();
|
||||
{
|
||||
$("#accordion").accordion({
|
||||
header: "h2",
|
||||
autoHeight: false
|
||||
});
|
||||
heightStyle: "content"
|
||||
});
|
||||
$("#accordion").attr("style", "visibility: visible;");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -362,7 +362,7 @@ if (isset($reservtodelete))
|
||||
|
||||
$reservierung = new reservierung();
|
||||
$reservdelcount = 0;
|
||||
$reservberechtigt = $rechte->isBerechtigt('lehre/reservierung', null, 'suid');
|
||||
$reservberechtigt = $rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid');
|
||||
|
||||
foreach ($reservtodelete as $delete_id)
|
||||
{
|
||||
|
||||
@@ -69,8 +69,8 @@ function ip_increment($ip = "")
|
||||
<?php
|
||||
if($is_lector || check_lektor($txtUID))
|
||||
{
|
||||
echo 'Die Notebook registrierung steht nur für Studierende zur Verfügung.<br>
|
||||
Wollen Sie als Mitarbeiter ein Notebook registrieren wenden Sie sich bitte an den <a href="mailto:support@technikum-wien.at">Support</a> ';
|
||||
echo 'Die Notebook Registrierung steht nur für Studierende zur Verfügung.<br>
|
||||
Wollen Sie als Mitarbeiter ein Notebook registrieren, wenden Sie sich bitte an den <a href="mailto:support@technikum-wien.at">Support</a>.';
|
||||
echo '</td></tr></table></div></body></html>';
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ else {
|
||||
$datum = new datum();
|
||||
|
||||
$fieldheadings = array(
|
||||
'id' => $p->t("zeitaufzeichnung/id"), 'user' => $p->t("zeitaufzeichnung/user"), 'projekt' => $p->t("zeitaufzeichnung/projekt"),
|
||||
'id' => $p->t("zeitaufzeichnung/id"), 'user' => $p->t("zeitaufzeichnung/user"), 'projekt' => $p->t("zeitaufzeichnung/projekt"), 'ap' => $p->t("zeitaufzeichnung/projektphase"),
|
||||
'oe1' => $p->t("zeitaufzeichnung/oe"), 'oe2' => $p->t("zeitaufzeichnung/oe").'2', 'aktivitaet' => $p->t("zeitaufzeichnung/aktivitaet"),
|
||||
'service' => $p->t("zeitaufzeichnung/service"), 'start' => $p->t("zeitaufzeichnung/start"), 'ende' => $p->t("zeitaufzeichnung/ende"),
|
||||
'dauer' => $p->t("zeitaufzeichnung/dauer"), 'kunde' => $p->t("zeitaufzeichnung/kunde"), 'beschreibung' => $p->t("global/beschreibung"), 'aktion' => $p->t("global/aktion"),
|
||||
@@ -251,7 +251,7 @@ echo '
|
||||
$("#kunde_uid").val(ui.item.uid);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$("#projekt").change(
|
||||
function()
|
||||
{
|
||||
@@ -496,7 +496,7 @@ echo '
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function getProjektphasen(projekt_kurzbz)
|
||||
{
|
||||
$.ajax
|
||||
@@ -505,7 +505,7 @@ echo '
|
||||
type: "GET",
|
||||
url: "zeitaufzeichnung_projektphasen.php",
|
||||
dataType: "json",
|
||||
data:
|
||||
data:
|
||||
{
|
||||
"projekt_kurzbz":projekt_kurzbz
|
||||
},
|
||||
@@ -517,7 +517,7 @@ echo '
|
||||
{
|
||||
if ($(this).prop("id") !== "projektphasekeineausw")
|
||||
$(this).remove();
|
||||
}
|
||||
}
|
||||
);
|
||||
//append Projektphasen if any
|
||||
if (json.length > 0)
|
||||
@@ -527,13 +527,13 @@ echo '
|
||||
{
|
||||
projphasenhtml += "<option value = \'" + json[i].projektphase_id + "\'>" + json[i].bezeichnung + "<\/option>";
|
||||
}
|
||||
|
||||
|
||||
$("#projektphase").append(projphasenhtml);
|
||||
$("#projektphaseformgroup").show();
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$("#projektphaseformgroup").hide();
|
||||
$("#projektphaseformgroup").hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -556,6 +556,29 @@ if($kartennummer != '')
|
||||
$kunde_uid = $betriebsmittel->uid;
|
||||
}
|
||||
//Speichern der Daten
|
||||
|
||||
function checkVals ($oe_val, $project_val, $phase_val, $service_val)
|
||||
{
|
||||
$error = 0;
|
||||
if ($service_val && ( filter_var($service_val, FILTER_VALIDATE_INT) === false ))
|
||||
$error = 1;
|
||||
if ($phase_val && ( filter_var($phase_val, FILTER_VALIDATE_INT) === false ))
|
||||
$error = 1;
|
||||
if ($oe_val)
|
||||
{
|
||||
$oecheck = new organisationseinheit($oe_val);
|
||||
if ($oecheck->errormsg)
|
||||
$error = 1;
|
||||
}
|
||||
if ($project_val)
|
||||
{
|
||||
$procheck = new projekt($project_val);
|
||||
if ($procheck->errormsg)
|
||||
$error = 1;
|
||||
}
|
||||
return $error;
|
||||
}
|
||||
|
||||
if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
{
|
||||
$zeit = new zeitaufzeichnung();
|
||||
@@ -580,13 +603,35 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
{
|
||||
if($data[0] == $user)
|
||||
{
|
||||
if (!isset($data[5]))
|
||||
$data[5] = NULL;
|
||||
if (!isset($data[6]))
|
||||
$data[6] = NULL;
|
||||
if (!isset($data[7]))
|
||||
$data[7] = NULL;
|
||||
if (!isset($data[8]))
|
||||
$data[8] = NULL;
|
||||
if ($datum->formatDatum($data[2], $format='Y-m-d H:i:s') < $sperrdatum)
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum ('.$data[2].')</b></span><br>';
|
||||
//elseif (isset($data[8]) && ( filter_var($data[8], FILTER_VALIDATE_INT) === false ))
|
||||
//{
|
||||
// echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': Service ID ist keine Zahl ('.$data[8].')</b></span><br>';
|
||||
//}
|
||||
elseif (checkVals($data[5],$data[6],$data[7],$data[8]))
|
||||
{
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': Fehlerhafte Werte ('.$data[2].')</b></span><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($data[1] == 'LehreIntern')
|
||||
$data[1] = 'Lehre';
|
||||
$zeit->new = true;
|
||||
$zeit->beschreibung = NULL;
|
||||
$zeit->oe_kurzbz_1 = NULL;
|
||||
$zeit->projekt_kurzbz = NULL;
|
||||
$zeit->projektphase_id = NULL;
|
||||
$zeit->service_id = NULL;
|
||||
|
||||
$zeit->insertamum = date('Y-m-d H:i:s');
|
||||
$zeit->updateamum = date('Y-m-d H:i:s');
|
||||
$zeit->updatevon = $user;
|
||||
@@ -598,7 +643,13 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
if (isset($data[4]))
|
||||
$zeit->beschreibung = $data[4];
|
||||
if (isset($data[5]))
|
||||
$zeit->service_id = $data[5];
|
||||
$zeit->oe_kurzbz_1 = $data[5];
|
||||
if (isset($data[6]))
|
||||
$zeit->projekt_kurzbz = $data[6];
|
||||
if (isset($data[7]))
|
||||
$zeit->projektphase_id = $data[7];
|
||||
if (isset($data[8]))
|
||||
$zeit->service_id = $data[8];
|
||||
$tag = $datum->formatDatum($data[2], $format='Y-m-d');
|
||||
|
||||
if(!in_array($tag, $importtage_array))
|
||||
@@ -621,10 +672,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
$pause->aktivitaet_kurzbz = 'Pause';
|
||||
$pause->start = $ende_vorher;
|
||||
$pause->ende = $zeit->start;
|
||||
$zeit->beschreibung = '';
|
||||
$pause->beschreibung = '';
|
||||
if(!$pause->save())
|
||||
{
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'</b></span>';
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'</b></span><br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -641,7 +692,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
*/
|
||||
if(!$zeit->save())
|
||||
{
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'</b>('.$zeit->start.')</span>';
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'</b>('.$zeit->start.')</span><br>';
|
||||
}
|
||||
else
|
||||
$anzahl++;
|
||||
@@ -651,6 +702,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import']))
|
||||
|
||||
}
|
||||
}
|
||||
else if (strpos($data[0],'#') === false)
|
||||
{
|
||||
echo '<span style="color:red"><b>'.$p->t("global/fehlerBeimSpeichernDerDaten").': Falsche UID nicht importiert </b>('.$data[0].')</span><br>';
|
||||
}
|
||||
}
|
||||
if($anzahl>0)
|
||||
{
|
||||
@@ -951,7 +1006,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
echo '<OPTION value="" disabled="disabled">------------------------</OPTION>';
|
||||
$trennlinie = false;
|
||||
}
|
||||
echo '<option value="'.$db->convert_html_chars($row->oe_kurzbz).'" '.$selected.' '.$class.'>'.$db->convert_html_chars($row->bezeichnung.' ('.$row->organisationseinheittyp_kurzbz).')</option>';
|
||||
echo '<option value="'.$db->convert_html_chars($row->oe_kurzbz).'" '.$selected.' '.$class.'>'.$db->convert_html_chars($row->bezeichnung.' ('.$row->organisationseinheittyp_kurzbz).') ['.$row->oe_kurzbz.']</option>';
|
||||
}
|
||||
echo '</SELECT> ';
|
||||
if($za_simple == 0)
|
||||
@@ -1202,7 +1257,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
{
|
||||
//Uebersichtstabelle
|
||||
$woche=date('W');
|
||||
$colspan=($za_simple)?11:13;
|
||||
$colspan=($za_simple)?12:14;
|
||||
echo '
|
||||
<table id="t1" class="" style="width:100%">
|
||||
|
||||
@@ -1285,7 +1340,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
|
||||
$tagessaldo = $tagessaldo-$pausesumme;
|
||||
$tagessaldo = date('H:i', ($tagessaldo));
|
||||
$colspan = ($za_simple)?5:7;
|
||||
$colspan = ($za_simple)?6:8;
|
||||
echo '<tr id="tag_row_'.$datum->formatDatum($tag,'d_m_Y').'"><td '.$style.' colspan="'.$colspan.'")>';
|
||||
|
||||
// Zusaetzlicher span fuer Addon Informationen
|
||||
@@ -1360,7 +1415,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
|
||||
<!--</table>-->';
|
||||
|
||||
$colspan=($za_simple)?11:13;
|
||||
$colspan=($za_simple)?12:14;
|
||||
echo '
|
||||
<!--<table id="t'.$datumwoche.'" class="tablesorter">-->
|
||||
<tr><th colspan="'.$colspan.'"> </th></tr>
|
||||
@@ -1382,7 +1437,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
// Diestreisen NEU
|
||||
if (array_key_exists($datumtag, $dr_arr))
|
||||
{
|
||||
$colspan=($za_simple)?5:7;
|
||||
$colspan=($za_simple)?6:8;
|
||||
echo '<tr style="background-color: #aabb99"><td colspan="'.$colspan.'">'.$p->t('zeitaufzeichnung/dienstreise');
|
||||
if (array_key_exists('start', $dr_arr[$datumtag]) && !array_key_exists('ende', $dr_arr[$datumtag]))
|
||||
echo ' '.$p->t('global/beginn');
|
||||
@@ -1436,10 +1491,13 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
$summe = $row->summe;
|
||||
$service = new service();
|
||||
$service->load($row->service_id);
|
||||
$projektphase = new projektphase($row->projektphase_id);
|
||||
$ap = $projektphase->bezeichnung;
|
||||
echo '<tr>
|
||||
<td '.$style.'>'.$db->convert_html_chars($row->zeitaufzeichnung_id).'</td>
|
||||
<td '.$style.'>'.$db->convert_html_chars($row->uid).'</td>
|
||||
<td '.$style.'>'.$db->convert_html_chars($row->projekt_kurzbz).'</td>';
|
||||
echo '<td '.$style.' > '.$db->convert_html_chars($ap).'</td>';
|
||||
echo '<td '.$style.' > '.$db->convert_html_chars($row->oe_kurzbz_1).'</td>';
|
||||
if(!$za_simple)
|
||||
{
|
||||
@@ -1519,6 +1577,7 @@ function printTableHeadings($fieldheadings, $za_simple = false){
|
||||
<th style="background-color:#DCE4EF" align="center">'.$fieldheadings['id'].'</th>
|
||||
<th style="background-color:#DCE4EF" align="center">'.$fieldheadings['user'].'</th>
|
||||
<th style="background-color:#DCE4EF" align="center">'.$fieldheadings['projekt'].'</th>
|
||||
<th style="background-color:#DCE4EF" align="center">'.$fieldheadings['ap'].'</th>
|
||||
<th style="background-color:#DCE4EF" align="center">'.$fieldheadings['oe1'].'</th>';
|
||||
if (!$za_simple)
|
||||
{
|
||||
@@ -1578,8 +1637,8 @@ function getDataForCSV($rawdata, $fieldheadings, $za_simple = false)
|
||||
$datum = new datum();
|
||||
$csvData = array();
|
||||
//headers schreiben
|
||||
$csvData[] = ($za_simple) ? array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['oe1'], $fieldheadings['aktivitaet'], $fieldheadings['beschreibung'])
|
||||
: array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['oe1'], $fieldheadings['oe2'], $fieldheadings['aktivitaet'], $fieldheadings['service'], $fieldheadings['kunde'], $fieldheadings['beschreibung']);
|
||||
$csvData[] = ($za_simple) ? array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['ap'], $fieldheadings['oe1'], $fieldheadings['aktivitaet'], $fieldheadings['beschreibung'])
|
||||
: array($fieldheadings['user'], $fieldheadings['datum'], $fieldheadings['start'], $fieldheadings['ende'], $fieldheadings['projekt'], $fieldheadings['ap'], $fieldheadings['oe1'], $fieldheadings['oe2'], $fieldheadings['aktivitaet'], $fieldheadings['service'], $fieldheadings['kunde'], $fieldheadings['beschreibung']);
|
||||
foreach ($rawdata as $zeitauf)
|
||||
{
|
||||
//Newline characters bei Beschreibung ersetzen
|
||||
@@ -1592,13 +1651,13 @@ function getDataForCSV($rawdata, $fieldheadings, $za_simple = false)
|
||||
if($za_simple)
|
||||
{
|
||||
$csvData[] = array($zeitauf->uid, $hauptdatum, $datum->formatDatum($zeitauf->start, 'H:i'),
|
||||
$bisdatum, $zeitauf->projekt_kurzbz, $zeitauf->oe_kurzbz_1, $zeitauf->aktivitaet_kurzbz, $beschreibung);
|
||||
$bisdatum, $zeitauf->projekt_kurzbz, $zeitauf->projektphase_id, $zeitauf->oe_kurzbz_1, $zeitauf->aktivitaet_kurzbz, $beschreibung);
|
||||
}
|
||||
else
|
||||
{
|
||||
$servicebez = ($service->load($zeitauf->service_id))?$service->bezeichnung:"";
|
||||
$csvData[] = array($zeitauf->uid, $hauptdatum, $datum->formatDatum($zeitauf->start, 'H:i'), $bisdatum,
|
||||
$zeitauf->projekt_kurzbz, $zeitauf->oe_kurzbz_1, $zeitauf->oe_kurzbz_2, $zeitauf->aktivitaet_kurzbz, $servicebez, $zeitauf->kunde_uid, $beschreibung);
|
||||
$zeitauf->projekt_kurzbz, $zeitauf->projektphase_id, $zeitauf->oe_kurzbz_1, $zeitauf->oe_kurzbz_2, $zeitauf->aktivitaet_kurzbz, $servicebez, $zeitauf->kunde_uid, $beschreibung);
|
||||
}
|
||||
}
|
||||
return $csvData;
|
||||
|
||||
+57
-58
@@ -160,7 +160,7 @@ $gebiet = new gebiet($gebiet_id);
|
||||
|
||||
if($gebiet->level_start!='')
|
||||
$levelgebiet=true;
|
||||
else
|
||||
else
|
||||
$levelgebiet=false;
|
||||
|
||||
list($stunde, $minute, $sekunde) = explode(':',$gebiet->zeit);
|
||||
@@ -178,20 +178,20 @@ if(isset($_GET['start']) && !$gestartet)
|
||||
$frage = new frage();
|
||||
if(!$frage->generateFragenpool($_SESSION['pruefling_id'], $gebiet_id))
|
||||
die($p->t('testtool/fehlerBeimGenerierenDesFragenpools').':'.$frage->errormsg);
|
||||
|
||||
|
||||
//Erste Frage des Pools holen
|
||||
if(!$frage_id = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id']))
|
||||
die($p->t('testtool/esWurdeKeineFrageGefunden'));
|
||||
|
||||
|
||||
//Beginnzeit Speichern
|
||||
$prueflingfrage = new frage();
|
||||
if(!$prueflingfrage->getPrueflingfrage($_SESSION['pruefling_id'], $frage_id))
|
||||
die($p->t('testtool/fehler').':'.$prueflingfrage->errormsg);
|
||||
|
||||
|
||||
$prueflingfrage->begintime = date('Y-m-d H:i:s');
|
||||
if(!$prueflingfrage->save_prueflingfrage(false))
|
||||
die($p->t('testtool/fehlerBeimStartvorgang'));
|
||||
|
||||
|
||||
echo '<script language="Javascript">parent.menu.location.reload();</script>';
|
||||
}
|
||||
|
||||
@@ -201,46 +201,46 @@ if(isset($_POST['submitantwort']) && isset($_GET['frage_id']))
|
||||
// vor dem Speichern der Antworten, alle Antworten zu der Frage loeschen
|
||||
// und die Antworten neu anlegen
|
||||
// Unterscheidung ob mehrere oder nur eine Antwort uebergeben wird
|
||||
|
||||
|
||||
if($levelgebiet && !isset($_POST['vorschlag_id']))
|
||||
{
|
||||
echo '<span class="error">'.$p->t('testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten').'</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
$error=false;
|
||||
|
||||
|
||||
$db->db_query('BEGIN;');
|
||||
|
||||
|
||||
// alle vorhandenen Antworten zu dieser Frage loeschen
|
||||
$qry = "DELETE FROM testtool.tbl_antwort WHERE antwort_id in(
|
||||
SELECT antwort_id FROM testtool.tbl_antwort JOIN testtool.tbl_vorschlag USING(vorschlag_id)
|
||||
WHERE frage_id=".$db->db_add_param($_GET['frage_id'])." AND pruefling_id=".$db->db_add_param($_SESSION['pruefling_id']).")";
|
||||
|
||||
|
||||
$db->db_query($qry);
|
||||
|
||||
// Antwort nur Speichern wenn eine Antwort gewaehlt wurde
|
||||
|
||||
// Antwort nur Speichern wenn eine Antwort gewaehlt wurde
|
||||
if(isset($_POST['vorschlag_id']) && $_POST['vorschlag_id']!='')
|
||||
{
|
||||
$vorschlaege = array();
|
||||
//Falls nur eine einzelne Antwort kommt, diese auch in ein Array packen
|
||||
if(!is_array($_POST['vorschlag_id']))
|
||||
$vorschlaege[0]=$_POST['vorschlag_id'];
|
||||
else
|
||||
else
|
||||
$vorschlaege = $_POST['vorschlag_id'];
|
||||
|
||||
|
||||
//alle Antworten Speichern
|
||||
foreach ($vorschlaege as $vorschlag_id)
|
||||
foreach ($vorschlaege as $vorschlag_id)
|
||||
{
|
||||
if($vorschlag_id!='')
|
||||
{
|
||||
$antwort = new antwort();
|
||||
|
||||
|
||||
$antwort->new = true;
|
||||
$antwort->vorschlag_id = $vorschlag_id;
|
||||
$antwort->pruefling_id = $_SESSION['pruefling_id'];
|
||||
|
||||
|
||||
if(!$antwort->save())
|
||||
{
|
||||
$errormsg = $antwort->errormsg;
|
||||
@@ -248,7 +248,7 @@ if(isset($_POST['submitantwort']) && isset($_GET['frage_id']))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
//Endzeit der Frage eintragen
|
||||
@@ -259,7 +259,7 @@ if(isset($_POST['submitantwort']) && isset($_GET['frage_id']))
|
||||
$error = true;
|
||||
}
|
||||
$prueflingfrage->endtime = date('Y-m-d H:i:s');
|
||||
|
||||
|
||||
if(!$prueflingfrage->save_prueflingfrage(false))
|
||||
{
|
||||
$errormsg = $prueflingfrage->errormsg;
|
||||
@@ -267,32 +267,32 @@ if(isset($_POST['submitantwort']) && isset($_GET['frage_id']))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($error)
|
||||
{
|
||||
$db->db_query('ROLLBACK;');
|
||||
die($p->t('testtool/fehler').':'.$errormsg);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$db->db_query('COMMIT;');
|
||||
}
|
||||
|
||||
|
||||
$frage = new frage();
|
||||
|
||||
|
||||
if($levelgebiet)
|
||||
{
|
||||
//bei gelevelten Fragen die naechste Frage holen
|
||||
$frage->generateFragenpool($_SESSION['pruefling_id'], $gebiet_id);
|
||||
}
|
||||
|
||||
|
||||
$frage_id = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id);
|
||||
}
|
||||
}
|
||||
|
||||
//Schauen ob dieses Gebiet schon gestartet wurde
|
||||
$qry = "SELECT begintime
|
||||
FROM
|
||||
FROM
|
||||
testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE pruefling_id=".$db->db_add_param($_SESSION['pruefling_id'], FHC_INTEGER)." AND gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
ORDER BY begintime ASC LIMIT 1";
|
||||
@@ -321,7 +321,7 @@ else
|
||||
$info='';
|
||||
|
||||
//Name und Studiengang anzeigen
|
||||
$qry_pruefling = "SELECT vorname, nachname, stg_bez, tbl_studiengangstyp.bezeichnung FROM testtool.vw_pruefling
|
||||
$qry_pruefling = "SELECT vorname, nachname, stg_bez, tbl_studiengangstyp.bezeichnung FROM testtool.vw_pruefling
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
JOIN public.tbl_studiengangstyp USING (typ)
|
||||
WHERE pruefling_id=".$db->db_add_param($_SESSION['pruefling_id']);
|
||||
@@ -342,7 +342,7 @@ if($levelgebiet)
|
||||
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE pruefling_id=".$db->db_add_param($_SESSION['pruefling_id'], FHC_INTEGER)."
|
||||
AND gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($result_aktuell = $db->db_query($qry))
|
||||
{
|
||||
if($row_aktuell = $db->db_fetch_object($result_aktuell))
|
||||
@@ -402,8 +402,8 @@ if($demo)
|
||||
else
|
||||
{
|
||||
//Wenn es sich um eine Testfrage handelt, dann wird die verbleibende Zeit angezeigt
|
||||
$qry = "SELECT '$gebiet->zeit'-(now()-min(begintime)) as time
|
||||
FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
$qry = "SELECT '$gebiet->zeit'-(now()-min(begintime)) as time
|
||||
FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)." AND pruefling_id=".$db->db_add_param($_SESSION['pruefling_id'], FHC_INTEGER);
|
||||
$result = $db->db_query($qry);
|
||||
$row = $db->db_fetch_object($result);
|
||||
@@ -419,7 +419,7 @@ else
|
||||
|
||||
echo $p->t('testtool/bearbeitungszeit').': <span id="counter"></span>';
|
||||
echo "<script>count_down($zeit)</script>";
|
||||
|
||||
|
||||
if($zeit<0)
|
||||
die('</td></tr></table><center><b>'.$p->t('testtool/dieZeitIstAbgelaufen').'</b></center></body></html>');
|
||||
}
|
||||
@@ -439,17 +439,17 @@ else
|
||||
{
|
||||
// wenn keine Frage uebergeben wurde und die maximale Fragenanzahl erreicht wurde
|
||||
// dann ist das Gebiet fertig
|
||||
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)." AND pruefling_id=".$db->db_add_param($_SESSION['pruefling_id'], FHC_INTEGER)." AND tbl_pruefling_frage.endtime is not null";
|
||||
$result = $db->db_query($qry);
|
||||
$row = $db->db_fetch_object($result);
|
||||
|
||||
|
||||
if($row->anzahl>=$gebiet->maxfragen)
|
||||
{
|
||||
die("<script>document.location.href='gebietfertig.php';</script>");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$frage_id = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], null, $demo, $levelgebiet);
|
||||
$frage->load($frage_id);
|
||||
}
|
||||
@@ -471,7 +471,7 @@ if($frage->frage_id!='')
|
||||
$prueflingfrage = new frage();
|
||||
if(!$prueflingfrage->getPrueflingfrage($_SESSION['pruefling_id'], $frage_id))
|
||||
die($p->t('testtool/dieseFrageIstNichtFuerSieBestimmt'));
|
||||
|
||||
|
||||
if($prueflingfrage->begintime=='')
|
||||
{
|
||||
$prueflingfrage->begintime = date('Y-m-d H:i:s');
|
||||
@@ -484,8 +484,8 @@ if($frage->frage_id!='')
|
||||
//Kopfzeile mit Weiter Button und Sprung direkt zu einer Frage
|
||||
if(!$demo && !$levelgebiet)
|
||||
{
|
||||
$qry = "SELECT tbl_pruefling_frage.nummer, tbl_pruefling_frage.frage_id
|
||||
FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
$qry = "SELECT tbl_pruefling_frage.nummer, tbl_pruefling_frage.frage_id
|
||||
FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)." AND pruefling_id=".$db->db_add_param($_SESSION['pruefling_id'], FHC_INTEGER)." AND demo=false ORDER BY nummer";
|
||||
|
||||
echo "
|
||||
@@ -515,9 +515,9 @@ if($frage->frage_id!='')
|
||||
{
|
||||
if($demo)
|
||||
$value='';
|
||||
else
|
||||
else
|
||||
$value=$p->t('testtool/blaettern').' >>';
|
||||
|
||||
|
||||
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&frage_id=$nextfrage' class='Item'>$value</a>";
|
||||
}
|
||||
else
|
||||
@@ -543,8 +543,8 @@ if($frage->frage_id!='')
|
||||
{
|
||||
echo '
|
||||
<div class="row text-center">
|
||||
<img class="testtoolfrage" src="bild.php?src=frage&frage_id='. $frage->frage_id.'&sprache='. $_SESSION["sprache_user"].'"></img><br/><br/><br/>
|
||||
</div>
|
||||
<img class="testtoolfrage" src="bild.php?src=frage&frage_id='. $frage->frage_id.'&sprache='. $_SESSION["sprache_user"].'"></img><br/><br/><br/>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
$timestamp = time();
|
||||
@@ -552,13 +552,13 @@ if($frage->frage_id!='')
|
||||
//Sound einbinden
|
||||
if($frage->audio!='')
|
||||
{
|
||||
echo '
|
||||
echo '
|
||||
<div class="row text-center">
|
||||
<audio src="sound.php?src=frage&frage_id='.$frage->frage_id.'&sprache='.$_SESSION['sprache_user'].'&'.$timestamp.'" controls="controls" type="audio/ogg">
|
||||
<div>
|
||||
<p>Ihr Browser unterstützt dieses Audioelement leider nicht.</p>
|
||||
</div>
|
||||
</audio>
|
||||
</audio>
|
||||
</div>
|
||||
';
|
||||
}
|
||||
@@ -566,10 +566,10 @@ if($frage->frage_id!='')
|
||||
$display_well = $frage->nummer == 0 ? '' : 'well'; // don't style frage 0 because this is always the introduction to gebiet
|
||||
echo '
|
||||
<div class="row">
|
||||
<div class="col-xs-offset-1 col-xs-10 col-sm-offset-2 col-sm-8">
|
||||
<div class="col-xs-offset-1 col-xs-10 col-sm-offset-2 col-sm-8">
|
||||
<div class="'. $display_well. ' text-center">'. $frage->text. '</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
//Vorschlaege laden
|
||||
@@ -586,22 +586,22 @@ if($frage->frage_id!='')
|
||||
$beantwortet = false;
|
||||
$cnt = 0; // counter für foreach-Schleife
|
||||
$len = count($vs->result);
|
||||
|
||||
|
||||
//Antworten laden falls bereits vorhanden
|
||||
$antwort = new antwort();
|
||||
$antwort->getAntwort($_SESSION['pruefling_id'],$frage->frage_id);
|
||||
|
||||
|
||||
//Vorschlaege anzeigen
|
||||
foreach ($vs->result as $vorschlag)
|
||||
{
|
||||
echo "<td valign='top' style='padding: 25px;'>";
|
||||
|
||||
|
||||
//Bei multipleresponse checkboxen anzeigen ansonsten radiobuttons
|
||||
if($gebiet->multipleresponse)
|
||||
$type='checkbox';
|
||||
else
|
||||
else
|
||||
$type='radio';
|
||||
|
||||
|
||||
//Antworten markieren wenn die Frage bereits beantwortet wurde
|
||||
$checked=false;
|
||||
reset($antwort->result);
|
||||
@@ -613,9 +613,9 @@ if($frage->frage_id!='')
|
||||
$beantwortet = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<input type="'.$type.'" class="button_style" name="vorschlag_id[]" value="'.$vorschlag->vorschlag_id.'" '.$checked.'/>';
|
||||
|
||||
|
||||
echo '<br/>';
|
||||
if($vorschlag->bild!='')
|
||||
echo "<img class='testtoolvorschlag' src='bild.php?src=vorschlag&vorschlag_id=$vorschlag->vorschlag_id&sprache=".$_SESSION['sprache_user']."' /><br/>";
|
||||
@@ -641,7 +641,7 @@ if($frage->frage_id!='')
|
||||
$cnt++;
|
||||
}
|
||||
|
||||
//wenn singleresponse und keine Levels und vorschlaege vorhanden sind, dann gibt es auch die
|
||||
//wenn singleresponse und keine Levels und vorschlaege vorhanden sind, dann gibt es auch die
|
||||
//moeglichkeit fuer keine Antwort
|
||||
if(!$gebiet->multipleresponse && !$levelgebiet && count($vs->result)>0)
|
||||
{
|
||||
@@ -668,8 +668,8 @@ if($frage->frage_id!='')
|
||||
//Naechste Frage holen und Weiter-Button anzeigen
|
||||
//$frage = new frage();
|
||||
//$nextfrage = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo);
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage
|
||||
WHERE tbl_frage.gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
AND demo ";
|
||||
if($row = $db->db_fetch_object($db->db_query($qry)))
|
||||
@@ -682,10 +682,11 @@ if($frage->frage_id!='')
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '
|
||||
echo '
|
||||
</div> <!--/.row-->
|
||||
';
|
||||
echo "</form>";
|
||||
echo '</div></div>';
|
||||
echo '<br/><br/><br/><br/><br/>';
|
||||
}
|
||||
else
|
||||
@@ -694,7 +695,5 @@ else
|
||||
echo "<br/><br/><center><b>".$p->t("testtool/startDrueckenUmZuBeginnen")."</b></center>";
|
||||
}
|
||||
?>
|
||||
</div><!--/.col-->
|
||||
</div><!--/.row-->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+16
-14
@@ -56,7 +56,7 @@ if (isset($_GET['logout']) && $_GET['logout'] == true)
|
||||
echo '
|
||||
<script language="Javascript">
|
||||
location = location.pathname; // clean the login.php-url from querystring
|
||||
parent.menu.location = parent.menu.location.pathname; // clean the menu.php-url from querystring
|
||||
parent.menu.location = parent.menu.location.pathname; // clean the menu.php-url from querystring
|
||||
parent.topbar.location = parent.topbar.location.pathname; // clean the topbar.php-url from querystring
|
||||
</script>
|
||||
';
|
||||
@@ -326,12 +326,12 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css" type="text/css"/>
|
||||
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
|
||||
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"/>
|
||||
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
|
||||
<link rel="stylesheet" href="../../vendor/components/jqueryui/themes/base/jquery-ui.min.css" type="text/css"/>
|
||||
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/ui/i18n/datepicker-de.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
@@ -406,7 +406,9 @@ if (isset($prestudent_id))
|
||||
// Sprachwahl zu STG mit höchster Prio ermitteln
|
||||
$ablauf = new Ablauf();
|
||||
$sprachwahl = false;
|
||||
if ($ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz) && is_bool($ablauf->result[0]->sprachwahl))
|
||||
if (isset($ablauf->result[0])
|
||||
&& $ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz)
|
||||
&& is_bool($ablauf->result[0]->sprachwahl))
|
||||
{
|
||||
$sprachwahl = $ablauf->result[0]->sprachwahl;
|
||||
}
|
||||
@@ -425,7 +427,7 @@ if (isset($prestudent_id))
|
||||
echo '<div class="col-xs-10 col-sm-9 col-lg-6">';
|
||||
echo '
|
||||
<h1 style="margin-top: -20px;">'. $p->t('testtool/begruessungstext'). '</h1><br/>
|
||||
<p>'. $p->t('testtool/anmeldedaten'). '</p><br/>
|
||||
<p>'. $p->t('testtool/anmeldedaten'). '</p><br/>
|
||||
';
|
||||
|
||||
echo '
|
||||
@@ -447,15 +449,15 @@ if (isset($prestudent_id))
|
||||
echo '<br>';
|
||||
echo '
|
||||
<p>'. $p->t('testtool/fuerFolgendeStgAngemeldet'). '</p><br>
|
||||
|
||||
<table class="table table-bordered">
|
||||
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50%;">'. $p->t('global/studiengang'). '</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</thead>
|
||||
<tbody>
|
||||
';
|
||||
|
||||
// * wenn Prestudent an 1 - n Bachelor-Studiengängen interessiert ist, dann STG anführen
|
||||
@@ -519,8 +521,8 @@ if (isset($prestudent_id))
|
||||
echo '<td>'. $ps_master->status_mehrsprachig[$sprache_user]. '</td>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</tbody>
|
||||
echo '
|
||||
</tbody>
|
||||
</table>
|
||||
';
|
||||
|
||||
|
||||
@@ -256,10 +256,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
semester,
|
||||
gebiet_id,
|
||||
bezeichnung,
|
||||
bezeichnung_mehrsprachig_1,
|
||||
bezeichnung_mehrsprachig_2,
|
||||
bezeichnung_mehrsprachig_3,
|
||||
bezeichnung_mehrsprachig_4
|
||||
". $bezeichnung_mehrsprachig_sel ."
|
||||
|
||||
ORDER BY
|
||||
semester,
|
||||
|
||||
@@ -216,6 +216,8 @@ define('CIS_DOKUMENTE_SELFSERVICE', true);
|
||||
//**** INFOSCREEN ****
|
||||
//Gibt an, ob der Lageplan im Infoterminal angezeigt werden soll.
|
||||
define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN',true);
|
||||
//Gibt an, ob News im Infoterminal angezeigt werden soll.
|
||||
define('CIS_INFOSCREEN_NEWS_ANZEIGEN',false);
|
||||
|
||||
//User, welcher für das Anlegen von Anrechnungen bei der Prüfungsanmeldung verwendet wird
|
||||
define('CIS_PRUEFUNGSANMELDUNG_USER','p.pruefungsanmeldung');
|
||||
@@ -234,6 +236,9 @@ define('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG', true);
|
||||
//Gibt an, ob der Bereich zur Anmeldung zu Pruefungen des gesamten Studiengangs angezeigt werden soll
|
||||
define('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG', true);
|
||||
|
||||
//Gibt an, ob mehrere Pruefungen zur selben Zeit im selben Raum stattfinden duerfen
|
||||
define('CIS_PRUEFUNGSANMELDUNG_ERLAUBE_TERMINKOLLISION', true);
|
||||
|
||||
//Gibt an, wie viele Semester aus der Vergangenheit unter Meine LV angezeigt werden
|
||||
define('CIS_MEINELV_ANZAHL_SEMESTER_PAST', 3);
|
||||
|
||||
|
||||
@@ -2669,11 +2669,12 @@ if(!$error)
|
||||
$bisio->nation_code = $_POST['nation_code'];
|
||||
$bisio->von = $_POST['von'];
|
||||
$bisio->bis = $_POST['bis'];
|
||||
$bisio->zweck_code = $_POST['zweck_code'];
|
||||
$bisio->student_uid = $_POST['student_uid'];
|
||||
$bisio->lehreinheit_id = $_POST['lehreinheit_id'];
|
||||
$bisio->ort = $_POST['ort'];
|
||||
$bisio->universitaet = $_POST['universitaet'];
|
||||
$bisio->ects_erworben = $_POST['ects_erworben'];
|
||||
$bisio->ects_angerechnet = $_POST['ects_angerechnet'];
|
||||
$bisio->updateamum = date('Y-m-d H:i:s');
|
||||
$bisio->updatevon = $user;
|
||||
|
||||
@@ -2692,6 +2693,210 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='savebisiozweck')
|
||||
{
|
||||
$bisio = new bisio();
|
||||
if($bisio->load($_POST['bisio_id']))
|
||||
{
|
||||
$student = new student();
|
||||
if($student->load($bisio->student_uid))
|
||||
{
|
||||
|
||||
//Speichert einen BisIO Eintrag
|
||||
if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') &&
|
||||
!$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Sie haben keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$bisio = new bisio();
|
||||
|
||||
$bisio->bisio_id = (isset($_POST['bisio_id'])?$_POST['bisio_id']:'');
|
||||
$bisio->zweck_code = $_POST['zweck_code'];
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if($bisio->saveZweck())
|
||||
{
|
||||
$return = true;
|
||||
$data = $bisio->bisio_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $student->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='deletebisiozweck')
|
||||
{
|
||||
$bisio = new bisio();
|
||||
if($bisio->load($_POST['bisio_id']))
|
||||
{
|
||||
$student = new student();
|
||||
if($student->load($bisio->student_uid))
|
||||
{
|
||||
//Speichert einen BisIO Eintrag
|
||||
if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') &&
|
||||
!$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Sie haben keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$bisio = new bisio();
|
||||
|
||||
$bisio->bisio_id = (isset($_POST['bisio_id'])?$_POST['bisio_id']:'');
|
||||
$bisio->zweck_code = $_POST['zweck_code'];
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if($bisio->deleteZweck())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $student->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='savebisioaufenthaltfoerderung')
|
||||
{
|
||||
$bisio = new bisio();
|
||||
if($bisio->load($_POST['bisio_id']))
|
||||
{
|
||||
$student = new student();
|
||||
if($student->load($bisio->student_uid))
|
||||
{
|
||||
|
||||
//Speichert einen BisIO Eintrag
|
||||
if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') &&
|
||||
!$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Sie haben keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$bisio = new bisio();
|
||||
|
||||
$bisio->bisio_id = (isset($_POST['bisio_id'])?$_POST['bisio_id']:'');
|
||||
$bisio->aufenthaltfoerderung_code = $_POST['aufenthaltfoerderung_code'];
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if($bisio->saveAufenthaltFoerderung())
|
||||
{
|
||||
$return = true;
|
||||
$data = $bisio->bisio_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $student->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='deletebisioaufenthaltfoerderung')
|
||||
{
|
||||
$bisio = new bisio();
|
||||
if($bisio->load($_POST['bisio_id']))
|
||||
{
|
||||
$student = new student();
|
||||
if($student->load($bisio->student_uid))
|
||||
{
|
||||
//Speichert einen BisIO Eintrag
|
||||
if(!$rechte->isBerechtigt('assistenz',$student->studiengang_kz,'suid') &&
|
||||
!$rechte->isBerechtigt('admin',$student->studiengang_kz, 'suid'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Sie haben keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$bisio = new bisio();
|
||||
|
||||
$bisio->bisio_id = (isset($_POST['bisio_id'])?$_POST['bisio_id']:'');
|
||||
$bisio->aufenthaltfoerderung_code = $_POST['aufenthaltfoerderung_code'];
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if($bisio->deleteAufenthaltFoerderung())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $student->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $bisio->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='getnotenotenschluessel')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('admin', null, 's') && !$rechte->isBerechtigt('assistenz', null, 's') &&
|
||||
|
||||
@@ -35,85 +35,92 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
>
|
||||
<!-- Incomming/Outgoing DETAILS -->
|
||||
<vbox id="student-io" style="overflow:auto;margin:0px;" flex="1">
|
||||
<hbox id="student-io" style="overflow:auto;margin:0px;">
|
||||
<popupset>
|
||||
<menupopup id="student-io-tree-popup">
|
||||
<menuitem label="Entfernen" oncommand="StudentIODelete();" id="student-io-tree-popup-delete" hidden="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<popupset>
|
||||
<menupopup id="student-io-tree-aufenthaltfoerderung-popup">
|
||||
<menuitem label="Entfernen" oncommand="StudentIOAufenthaltfoerderungDelete();" id="student-io-tree-popup-aufenthaltfoerderung-delete" hidden="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<popupset>
|
||||
<menupopup id="student-io-tree-zweck-popup">
|
||||
<menuitem label="Entfernen" oncommand="StudentIOZweckDelete();" id="student-io-tree-popup-zweck-delete" hidden="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<vbox>
|
||||
<hbox>
|
||||
<tree id="student-io-tree" seltype="single" hidecolumnpicker="false" flex="2"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/bisio/liste"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;min-height:100px" height="100px" enableColumnDrag="true"
|
||||
context="student-io-tree-popup"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="student-io-tree-mobilitaetsprogramm_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
|
||||
class="sortDirectionIndicator"
|
||||
sortActive="true"
|
||||
sortDirection="ascending"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#mobilitaetsprogramm_kurzbz"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-nation_code" label="Nation" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#nation_code"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-von" label="Von" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#von_iso" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-bis" label="Bis" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#bis_iso" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-bisio_id" label="bisio_id" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#bisio_id" />
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<hbox flex="1">
|
||||
<grid id="student-io-grid-detail" style="margin:4px;" flex="1">
|
||||
<columns >
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#mobilitaetsprogramm_kurzbz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#nation_code"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#von"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#bis"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#bisio_id"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id="student-io-button-neu" label="Neu" oncommand="StudentIONeu();" disabled="true"/>
|
||||
<button id="student-io-button-loeschen" label="Loeschen" oncommand="StudentIODelete();" disabled="true"/>
|
||||
</vbox>
|
||||
<vbox hidden="true">
|
||||
<label value="Neu"/>
|
||||
<checkbox id="student-io-detail-checkbox-neu" checked="true" />
|
||||
<label value="Uid"/>
|
||||
<textbox id="student-io-detail-textbox-uid" disabled="true"/>
|
||||
<label value="BisIO ID"/>
|
||||
<textbox id="student-io-detail-textbox-bisio_id" disabled="true"/>
|
||||
</vbox>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
<hbox>
|
||||
<grid id="student-io-grid-detail" style="margin:4px;" flex="1">
|
||||
<columns >
|
||||
<column flex="1"/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<tree id="student-io-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/bisio/liste"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
|
||||
context="student-io-tree-popup"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
<!-- onselect="StudentIOAuswahl()" - wird jetzt per JS gesetzt -->
|
||||
<treecols>
|
||||
<treecol id="student-io-tree-mobilitaetsprogramm_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
|
||||
class="sortDirectionIndicator"
|
||||
sortActive="true"
|
||||
sortDirection="ascending"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#mobilitaetsprogramm_kurzbz"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-nation_code" label="Nation" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#nation_code"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-von" label="Von" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#von_iso" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-bis" label="Bis" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#bis_iso" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-zweck_kurzbz" label="Zweck" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#zweck_bezeichnung" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-io-tree-bisio_id" label="bisio_id" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bisio/rdf#bisio_id" />
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#mobilitaetsprogramm_kurzbz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#nation_code"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#von"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#bis"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#zweck_bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bisio/rdf#bisio_id"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<hbox>
|
||||
<button id="student-io-button-neu" label="Neu" oncommand="StudentIONeu();" disabled="true"/>
|
||||
<button id="student-io-button-loeschen" label="Loeschen" oncommand="StudentIODelete();" disabled="true"/>
|
||||
</hbox>
|
||||
<vbox hidden="true">
|
||||
<label value="Neu"/>
|
||||
<checkbox id="student-io-detail-checkbox-neu" checked="true" />
|
||||
<label value="Uid"/>
|
||||
<textbox id="student-io-detail-textbox-uid" disabled="true"/>
|
||||
<label value="BisIO ID"/>
|
||||
<textbox id="student-io-detail-textbox-bisio_id" disabled="true"/>
|
||||
</vbox>
|
||||
<groupbox id="student-io-groupbox" flex="1">
|
||||
<caption label="BIS"/>
|
||||
<grid id="student-io-grid-detail" style="overflow:auto;margin:4px;" flex="1">
|
||||
@@ -126,17 +133,16 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<label value="Von" control="student-io-textbox-von"/>
|
||||
<hbox>
|
||||
<box class="Datum" id="student-io-textbox-von" disabled="true"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Bis" control="student-io-textbox-bis"/>
|
||||
<hbox>
|
||||
<box class="Datum" id="student-io-textbox-bis" disabled="true"/>
|
||||
<!--<textbox id="student-io-textbox-bis" disabled="true" maxlength="10" size="10"/>-->
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Mobilitaetsprogramm" control="student-io-menulist-mobilitaetsprogramm"/>
|
||||
<menulist id="student-io-menulist-mobilitaetsprogramm" disabled="true"
|
||||
@@ -145,8 +151,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#mobilitaetsprogramm_code"
|
||||
label="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#kurzbz"
|
||||
uri="rdf:*"/>
|
||||
label="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#kurzbz"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
@@ -159,34 +165,68 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
|
||||
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
|
||||
uri="rdf:*"/>
|
||||
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Zweck" control="student-io-menulist-zweck"/>
|
||||
<menulist id="student-io-menulist-zweck" disabled="true"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/zweck.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/zweck/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zweck/rdf#zweck_code"
|
||||
label="rdf:http://www.technikum-wien.at/zweck/rdf#bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<vbox>
|
||||
<tree id="student-io-tree-zweck" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/zweck/liste"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
|
||||
context="student-io-tree-zweck-popup"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="student-io-tree-zweck-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sortActive="true"
|
||||
sortDirection="ascending"
|
||||
sort="rdf:http://www.technikum-wien.at/zweck/rdf#bezeichnung"/>
|
||||
<treecol id="student-io-tree-zweck-code" label="Code" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/zweck/rdf#zweck_code"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zweck/rdf#bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/zweck/rdf#zweck_code"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</template>
|
||||
</tree>
|
||||
<hbox>
|
||||
<menulist id="student-io-menulist-zweck" disabled="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/zweck/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/zweck/rdf#zweck_code"
|
||||
label="rdf:http://www.technikum-wien.at/zweck/rdf#bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
<button id="student-io-button-zweck-hinzufuegen" label="Hinzufügen" oncommand="StudentIOZweckAdd();" disabled="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
<groupbox id="student-io-groupbox" flex="1">
|
||||
<caption label="Outgoing (Zeugnis)"/>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<groupbox id="student-io-groupbox">
|
||||
<caption label="Outgoing"/>
|
||||
<grid id="student-io-grid-detail" style="overflow:auto;margin:4px;" flex="1">
|
||||
<columns >
|
||||
<columns >
|
||||
<column flex="1"/>
|
||||
<column flex="5"/>
|
||||
</columns>
|
||||
@@ -194,28 +234,28 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<row>
|
||||
<label value="Lehrveranstaltung" control="student-io-menulist-lehrveranstaltung"/>
|
||||
<menulist id="student-io-menulist-lehrveranstaltung" disabled="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
|
||||
oncommand="StudentIOLVAChange()">
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/lehrveranstaltung/liste"
|
||||
oncommand="StudentIOLVAChange()">
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#lehrveranstaltung_id"
|
||||
label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#bezeichnung Semester rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#semester"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
label="rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#bezeichnung Semester rdf:http://www.technikum-wien.at/lehrveranstaltung/rdf#semester"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Lehreinheit" control="student-io-menulist-lehreinheit"/>
|
||||
<menulist id="student-io-menulist-lehreinheit" disabled="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/lehreinheit/liste" >
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/lehreinheit/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/lehreinheit/rdf#lehreinheit_id"
|
||||
label="rdf:http://www.technikum-wien.at/lehreinheit/rdf#bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
label="rdf:http://www.technikum-wien.at/lehreinheit/rdf#bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
@@ -228,19 +268,78 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<label value="Universitaet" control="student-io-textbox-universitaet"/>
|
||||
<textbox id="student-io-textbox-universitaet" disabled="true" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Erworbene ECTS" control="student-io-textbox-ects_erworben"/>
|
||||
<hbox>
|
||||
<textbox id="student-io-textbox-ects_erworben" disabled="true" />
|
||||
<label value="Angerechnete ECTS" control="student-io-textbox-ects_angerechnet"/>
|
||||
<textbox id="student-io-textbox-ects_angerechnet" disabled="true" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Aufenthalt Förderung" control="student-io-tree-aufenthaltfoerderung"/>
|
||||
<vbox>
|
||||
<tree id="student-io-tree-aufenthaltfoerderung" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/aufenthaltfoerderung"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
|
||||
context="student-io-tree-aufenthaltfoerderung-popup"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="student-io-tree-aufenthaltfoerderung-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sortActive="true"
|
||||
sortDirection="ascending"
|
||||
sort="rdf:http://www.technikum-wien.at/aufenthaltfoerderung/rdf#bezeichnung"/>
|
||||
<treecol id="student-io-tree-aufenthaltfoerderung-code" label="Code" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/aufenthaltfoerderung/rdf#aufenthaltfoerderung_code"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/aufenthaltfoerderung/rdf#bezeichnung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/aufenthaltfoerderung/rdf#aufenthaltfoerderung_code"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</template>
|
||||
</tree>
|
||||
<hbox>
|
||||
<menulist id="student-io-menulist-aufenthaltfoerderung" disabled="true"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/aufenthaltfoerderung.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/aufenthaltfoerderung" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/aufenthaltfoerderung/rdf#aufenthaltfoerderung_code"
|
||||
label="rdf:http://www.technikum-wien.at/aufenthaltfoerderung/rdf#bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
<button id="student-io-button-aufenthaltfoerderung-hinzufuegen" label="Hinzufügen" oncommand="StudentIOAufenthaltfoerderungAdd();" disabled="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="student-io-button-speichern" oncommand="StudentIODetailSpeichern()" label="Speichern" disabled="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</hbox>
|
||||
<spacer flex="1" />
|
||||
</vbox>
|
||||
</rows>
|
||||
</grid>
|
||||
|
||||
</overlay>
|
||||
|
||||
<spacer flex="5" />
|
||||
</hbox>
|
||||
<hbox>
|
||||
<button id="student-io-button-speichern" oncommand="StudentIODetailSpeichern()" label="Speichern" disabled="true"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</vbox>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
|
||||
</overlay>
|
||||
|
||||
@@ -39,6 +39,8 @@ var StudentKontoTreeDatasource; //Datasource des KontoTrees
|
||||
var StudentTreeLoadDataOnSelect=true; //Gib an ob beim Selectieren im Tree die Daten geladen werden sollen
|
||||
var StudentTreeLoadDataOnSelect2=true; //Gib an ob beim Selectieren im Tree die Daten geladen werden sollen
|
||||
var StudentIOTreeDatasource; //Datasource des Incomming/Outgoing Trees
|
||||
var StudentIOAufenthaltFoerderungTreeDatasource; //Datasource des Outgoing Foerderung Trees
|
||||
var StudentIOZweckTreeDatasource; //Datasource des Outgoing Zweck Trees
|
||||
var StudentIOSelectID=null; //BISIO Eintrag der nach dem Refresh markiert werden soll
|
||||
var StudentNotenTreeDatasource; //Datasource des Noten Trees
|
||||
var StudentNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
|
||||
@@ -195,6 +197,71 @@ var StudentIOTreeListener =
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Observer fuer BISIO Aufenthaltfoerderung Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der datasource fertig ist
|
||||
// ****
|
||||
var StudentIOAufenthaltFoerderungTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink)
|
||||
{
|
||||
},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('student-io-tree-aufenthaltfoerderung').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird der Eintrag wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var StudentIOAufenthaltFoerderungTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Observer fuer BISIO Zweck Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der datasource fertig ist
|
||||
// ****
|
||||
var StudentIOZweckTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink)
|
||||
{
|
||||
},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('student-io-tree-aufenthaltfoerderung').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird der Eintrag wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var StudentIOZweckTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Observer fuer Noten Tree
|
||||
@@ -454,7 +521,7 @@ function StudentLVZeugnisPrint(event, sprache)
|
||||
var xsl = 'LVZeugnis';
|
||||
if (sprache == 'English')
|
||||
xsl = 'LVZeugnisEng';
|
||||
|
||||
|
||||
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
|
||||
|
||||
window.location.href = url;
|
||||
@@ -3107,7 +3174,8 @@ function StudentIOAuswahl()
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-io-tree');
|
||||
|
||||
if (tree.currentIndex==-1) return;
|
||||
if (tree.currentIndex == -1)
|
||||
return;
|
||||
|
||||
StudentIODetailDisableFields(false);
|
||||
|
||||
@@ -3139,6 +3207,8 @@ function StudentIOAuswahl()
|
||||
studiensemester_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
|
||||
ort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ort" ));
|
||||
universitaet = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#universitaet" ));
|
||||
ects_angerechnet = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ects_angerechnet" ));
|
||||
ects_erworben = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ects_erworben" ));
|
||||
|
||||
try
|
||||
{
|
||||
@@ -3204,7 +3274,6 @@ function StudentIOAuswahl()
|
||||
document.getElementById('student-io-menulist-nation').value=nation_code;
|
||||
document.getElementById('student-io-textbox-von').value=von;
|
||||
document.getElementById('student-io-textbox-bis').value=bis;
|
||||
document.getElementById('student-io-menulist-zweck').value=zweck_code;
|
||||
document.getElementById('student-io-detail-textbox-uid').value=student_uid;
|
||||
document.getElementById('student-io-detail-checkbox-neu').checked=false;
|
||||
document.getElementById('student-io-detail-textbox-bisio_id').value=bisio_id;
|
||||
@@ -3212,6 +3281,210 @@ function StudentIOAuswahl()
|
||||
document.getElementById('student-io-textbox-universitaet').value=universitaet;
|
||||
document.getElementById('student-io-menulist-lehreinheit').value=lehreinheit_id;
|
||||
document.getElementById('student-io-menulist-lehrveranstaltung').value=lehrveranstaltung_id;
|
||||
document.getElementById('student-io-textbox-ects_erworben').value=ects_erworben;
|
||||
document.getElementById('student-io-textbox-ects_angerechnet').value=ects_angerechnet;
|
||||
|
||||
StudentIOAufenthaltFoerderungTreeLoad(bisio_id);
|
||||
StudentIOZweckTreeLoad(bisio_id);
|
||||
StudentIOZweckMenulistLoad();
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt das Dropdown fuer den Zweck
|
||||
* Abhaengig vom Status werden unterschiedliche Eintraege geladen
|
||||
*/
|
||||
function StudentIOZweckMenulistLoad()
|
||||
{
|
||||
var student_tree = document.getElementById('student-tree');
|
||||
var status = getTreeCellText(student_tree, 'student-treecol-status', student_tree.currentIndex);
|
||||
|
||||
var type = 'outgoing';
|
||||
if (status == 'Incoming')
|
||||
type = 'incoming';
|
||||
|
||||
//Lehreinheiten Drop Down laden
|
||||
var zweckDropDown = document.getElementById('student-io-menulist-zweck');
|
||||
url = '<?php echo APP_ROOT;?>rdf/zweck.rdf.php?type=' + type + '&'+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = zweckDropDown.database.GetDataSources();
|
||||
while (oldDatasources.hasMoreElements())
|
||||
{
|
||||
zweckDropDown.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
zweckDropDown.builder.rebuild();
|
||||
|
||||
zweckDropDown.selectedItem = '';
|
||||
zweckDropDown.value = '';
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
var datasource = rdfService.GetDataSourceBlocking(url);
|
||||
zweckDropDown.database.AddDataSource(datasource);
|
||||
zweckDropDown.builder.rebuild();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt einen Zweck zu einem Auslandssemester hinzu
|
||||
* Bei Incoming darf nur ein Eintrag gesetzt werden
|
||||
*/
|
||||
function StudentIOZweckAdd()
|
||||
{
|
||||
var student_tree = document.getElementById('student-tree');
|
||||
var status = getTreeCellText(student_tree, 'student-treecol-status', student_tree.currentIndex);
|
||||
|
||||
if (status == 'Incoming')
|
||||
{
|
||||
// Incoming duerfen nur einen Zweck eingetragen haben.
|
||||
tree = document.getElementById('student-io-tree-zweck');
|
||||
if (tree.view && tree.view.rowCount > 0)
|
||||
{
|
||||
alert("Bei Incoming darf nur ein Zweck angegeben werden");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var bisio_id = document.getElementById('student-io-detail-textbox-bisio_id').value;
|
||||
var zweck_code = document.getElementById('student-io-menulist-zweck').value;
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'savebisiozweck');
|
||||
|
||||
req.add('bisio_id', bisio_id);
|
||||
req.add('zweck_code', zweck_code);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if (val.dbdml_errormsg == '')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentIOZweckTreeLoad(bisio_id);
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht die Zuordnung eines Zwecks zu einem Auslandssemester
|
||||
*/
|
||||
function StudentIOZweckDelete()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-io-tree-zweck');
|
||||
|
||||
if (tree.currentIndex == -1)
|
||||
return;
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
var zweck_code = getTreeCellText(tree, 'student-io-tree-zweck-code', tree.currentIndex);
|
||||
var bisio_id = document.getElementById('student-io-detail-textbox-bisio_id').value
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'deletebisiozweck');
|
||||
req.add('bisio_id', bisio_id);
|
||||
req.add('zweck_code', zweck_code);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if (val.dbdml_errormsg == '')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentIOZweckTreeLoad(bisio_id);
|
||||
SetStatusBarText('Eintrag wurde gelöscht');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt eine Foerderung zu einem Auslandssemester hinzu
|
||||
*/
|
||||
function StudentIOAufenthaltfoerderungAdd()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var bisio_id = document.getElementById('student-io-detail-textbox-bisio_id').value;
|
||||
var aufenthaltfoerderung_code = document.getElementById('student-io-menulist-aufenthaltfoerderung').value;
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'savebisioaufenthaltfoerderung');
|
||||
|
||||
req.add('bisio_id', bisio_id);
|
||||
req.add('aufenthaltfoerderung_code', aufenthaltfoerderung_code);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if (val.dbdml_errormsg == '')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentIOAufenthaltFoerderungTreeLoad(bisio_id);
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Entfernt eine Foerderung von einem Auslandssemester
|
||||
*/
|
||||
function StudentIOAufenthaltfoerderungDelete()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-io-tree-aufenthaltfoerderung');
|
||||
|
||||
if (tree.currentIndex == -1)
|
||||
return;
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
var aufenthaltfoerderung_code = getTreeCellText(tree, 'student-io-tree-aufenthaltfoerderung-code', tree.currentIndex);
|
||||
var bisio_id = document.getElementById('student-io-detail-textbox-bisio_id').value
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'deletebisioaufenthaltfoerderung');
|
||||
req.add('bisio_id', bisio_id);
|
||||
req.add('aufenthaltfoerderung_code', aufenthaltfoerderung_code);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if (val.dbdml_errormsg == '')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentIOAufenthaltFoerderungTreeLoad(bisio_id);
|
||||
SetStatusBarText('Eintrag wurde gelöscht');
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -3239,6 +3512,13 @@ function StudentIODetailDisableFields(val)
|
||||
document.getElementById('student-io-menulist-lehreinheit').disabled=val;
|
||||
document.getElementById('student-io-textbox-ort').disabled=val;
|
||||
document.getElementById('student-io-textbox-universitaet').disabled=val;
|
||||
document.getElementById('student-io-textbox-ects_angerechnet').disabled=val;
|
||||
document.getElementById('student-io-textbox-ects_erworben').disabled=val;
|
||||
document.getElementById('student-io-menulist-aufenthaltfoerderung').disabled=val;
|
||||
document.getElementById('student-io-button-aufenthaltfoerderung-hinzufuegen').disabled=val;
|
||||
document.getElementById('student-io-button-zweck-hinzufuegen').disabled=val;
|
||||
document.getElementById('student-io-tree-aufenthaltfoerderung').disabled=val;
|
||||
document.getElementById('student-io-tree-zweck').disabled=val;
|
||||
}
|
||||
|
||||
// *****
|
||||
@@ -3248,11 +3528,13 @@ function StudentIOResetFileds()
|
||||
{
|
||||
document.getElementById('student-io-textbox-von').value='';
|
||||
document.getElementById('student-io-textbox-bis').value='';
|
||||
document.getElementById('student-io-menulist-mobilitaetsprogramm').value='6';
|
||||
document.getElementById('student-io-menulist-mobilitaetsprogramm').value='7';
|
||||
document.getElementById('student-io-menulist-zweck').value='2';
|
||||
document.getElementById('student-io-menulist-nation').value='A';
|
||||
document.getElementById('student-io-textbox-ort').value='';
|
||||
document.getElementById('student-io-textbox-universitaet').value='';
|
||||
document.getElementById('student-io-textbox-ects_angerechnet').value='';
|
||||
document.getElementById('student-io-textbox-ects_erworben').value='';
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -3273,6 +3555,8 @@ function StudentIODetailSpeichern()
|
||||
lehreinheit_id = document.getElementById('student-io-menulist-lehreinheit').value;
|
||||
ort = document.getElementById('student-io-textbox-ort').value;
|
||||
universitaet = document.getElementById('student-io-textbox-universitaet').value;
|
||||
ects_erworben = document.getElementById('student-io-textbox-ects_erworben').value;
|
||||
ects_angerechnet = document.getElementById('student-io-textbox-ects_angerechnet').value;
|
||||
|
||||
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
|
||||
|
||||
@@ -3307,6 +3591,8 @@ function StudentIODetailSpeichern()
|
||||
req.add('lehreinheit_id', lehreinheit_id);
|
||||
req.add('ort', ort);
|
||||
req.add('universitaet', universitaet);
|
||||
req.add('ects_angerechnet', ects_angerechnet);
|
||||
req.add('ects_erworben', ects_erworben);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
@@ -3379,7 +3665,7 @@ function StudentIODelete()
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aktiviert die Felder zum Anlegen eines neuen Eintrages
|
||||
// * Erstellt einen neuen IO Eintrag mit Defaultwerten und wechselt in den Editiermodus
|
||||
// ****
|
||||
function StudentIONeu()
|
||||
{
|
||||
@@ -3400,17 +3686,21 @@ function StudentIONeu()
|
||||
if(tag<10)
|
||||
tag='0'+tag;
|
||||
|
||||
//UID ins Textfeld schreiben
|
||||
document.getElementById('student-io-detail-textbox-uid').value=document.getElementById('student-detail-textbox-uid').value;
|
||||
document.getElementById('student-io-detail-checkbox-neu').checked=true;
|
||||
document.getElementById('student-io-textbox-von').value=tag+'.'+monat+'.'+jahr;
|
||||
document.getElementById('student-io-textbox-bis').value=tag+'.'+monat+'.'+jahr;
|
||||
var uid = document.getElementById('student-detail-textbox-uid').value;
|
||||
var defaultdatum = tag+'.'+monat+'.'+jahr;
|
||||
var mobilitaetsprogramm = 7; // ERASMUS
|
||||
|
||||
//UID ins Textfeld schreiben
|
||||
document.getElementById('student-io-detail-textbox-uid').value = uid;
|
||||
document.getElementById('student-io-detail-checkbox-neu').checked = true;
|
||||
document.getElementById('student-io-textbox-von').value = defaultdatum;
|
||||
document.getElementById('student-io-textbox-bis').value = defaultdatum;
|
||||
document.getElementById('student-io-menulist-mobilitaetsprogramm').value = mobilitaetsprogramm;
|
||||
try
|
||||
{
|
||||
//Wenn nach dem Personen gesucht wurde, ist es moeglich, dass kein Studiengang gewaehlt ist.
|
||||
//Dann wird der Studiengang/Semester des Studenten genommen
|
||||
var verband_tree=document.getElementById('tree-verband');
|
||||
var verband_tree = document.getElementById('tree-verband');
|
||||
|
||||
var stg_kz = getTreeCellText(verband_tree, 'stg_kz', verband_tree.currentIndex);
|
||||
var sem = getTreeCellText(verband_tree, 'sem', verband_tree.currentIndex);
|
||||
@@ -3421,13 +3711,51 @@ function StudentIONeu()
|
||||
var sem = document.getElementById('student-detail-textbox-semester').value;
|
||||
}
|
||||
|
||||
// Neuen IO Datensatz erstellen und in Editiermodus wechseln.
|
||||
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'savebisio');
|
||||
|
||||
req.add('neu', true);
|
||||
req.add('von', ConvertDateToISO(defaultdatum));
|
||||
req.add('bis', ConvertDateToISO(defaultdatum));
|
||||
req.add('mobilitaetsprogramm_code', mobilitaetsprogramm);
|
||||
req.add('nation_code', 'A');
|
||||
req.add('student_uid', uid);
|
||||
req.add('studiengang_kz', stg_kz);
|
||||
req.add('lehreinheit_id', '');
|
||||
req.add('ort', '');
|
||||
req.add('universitaet', '');
|
||||
req.add('ects_angerechnet', '');
|
||||
req.add('ects_erworben', '');
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg == '')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentIOSelectID = val.dbdml_data;
|
||||
StudentIOTreeDatasource.Refresh(false); //non blocking
|
||||
document.getElementById('student-io-detail-checkbox-neu').checked = false;
|
||||
document.getElementById('student-io-detail-textbox-bisio_id').value = StudentIOSelectID;
|
||||
}
|
||||
|
||||
//Lehrveranstaltung Drop Down laden
|
||||
var LVDropDown = document.getElementById('student-io-menulist-lehrveranstaltung');
|
||||
url='<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&sem="+sem+"&optional=true&"+gettimestamp();
|
||||
url = '<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&sem="+sem+"&optional=true&"+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = LVDropDown.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
while (oldDatasources.hasMoreElements())
|
||||
{
|
||||
LVDropDown.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
@@ -3437,22 +3765,21 @@ function StudentIONeu()
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
var datasource = rdfService.GetDataSource(url);
|
||||
LVDropDown.database.AddDataSource(datasource);
|
||||
LVDropDown.value='';
|
||||
//LVDropDown.selectedItem='';
|
||||
LVDropDown.value = '';
|
||||
|
||||
var LEDropDown = document.getElementById('student-io-menulist-lehreinheit');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = LEDropDown.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
while (oldDatasources.hasMoreElements())
|
||||
{
|
||||
LEDropDown.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
LEDropDown.builder.rebuild();
|
||||
|
||||
LEDropDown.value='';
|
||||
LEDropDown.selectedItem='';
|
||||
LEDropDown.value = '';
|
||||
LEDropDown.selectedItem = '';
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -3526,6 +3853,76 @@ function StudentIOLVAChange()
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den Aufenthalt Foerderung Tree im In/Out Karteireiter
|
||||
*/
|
||||
function StudentIOAufenthaltFoerderungTreeLoad(bisio_id)
|
||||
{
|
||||
tree = document.getElementById('student-io-tree-aufenthaltfoerderung');
|
||||
url='<?php echo APP_ROOT;?>rdf/aufenthaltfoerderung.rdf.php?bisio_id='+bisio_id+"&"+gettimestamp();
|
||||
|
||||
//Alte Observer entfernen
|
||||
try
|
||||
{
|
||||
StudentIOAufenthaltFoerderungTreeDatasource.removeXMLSinkObserver(StudentIOAufenthaltFoerderungTreeSinkObserver);
|
||||
tree.builder.removeListener(StudentIOAufenthaltFoerderungTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = tree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
tree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
tree.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentIOAufenthaltFoerderungTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentIOAufenthaltFoerderungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentIOAufenthaltFoerderungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
tree.database.AddDataSource(StudentIOAufenthaltFoerderungTreeDatasource);
|
||||
StudentIOAufenthaltFoerderungTreeDatasource.addXMLSinkObserver(StudentIOAufenthaltFoerderungTreeSinkObserver);
|
||||
tree.builder.addListener(StudentIOAufenthaltFoerderungTreeListener);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den Zweck Tree im In/Out Karteireiter
|
||||
*/
|
||||
function StudentIOZweckTreeLoad(bisio_id)
|
||||
{
|
||||
tree = document.getElementById('student-io-tree-zweck');
|
||||
url='<?php echo APP_ROOT;?>rdf/zweck.rdf.php?bisio_id='+bisio_id+"&"+gettimestamp();
|
||||
|
||||
//Alte Observer entfernen
|
||||
try
|
||||
{
|
||||
StudentIOZweckTreeDatasource.removeXMLSinkObserver(StudentIOZweckTreeSinkObserver);
|
||||
tree.builder.removeListener(StudentIOZweckTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = tree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
tree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
tree.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentIOZweckTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentIOZweckTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentIOZweckTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
tree.database.AddDataSource(StudentIOZweckTreeDatasource);
|
||||
StudentIOZweckTreeDatasource.addXMLSinkObserver(StudentIOZweckTreeSinkObserver);
|
||||
tree.builder.addListener(StudentIOZweckTreeListener);
|
||||
}
|
||||
|
||||
// **************** NOTEN ************** //
|
||||
|
||||
// ****
|
||||
|
||||
+3
-3
@@ -29,9 +29,9 @@ function loadUDF(person_id, prestudent_id)
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
var udfIFrame = document.getElementById('udfIFrame');
|
||||
|
||||
|
||||
if (udfIFrame != null && udfIFrame.getAttribute('src') == 'about:blank')
|
||||
{
|
||||
udfIFrame.setAttribute('src', '<?php echo APP_ROOT ?>index.ci.php/system/UDF?person_id='+person_id+'&prestudent_id='+prestudent_id);
|
||||
udfIFrame.setAttribute('src', '<?php echo APP_ROOT ?>index.ci.php/system/FAS_UDF?person_id='+person_id+'&prestudent_id='+prestudent_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+619
-327
@@ -1,327 +1,619 @@
|
||||
<?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>.
|
||||
*/
|
||||
/**
|
||||
* Klasse bisio - Incomming/Outgoing
|
||||
* @create 2007-05-14
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class bisio extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array(); // adresse Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
public $bisio_id; // serial
|
||||
public $mobilitaetsprogramm_code; // integer
|
||||
public $mobilitaetsprogramm_kurzbz;
|
||||
public $nation_code; // varchar(3)
|
||||
public $von; // date
|
||||
public $bis; // date
|
||||
public $zweck_code; // varchar(20)
|
||||
public $zweck_bezeichnung;
|
||||
public $student_uid; // varchar(16)
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // varchar(16)
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // varchar(16)
|
||||
public $ext_id; // bigint
|
||||
public $ort;
|
||||
public $universitaet;
|
||||
public $lehreinheit_id;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $bisio_id ID die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($bisio_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($bisio_id))
|
||||
$this->load($bisio_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Funktion mit der ID $buchungsnr
|
||||
* @param $buchungsnr ID der zu ladenden Email
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($bisio_id)
|
||||
{
|
||||
if(!is_numeric($bisio_id))
|
||||
{
|
||||
$this->errormsg = 'ID muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM bis.tbl_bisio WHERE bisio_id=".$this->db_add_param($bisio_id, FHC_INTEGER).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bisio_id = $row->bisio_id;
|
||||
$this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
|
||||
$this->nation_code = $row->nation_code;
|
||||
$this->von = $row->von;
|
||||
$this->bis = $row->bis;
|
||||
$this->zweck_code = $row->zweck_code;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
$this->ort = $row->ort;
|
||||
$this->universitaet = $row->universitaet;
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if(!is_numeric($this->mobilitaetsprogramm_code))
|
||||
{
|
||||
$this->errormsg = 'Mobilitaetsprogramm ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($this->nation_code)>3)
|
||||
{
|
||||
$this->errormsg = 'Nation ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($this->zweck_code)>20)
|
||||
{
|
||||
$this->errormsg = 'Zweck ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($this->student_uid)>32)
|
||||
{
|
||||
$this->errormsg = 'Student_UID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->von!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->von))
|
||||
{
|
||||
$this->errormsg = 'VON-Datum hat ein ungueltiges Format';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->bis!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->bis))
|
||||
{
|
||||
$this->errormsg = 'BIS-Datum hat ein ungueltiges Format';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
|
||||
* @param $new true wenn insert false wenn update
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
//Variablen pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN;INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis, zweck_code, student_uid, updateamum, updatevon, insertamum, insertvon, ort, universitaet, lehreinheit_id) VALUES('.
|
||||
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->nation_code).', '.
|
||||
$this->db_add_param($this->von).', '.
|
||||
$this->db_add_param($this->bis).', '.
|
||||
$this->db_add_param($this->zweck_code).', '.
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->updateamum).', '.
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->ort).', '.
|
||||
$this->db_add_param($this->universitaet).', '.
|
||||
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//Updaten des bestehenden Datensatzes
|
||||
$qry = 'UPDATE bis.tbl_bisio SET '.
|
||||
' mobilitaetsprogramm_code='.$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).','.
|
||||
' nation_code='.$this->db_add_param($this->nation_code).','.
|
||||
' von='.$this->db_add_param($this->von).','.
|
||||
' bis='.$this->db_add_param($this->bis).','.
|
||||
' zweck_code='.$this->db_add_param($this->zweck_code).','.
|
||||
' student_uid='.$this->db_add_param($this->student_uid).','.
|
||||
' updateamum='.$this->db_add_param($this->updateamum).','.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).','.
|
||||
' ort='.$this->db_add_param($this->ort).','.
|
||||
' universitaet='.$this->db_add_param($this->universitaet).','.
|
||||
' lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).
|
||||
" WHERE bisio_id=".$this->db_add_param($this->bisio_id, FHC_INTEGER).";";
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('bis.tbl_bisio_bisio_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bisio_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht den Datenensatz mit der ID die uebergeben wird
|
||||
* @param bisio_id ID die geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($bisio_id)
|
||||
{
|
||||
if(!is_numeric($bisio_id))
|
||||
{
|
||||
$this->errormsg = 'ID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM bis.tbl_bisio WHERE bisio_id=".$this->db_add_param($bisio_id, FHC_INTEGER).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Incomming/Outgoing
|
||||
* Eintraege eines Studenten
|
||||
* @param $uid
|
||||
* @return true wenn ok, false wenn fehler
|
||||
*/
|
||||
public function getIO($uid)
|
||||
{
|
||||
$qry = "SELECT tbl_bisio.*,
|
||||
tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz,
|
||||
tbl_zweck.bezeichnung as zweck_bezeichnung
|
||||
FROM
|
||||
bis.tbl_bisio,
|
||||
bis.tbl_zweck,
|
||||
bis.tbl_mobilitaetsprogramm
|
||||
WHERE
|
||||
student_uid=".$this->db_add_param($uid)." AND
|
||||
tbl_zweck.zweck_code=tbl_bisio.zweck_code AND
|
||||
tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code
|
||||
ORDER BY bis;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$io = new bisio();
|
||||
|
||||
$io->bisio_id = $row->bisio_id;
|
||||
$io->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
|
||||
$io->mobilitaetsprogramm_kurzbz = $row->mobilitaetsprogramm_kurzbz;
|
||||
$io->nation_code = $row->nation_code;
|
||||
$io->von = $row->von;
|
||||
$io->bis = $row->bis;
|
||||
$io->zweck_code = $row->zweck_code;
|
||||
$io->zweck_bezeichnung = $row->zweck_bezeichnung;
|
||||
$io->student_uid = $row->student_uid;
|
||||
$io->updateamum = $row->updateamum;
|
||||
$io->updatevon = $row->updatevon;
|
||||
$io->insertamum = $row->insertamum;
|
||||
$io->insertvon = $row->insertvon;
|
||||
$io->ext_id = $row->ext_id;
|
||||
$io->ort = $row->ort;
|
||||
$io->universitaet = $row->universitaet;
|
||||
$io->lehreinheit_id = $row->lehreinheit_id;
|
||||
|
||||
$this->result[] = $io;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?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>.
|
||||
*/
|
||||
/**
|
||||
* Klasse bisio - Incomming/Outgoing
|
||||
* @create 2007-05-14
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class bisio extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array(); // bisio Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
public $bisio_id; // serial
|
||||
public $mobilitaetsprogramm_code; // integer
|
||||
public $mobilitaetsprogramm_kurzbz; // varchar(16)
|
||||
public $nation_code; // varchar(3)
|
||||
public $von; // date
|
||||
public $bis; // date
|
||||
public $zweck_code; // varchar(20)
|
||||
public $student_uid; // varchar(16)
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // varchar(32)
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // varchar(32)
|
||||
public $ext_id; // bigint
|
||||
public $ort; // varchar(128)
|
||||
public $universitaet; // varchar(256)
|
||||
public $lehreinheit_id; // integer
|
||||
public $ects_erworben; // numeric(5,2)
|
||||
public $ects_angerechnet; // numeric(5,2)
|
||||
|
||||
public $aufenthaltfoerderung_code; // integer
|
||||
public $bezeichnung; // varchar(64)
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $bisio_id ID die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($bisio_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if (!is_null($bisio_id))
|
||||
$this->load($bisio_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Funktion mit der ID $buchungsnr
|
||||
* @param $buchungsnr ID der zu ladenden Email
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($bisio_id)
|
||||
{
|
||||
if (!is_numeric($bisio_id))
|
||||
{
|
||||
$this->errormsg = 'ID muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM bis.tbl_bisio WHERE bisio_id=".$this->db_add_param($bisio_id, FHC_INTEGER).";";
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bisio_id = $row->bisio_id;
|
||||
$this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
|
||||
$this->nation_code = $row->nation_code;
|
||||
$this->von = $row->von;
|
||||
$this->bis = $row->bis;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
$this->ort = $row->ort;
|
||||
$this->universitaet = $row->universitaet;
|
||||
$this->lehreinheit_id = $row->lehreinheit_id;
|
||||
$this->ects_angerechnet = $row->ects_angerechnet;
|
||||
$this->ects_erworben = $row->ects_erworben;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if (!is_numeric($this->mobilitaetsprogramm_code))
|
||||
{
|
||||
$this->errormsg = 'Mobilitaetsprogramm ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mb_strlen($this->nation_code) > 3)
|
||||
{
|
||||
$this->errormsg = 'Nation ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mb_strlen($this->zweck_code) > 20)
|
||||
{
|
||||
$this->errormsg = 'Zweck ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (mb_strlen($this->student_uid) > 32)
|
||||
{
|
||||
$this->errormsg = 'Student_UID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->von != '' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $this->von))
|
||||
{
|
||||
$this->errormsg = 'VON-Datum hat ein ungueltiges Format';
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->bis != '' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $this->bis))
|
||||
{
|
||||
$this->errormsg = 'BIS-Datum hat ein ungueltiges Format';
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->ects_erworben != '' && !is_numeric($this->ects_erworben))
|
||||
{
|
||||
$this->errormsg = 'Erworbene ECTS sind ungültig';
|
||||
return false;
|
||||
}
|
||||
if ($this->ects_angerechnet != '' && !is_numeric($this->ects_angerechnet))
|
||||
{
|
||||
$this->errormsg = 'Angerechnete ECTS sind ungültig';
|
||||
return false;
|
||||
}
|
||||
if ($this->ects_erworben != ''
|
||||
&& $this->ects_angerechnet != ''
|
||||
&& $this->ects_angerechnet > $this->ects_erworben
|
||||
)
|
||||
{
|
||||
$this->errormsg = 'Angerechnete ECTS darf nicht groesser als erworbene ECTS sein.';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
|
||||
* @param $new true wenn insert false wenn update
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
//Variablen pruefen
|
||||
if (!$this->validate())
|
||||
return false;
|
||||
|
||||
if ($new == null)
|
||||
$new = $this->new;
|
||||
|
||||
if ($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN;INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis,
|
||||
student_uid, updateamum, updatevon, insertamum, insertvon, ort, universitaet, lehreinheit_id,
|
||||
ects_angerechnet, ects_erworben) VALUES('.
|
||||
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->nation_code).', '.
|
||||
$this->db_add_param($this->von).', '.
|
||||
$this->db_add_param($this->bis).', '.
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->updateamum).', '.
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->ort).', '.
|
||||
$this->db_add_param($this->universitaet).', '.
|
||||
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->ects_angerechnet).', '.
|
||||
$this->db_add_param($this->ects_erworben).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//Updaten des bestehenden Datensatzes
|
||||
$qry = 'UPDATE bis.tbl_bisio SET '.
|
||||
' mobilitaetsprogramm_code='.$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).','.
|
||||
' nation_code='.$this->db_add_param($this->nation_code).','.
|
||||
' von='.$this->db_add_param($this->von).','.
|
||||
' bis='.$this->db_add_param($this->bis).','.
|
||||
' student_uid='.$this->db_add_param($this->student_uid).','.
|
||||
' updateamum='.$this->db_add_param($this->updateamum).','.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).','.
|
||||
' ort='.$this->db_add_param($this->ort).','.
|
||||
' universitaet='.$this->db_add_param($this->universitaet).','.
|
||||
' lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
|
||||
' ects_angerechnet='.$this->db_add_param($this->ects_angerechnet).', '.
|
||||
' ects_erworben='.$this->db_add_param($this->ects_erworben).
|
||||
" WHERE bisio_id=".$this->db_add_param($this->bisio_id, FHC_INTEGER).";";
|
||||
}
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($new)
|
||||
{
|
||||
$qry = "SELECT currval('bis.tbl_bisio_bisio_id_seq') as id";
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bisio_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht den Datenensatz mit der ID die uebergeben wird
|
||||
* @param bisio_id ID die geloescht werden soll
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($bisio_id)
|
||||
{
|
||||
if (!is_numeric($bisio_id))
|
||||
{
|
||||
$this->errormsg = 'ID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM bis.tbl_bisio WHERE bisio_id=".$this->db_add_param($bisio_id, FHC_INTEGER).";";
|
||||
|
||||
if ($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Incomming/Outgoing
|
||||
* Eintraege eines Studenten
|
||||
* @param $uid
|
||||
* @return true wenn ok, false wenn fehler
|
||||
*/
|
||||
public function getIO($uid)
|
||||
{
|
||||
$qry = "SELECT tbl_bisio.*,
|
||||
tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz
|
||||
FROM
|
||||
bis.tbl_bisio,
|
||||
bis.tbl_mobilitaetsprogramm
|
||||
WHERE
|
||||
student_uid=".$this->db_add_param($uid)." AND
|
||||
tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code
|
||||
ORDER BY bis;";
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$io = new bisio();
|
||||
|
||||
$io->bisio_id = $row->bisio_id;
|
||||
$io->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
|
||||
$io->mobilitaetsprogramm_kurzbz = $row->mobilitaetsprogramm_kurzbz;
|
||||
$io->nation_code = $row->nation_code;
|
||||
$io->von = $row->von;
|
||||
$io->bis = $row->bis;
|
||||
$io->student_uid = $row->student_uid;
|
||||
$io->updateamum = $row->updateamum;
|
||||
$io->updatevon = $row->updatevon;
|
||||
$io->insertamum = $row->insertamum;
|
||||
$io->insertvon = $row->insertvon;
|
||||
$io->ext_id = $row->ext_id;
|
||||
$io->ort = $row->ort;
|
||||
$io->universitaet = $row->universitaet;
|
||||
$io->lehreinheit_id = $row->lehreinheit_id;
|
||||
$io->ects_angerechnet = $row->ects_angerechnet;
|
||||
$io->ects_erworben = $row->ects_erworben;
|
||||
|
||||
$this->result[] = $io;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Foerderungen
|
||||
*/
|
||||
public function getFoerderungen($bisio_id = null)
|
||||
{
|
||||
if (is_null($bisio_id))
|
||||
{
|
||||
$qry = 'SELECT * FROM bis.tbl_aufenthaltfoerderung ORDER BY aufenthaltfoerderung_code;';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_aufenthaltfoerderung
|
||||
JOIN bis.tbl_bisio_aufenthaltfoerderung USING(aufenthaltfoerderung_code)
|
||||
WHERE
|
||||
tbl_bisio_aufenthaltfoerderung.bisio_id='.$this->db_add_param($bisio_id, FHC_INTEGER).'
|
||||
ORDER BY aufenthaltfoerderung_code;';
|
||||
}
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$io = new bisio();
|
||||
|
||||
$io->aufenthaltfoerderung_code = $row->aufenthaltfoerderung_code;
|
||||
$io->bezeichnung = $row->bezeichnung;
|
||||
|
||||
$this->result[] = $io;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Zwecke
|
||||
*/
|
||||
public function getZweck($bisio_id = null, $outgoing = null, $incoming = null)
|
||||
{
|
||||
if (is_null($bisio_id))
|
||||
{
|
||||
$qry = 'SELECT * FROM bis.tbl_zweck WHERE 1=1';
|
||||
if ($outgoing === true)
|
||||
$qry .= " AND outgoing = true";
|
||||
if ($incoming === true)
|
||||
$qry .= " AND incoming = true";
|
||||
$qry .= ' ORDER BY zweck_code;';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_zweck
|
||||
JOIN bis.tbl_bisio_zweck USING(zweck_code)
|
||||
WHERE
|
||||
tbl_bisio_zweck.bisio_id='.$this->db_add_param($bisio_id, FHC_INTEGER).'
|
||||
ORDER BY zweck_code;';
|
||||
}
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$io = new bisio();
|
||||
|
||||
$io->zweck_code = $row->zweck_code;
|
||||
$io->kurzbz = $row->kurzbz;
|
||||
$io->bezeichnung = $row->bezeichnung;
|
||||
|
||||
$this->result[] = $io;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Zweck bereits zu einem Auslandssemester zugeordnet ist
|
||||
* @param $bisio_id ID des Auslandssemester Eintrages
|
||||
* @param $zweck_code Code des Zweck
|
||||
* @return true wenn vorhanden, false wenn nicht.
|
||||
*/
|
||||
public function ZweckExists($bisio_id, $zweck_code)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_bisio_zweck
|
||||
WHERE
|
||||
bisio_id = ".$this->db_add_param($bisio_id, FHC_INTEGER)."
|
||||
AND zweck_code = ".$this->db_add_param($zweck_code);
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result) > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert einen Zweck zu einem Auslandssemester
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
public function saveZweck()
|
||||
{
|
||||
if (!$this->ZweckExists($this->bisio_id, $this->zweck_code))
|
||||
{
|
||||
$qry = 'INSERT INTO bis.tbl_bisio_zweck (bisio_id, zweck_code) VALUES('.
|
||||
$this->db_add_param($this->bisio_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->zweck_code).');';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag ist bereits zugeordnet';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Entfernt einen Zweck zu einem Auslandssemester
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
public function deleteZweck()
|
||||
{
|
||||
$qry = '
|
||||
DELETE FROM
|
||||
bis.tbl_bisio_zweck
|
||||
WHERE
|
||||
bisio_id = '.$this->db_add_param($this->bisio_id, FHC_INTEGER).'
|
||||
AND zweck_code = '.$this->db_add_param($this->zweck_code).';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Foerderung bereits zu einem Auslandssemester zugeordnet ist
|
||||
* @param $bisio_id ID des Auslandssemester Eintrages
|
||||
* @param $aufenthaltfoerderung_code Code der Foerderung
|
||||
* @return true wenn vorhanden, false wenn nicht.
|
||||
*/
|
||||
public function AufenthaltFoerderungExists($bisio_id, $aufenthaltfoerderung_code)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
bis.tbl_bisio_aufenthaltfoerderung
|
||||
WHERE
|
||||
bisio_id = ".$this->db_add_param($bisio_id, FHC_INTEGER)."
|
||||
AND aufenthaltfoerderung_code = ".$this->db_add_param($aufenthaltfoerderung_code, FHC_INTEGER);
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result) > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert einen Zweck zu einem Auslandssemester
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
public function saveAufenthaltFoerderung()
|
||||
{
|
||||
if ($this->aufenthaltfoerderung_code == '' || !is_numeric($this->aufenthaltfoerderung_code))
|
||||
{
|
||||
$this->errormsg = 'Aufenthalt Förderung ist ungültig';
|
||||
return false;
|
||||
}
|
||||
if ($this->bisio_id == '' || !is_numeric($this->bisio_id))
|
||||
{
|
||||
$this->errormsg = 'Bisio_id ist ungültig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$this->AufenthaltFoerderungExists($this->bisio_id, $this->aufenthaltfoerderung_code))
|
||||
{
|
||||
$qry = 'INSERT INTO bis.tbl_bisio_aufenthaltfoerderung (bisio_id, aufenthaltfoerderung_code) VALUES('.
|
||||
$this->db_add_param($this->bisio_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->aufenthaltfoerderung_code).');';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag ist bereits zugeordnet';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Entfernt eine Foerderung zu einem Auslandssemester
|
||||
* @return true wenn erfolgreich, false im Fehlerfall
|
||||
*/
|
||||
public function deleteAufenthaltFoerderung()
|
||||
{
|
||||
$qry = '
|
||||
DELETE FROM
|
||||
bis.tbl_bisio_aufenthaltfoerderung
|
||||
WHERE
|
||||
bisio_id = '.$this->db_add_param($this->bisio_id, FHC_INTEGER).'
|
||||
AND aufenthaltfoerderung_code = '.$this->db_add_param($this->aufenthaltfoerderung_code, FHC_INTEGER).';';
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+263
-2
@@ -37,6 +37,8 @@ class dvb extends basis_db
|
||||
const DVB_URL_WEBSERVICE_SVNR = DVB_PORTAL.'/rws/0.2/simpleStudentBySozialVersicherungsnummer.xml';
|
||||
const DVB_URL_WEBSERVICE_ERSATZKZ = DVB_PORTAL.'/rws/0.2/simpleStudentByErsatzKennzeichen.xml';
|
||||
const DVB_URL_WEBSERVICE_NACHNAME = DVB_PORTAL.'/rws/0.2/simpleStudentByNachname.xml';
|
||||
const DVB_URL_WEBSERVICE_NAME = DVB_PORTAL.'/rws/0.2/simpleStudentByName.xml';
|
||||
const DVB_URL_WEBSERVICE_MATRIKELNUMMER = DVB_PORTAL.'/rws/0.2/simpleStudentByMatrikelnummer.xml';
|
||||
const DVB_URL_WEBSERVICE_RESERVIERUNG = DVB_PORTAL.'/dvb/matrikelnummern/1.0/reservierung.xml';
|
||||
const DVB_URL_WEBSERVICE_MELDUNG = DVB_PORTAL.'/dvb/matrikelnummern/1.0/meldung.xml';
|
||||
const DVB_URL_WEBSERVICE_BPK = DVB_PORTAL.'/rws/0.2/pruefeBpk.xml';
|
||||
@@ -964,8 +966,11 @@ class dvb extends basis_db
|
||||
* Bei Fehlernummer ED10065 wurde die Matrikelnummer korrekt gesetzt.
|
||||
* Das BPK wurde vom Datenverbund versucht zu ermitteln und wird in der Fehlermeldung
|
||||
* zurückgeliefert. Dieses sollte dann gespeichert werden.
|
||||
* Es muss eine erneute Vergabemeldung mit korrigierten Daten vorgenommen werden um die Daten im
|
||||
* DVB zu aktualisieren
|
||||
* Dies gilt nur, wenn ED10065 alleine geliefert wird und keine sonstigen Fehler auftreten
|
||||
*/
|
||||
if ($fehlernummer->length>0 && $fehlernummer->item(0)->textContent == 'ED10065')
|
||||
if ($fehlernummer->length == 1 && $fehlernummer->item(0)->textContent == 'ED10065')
|
||||
{
|
||||
$this->debug('ED10065 Response');
|
||||
$domnodes_feldinhalt = $row->getElementsByTagName('feldinhalt');
|
||||
@@ -974,9 +979,15 @@ class dvb extends basis_db
|
||||
$bpk = $domnodes_feldinhalt->item(0)->textContent;
|
||||
$retval = new stdClass();
|
||||
$retval->matrikelnummer = $person->matrikelnummer;
|
||||
$retval->bpk = $bpk;
|
||||
if ($bpk != 'keine bPK gefunden')
|
||||
$retval->bpk = $bpk;
|
||||
|
||||
$this->errormsg .= 'ED10065 Response';
|
||||
$this->errormsg .= 'Eine Personendatenprüfung ist erforderlich';
|
||||
$this->errormsg .= 'Danach muss eine erneute Vergabemeldung mit dieser Matrikelnummer erfolgen.';
|
||||
$this->debug('BPK:'.$bpk);
|
||||
$this->debug('MatrNr:'.$person->matrikelnummer);
|
||||
|
||||
return ErrorHandler::success($retval);
|
||||
}
|
||||
}
|
||||
@@ -1299,6 +1310,12 @@ class dvb extends basis_db
|
||||
return ErrorHandler::success();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->debug('keine 100% Eindeutigkeit beim Namen gegeben:'.print_r($result->retval->data,true));
|
||||
// Uebereinstimmung gefunden aber nicht 100% eindeutig
|
||||
return ErrorHandler::success();
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->debug('Keine Uebereinstimmung per Namenssuche');
|
||||
@@ -1434,6 +1451,250 @@ class dvb extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Matrikelnummer by Name
|
||||
* @param string $nachname Surname of Person.
|
||||
* @param string $vorname Firstname of Person.
|
||||
* @param string $geburtsdatum Date of Birth
|
||||
* @return Matrikelnummer or false on error.
|
||||
*/
|
||||
public function getMatrikelnrByName($nachname, $vorname, $geburtsdatum)
|
||||
{
|
||||
if ($this->tokenIsExpired())
|
||||
{
|
||||
$result = $this->authenticate();
|
||||
if (ErrorHandler::isError($result))
|
||||
return ErrorHandler::error();
|
||||
}
|
||||
|
||||
$this->debug('getMatrikelnrByName');
|
||||
|
||||
$curl = curl_init();
|
||||
|
||||
$geburtsdatum = str_replace("-", "", $geburtsdatum);
|
||||
|
||||
$url = self::DVB_URL_WEBSERVICE_NAME;
|
||||
$url .= '?nachName='.curl_escape($curl, $nachname);
|
||||
$url .= '&vorName='.curl_escape($curl, $vorname);
|
||||
$url .= '&geburtsDatum='.curl_escape($curl, $geburtsdatum);
|
||||
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
|
||||
$headers = array(
|
||||
'Accept: application/json',
|
||||
'Authorization: Bearer '.$this->authentication->access_token,
|
||||
'User-Agent: FHComplete',
|
||||
'Connection: Keep-Alive',
|
||||
'Expect:',
|
||||
'Content-Length: 0'
|
||||
);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
$this->debug('Sending Request to '.$url);
|
||||
|
||||
$response = curl_exec($curl);
|
||||
$curl_info = curl_getinfo($curl);
|
||||
curl_close($curl);
|
||||
|
||||
$this->debug('ResponseCode: '.$curl_info['http_code']);
|
||||
$this->debug('ResponseData: '.print_r($response, true));
|
||||
|
||||
if ($curl_info['http_code'] == '200')
|
||||
{
|
||||
/* Example Response:
|
||||
<uni:simpleStudentResponse xmlns:uni="http://www.brz.gv.at/datenverbund-unis">
|
||||
<uni:student inStudienBeitragsPool="false" inGesamtPool="true" gesperrt="false">
|
||||
<uni:matrikelNummer>12345678</uni:matrikelNummer>
|
||||
<uni:vorName>Max</uni:vorName>
|
||||
<uni:personenkennzeichen>sdfaASDAFasdfads+asasdffd=</uni:personenkennzeichen>
|
||||
<uni:nachName>Mustermann</uni:nachName>
|
||||
<uni:geschlecht>M</uni:geschlecht>
|
||||
<uni:geburtsDatum>1999-02-19</uni:geburtsDatum>
|
||||
<uni:staatsAngehoerigkeit>A</uni:staatsAngehoerigkeit>
|
||||
</uni:student>
|
||||
</uni:simpleStudentResponse>
|
||||
*/
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($response);
|
||||
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
|
||||
$domnodes_student = $dom->getElementsByTagNameNS($namespace, 'student');
|
||||
|
||||
$retval = new stdClass();
|
||||
$retval->data = array();
|
||||
|
||||
foreach ($domnodes_student as $row_student)
|
||||
{
|
||||
// Wenn nicht gesperrt und fix vergeben
|
||||
$ingesamtpool = $row_student->getAttribute('inGesamtPool');
|
||||
$gesperrt = $row_student->getAttribute('gesperrt');
|
||||
|
||||
if ($ingesamtpool == 'true' && $gesperrt == 'false')
|
||||
{
|
||||
$data = new stdClass();
|
||||
|
||||
$domnodes_matrikelnummer = $row_student->getElementsByTagNameNS($namespace, 'matrikelNummer');
|
||||
foreach ($domnodes_matrikelnummer as $row)
|
||||
{
|
||||
// MatrikelNr Found
|
||||
$data->matrikelnummer = $row->textContent;
|
||||
break;
|
||||
}
|
||||
$domnodes_bpk = $row_student->getElementsByTagNameNS($namespace, 'personenkennzeichen');
|
||||
foreach ($domnodes_bpk as $row)
|
||||
{
|
||||
// BPK Found
|
||||
$data->bpk = $row->textContent;
|
||||
break;
|
||||
}
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'vorName');
|
||||
if ($domnodes->length>0)
|
||||
$data->vorname = $domnodes->item(0)->textContent;
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'nachName');
|
||||
if ($domnodes->length>0)
|
||||
$data->nachname = $domnodes->item(0)->textContent;
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'geschlecht');
|
||||
if ($domnodes->length>0)
|
||||
$data->geschlecht = $domnodes->item(0)->textContent;
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'staatsAngehoerigkeit');
|
||||
if ($domnodes->length > 0)
|
||||
$data->staatsangehoerigkeit = $domnodes->item(0)->textContent;
|
||||
|
||||
$retval->data[] = $data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return ErrorHandler::success($retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
|
||||
return ErrorHandler::error($errormsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Persondata by Matrikelnummer
|
||||
* @param string $matrikelnr Matrikelnummer of Person.
|
||||
* @return Matrikelnummer or false on error.
|
||||
*/
|
||||
public function getDataByMatrikelnr($matrikelnr)
|
||||
{
|
||||
if ($this->tokenIsExpired())
|
||||
{
|
||||
$result = $this->authenticate();
|
||||
if (ErrorHandler::isError($result))
|
||||
return ErrorHandler::error();
|
||||
}
|
||||
|
||||
$this->debug('getDataByMatrikelnr');
|
||||
|
||||
$curl = curl_init();
|
||||
|
||||
$url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER;
|
||||
$url .= '?matrikelNummer='.curl_escape($curl, $matrikelnr);
|
||||
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
|
||||
$headers = array(
|
||||
'Accept: application/json',
|
||||
'Authorization: Bearer '.$this->authentication->access_token,
|
||||
'User-Agent: FHComplete',
|
||||
'Connection: Keep-Alive',
|
||||
'Expect:',
|
||||
'Content-Length: 0'
|
||||
);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
$this->debug('Sending Request to '.$url);
|
||||
|
||||
$response = curl_exec($curl);
|
||||
$curl_info = curl_getinfo($curl);
|
||||
curl_close($curl);
|
||||
|
||||
$this->debug('ResponseCode: '.$curl_info['http_code']);
|
||||
$this->debug('ResponseData: '.print_r($response, true));
|
||||
|
||||
if ($curl_info['http_code'] == '200')
|
||||
{
|
||||
/* Example Response:
|
||||
<uni:simpleStudentResponse xmlns:uni="http://www.brz.gv.at/datenverbund-unis">
|
||||
<uni:student inStudienBeitragsPool="false" inGesamtPool="true" gesperrt="false">
|
||||
<uni:matrikelNummer>12345678</uni:matrikelNummer>
|
||||
<uni:vorName>Max</uni:vorName>
|
||||
<uni:personenkennzeichen>sdfaASDAFasdfads+asasdffd=</uni:personenkennzeichen>
|
||||
<uni:nachName>Mustermann</uni:nachName>
|
||||
<uni:geschlecht>M</uni:geschlecht>
|
||||
<uni:geburtsDatum>1999-02-19</uni:geburtsDatum>
|
||||
<uni:staatsAngehoerigkeit>A</uni:staatsAngehoerigkeit>
|
||||
</uni:student>
|
||||
</uni:simpleStudentResponse>
|
||||
*/
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($response);
|
||||
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
|
||||
$domnodes_student = $dom->getElementsByTagNameNS($namespace, 'student');
|
||||
|
||||
$retval = new stdClass();
|
||||
$retval->data = array();
|
||||
|
||||
foreach ($domnodes_student as $row_student)
|
||||
{
|
||||
// Wenn nicht gesperrt und fix vergeben
|
||||
$ingesamtpool = $row_student->getAttribute('inGesamtPool');
|
||||
$gesperrt = $row_student->getAttribute('gesperrt');
|
||||
|
||||
if ($ingesamtpool == 'true' && $gesperrt == 'false')
|
||||
{
|
||||
$data = new stdClass();
|
||||
|
||||
$domnodes_matrikelnummer = $row_student->getElementsByTagNameNS($namespace, 'matrikelNummer');
|
||||
foreach ($domnodes_matrikelnummer as $row)
|
||||
{
|
||||
// MatrikelNr Found
|
||||
$data->matrikelnummer = $row->textContent;
|
||||
break;
|
||||
}
|
||||
$domnodes_bpk = $row_student->getElementsByTagNameNS($namespace, 'personenkennzeichen');
|
||||
foreach ($domnodes_bpk as $row)
|
||||
{
|
||||
// BPK Found
|
||||
$data->bpk = $row->textContent;
|
||||
break;
|
||||
}
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'vorName');
|
||||
if ($domnodes->length>0)
|
||||
$data->vorname = $domnodes->item(0)->textContent;
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'nachName');
|
||||
if ($domnodes->length>0)
|
||||
$data->nachname = $domnodes->item(0)->textContent;
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'geschlecht');
|
||||
if ($domnodes->length>0)
|
||||
$data->geschlecht = $domnodes->item(0)->textContent;
|
||||
$domnodes = $row_student->getElementsByTagNameNS($namespace, 'staatsAngehoerigkeit');
|
||||
if ($domnodes->length > 0)
|
||||
$data->staatsangehoerigkeit = $domnodes->item(0)->textContent;
|
||||
|
||||
$retval->data[] = $data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return ErrorHandler::success($retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
|
||||
return ErrorHandler::error($errormsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert eine eindeutige UUID
|
||||
* @return uuid
|
||||
|
||||
@@ -375,7 +375,11 @@ class projekt extends basis_db
|
||||
JOIN fue.tbl_projekt USING(projekt_kurzbz)
|
||||
WHERE (beginn<=now() or beginn is null)
|
||||
AND (ende + interval '1 month 1 day' >=now() OR ende is null)
|
||||
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
|
||||
AND
|
||||
(
|
||||
mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)." OR
|
||||
student_uid=".$this->db_add_param($mitarbeiter_uid)."
|
||||
)";
|
||||
|
||||
if ($projektphasen == true)
|
||||
$qry .= "UNION
|
||||
@@ -387,7 +391,7 @@ class projekt extends basis_db
|
||||
JOIN fue.tbl_projekt USING (projekt_kurzbz)
|
||||
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
|
||||
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
|
||||
WHERE
|
||||
WHERE
|
||||
(
|
||||
(
|
||||
(tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
|
||||
|
||||
@@ -59,3 +59,4 @@ $this->phrasen['zeitaufzeichnung/taetigkeit']='Tätigkeit';
|
||||
$this->phrasen['zeitaufzeichnung/keineprojekte']='keine Projekte vorhanden';
|
||||
$this->phrasen['zeitaufzeichnung/summe']='Summe:';
|
||||
$this->phrasen['zeitaufzeichnung/dienstreise']='Dienstreise';
|
||||
$this->phrasen['zeitaufzeichnung/projektphase']='AP';
|
||||
|
||||
@@ -59,3 +59,4 @@ $this->phrasen['zeitaufzeichnung/taetigkeit']='Activity';
|
||||
$this->phrasen['zeitaufzeichnung/keineprojekte']='no projects exist';
|
||||
$this->phrasen['zeitaufzeichnung/summe']='Sum:';
|
||||
$this->phrasen['zeitaufzeichnung/dienstreise']='Business Trip';
|
||||
$this->phrasen['zeitaufzeichnung/projektphase']='WP';
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/* Copyright (C) 2019 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: Andreas Österreicher <oesi@technikum-wien.at>
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/rdf.class.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/bisio.class.php');
|
||||
|
||||
$oRdf = new rdf('AUFENTHALTFOERDERUNG','http://www.technikum-wien.at/aufenthaltfoerderung');
|
||||
$oRdf->sendHeader();
|
||||
|
||||
$io = new bisio();
|
||||
if(isset($_GET['bisio_id']))
|
||||
$io->getFoerderungen($_GET['bisio_id']);
|
||||
else
|
||||
$io->getFoerderungen();
|
||||
|
||||
foreach($io->result as $row)
|
||||
{
|
||||
$i=$oRdf->newObjekt($row->aufenthaltfoerderung_code);
|
||||
$oRdf->obj[$i]->setAttribut('aufenthaltfoerderung_code',$row->aufenthaltfoerderung_code,true);
|
||||
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
|
||||
|
||||
$oRdf->addSequence($row->aufenthaltfoerderung_code);
|
||||
}
|
||||
|
||||
$oRdf->sendRdfText();
|
||||
?>
|
||||
+3
-3
@@ -115,17 +115,17 @@ function draw_content($row)
|
||||
<IO:von><![CDATA['.$datum->convertISODate($row->von).']]></IO:von>
|
||||
<IO:bis_iso><![CDATA['.$row->bis.']]></IO:bis_iso>
|
||||
<IO:bis><![CDATA['.$datum->convertISODate($row->bis).']]></IO:bis>
|
||||
<IO:zweck_code><![CDATA['.$row->zweck_code.']]></IO:zweck_code>
|
||||
<IO:zweck_bezeichnung><![CDATA['.$row->zweck_bezeichnung.']]></IO:zweck_bezeichnung>
|
||||
<IO:student_uid><![CDATA['.$row->student_uid.']]></IO:student_uid>
|
||||
<IO:lehreinheit_id><![CDATA['.$row->lehreinheit_id.']]></IO:lehreinheit_id>
|
||||
<IO:ort><![CDATA['.$row->ort.']]></IO:ort>
|
||||
<IO:universitaet><![CDATA['.$row->universitaet.']]></IO:universitaet>
|
||||
<IO:lehrveranstaltung_id><![CDATA['.$lehrveranstaltung_id.']]></IO:lehrveranstaltung_id>
|
||||
<IO:studiensemester_kurzbz><![CDATA['.$studiensemester_kurzbz.']]></IO:studiensemester_kurzbz>
|
||||
<IO:ects_angerechnet><![CDATA['.$row->ects_angerechnet.']]></IO:ects_angerechnet>
|
||||
<IO:ects_erworben><![CDATA['.$row->ects_erworben.']]></IO:ects_erworben>
|
||||
</RDF:Description>
|
||||
</RDF:li>';
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -883,11 +883,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
$qry_outgoing_note = "
|
||||
SELECT
|
||||
anmerkung, offiziell, positiv, benotungsdatum, lehrform_kurzbz
|
||||
tbl_note.anmerkung, tbl_note.offiziell,
|
||||
tbl_note.positiv, tbl_zeugnisnote.benotungsdatum,
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz
|
||||
FROM
|
||||
lehre.tbl_zeugnisnote
|
||||
JOIN tbl_lehrveranstaltung using(lehrveranstaltung_id)
|
||||
JOIN tbl_note using(note)
|
||||
JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_note using(note)
|
||||
WHERE
|
||||
lehrveranstaltung_id = ".$db->db_add_param($row_outgoing->lehrveranstaltung_id)."
|
||||
AND student_uid = ".$db->db_add_param($uid_arr[$i]);
|
||||
@@ -948,7 +950,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
<kurzbz>'.$lehrform_kurzbz_outgoing.'</kurzbz>
|
||||
<stsem></stsem>
|
||||
<bezeichnung><![CDATA[]]></bezeichnung>
|
||||
<bezeichnung_englisch><![CDATA[International Semester Abroad: '.$datum_von.'-'.$datum_bis.', at '.$row_outgoing->ort.', '.$row_outgoing->universitaet.'. All credits earned during the International Semester Abroad (ISA) are fully credited for the '.$start.$auslandssemester_start.' semester at the UAS Technikum Wien.'.$projektarbeitszusatz.']]></bezeichnung_englisch>
|
||||
<bezeichnung_englisch><![CDATA[International Semester Abroad: '.$datum_von.'-'.$datum_bis.', at '.$row_outgoing->ort.', '.$row_outgoing->universitaet.'. All credits earned during the International Semester Abroad (ISA) are fully credited for the '.$start.$auslandssemester_start.' semester at the UAS Technikum Wien. '.$projektarbeitszusatz.']]></bezeichnung_englisch>
|
||||
<ects>'.$row_outgoing->ects.'</ects>
|
||||
<semesterstunden>'.$row_outgoing->semesterstunden.'</semesterstunden>
|
||||
<note>'.$note_outgoing.'</note>
|
||||
|
||||
+19
-7
@@ -29,6 +29,7 @@ header("Pragma: no-cache");
|
||||
header("Content-type: application/xhtml+xml");
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/bisio.class.php');
|
||||
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
|
||||
@@ -41,13 +42,25 @@ echo '
|
||||
>
|
||||
<RDF:Seq about="'.$rdf_url.'/liste">';
|
||||
|
||||
$qry = 'SELECT * FROM bis.tbl_zweck ORDER BY kurzbz';
|
||||
$db = new basis_db();
|
||||
|
||||
if($db->db_query($qry))
|
||||
$bisio = new bisio();
|
||||
if(isset($_GET['bisio_id']))
|
||||
{
|
||||
$bisio->getZweck($_GET['bisio_id']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$incoming = null;
|
||||
$outgoing = null;
|
||||
if (isset($_GET['type']) && $_GET['type'] == 'incoming')
|
||||
$incoming = true;
|
||||
if (isset($_GET['type']) && $_GET['type'] == 'outgoing')
|
||||
$outgoing = true;
|
||||
$bisio->getZweck(null, $outgoing, $incoming);
|
||||
}
|
||||
|
||||
foreach($bisio->result as $row)
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
echo '
|
||||
<RDF:li>
|
||||
<RDF:Description id="'.$row->zweck_code.'" about="'.$rdf_url.'/'.$row->zweck_code.'" >
|
||||
@@ -56,8 +69,7 @@ if($db->db_query($qry))
|
||||
<ZWECK:bezeichnung><![CDATA['.$row->bezeichnung.']]></ZWECK:bezeichnung>
|
||||
</RDF:Description>
|
||||
</RDF:li>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -74,6 +74,8 @@ $strasse = filter_input(INPUT_POST, 'strasse');
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="datenverbund_client.php?action=getByNachname">Matrikelnummer nach Nachname suchen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getByName">Matrikelnummer nach Nachname, Vorname, Geburtsdatum suchen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getByMatrikelnummer">Personendaten anhand der Matrikelnummer suchen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getReservations">Matrikelnummer Reservierungen anzeigen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getKontingent">Matrikelnummer Kontingent anfordern</a></li>
|
||||
<li><a href="datenverbund_client.php?action=setMatrikelnummer">Matrikelnummer Vergabe melden</a></li>
|
||||
@@ -128,7 +130,14 @@ $strasse = filter_input(INPUT_POST, 'strasse');
|
||||
printrow('nachname', 'Nachname', $nachname);
|
||||
printrow('geburtsdatum', 'Geburtsdatum', $geburtsdatum, ' (Format: YYYYMMDD)', 8);
|
||||
break;
|
||||
|
||||
case 'getByName':
|
||||
printrow('nachname', 'Nachname', $nachname);
|
||||
printrow('vorname', 'Vorname', $vorname);
|
||||
printrow('geburtsdatum', 'Geburtsdatum', $geburtsdatum, ' (Format: YYYYMMDD)', 8);
|
||||
break;
|
||||
case 'getByMatrikelnummer':
|
||||
printrow('matrikelnummer', 'Matrikelnummer', $matrikelnr);
|
||||
break;
|
||||
case 'getReservations':
|
||||
case 'getKontingent':
|
||||
printrow('studienjahr', 'Studienjahr', $studienjahr, 'zB 2016 (für WS2016 und SS2017)', 4);
|
||||
@@ -226,6 +235,46 @@ if (isset($_REQUEST['submit']))
|
||||
case 'getByNachname':
|
||||
$data = $dvb->getMatrikelnrByNachname($_POST['nachname'], $_POST['geburtsdatum']);
|
||||
|
||||
if(ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
|
||||
{
|
||||
if(isset($data->retval->data) && is_array($data->retval->data) && count($data->retval->data)>0)
|
||||
{
|
||||
echo '<br><b>Daten gefunden:</b> ';
|
||||
var_dump($data->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'keine Einträge gefunden';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
|
||||
}
|
||||
break;
|
||||
case 'getByName':
|
||||
$data = $dvb->getMatrikelnrByName($_POST['nachname'], $_POST['vorname'], $_POST['geburtsdatum']);
|
||||
|
||||
if(ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
|
||||
{
|
||||
if(isset($data->retval->data) && is_array($data->retval->data) && count($data->retval->data)>0)
|
||||
{
|
||||
echo '<br><b>Daten gefunden:</b> ';
|
||||
var_dump($data->retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'keine Einträge gefunden';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br><b>Matrikelnummer nicht vorhanden:</b>'.$data->errormsg;
|
||||
}
|
||||
break;
|
||||
case 'getByMatrikelnummer':
|
||||
$data = $dvb->getDataByMatrikelnr($_POST['matrikelnummer']);
|
||||
|
||||
if(ErrorHandler::isSuccess($data) && ErrorHandler::hasData($data))
|
||||
{
|
||||
if(isset($data->retval->data) && is_array($data->retval->data) && count($data->retval->data)>0)
|
||||
|
||||
+118
-3
@@ -2961,7 +2961,7 @@ if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'tbl_zeitauf
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_zeitaufzeichnung_gd_id_seq '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Granted privileges to <strong>vilesci</strong> on campus.tbl_zeitaufzeichnung_gd_id_seq';
|
||||
echo '<br>Granted privileges to <strong>web</strong> on campus.tbl_zeitaufzeichnung_gd_id_seq';
|
||||
|
||||
// GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO vilesci;
|
||||
$qry = 'GRANT SELECT, UPDATE ON SEQUENCE campus.tbl_zeitaufzeichnung_gd_id_seq TO vilesci;';
|
||||
@@ -3138,12 +3138,126 @@ if(!@$db->db_query("SELECT insertamum FROM public.tbl_vorlagestudiengang LIMIT 1
|
||||
echo '<br>Neue Spalten insertamum,insertvon,updateamum und updatevon in public.tbl_vorlagestudiengang hinzugefügt';
|
||||
}
|
||||
|
||||
// Add column ects_erworben to bis.tbl_bisio
|
||||
if(!$result = @$db->db_query("SELECT ects_erworben FROM bis.tbl_bisio LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_bisio ADD COLUMN ects_erworben numeric(5,2);";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_bisio: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_bisio: Spalte ects_erworben hinzugefuegt';
|
||||
}
|
||||
|
||||
// Add column ects_angerechnet to bis.tbl_bisio
|
||||
if(!$result = @$db->db_query("SELECT ects_angerechnet FROM bis.tbl_bisio LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_bisio ADD COLUMN ects_angerechnet numeric(5,2);";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_bisio: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_bisio: Spalte ects_angerechnet hinzugefuegt';
|
||||
}
|
||||
|
||||
// Add Table bis.tbl_aufenthaltfoerderung
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM bis.tbl_aufenthaltfoerderung LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE bis.tbl_aufenthaltfoerderung
|
||||
(
|
||||
aufenthaltfoerderung_code integer NOT NULL,
|
||||
bezeichnung varchar(64)
|
||||
);
|
||||
ALTER TABLE bis.tbl_aufenthaltfoerderung ADD CONSTRAINT pk_aufenthaltfoerderung PRIMARY KEY (aufenthaltfoerderung_code);
|
||||
|
||||
COMMENT ON TABLE bis.tbl_aufenthaltfoerderung IS 'Key-Table of Outgoing Sponsorship';
|
||||
INSERT INTO bis.tbl_aufenthaltfoerderung(aufenthaltfoerderung_code, bezeichnung) VALUES(1,'EU-Förderung');
|
||||
INSERT INTO bis.tbl_aufenthaltfoerderung(aufenthaltfoerderung_code, bezeichnung) VALUES(2,'Beihilfe von Bund, Land, Gemeinde');
|
||||
INSERT INTO bis.tbl_aufenthaltfoerderung(aufenthaltfoerderung_code, bezeichnung) VALUES(3,'Förderung durch Universität/Hochschule');
|
||||
INSERT INTO bis.tbl_aufenthaltfoerderung(aufenthaltfoerderung_code, bezeichnung) VALUES(4,'andere Förderung');
|
||||
INSERT INTO bis.tbl_aufenthaltfoerderung(aufenthaltfoerderung_code, bezeichnung) VALUES(5,'keine Förderung');
|
||||
|
||||
CREATE TABLE bis.tbl_bisio_aufenthaltfoerderung
|
||||
(
|
||||
bisio_id integer NOT NULL,
|
||||
aufenthaltfoerderung_code integer NOT NULL
|
||||
);
|
||||
ALTER TABLE bis.tbl_bisio_aufenthaltfoerderung ADD CONSTRAINT pk_aufenthaltfoerderung_bisio PRIMARY KEY (bisio_id, aufenthaltfoerderung_code);
|
||||
COMMENT ON TABLE bis.tbl_bisio_aufenthaltfoerderung IS 'Connects Outgoing Program with Sponsorship';
|
||||
|
||||
ALTER TABLE bis.tbl_bisio_aufenthaltfoerderung ADD CONSTRAINT fk_tbl_bisio_aufenthaltfoerderung_bisio FOREIGN KEY (bisio_id) REFERENCES bis.tbl_bisio (bisio_id) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE bis.tbl_bisio_aufenthaltfoerderung ADD CONSTRAINT fk_tbl_bisio_aufenthaltfoerderung_aufenthaltfoerderung FOREIGN KEY (aufenthaltfoerderung_code) REFERENCES bis.tbl_aufenthaltfoerderung (aufenthaltfoerderung_code) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE bis.tbl_aufenthaltfoerderung TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE bis.tbl_aufenthaltfoerderung TO vilesci;
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE bis.tbl_bisio_aufenthaltfoerderung TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE bis.tbl_bisio_aufenthaltfoerderung TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_aufenthaltfoerderung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_aufenthaltfoerderung hinzugefügt, Tabelle bis.tbl_bisio_aufenthaltfoerderung hinzugefuegt';
|
||||
}
|
||||
|
||||
// Add table bis.tbl_bisio_zweck
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM bis.tbl_bisio_zweck LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE bis.tbl_bisio ALTER COLUMN zweck_code DROP NOT NULL;
|
||||
CREATE TABLE bis.tbl_bisio_zweck
|
||||
(
|
||||
bisio_id integer NOT NULL,
|
||||
zweck_code varchar(20) NOT NULL
|
||||
);
|
||||
COMMENT ON TABLE bis.tbl_bisio_zweck IS 'Connects Internships with Reasons';
|
||||
ALTER TABLE bis.tbl_bisio_zweck ADD CONSTRAINT pk_tbl_bisio_zweck PRIMARY KEY (bisio_id, zweck_code);
|
||||
ALTER TABLE bis.tbl_bisio_zweck ADD CONSTRAINT fk_tbl_bisio_zweck_bisio FOREIGN KEY (bisio_id) REFERENCES bis.tbl_bisio (bisio_id) ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE bis.tbl_bisio_zweck ADD CONSTRAINT fk_tbl_bisio_zweck_zweck FOREIGN KEY (zweck_code) REFERENCES bis.tbl_zweck (zweck_code) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
INSERT INTO bis.tbl_bisio_zweck(bisio_id, zweck_code) SELECT bisio_id, zweck_code FROM bis.tbl_bisio WHERE zweck_code is not null;
|
||||
COMMENT ON COLUMN bis.tbl_bisio.zweck_code IS 'DEPRECATED';
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE bis.tbl_bisio_zweck TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE bis.tbl_bisio_zweck TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_bisio_zweck: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_bisio_zweck hinzugefuegt, Spalte bis.tbl_bisio.zweck_code als DEPRECATED markiert.';
|
||||
}
|
||||
|
||||
// Add Column incoming and outgoing to bis.tbl_zweck
|
||||
// change Datatype of bis.tbl_zweck.bezeichnung from varchar(32) to varchar(64)
|
||||
if(!$result = @$db->db_query("SELECT incoming FROM bis.tbl_zweck LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE bis.tbl_zweck ALTER COLUMN bezeichnung TYPE varchar(64);
|
||||
ALTER TABLE bis.tbl_zweck ADD COLUMN incoming boolean NOT NULL DEFAULT true;
|
||||
ALTER TABLE bis.tbl_zweck ADD COLUMN outgoing boolean NOT NULL DEFAULT true;
|
||||
|
||||
INSERT INTO bis.tbl_zweck(zweck_code, kurzbz, bezeichnung, incoming, outgoing) VALUES(4, 'DMD','Diplom-/Masterarbeit bzw. Dissertation', false, true);
|
||||
INSERT INTO bis.tbl_zweck(zweck_code, kurzbz, bezeichnung, incoming, outgoing) VALUES(5, 'SK','Besuch von Sprachkursen', false, true);
|
||||
INSERT INTO bis.tbl_zweck(zweck_code, kurzbz, bezeichnung, incoming, outgoing) VALUES(6, 'LT','Lehrtätigkeit', false, true);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_zweck: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>bis.tbl_zweck Spalte incoming und outgoing hinzugefügt, neue Codexeinträge ergänzt.';
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
$tabellen=array(
|
||||
"bis.tbl_bisorgform" => array("bisorgform_kurzbz","code","bezeichnung"),
|
||||
"bis.tbl_archiv" => array("archiv_id","studiensemester_kurzbz","meldung","html","studiengang_kz","insertamum","insertvon","typ"),
|
||||
"bis.tbl_aufenthaltfoerderung" => array("aufenthaltfoerderung_code", "bezeichnung"),
|
||||
"bis.tbl_bisio_aufenthaltfoerderung" => array("bisio_id","aufenthaltfoerderung_code"),
|
||||
"bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
|
||||
"bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
|
||||
"bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"),
|
||||
@@ -3151,7 +3265,8 @@ $tabellen=array(
|
||||
"bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"),
|
||||
"bis.tbl_besqual" => array("besqualcode","besqualbez"),
|
||||
"bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"),
|
||||
"bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id","ects_erworben","ects_angerechnet"),
|
||||
"bis.tbl_bisio_zweck" => array("bisio_id","zweck_code"),
|
||||
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig"),
|
||||
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
|
||||
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
@@ -3171,7 +3286,7 @@ $tabellen=array(
|
||||
"bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"),
|
||||
"bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung","incoming","outgoing"),
|
||||
"bis.tbl_zgvgruppe" => array("gruppe_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zgvgruppe_zuordnung" => array("zgvgruppe_id" ,"studiengang_kz","zgv_code","zgvmas_code","gruppe_kurzbz"),
|
||||
"campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"),
|
||||
|
||||
@@ -3450,6 +3450,149 @@ $phrases = array(
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
//
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'changeFor',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Changing password for',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'usage',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The password must contain at least 8 characters, of which 1 must be upper case, 1 lower case and 1 a numeral.<br><br>The password may not include spaces or umlauts.<br>The following special characters are allowed: -$#[]{}!().,*:;_<br><br>More information about the Password Policy can be found at <a href="../../../../cms/dms.php?id=57972">this link</a>',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'old',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Old password',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'new',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'New password',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'newRepeat',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Repeat new password',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'change',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Change password',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'password',
|
||||
'phrase' => 'pageTitle',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Changing password',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -36,6 +36,7 @@ require_once('../../include/datum.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/bisio.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -243,7 +244,7 @@ $qry_in="
|
||||
WHERE
|
||||
bismelden=TRUE
|
||||
AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)."
|
||||
AND (status_kurzbz='Incoming' AND student_uid NOT IN (SELECT student_uid FROM bis.tbl_bisio))
|
||||
AND (status_kurzbz='Incoming' AND NOT EXISTS (SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid))
|
||||
ORDER BY student_uid, nachname, vorname
|
||||
";
|
||||
if($result_in = $db->db_query($qry_in))
|
||||
@@ -1152,7 +1153,6 @@ function GenerateXMLStudentBlock($row)
|
||||
$gast=$rowio->nation_code;
|
||||
$avon=date("dmY", $datumobj->mktime_fromdate($rowio->von));
|
||||
$abis=date("dmY", $datumobj->mktime_fromdate($rowio->bis));
|
||||
$zweck=$rowio->zweck_code;
|
||||
|
||||
$datei.="
|
||||
<IO>
|
||||
@@ -1164,8 +1164,36 @@ function GenerateXMLStudentBlock($row)
|
||||
$datei.="
|
||||
<AufenthaltBis>".$abis."</AufenthaltBis>";
|
||||
}
|
||||
$datei.="
|
||||
<AufenthaltZweckCode>".$zweck."</AufenthaltZweckCode>
|
||||
|
||||
$bisio_zweck = new bisio();
|
||||
$bisio_zweck->getZweck($rowio->bisio_id);
|
||||
foreach ($bisio_zweck->result as $row_zweck)
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltZweckCode>".$row_zweck->zweck_code."</AufenthaltZweckCode>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_erworben != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSerworben>".$rowio->ects_erworben."</ECTSerworben>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_angerechnet != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSangerechnet>".$rowio->ects_angerechnet."</ECTSangerechnet>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming')
|
||||
{
|
||||
$bisio_foerderung = new bisio();
|
||||
$bisio_foerderung->getFoerderungen($rowio->bisio_id);
|
||||
foreach ($bisio_foerderung->result as $row_foerderung)
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltFoerderungCode>".$row_foerderung->aufenthaltfoerderung_code."</AufenthaltFoerderungCode>";
|
||||
}
|
||||
}
|
||||
|
||||
$datei.="
|
||||
</IO>";
|
||||
if($aktstatus!='Incoming')
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user