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/lvplanung/lehrveranstaltungnotenoverlay.xul.php b/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php
index ebb525cbc..c6bee8942 100644
--- a/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php
+++ b/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php
@@ -49,8 +49,11 @@ echo "
+
+
+
diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php
index 49fd1c8f2..990bc71b8 100644
--- a/content/lvplanung/lehrveranstaltungoverlay.js.php
+++ b/content/lvplanung/lehrveranstaltungoverlay.js.php
@@ -1335,7 +1335,7 @@ function LeMitarbeiterAuswahl()
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false;
var gesamtkosten = LeMitarbeiterGesamtkosten();
-
+
// Wenn Vertragsdetails angezeigt werden
if (lehrveranstaltung_vertragsdetails_anzeigen) {
@@ -2261,6 +2261,8 @@ function LehrveranstaltungNotenAuswahl()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
+ var url = 'rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
+
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/zeugnisnote/" + lehrveranstaltung_id+'/'+student_uid+'/'+studiensemester_kurzbz);
@@ -2272,9 +2274,6 @@ function LehrveranstaltungNotenAuswahl()
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
- //Daten holen
- var url = 'rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
-
if(note=='')
note='9';
@@ -2403,7 +2402,7 @@ function LehrveranstaltungNotenPunkteChange()
// ****
// * Erstellt das Zertifikat fuer die Freifaecher
// ****
-function LehrveranstaltungFFZertifikatPrint(event)
+function LehrveranstaltungFFZertifikatPrint(event, signieren)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -2414,39 +2413,93 @@ function LehrveranstaltungFFZertifikatPrint(event)
var anzahl=0;
var lvid='';
- for (var t = 0; t < numRanges; t++)
- {
- tree.view.selection.getRangeAt(t,start,end);
- for (var v = start.value; v <= end.value; v++)
- {
- col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
- uid = tree.view.getCellText(v,col);
- paramList += ';'+uid;
- anzahl = anzahl+1;
- col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
- lvid = tree.view.getCellText(v,col);
- }
- }
var ss = getStudiensemester();
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz_lv"] : "lehrveranstaltung-noten-tree-studiengang_kz_lv";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
- if (event.shiftKey)
- var output='odt';
- else if (event.ctrlKey)
- var output='doc';
- else
- var output='pdf';
+ url = 'content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&ss='+ss+'&'+gettimestamp();
- url = 'content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
- window.location.href = url;
- //prompt('test:',url);
+ if (signieren)
+ {
+ // Wenn die Dokumente signiert werden, dann einzeln erstellen
+
+ var errors='';
+ var anz_erfolgreich=0;
+
+ for (var t = 0; t < numRanges; t++)
+ {
+ tree.view.selection.getRangeAt(t,start,end);
+ for (var v = start.value; v <= end.value; v++)
+ {
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
+ uid = tree.view.getCellText(v,col);
+
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
+ lvid = tree.view.getCellText(v,col);
+
+ // Dokument fuer alle markierten Personen einzeln erstellen und signieren/archivieren
+
+ var req = new phpRequest(url,'','');
+ req.add('output', 'pdf');
+ req.add('sign', '1');
+ req.add('archive', '1');
+ req.add('uid', uid);
+ req.add('lvid', lvid);
+
+ var response = req.execute();
+
+ if (response != '')
+ errors = errors + response;
+ else
+ {
+ anz_erfolgreich = anz_erfolgreich + 1;
+ }
+ }
+ }
+
+ if (errors != '')
+ {
+ alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert. Folgende Fehler sind aufgetreten:' + errors);
+ }
+ else
+ {
+ alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert');
+ }
+ }
+ else
+ {
+ // wenn die Dokumente unsigniert erstellt werden, dann alle in ein Dokument generieren
+
+ for (var t = 0; t < numRanges; t++)
+ {
+ tree.view.selection.getRangeAt(t,start,end);
+ for (var v = start.value; v <= end.value; v++)
+ {
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
+ uid = tree.view.getCellText(v,col);
+ paramList += ';'+uid;
+ anzahl = anzahl+1;
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
+ lvid = tree.view.getCellText(v,col);
+ }
+ }
+
+ if (event.shiftKey)
+ var output='odt';
+ else if (event.ctrlKey)
+ var output='doc';
+ else
+ var output='pdf';
+
+ url = url +'&uid='+paramList+'&lvid='+lvid+'&output='+output;
+ window.location.href = url;
+ }
}
// ****
// * Erstellt ein Lehrveranstaltungszeugnis fuer die LV
// ****
-function LehrveranstaltungLVZeugnisPrint(event, sprache)
+function LehrveranstaltungLVZeugnisPrint(event, sprache, signieren)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -2457,37 +2510,92 @@ function LehrveranstaltungLVZeugnisPrint(event, sprache)
var anzahl=0;
var lvid='';
- for (var t = 0; t < numRanges; t++)
- {
- tree.view.selection.getRangeAt(t,start,end);
- for (var v = start.value; v <= end.value; v++)
- {
- col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
- uid = tree.view.getCellText(v,col);
- paramList += ';'+uid;
- anzahl = anzahl+1;
- col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
- lvid = tree.view.getCellText(v,col);
- }
- }
var ss = getStudiensemester();
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz"] : "lehrveranstaltung-noten-tree-studiengang_kz";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
- if (event.shiftKey)
- var output='odt';
- else if (event.ctrlKey)
- var output='doc';
- else
- var output='pdf';
-
var xsl = 'LVZeugnis';
if (sprache == 'English')
xsl = 'LVZeugnisEng';
- url = 'content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
- window.location.href = url;
+ url = 'content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&ss='+ss+'&'+gettimestamp();
+
+ if(signieren)
+ {
+ // Wenn die Dokumente signiert werden, dann einzeln erstellen
+
+ var errors='';
+ var anz_erfolgreich=0;
+
+ for (var t = 0; t < numRanges; t++)
+ {
+ tree.view.selection.getRangeAt(t,start,end);
+ for (var v = start.value; v <= end.value; v++)
+ {
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
+ uid = tree.view.getCellText(v,col);
+
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
+ lvid = tree.view.getCellText(v,col);
+
+ // Dokument fuer alle markierten Personen einzeln erstellen und signieren/archivieren
+
+ var req = new phpRequest(url,'','');
+ req.add('output', 'pdf');
+ req.add('sign', '1');
+ req.add('archive', '1');
+ req.add('uid', uid);
+ req.add('lvid', lvid);
+
+ var response = req.execute();
+
+ if (response != '')
+ errors = errors + response;
+ else
+ {
+ anz_erfolgreich = anz_erfolgreich + 1;
+ }
+ }
+ }
+ if (errors != '')
+ {
+ alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert. Folgende Fehler sind aufgetreten:' + errors);
+ }
+ else
+ {
+ alert(anz_erfolgreich + ' Dokumente wurden erfolgreich erstellt und signiert');
+ }
+ }
+ else
+ {
+ // wenn die Dokumente unsigniert erstellt werden, dann alle in ein Dokument generieren
+
+ for (var t = 0; t < numRanges; t++)
+ {
+ tree.view.selection.getRangeAt(t,start,end);
+ for (var v = start.value; v <= end.value; v++)
+ {
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-student_uid"] : "lehrveranstaltung-noten-tree-student_uid";
+ uid = tree.view.getCellText(v,col);
+ paramList += ';'+uid;
+ anzahl = anzahl+1;
+ col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-lehrveranstaltung_id"] : "lehrveranstaltung-noten-tree-lehrveranstaltung_id";
+ lvid = tree.view.getCellText(v,col);
+ }
+ }
+
+ if (event.shiftKey)
+ var output='odt';
+ else if (event.ctrlKey)
+ var output='doc';
+ else
+ var output='pdf';
+
+
+ url = url+'&lvid='+lvid+'&uid='+paramList+'&output='+output;
+ window.location.href = url;
+ }
}
// ****
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/pdfExport.php b/content/pdfExport.php
index a85ebb345..1597284f6 100644
--- a/content/pdfExport.php
+++ b/content/pdfExport.php
@@ -47,6 +47,7 @@ require_once('../include/studienordnung.class.php');
require_once('../include/dokument_export.class.php');
require_once('../include/dokument.class.php');
require_once('../include/pdf.class.php');
+require_once('../include/lehrveranstaltung.class.php');
$user = get_uid();
$db = new basis_db();
@@ -520,6 +521,13 @@ else
{
$bezeichnung = mb_substr($vorlage->bezeichnung." ".$studiengang->kuerzel, 0, 64);
}
+ elseif ($xsl === 'LVZeugnisEng' || $xsl === 'LVZeugnis' || $xsl === 'Zertifikat')
+ {
+ $lehrveranstaltung = new lehrveranstaltung($_GET['lvid']);
+ $vorlage->dokument_kurzbz = $xsl;
+ $bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss . ' '. $lehrveranstaltung->bezeichnung, 0, 64);
+ $titel = mb_substr($xsl."_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$semester.'_'.$ss. '_' . str_replace(' ', '_', $lehrveranstaltung->bezeichnung), 0, 60);
+ }
else
{
$bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss, 0, 64);
diff --git a/content/student/studentnotenoverlay.xul.php b/content/student/studentnotenoverlay.xul.php
index 498651581..395667bd7 100644
--- a/content/student/studentnotenoverlay.xul.php
+++ b/content/student/studentnotenoverlay.xul.php
@@ -47,8 +47,11 @@ echo "
+
+
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index ffb50609f..470ebe66e 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -462,7 +462,7 @@ function StudentTreeKeyPress(event)
// ****
// * Erstellt das Zertifikat fuer die Freifaecher
// ****
-function StudentFFZertifikatPrint(event)
+function StudentFFZertifikatPrint(event, signieren)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -486,16 +486,36 @@ function StudentFFZertifikatPrint(event)
else
var output='pdf';
- url = 'content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
+ url = 'content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
-// alert('url: '+url);
- window.location.href = url;
+ if (signieren)
+ {
+ var req = new phpRequest(url,'','');
+ req.add('output', 'pdf');
+ req.add('sign', '1');
+ req.add('archive', '1');
+
+ var response = req.execute();
+
+ if (response != '')
+ alert(response)
+ else
+ {
+ alert('Erfolgreich archiviert und signiert');
+ StudentTreeRefresh();
+ }
+ }
+ else
+ {
+ url = url+'&output='+output;
+ window.location.href = url;
+ }
}
//****
//* Erstellt ein Lehrveranstaltungszeugnis fuer die LV
//****
-function StudentLVZeugnisPrint(event, sprache)
+function StudentLVZeugnisPrint(event, sprache, signieren)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -523,9 +543,30 @@ function StudentLVZeugnisPrint(event, sprache)
if (sprache == 'English')
xsl = 'LVZeugnisEng';
- url = 'content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
+ url = 'content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl='+xsl+'&stg_kz='+stg_kz+'&uid='+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
- window.location.href = url;
+ if (signieren)
+ {
+ var req = new phpRequest(url,'','');
+ req.add('output', 'pdf');
+ req.add('sign', '1');
+ req.add('archive', '1');
+
+ var response = req.execute();
+
+ if (response != '')
+ alert(response)
+ else
+ {
+ alert('Erfolgreich archiviert und signiert');
+ StudentTreeRefresh();
+ }
+ }
+ else
+ {
+ url = url+'&output='+output;
+ window.location.href = url;
+ }
}
// ****
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/bisverwendung.class.php b/include/bisverwendung.class.php
index 82bb9d94e..ce6a557b1 100644
--- a/include/bisverwendung.class.php
+++ b/include/bisverwendung.class.php
@@ -48,7 +48,7 @@ class bisverwendung extends basis_db
public $inkludierte_lehre;
public $zeitaufzeichnungspflichtig;
public $azgrelevant;
- public $homeoffice;
+ public $homeoffice=false;
public $ba1bez;
public $ba2bez;
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/mitarbeiter.class.php b/include/mitarbeiter.class.php
index 226ae0206..658154170 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -1358,6 +1358,7 @@ class mitarbeiter extends benutzer
WHERE
bismelden
AND personalnummer>0
+ AND tbl_bisverwendung.beginn<='.$this->db_add_param($meldungEnde).'
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>'.$this->db_add_param($meldungBeginn).')
ORDER BY uid, nachname,vorname
';
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']='
+