diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php
index b31447994..ed17a096d 100644
--- a/config/global.config-default.inc.php
+++ b/config/global.config-default.inc.php
@@ -194,6 +194,9 @@ define('REIHUNGSTEST_CHECK', true);
// Bei Statuswechsel auf Bewerber bzw. Student -> soll ZGV brücksichtigt werden
define('ZGV_CHECK', true);
+define ('ZGV_DOKTOR_ANZEIGEN', false);
+define ('ZGV_ERFUELLT_ANZEIGEN', false);
+
// Bei Statuswechsel auf Bewerber -> bei true wird email (INFOMAIL_BEWERBER) an den Bewerber geschickt
define('SEND_BEWERBER_INFOMAIL', false);
diff --git a/content/adressedialog.xul.php b/content/adressedialog.xul.php
index f4f530bf0..50fb92b00 100644
--- a/content/adressedialog.xul.php
+++ b/content/adressedialog.xul.php
@@ -70,13 +70,15 @@ else
+ datasources="rdf/adressentyp.rdf.php" flex="1"
+ ref="http://www.technikum-wien.at/adressentyp/liste">
+
-
-
-
-
+
+
diff --git a/content/betriebsmitteloverlay.xul.php b/content/betriebsmitteloverlay.xul.php
index ec0e9f0d5..d9da9269b 100644
--- a/content/betriebsmitteloverlay.xul.php
+++ b/content/betriebsmitteloverlay.xul.php
@@ -204,7 +204,7 @@ else
-
+
diff --git a/content/functions.js.php b/content/functions.js.php
index 55eed5414..9b75718d1 100644
--- a/content/functions.js.php
+++ b/content/functions.js.php
@@ -419,3 +419,17 @@ function setVariable(variable, wert)
return true;
}
}
+
+// ****
+// * Validierung Alias auf Sonderzeichen (analog zu checkWunschUid erlaubt)
+// ****
+function checkAlias(alias)
+{
+
+ if (/^[a-z0-9 . _ -]*$/i.test(alias) === false)
+ {
+ return false;
+ }
+ else
+ return true;
+}
diff --git a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
index 1cc8fb34e..c99a35c27 100644
--- a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
+++ b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php
@@ -269,7 +269,7 @@ echo '';
-
+
diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php
index b87a309f8..c2fb335da 100644
--- a/content/mitarbeiter/mitarbeiteroverlay.js.php
+++ b/content/mitarbeiter/mitarbeiteroverlay.js.php
@@ -857,6 +857,12 @@ function MitarbeiterSave()
return false;
}
+ if(!checkAlias(alias))
+ {
+ alert('Der Alias darf keine Sonderzeichen außer ._- enthalten.');
+ return false;
+ }
+
var url = 'content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index c8c93b3f5..a2c6eca51 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -383,6 +383,7 @@ if(!$error)
$error = true;
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
}
+
//Studentendaten speichern
if(!$error)
{
@@ -402,7 +403,8 @@ if(!$error)
$return = false;
$errormsg = 'Geburtsdatum ist nicht korrekt.';
$error = true;
- }
+ }
+
if(!$error)
{
$student->uid = $_POST['uid'];
@@ -646,10 +648,17 @@ if(!$error)
$prestudent->zgvort = $_POST['zgvort'];
$prestudent->zgvdatum = $_POST['zgvdatum'];
$prestudent->zgvnation = $_POST['zgvnation'];
+ $prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
$prestudent->zgvmaort = $_POST['zgvmaort'];
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
$prestudent->zgvmanation = $_POST['zgvmanation'];
+ $prestudent->zgvmas_erfuellt = $_POST['zgvmas_erfuellt'];
+ $prestudent->zgvdoktor_code = $_POST['zgvdoktor_code'];
+ $prestudent->zgvdoktorort = $_POST['zgvdoktorort'];
+ $prestudent->zgvdoktordatum = $_POST['zgvdoktordatum'];
+ $prestudent->zgvdoktornation = $_POST['zgvdoktornation'];
+ $prestudent->zgvdoktor_erfuellt = $_POST['zgvdoktor_erfuellt'];
$prestudent->aufnahmeschluessel = $_POST['aufnahmeschluessel'];
$prestudent->facheinschlberuf = ($_POST['facheinschlberuf']=='true'?true:false);
$prestudent->bismelden = ($_POST['bismelden']=='true'?true:false);
@@ -2337,7 +2346,7 @@ if(!$error)
{
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
continue;
-
+
if($dokument_kurzbz!='')
{
$dok = new dokument();
@@ -2350,6 +2359,7 @@ if(!$error)
$dok->new = true;
if ($dokument_kurzbz === 'Sonst')
$sonst++;
+
if(!$dok->save())
{
@@ -2544,7 +2554,6 @@ if(!$error)
$dokumente = explode(';',$_POST['dokumente']);
$errormsg = '';
$sonst = 0;
-
foreach ($dokumente as $dokument_kurzbz)
{
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php
index dd86b3657..51be7d554 100644
--- a/content/student/studentdetailoverlay.xul.php
+++ b/content/student/studentdetailoverlay.xul.php
@@ -104,13 +104,26 @@ echo '';
-
-
+
+
+
+
+
+
+
+
+
+
@@ -127,15 +140,29 @@ echo '';
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -298,6 +325,8 @@ echo '';
+
+
@@ -326,16 +355,36 @@ echo '';
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -347,7 +396,8 @@ echo '';
+ uri="rdf:*"
+ />
@@ -362,15 +412,93 @@ echo '';
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 92fcb19cd..ffb50609f 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -1147,10 +1147,18 @@ function StudentAuswahl()
zgvort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvort" ));
zgvnation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvnation" ));
zgvdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdatum" ));
+ zgv_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_erfuellt" ));
zgvmaster_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_code" ));
zgvmasterort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmaort" ));
zgvmasternation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmanation" ));
- zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" ));
+ zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" ));
+ zgvmas_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_erfuellt" ));
+ zgvdoktor_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_code" ));
+ zgvdoktorort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktorort" ));
+ zgvdoktornation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktornation" ));
+ zgvdoktordatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktordatum" ));
+ zgvdoktor_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_erfuellt" ));
+
aufnahmeschluessel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufnahmeschluessel" ));
facheinschlberuf = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#facheinschlberuf" ));
bismelden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" ));
@@ -1169,10 +1177,26 @@ function StudentAuswahl()
document.getElementById('student-prestudent-textbox-zgvort').value=zgvort;
MenulistSelectItemOnValue('student-prestudent-menulist-zgvnation', zgvnation);
document.getElementById('student-prestudent-textbox-zgvdatum').value=zgvdatum;
+ if(zgv_erfuellt=='t')
+ document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=true;
+ else
+ document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=false;
document.getElementById('student-prestudent-menulist-zgvmastercode').value=zgvmaster_code;
document.getElementById('student-prestudent-textbox-zgvmasterort').value=zgvmasterort;
MenulistSelectItemOnValue('student-prestudent-menulist-zgvmasternation', zgvmasternation);
document.getElementById('student-prestudent-textbox-zgvmasterdatum').value=zgvmasterdatum;
+ if(zgvmas_erfuellt=='t')
+ document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=true;
+ else
+ document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=false;
+ document.getElementById('student-prestudent-menulist-zgvdoktorcode').value=zgvdoktor_code;
+ document.getElementById('student-prestudent-textbox-zgvdoktorort').value=zgvdoktorort;
+ MenulistSelectItemOnValue('student-prestudent-menulist-zgvdoktornation', zgvdoktornation);
+ document.getElementById('student-prestudent-textbox-zgvdoktordatum').value=zgvdoktordatum;
+ if(zgvdoktor_erfuellt=='t')
+ document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=true;
+ else
+ document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=false;
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value=aufnahmeschluessel;
if(facheinschlberuf=='true')
document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true;
@@ -1708,10 +1732,18 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-textbox-zgvort').disabled=val;
document.getElementById('student-prestudent-menulist-zgvnation').disabled=val;
document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val;
+ document.getElementById('student-prestudent-checkbox-zgverfuellt').disabled=val;
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val;
document.getElementById('student-prestudent-textbox-zgvmasterort').disabled=val;
document.getElementById('student-prestudent-menulist-zgvmasternation').disabled=val;
document.getElementById('student-prestudent-textbox-zgvmasterdatum').disabled=val;
+ document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').disabled=val;
+ document.getElementById('student-prestudent-menulist-zgvdoktorcode').disabled=val;
+ document.getElementById('student-prestudent-textbox-zgvdoktorort').disabled=val;
+ document.getElementById('student-prestudent-menulist-zgvdoktornation').disabled=val;
+ document.getElementById('student-prestudent-textbox-zgvdoktordatum').disabled=val;
+ document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').disabled=val;
+
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val;
document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val;
document.getElementById('student-prestudent-checkbox-bismelden').disabled=val;
@@ -1779,10 +1811,18 @@ function StudentPrestudentSave()
zgvort = document.getElementById('student-prestudent-textbox-zgvort').value;
zgvnation = document.getElementById('student-prestudent-menulist-zgvnation').value;
zgvdatum = document.getElementById('student-prestudent-textbox-zgvdatum').value;
+ zgv_erfuellt = document.getElementById('student-prestudent-checkbox-zgverfuellt').checked;
zgvmaster_code = document.getElementById('student-prestudent-menulist-zgvmastercode').value;
zgvmasterort = document.getElementById('student-prestudent-textbox-zgvmasterort').value;
zgvmasternation = document.getElementById('student-prestudent-menulist-zgvmasternation').value;
zgvmasterdatum = document.getElementById('student-prestudent-textbox-zgvmasterdatum').value;
+ zgvmas_erfuellt = document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked;
+ zgvdoktor_code = document.getElementById('student-prestudent-menulist-zgvdoktorcode').value;
+ zgvdoktorort = document.getElementById('student-prestudent-textbox-zgvdoktorort').value;
+ zgvdoktornation = document.getElementById('student-prestudent-menulist-zgvdoktornation').value;
+ zgvdoktordatum = document.getElementById('student-prestudent-textbox-zgvdoktordatum').value;
+ zgvdoktor_erfuellt = document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked;
+
aufnahmeschluessel = document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value;
facheinschlberuf = document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked;
bismelden = document.getElementById('student-prestudent-checkbox-bismelden').checked;
@@ -1808,7 +1848,11 @@ function StudentPrestudentSave()
alert('ZGVMaster Datum ist ungueltig');
return false;
}
-
+ if(zgvdoktordatum!='' && !CheckDatum(zgvdoktordatum))
+ {
+ alert('ZGVDoktor Datum ist ungueltig');
+ return false;
+ }
var url = 'content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
@@ -1827,10 +1871,18 @@ function StudentPrestudentSave()
req.add('zgvort', zgvort);
req.add('zgvnation', zgvnation);
req.add('zgvdatum', ConvertDateToISO(zgvdatum));
+ req.add('zgv_erfuellt', zgv_erfuellt);
req.add('zgvmas_code', zgvmaster_code);
req.add('zgvmaort', zgvmasterort);
req.add('zgvmanation', zgvmasternation);
req.add('zgvmadatum', ConvertDateToISO(zgvmasterdatum));
+ req.add('zgvmas_erfuellt', zgvmas_erfuellt);
+ req.add('zgvdoktor_code', zgvdoktor_code);
+ req.add('zgvdoktorort', zgvdoktorort);
+ req.add('zgvdoktornation', zgvdoktornation);
+ req.add('zgvdoktordatum', ConvertDateToISO(zgvdoktordatum));
+ req.add('zgvdoktor_erfuellt', zgvdoktor_erfuellt);
+
req.add('aufnahmeschluessel', aufnahmeschluessel);
req.add('facheinschlberuf', facheinschlberuf);
req.add('bismelden', bismelden);
diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php
index 40af4107d..124516357 100644
--- a/content/student/studentprojektarbeit.js.php
+++ b/content/student/studentprojektarbeit.js.php
@@ -652,11 +652,12 @@ function StudentProjektarbeitNeu()
StudentProjektarbeitResetFields();
StudentProjektarbeitDetailDisableFields(false);
StudentProjektbetreuerDisableFields(true);
+ var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
var student_uid = document.getElementById('student-detail-textbox-uid').value;
//Lehrveranstaltung DropDown laden
var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung');
- url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp();
+ url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+'&stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LvDropDown.database.GetDataSources();
diff --git a/include/adresse.class.php b/include/adresse.class.php
index ffdb08582..0d4e6a7ca 100644
--- a/include/adresse.class.php
+++ b/include/adresse.class.php
@@ -53,6 +53,9 @@ class adresse extends basis_db
public $rechnungsadresse=false; // boolean
public $anmerkung; // string
public $co_name;
+ public $adressentyp;
+ public $bezeichnung;
+ public $bezeichnung_mehrsprachig;
/**
* Konstruktor
@@ -133,10 +136,10 @@ class adresse extends basis_db
$this->errormsg = 'person_id muss eine gültige Zahl sein';
return false;
}
-
+ $sprache = new sprache();
//Lesen der Daten aus der Datenbank
- $qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false);
- $qry.=" ORDER BY zustelladresse DESC";
+ $qry = "SELECT *, ". $sprache->getSprachQuery('bezeichnung_mehrsprachig') ." FROM public.tbl_adresse JOIN public.tbl_adressentyp ON typ = adressentyp_kurzbz WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false);
+ $qry.=" ORDER BY zustelladresse DESC, sort";
if(!$this->db_query($qry))
{
@@ -167,6 +170,7 @@ class adresse extends basis_db
$adr_obj->co_name = $row->co_name;
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
$adr_obj->anmerkung = $row->anmerkung;
+ $adr_obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
$this->result[] = $adr_obj;
}
@@ -519,5 +523,29 @@ class adresse extends basis_db
}
return true;
}
+
+ public function getAdressentyp()
+ {
+ $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort";
+
+ if($this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object())
+ {
+ $obj = new adresse();
+
+ $obj->adressentyp = $row->adressentyp_kurzbz;
+ $obj->bezeichnung = $row->bezeichnung;
+
+ $this->result[] = $obj;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
}
?>
diff --git a/include/betriebsmittel.class.php b/include/betriebsmittel.class.php
index d3e208076..220cdfea0 100644
--- a/include/betriebsmittel.class.php
+++ b/include/betriebsmittel.class.php
@@ -1186,7 +1186,22 @@ class betriebsmittel extends basis_db
//Kartennummern die im Hex-Format sind werden umgewandelt
if (!is_numeric($kartennummer))
{
- $kartennummer=substr($kartennummer,strlen($kartennummer)-2,2).substr($kartennummer,strlen($kartennummer)-4,2). substr($kartennummer,strlen($kartennummer)-6,2).substr($kartennummer,0,2);
+ $tmp_kn_str = null;
+ for ($i=0; strlen($kartennummer) > $i; $i+=2) {
+
+ #wenn die strlen($kartennummer) gerade ist (TW hat 8 Stellen, FHB 14 Stellen)
+ $tmp_kn_str .= substr($kartennummer,strlen($kartennummer)-($i+2),2);
+
+ //#wenn ich ungerade und der letzte Durchgang ist dann nur mehr die eine Nummer nach vorne
+ //if ((strlen($kartennummer)%2 != 0) && ($i+2 > strlen($kartennummer))) {
+ // $tmp_kn_str .= substr($kartennummer,strlen($kartennummer)-($i+1),1);
+ //#sonst normal immer 2 stellen nach vorne ruecken
+ //} else {
+ // $tmp_kn_str .= substr($kartennummer,strlen($kartennummer)-($i+2),2);
+ //}
+ }
+ $kartennummer = $tmp_kn_str;
+
$kartennummer=hexdec( $kartennummer);
}
diff --git a/include/functions.inc.php b/include/functions.inc.php
index 587860982..8109a2035 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -455,42 +455,50 @@ function intersect($str1, $str2)
* Konvertiert Problematische Sonderzeichen in Strings fuer
* Accountnamen und EMail-Aliase
*
- * @param $str
- * @return bereinigter String
+ * @param string $str Inputparameter.
+ * @return string bereinigter String.
*/
function convertProblemChars($str)
{
$enc = 'UTF-8';
$acentos = array(
- 'A' => '/À|Á|Â|Ã|Å/',
- 'Ae' => '/Ä/',
- 'a' => '/à|á|â|ã|å/',
- 'ae'=> '/ä/',
- 'C' => '/Ç/',
- 'c' => '/ç/',
- 'E' => '/È|É|Ê|Ë/',
- 'e' => '/è|é|ê|ë/',
- 'I' => '/Ì|Í|Î|Ï/',
- 'i' => '/ì|í|î|ï/',
- 'N' => '/Ñ/',
- 'n' => '/ñ/',
- 'O' => '/Ò|Ó|Ô|Õ/',
- 'Oe' => '/Ö/',
- 'o' => '/ò|ó|ô|õ/',
- 'oe' => '/ö/',
- 'U' => '/Ù|Ú|Û/',
- 'Ue' => '/Ü/',
- 'u' => '/ù|ú|û/',
- 'ue' => '/ü/',
- 'Y' => '/Ý/',
- 'y' => '/ý|ÿ/',
- 'a.' => '/ª/',
- 'o.' => '/º/',
- 'ss' => '/ß/'
+ 'A' => '/À|Á|Â|Ã|Å|Ă|Ǎ/',
+ 'Ae' => '/Ä/',
+ 'a' => '/à|á|â|ã|å|ă|ǎ/',
+ 'ae' => '/ä/',
+ 'C' => '/Ç|Č/',
+ 'c' => '/ç|č/',
+ 'E' => '/È|É|Ê|Ë/',
+ 'e' => '/è|é|ê|ë/',
+ 'I' => '/Ì|Í|Î|Ï|Ǐ/',
+ 'i' => '/ì|í|î|ï|ǐ/',
+ 'N' => '/Ñ|Ň|ň/',
+ 'n' => '/ñ/',
+ 'O' => '/Ò|Ó|Ô|Õ|Ǒ/',
+ 'Oe' => '/Ö/',
+ 'o' => '/ò|ó|ô|õ|ǒ/',
+ 'oe' => '/ö/',
+ 'R' => '/Ř/',
+ 'r' => '/ř/',
+ 'S' => '/Š/',
+ 's' => '/š/',
+ 'T' => '/Ť/',
+ 't' => '/ť/',
+ 'U' => '/Ù|Ú|Û|Ŭ|Ǔ/',
+ 'Ue' => '/Ü/',
+ 'u' => '/ù|ú|û|ŭ|ǔ/',
+ 'ue' => '/ü/',
+ 'Y' => '/Ý/',
+ 'y' => '/ý|ÿ/',
+ 'Z' => '/Ž/',
+ 'z' => '/ž/',
+ 'a.' => '/ª/',
+ 'o.' => '/º/',
+ 'ss' => '/ß/'
);
- return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc));
+ return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc));
}
//Ersetzt alle Problemzeichen in einem String bevor dieser als xml oder rdf ausgegeben wird
diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php
index 631d6fb86..e78792732 100644
--- a/include/lehrelisthelper.class.php
+++ b/include/lehrelisthelper.class.php
@@ -41,16 +41,16 @@ class LehreListHelper
protected $lv;
protected $lehreinheit;
protected $stg;
-
+
protected $arr_lehrende;
protected $studentuids;
protected $data;
-
+
protected $gruppen_string;
protected $lehrende_string;
protected $raum_string;
- public function __construct(basis_db $db, $studiensemester, $lvid,
+ public function __construct(basis_db $db, $studiensemester, $lvid,
lehrveranstaltung $lv, studiengang $stg, $lehreinheit='')
{
$this->db = $db;
@@ -63,39 +63,39 @@ class LehreListHelper
$this->arr_lehrende = array();
$this->studentuids = array();
$this->data = array();
-
+
$this->gruppen_string = '';
$this->lehrende_string = '';
$this->raum_string = '';
-
+
$this->loadMemberGroups();
$this->loadPlannedRooms();
$this->initData();
$this->loadLehrende();
$this->loadStudierende();
}
-
- public function getData()
+
+ public function getData()
{
return $this->data;
}
-
- public function getStudentUids()
+
+ public function getStudentUids()
{
return $this->studentuids;
}
-
- public function getArr_Lehrende()
+
+ public function getArr_Lehrende()
{
return $this->arr_lehrende;
}
-
+
public function getLehrende_String()
{
return $this->lehrende_string;
}
-
- protected function loadMemberGroups()
+
+ protected function loadMemberGroups()
{
// Teilnehmende Gruppen laden
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
@@ -124,7 +124,7 @@ class LehreListHelper
}
}
}
-
+
protected function loadPlannedRooms()
{
// Verplante Räume laden
@@ -153,7 +153,7 @@ class LehreListHelper
}
}
}
-
+
protected function initData()
{
$studiengang_bezeichnung=$this->stg->bezeichnung;
@@ -175,8 +175,8 @@ class LehreListHelper
'raum'=>$this->raum_string,
);
}
-
- protected function loadLehrende()
+
+ protected function loadLehrende()
{
//Lehrende der LV laden und in ein Array schreiben
$lehrende = new lehreinheitmitarbeiter();
@@ -187,24 +187,25 @@ class LehreListHelper
foreach($lehrende->result AS $row)
{
$this->data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
- $this->arr_lehrende[]=mb_strtoupper($row->uid);
- $this->lehrende_string .= (strlen($this->lehrende_string) > 0)
- ? ', ' . $row->vorname . ' ' . $row->nachname
+ $this->arr_lehrende[]=mb_strtoupper($row->uid);
+ $this->lehrende_string .= (strlen($this->lehrende_string) > 0)
+ ? ', ' . $row->vorname . ' ' . $row->nachname
: $row->vorname . ' ' . $row->nachname;
}
}
}
-
- protected function loadStudierende()
+
+ protected function loadStudierende()
{
//Studierende der LV laden und in ein Array schreiben
$qry = 'SELECT
- distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid,
+ distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
- tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz
+ tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz,
+ (CASE WHEN bis.tbl_mobilitaet.studiensemester_kurzbz = vw_student_lehrveranstaltung.studiensemester_kurzbz THEN 1 ELSE 0 END) as doubledegree
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
@@ -224,7 +225,7 @@ class LehreListHelper
if($this->lehreinheit!='')
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$this->db->db_add_param($this->lehreinheit, FHC_INTEGER);
- $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
+ $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis, doubledegree DESC';
$stsem_obj = new studiensemester();
$stsem_obj->load($this->studiensemester);
@@ -265,14 +266,12 @@ class LehreListHelper
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
$zusatz.='(a.o.)';
- if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student
- $zusatz.='(d.d.)';
+ if(($row->mobilitaetstyp_kurzbz != '') && ($row->doubledegree == 1)) //Double Degree Student
+ $zusatz .= '(d.d.)';
- //$zusatz.='test';
-
$this->studentuids[] = $row->student_uid;
$this->data[]=array('student'=>array(
- 'uid' => $row->student_uid,
+ 'uid' => $row->student_uid,
'vorname'=>$row->vorname,
'nachname'=>$row->nachname,
'personenkennzeichen'=>trim($row->matrikelnr),
diff --git a/include/prestudent.class.php b/include/prestudent.class.php
index 1d493beb0..eebe39d01 100644
--- a/include/prestudent.class.php
+++ b/include/prestudent.class.php
@@ -45,10 +45,12 @@ class prestudent extends person
public $zgvort;
public $zgvdatum;
public $zgvnation;
+ public $zgv_erfuellt;
public $zgvmas_code;
public $zgvmaort;
public $zgvmadatum;
public $zgvmanation;
+ public $zgvmas_erfuellt;
public $ausstellungsstaat;
public $aufnahmeschluessel;
public $facheinschlberuf;
@@ -69,6 +71,7 @@ class prestudent extends person
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
+ public $zgvdoktor_erfuellt;
public $gsstudientyp_kurzbz='Intern';
public $aufnahmegruppe_kurzbz;
public $priorisierung = null;
@@ -141,10 +144,12 @@ class prestudent extends person
$this->zgvort = $row->zgvort;
$this->zgvdatum = $row->zgvdatum;
$this->zgvnation = $row->zgvnation;
+ $this->zgv_erfuellt = $row->zgv_erfuellt;
$this->zgvmas_code = $row->zgvmas_code;
$this->zgvmaort = $row->zgvmaort;
$this->zgvmadatum = $row->zgvmadatum;
$this->zgvmanation = $row->zgvmanation;
+ $this->zgvmas_erfuellt = $row->zgvmas_erfuellt;
$this->aufnahmeschluessel = $row->aufnahmeschluessel;
$this->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf);
$this->anmeldungreihungstest = $row->anmeldungreihungstest;
@@ -165,6 +170,7 @@ class prestudent extends person
$this->zgvdoktorort = $row->zgvdoktorort;
$this->zgvdoktordatum = $row->zgvdoktordatum;
$this->zgvdoktornation = $row->zgvdoktornation;
+ $this->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt;
$this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$this->priorisierung = $row->priorisierung;
@@ -226,6 +232,11 @@ class prestudent extends person
$this->errormsg = 'ZGV Master Ort darf nicht länger als 64 Zeichen sein.';
return false;
}
+ if(mb_strlen($this->zgvdoktorort)>64)
+ {
+ $this->errormsg = 'ZGV Doktor Ort darf nicht länger als 64 Zeichen sein.';
+ return false;
+ }
return true;
}
@@ -251,12 +262,14 @@ class prestudent extends person
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'BEGIN;INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id,
- studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation,
- zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf,
+ studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation, zgv_erfuellt,
+ zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, zgvmas_erfuellt, zgvdoktor_code, zgvdoktorort, zgvdoktordatum,
+ zgvdoktornation,aufnahmeschluessel, facheinschlberuf,
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor,
- gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung, foerderrelevant, standort_code) VALUES('.
+ gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung, zgvdoktor_erfuellt, foerderrelevant, standort_code) VALUES('.
+
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -266,10 +279,16 @@ class prestudent extends person
$this->db_add_param($this->zgvort).",".
$this->db_add_param($this->zgvdatum).",".
$this->db_add_param($this->zgvnation).",".
+ $this->db_add_param($this->zgv_erfuellt).",".
$this->db_add_param($this->zgvmas_code).",".
$this->db_add_param($this->zgvmaort).",".
$this->db_add_param($this->zgvmadatum).",".
$this->db_add_param($this->zgvmanation).",".
+ $this->db_add_param($this->zgvmas_erfuellt).",".
+ $this->db_add_param($this->zgvdoktor_code).",".
+ $this->db_add_param($this->zgvdoktorort).",".
+ $this->db_add_param($this->zgvdoktordatum).",".
+ $this->db_add_param($this->zgvdoktornation).",".
$this->db_add_param($this->aufnahmeschluessel).",".
$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",".
$this->db_add_param($this->reihungstest_id).",".
@@ -291,6 +310,7 @@ class prestudent extends person
$this->db_add_param($this->gsstudientyp_kurzbz).",".
$this->db_add_param($this->aufnahmegruppe_kurzbz).",".
$this->db_add_param($this->priorisierung).",".
+ $this->db_add_param($this->zgvdoktor_erfuellt).",".
$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).",".
$this->db_add_param($this->standort_code).");";
}
@@ -306,10 +326,16 @@ class prestudent extends person
' zgvort='.$this->db_add_param($this->zgvort).",".
' zgvdatum='.$this->db_add_param($this->zgvdatum).",".
' zgvnation='.$this->db_add_param($this->zgvnation).",".
+ ' zgv_erfuellt='.$this->db_add_param($this->zgv_erfuellt).",".
' zgvmas_code='.$this->db_add_param($this->zgvmas_code).",".
' zgvmaort='.$this->db_add_param($this->zgvmaort).",".
' zgvmadatum='.$this->db_add_param($this->zgvmadatum).",".
' zgvmanation='.$this->db_add_param($this->zgvmanation).",".
+ ' zgvmas_erfuellt='.$this->db_add_param($this->zgvmas_erfuellt).",".
+ ' zgvdoktor_code='.$this->db_add_param($this->zgvdoktor_code).",".
+ ' zgvdoktorort='.$this->db_add_param($this->zgvdoktorort).",".
+ ' zgvdoktordatum='.$this->db_add_param($this->zgvdoktordatum).",".
+ ' zgvdoktornation='.$this->db_add_param($this->zgvdoktornation).",".
' aufnahmeschluessel='.$this->db_add_param($this->aufnahmeschluessel).",".
' facheinschlberuf='.$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",".
' reihungstest_id='.$this->db_add_param($this->reihungstest_id).",".
@@ -329,6 +355,7 @@ class prestudent extends person
' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",".
' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).",".
' priorisierung='.$this->db_add_param($this->priorisierung).",".
+ ' zgvdoktor_erfuellt='.$this->db_add_param($this->zgvdoktor_erfuellt).', '.
' foerderrelevant='.$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).",".
' standort_code='.$this->db_add_param($this->standort_code)." ".
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";";
@@ -806,10 +833,12 @@ class prestudent extends person
case "zgv":
$stg_obj = new studiengang();
$stg_obj->load($studiengang_kz);
- if($stg_obj->typ=='m')
- $qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null";
+ if($stg_obj->typ=='m')
+ $qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null AND a.zgvmas_erfuellt = 't'";
+ elseif($stg_obj->typ=='p')
+ $qry.=" AND a.rolle='Interessent' AND a.zgvdoktor_code is not null AND a.zgvdoktor_erfuellt = 't'";
else
- $qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null";
+ $qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null AND a.zgv_erfuellt = 't'";
break;
case "reihungstestangemeldet":
$qry.="
@@ -906,10 +935,17 @@ class prestudent extends person
$ps->zgvort = $row->zgvort;
$ps->zgvdatum = $row->zgvdatum;
$ps->zgvnation = $row->zgvnation;
+ $ps->zgv_erfuellt = $row->zgv_erfuellt;
$ps->zgvmas_code = $row->zgvmas_code;
$ps->zgvmaort = $row->zgvmaort;
$ps->zgvmadatum = $row->zgvmadatum;
$ps->zgvmanation = $row->zgvmanation;
+ $ps->zgvmas_erfuellt = $row->zgvmas_erfuellt;
+ $ps->zgvdoktor_code = $row->zgvdoktor_code;
+ $ps->zgvdoktorort = $row->zgvdoktorort;
+ $ps->zgvdoktordatum = $row->zgvdoktordatum;
+ $ps->zgvdoktornation = $row->zgvdoktornation;
+ $ps->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt;
$ps->ausstellungsstaat = $row->ausstellungsstaat;
$ps->aufnahmeschluessel = $row->aufnahmeschluessel;
$ps->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf);
@@ -1433,10 +1469,12 @@ class prestudent extends person
$obj->zgvort = $row->zgvort;
$obj->zgvdatum = $row->zgvdatum;
$obj->zgvnation = $row->zgvnation;
+ $obj->zgv_erfuellt = $row->zgv_erfuellt;
$obj->zgvmas_code = $row->zgvmas_code;
$obj->zgvmaort = $row->zgvmaort;
$obj->zgvmadatum = $row->zgvmadatum;
$obj->zgvmanation = $row->zgvmanation;
+ $obj->zgvmas_erfuellt = $row->zgvmas_erfuellt;
$obj->aufnahmeschluessel = $row->aufnahmeschluessel;
$obj->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf);
$obj->anmeldungreihungstest = $row->anmeldungreihungstest;
@@ -1460,11 +1498,14 @@ class prestudent extends person
$obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$obj->priorisierung = $row->priorisierung;
+ $obj->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt;
+
if ($hasUDF)
{
$obj->udf_values = $row->udf_values;
}
+
$this->result[] = $obj;
}
return true;
@@ -1487,7 +1528,7 @@ class prestudent extends person
(
'bachelor' => array(),
'master' => array(),
- //'doktor' => array(),
+ 'doktor' => array(),
);
$attribute = array
(
@@ -2084,11 +2125,11 @@ class prestudent extends person
$log->sql = $qry;
$log->sqlundo = 'INSERT INTO public.tbl_prestudent(
prestudent_id, aufmerksamdurch_kurzbz, studiengang_kz, berufstaetigkeit_code, ausbildungcode,
- zgv_code, zgvort, zgvdatum, zgvnation, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation,
+ zgv_code, zgvort, zgvdatum, zgvnation,zgv_erfuellt, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation,zgvmas_erfuellt,
aufnahmeschluessel, facheinschlberuf, anmeldungreihungstest, reihungstestangetreten, reihungstest_id,
punkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, person_id, anmerkung, mentor, ext_id_prestudent,
dual, ausstellungsstaat, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, zgvdoktornation,
- gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('.
+ gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung,zgvdoktor_erfuellt) VALUES('.
$this->db_add_param($this->prestudent_id).','.
$this->db_add_param($this->aufmerksamdurch_kurzbz).','.
$this->db_add_param($this->studiengang_kz).','.
@@ -2098,10 +2139,12 @@ class prestudent extends person
$this->db_add_param($this->zgvort).','.
$this->db_add_param($this->zgvdatum).','.
$this->db_add_param($this->zgvnation).','.
+ $this->db_add_param($this->zgv_erfuellt).','.
$this->db_add_param($this->zgvmas_code).','.
$this->db_add_param($this->zgvmaort).','.
$this->db_add_param($this->zgvmadatum).','.
$this->db_add_param($this->zgvmanation).','.
+ $this->db_add_param($this->zgvmas_erfuellt).','.
$this->db_add_param($this->aufnahmeschluessel).','.
$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).','.
$this->db_add_param($this->anmeldungreihungstest).','.
@@ -2124,7 +2167,8 @@ class prestudent extends person
$this->db_add_param($this->zgvdoktornation).','.
$this->db_add_param($this->gsstudientyp_kurzbz).','.
$this->db_add_param($this->aufnahmegruppe_kurzbz).','.
- $this->db_add_param($this->priorisierung).');';
+ $this->db_add_param($this->priorisierung).','.
+ $this->db_add_param($this->zgvdoktor_erfuellt).');';
if($log->save(true))
{
@@ -2235,9 +2279,9 @@ class prestudent extends person
WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent')
AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER);
- if ($result = $this->db_query($qry))
+ if($result = $this->db_query($qry))
{
- if ($row = $this->db_fetch_object($result))
+ if($row = $this->db_fetch_object($result))
{
return $row->prio_relativ;
}
@@ -2252,8 +2296,9 @@ class prestudent extends person
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
- }
+
+ }
/**
* Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag besitzt, der die ZGV Master ersetzt
* @param int $person_id ID der zu überprüfenden Person.
diff --git a/include/pruefling.class.php b/include/pruefling.class.php
index 764900b0b..17fe48789 100644
--- a/include/pruefling.class.php
+++ b/include/pruefling.class.php
@@ -361,13 +361,13 @@ class pruefling extends basis_db
$qry = "
SELECT DISTINCT ON (vw_auswertung_ablauf.gebiet_id) gebiet_id,
- vw_auswertung_ablauf.*,
+ vw_auswertung_ablauf.*,
tbl_studiengang.typ
- FROM
+ FROM
testtool.vw_auswertung_ablauf
- JOIN
+ JOIN
public.tbl_studiengang USING (studiengang_kz)
- WHERE
+ WHERE
reihungstest_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER);
// Ggf. die Basis-Fragengebiete ermitteln (ohne Quereinsteigergebiete)
@@ -387,8 +387,8 @@ class pruefling extends basis_db
if (!empty($basis_gebiet_id_toString))
{
$qry .= "
- AND
- gebiet_id IN (". $basis_gebiet_id_toString. ")
+ AND
+ gebiet_id IN (". $basis_gebiet_id_toString. ")
";
}
}
@@ -400,13 +400,16 @@ class pruefling extends basis_db
{
$excluded_gebiete = unserialize(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE);
$exclude_gebiet_id_arr = $excluded_gebiete;
- $exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr);
- $qry .= "
- AND
- gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")
- AND
- typ = 'b'
- ";
+ if (is_array($exclude_gebiet_id_arr) && count($exclude_gebiet_id_arr) > 0)
+ {
+ $exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr);
+ $qry .= "
+ AND
+ gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")
+ AND
+ typ = 'b'
+ ";
+ }
}
}
@@ -421,21 +424,21 @@ class pruefling extends basis_db
prestudent_id
FROM
public.tbl_rt_person
- JOIN
+ JOIN
public.tbl_prestudent USING(person_id)
JOIN
public.tbl_prestudentstatus USING (prestudent_id, studienplan_id)
- JOIN
+ JOIN
tbl_reihungstest ON (
- tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
+ tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
)
WHERE
tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
- AND
+ AND
tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
- AND
+ AND
tbl_prestudentstatus.status_kurzbz='Interessent'
- AND
+ AND
tbl_prestudentstatus.studiensemester_kurzbz = tbl_reihungstest.studiensemester_kurzbz
ORDER BY tbl_reihungstest.datum DESC, tbl_prestudent.priorisierung ASC LIMIT 1
)
diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php
index 936a8d32f..681916c26 100644
--- a/include/zeitsperre.class.php
+++ b/include/zeitsperre.class.php
@@ -482,7 +482,7 @@ class zeitsperre extends basis_db
$qry = "select datum::date, freigabevon, zeitsperretyp_kurzbz
from (SELECT generate_series(vondatum::timestamp, bisdatum::timestamp, '1 day') as datum, freigabevon, mitarbeiter_uid, zeitsperretyp_kurzbz FROM campus.tbl_zeitsperre where vonstunde is null and bisstunde is null) a
- where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in ('Krank','Urlaub', 'ZA', 'DienstV','PflegeU', 'DienstF')";
+ where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in ('Krank','Urlaub', 'ZA', 'DienstV','PflegeU', 'DienstF','CovidSB','CovidKS')";
diff --git a/locale/de-AT/anwesenheitsliste.php b/locale/de-AT/anwesenheitsliste.php
index 7b73c15e5..a162578a6 100644
--- a/locale/de-AT/anwesenheitsliste.php
+++ b/locale/de-AT/anwesenheitsliste.php
@@ -1,5 +1,5 @@
phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='Studiensemester ist ungueltig';
+$this->phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='Studiensemester ist ungueltig';
$this->phrasen['anwesenheitsliste/anwesenheitslisten']='Anwesenheitslisten';
$this->phrasen['anwesenheitsliste/covidstatuslisten']='Nachweislisten';
$this->phrasen['anwesenheitsliste/notenlisten']='Notenlisten';
@@ -19,4 +19,5 @@ $this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Derzeit sind keine St
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='Es wurden keine Einträge gefunden';
$this->phrasen['anwesenheitsliste/anleitungImportFunktion']='Kopieren Sie diese Zellen in die Zwischenablage, um damit die Import-Spalte des Gesamtnotenformulars zu befüllen';
$this->phrasen['anwesenheitsliste/angerechnet']='Angerechnet';
+$this->phrasen['anwesenheitsliste/internangerechnet']='Intern angerechnet';
?>
diff --git a/locale/de-AT/testtool.php b/locale/de-AT/testtool.php
index 73cd962b9..a4d9e33fd 100644
--- a/locale/de-AT/testtool.php
+++ b/locale/de-AT/testtool.php
@@ -1,86 +1,81 @@
-phrasen['testtool/titel']='';
-$this->phrasen['testtool/login']='Login';
-$this->phrasen['testtool/tag']='Tag';
-$this->phrasen['testtool/monat']='Monat';
-$this->phrasen['testtool/jahr']='Jahr';
-$this->phrasen['testtool/willkommenstextTitel']='Herzlich Willkommen zum Reihungstest';
-$this->phrasen['testtool/willkommenstext']='Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.
- Wir wünschen Ihnen einen erfolgreichen Start ins Studium.';
-$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...';
-$this->phrasen['testtool/reihungstest']= 'Reihungstest';
-$this->phrasen['testtool/regulaererEinstieg']='Regulärer Einstieg';
-$this->phrasen['testtool/quereinstieg']='Quereinstieg';
-$this->phrasen['testtool/quereinstiegsgebiete']='Quereinstiegsgebiete';
-$this->phrasen['testtool/quereinsteiger']='Quereinsteiger';
-$this->phrasen['testtool/basic']='Basic';
-$this->phrasen['testtool/basisgebiete']='Basisgebiete';
-$this->phrasen['testtool/semester']='Semester';
-$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet';
-$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden';
-$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson';
-$this->phrasen['testtool/home']='Home';
-$this->phrasen['testtool/teilnehmerIn']='TeilnehmerIn';
-$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Zum Starten klicken Sie bitte links auf ein Teilgebiet. Wir wünschen Ihnen viel Erfolg!';
-$this->phrasen['testtool/gebietStarten']='Gebiet starten';
-$this->phrasen['testtool/startseite']='Startseite';
-$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite';
-$this->phrasen['testtool/begruessungstext']="Willkommen zum Reihungstest der Fachhochschule Technikum Wien!";
-$this->phrasen['testtool/anmeldedaten']= "Sie sind mit folgenden Daten angemeldet:";
-$this->phrasen['testtool/keineAntwort']='Keine Antwort';
-$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter';
-$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort';
-$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet';
-$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen';
-$this->phrasen['testtool/einleitung']='Einleitung';
-$this->phrasen['testtool/blaettern']='Blättern';
-$this->phrasen['testtool/demo']='Demobeispiel ansehen';
-$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von';
-$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!';
-$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools';
-$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden';
-$this->phrasen['testtool/fehler']='Fehler';
-$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang';
-$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten';
-$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit';
-$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen! Bitte aktivieren Sie Javascript in Ihrem Browser!';
-$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt';
-$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht';
-$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf Gebiet starten.';
-$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
-$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='Für folgende Studiengänge haben Sie sich angemeldet:';
-$this->phrasen['testtool/invalideGebiete']='Ein oder mehrere Fragengebiet/e inkorrekt! Bitte melden Sie dies der Betreuungsperson.';
-$this->phrasen['testtool/confirmationText']='Ich bestätige, den Online-Reihungstest persönlich, selbständig, ohne Hilfe einer zusätzlichen Person und ohne Hilfsmittel zu absolvieren.';
-$this->phrasen['testtool/loginNoetig']='Bitte beachten Sie, dass der Reihungstest erst unmittelbar vor Testbeginn von uns aktiviert wird.
- Please note, that the test will be enabled straight before the beginning';
-$this->phrasen['testtool/start']='Reihungstest jetzt starten';
-$this->phrasen['testtool/einfuehrungsText']='
-
';
-?>
+phrasen['testtool/titel']='';
+$this->phrasen['testtool/login']='Login';
+$this->phrasen['testtool/tag']='Tag';
+$this->phrasen['testtool/monat']='Monat';
+$this->phrasen['testtool/jahr']='Jahr';
+$this->phrasen['testtool/willkommenstextTitel']='Herzlich Willkommen zum Reihungstest';
+$this->phrasen['testtool/willkommenstext']='Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.
+ Wir wünschen Ihnen einen erfolgreichen Start ins Studium.';
+$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...';
+$this->phrasen['testtool/reihungstest']= 'Reihungstest';
+$this->phrasen['testtool/regulaererEinstieg']='Regulärer Einstieg';
+$this->phrasen['testtool/quereinstieg']='Quereinstieg';
+$this->phrasen['testtool/quereinstiegsgebiete']='Quereinstiegsgebiete';
+$this->phrasen['testtool/quereinsteiger']='Quereinsteiger';
+$this->phrasen['testtool/basic']='Basic';
+$this->phrasen['testtool/basisgebiete']='Basisgebiete';
+$this->phrasen['testtool/semester']='Semester';
+$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet';
+$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden';
+$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson';
+$this->phrasen['testtool/home']='Home';
+$this->phrasen['testtool/teilnehmerIn']='TeilnehmerIn';
+$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Zum Starten klicken Sie bitte links auf ein Teilgebiet. Wir wünschen Ihnen viel Erfolg!';
+$this->phrasen['testtool/gebietStarten']='Gebiet starten';
+$this->phrasen['testtool/startseite']='Startseite';
+$this->phrasen['testtool/zurueckZurStartseite']='Zurück zur Startseite';
+$this->phrasen['testtool/begruessungstext']="Willkommen zum Reihungstest der Fachhochschule Technikum Wien!";
+$this->phrasen['testtool/anmeldedaten']= "Sie sind mit folgenden Daten angemeldet:";
+$this->phrasen['testtool/keineAntwort']='Keine Antwort';
+$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter';
+$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort';
+$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet';
+$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen';
+$this->phrasen['testtool/einleitung']='Einleitung';
+$this->phrasen['testtool/blaettern']='Blättern';
+$this->phrasen['testtool/demo']='Demobeispiel ansehen';
+$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von';
+$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!';
+$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools';
+$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden';
+$this->phrasen['testtool/fehler']='Fehler';
+$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang';
+$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten';
+$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit';
+$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen! Bitte aktivieren Sie Javascript in Ihrem Browser!';
+$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt';
+$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht';
+$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf Gebiet starten.';
+$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden';
+$this->phrasen['testtool/fuerFolgendeStgAngemeldet']='Für folgende Studiengänge haben Sie sich angemeldet:';
+$this->phrasen['testtool/invalideGebiete']='Ein oder mehrere Fragengebiet/e inkorrekt! Bitte melden Sie dies der Betreuungsperson.';
+$this->phrasen['testtool/confirmationText']='Ich bestätige, den Online-Reihungstest persönlich, selbständig, ohne Hilfe einer zusätzlichen Person und ohne Hilfsmittel zu absolvieren.
+ I confirm that I will complete the online placement test personally, independently, without the help of an additional person and without any aids.';
+$this->phrasen['testtool/loginNoetig']='Bitte beachten Sie, dass der Reihungstest erst unmittelbar vor Ihrem Reihungstesttermin von uns aktiviert wird.
+ Please note that the test will be activated by us immediately before your placement test date.';
+$this->phrasen['testtool/start']='Reihungstest jetzt starten';
+$this->phrasen['testtool/einfuehrungsText']='
+