Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2019-10-21 18:24:28 +02:00
34 changed files with 2552 additions and 796 deletions
@@ -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;
}
}
+169
View File
@@ -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;
}
}
-168
View File
@@ -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">
+3
View File
@@ -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
// ------------------------------------------------------------------------------------------
+10 -9
View File
@@ -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>";
+16 -11
View File
@@ -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("'", "&apos;")+"\", \""+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;");
}
});
+1 -1
View File
@@ -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)
{
+2 -2
View File
@@ -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;
}
+80 -21
View File
@@ -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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
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.'">&nbsp;</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
View File
@@ -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').' &gt;&gt;';
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;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&amp;frage_id='. $frage->frage_id.'&amp;sprache='. $_SESSION["sprache_user"].'"></img><br/><br/><br/>
</div>
<img class="testtoolfrage" src="bild.php?src=frage&amp;frage_id='. $frage->frage_id.'&amp;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&amp;frage_id='.$frage->frage_id.'&amp;sprache='.$_SESSION['sprache_user'].'&amp;'.$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&amp;vorschlag_id=$vorschlag->vorschlag_id&amp;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
View File
@@ -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>
';
+1 -4
View File
@@ -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,
+5
View File
@@ -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);
+206 -1
View File
@@ -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') &&
+211 -112
View File
@@ -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>
+415 -18
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+6 -2
View File
@@ -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)
+1
View File
@@ -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';
+1
View File
@@ -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';
+44
View File
@@ -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
View File
@@ -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>
+6 -4
View File
@@ -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
View File
@@ -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>
+50 -1
View File
@@ -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
View File
@@ -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"),
+143
View File
@@ -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'
)
)
)
);
+32 -4
View File
@@ -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')
{