diff --git a/rdf/anwesenheitsliste.xml.php b/rdf/anwesenheitsliste.xml.php
index eacef60f6..4349a6935 100644
--- a/rdf/anwesenheitsliste.xml.php
+++ b/rdf/anwesenheitsliste.xml.php
@@ -1,213 +1,220 @@
-
- */
-/**
- * Erstellt das XML fuer die Anwesenheitsliste
- */
-// content type setzen
-header("Content-type: application/xhtml+xml");
-require_once('../../../config/vilesci.config.inc.php');
-require_once('../../../include/functions.inc.php');
-require_once('../../../include/basis_db.class.php');
-require_once('../../../include/ean13.function.php');
-
-// Optionen abfragen
-isset($_GET['von']) ? $von = date('Y-m-d', strtotime($_GET['von'])) : $von = NULL;
-isset($_GET['bis']) ? $bis = date('Y-m-d', strtotime($_GET['bis'])) : $bis = $von;
-isset($_GET['stundevon']) ? $stundevon = $_GET['stundevon'] : $stundevon = null;
-isset($_GET['stundebis']) ? $stundebis = $_GET['stundebis'] : $stundebis = null;
-isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
-isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
-isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL;
-
-if($von)
- $studiensemester = getStudiensemesterFromDatum($von);
-
-$db = new basis_db();
-$data = array();
-
-/*if(!$studiengang)
- die('Die ID des Studiengangs muss uebergeben werden');
-*/
-// Daten der Lehreinheiten ermitteln
-$qry = "SELECT le.lehreinheit_id, le.lehrveranstaltung_id, lv.lvnr, lv.bezeichnung AS lvbez, stg.bezeichnung AS stgbez, "
- . "sp.ort_kurzbz, datum, beginn, ende, studiensemester_kurzbz, lv.semester, lv.orgform_kurzbz "
- . "FROM lehre.tbl_lehreinheit le "
- . "JOIN lehre.tbl_lehrveranstaltung lv ON lv.lehrveranstaltung_id = le.lehrveranstaltung_id "
- . "JOIN public.tbl_studiengang stg ON stg.studiengang_kz = lv.studiengang_kz "
- . "JOIN lehre.tbl_stundenplan sp ON (sp.lehreinheit_id=le.lehreinheit_id) "
- . "JOIN lehre.tbl_stunde stu ON stu.stunde = sp.stunde "
- . "WHERE 1=1";
-//echo "".var_dump($qry)."";
-if($studiengang!='')
- $qry.=" AND stg.studiengang_kz = " . $db->db_add_param($studiengang) . " ";
-
-// Optionen zu Query hinzufügen
-if($lehreinheit)
- $qry .= " AND le.lehreinheit_id = " . $db->db_add_param($lehreinheit);
-if($semester)
- $qry .= " AND lv.semester = " . $db->db_add_param($semester);
-if($von)
- $qry .= " AND (sp.datum >= " . $db->db_add_param($von) . "::DATE AND sp.datum <= " . $db->db_add_param($bis) . "::DATE) ";
-
-if(!is_null($stundevon) && !is_null($stundebis))
-{
- // Unterricht zwischen 4. und 8. Stunde
- //$qry.=" AND EXISTS (SELECT 1 FROM lehre.tbl_stundenplan WHERE datum=sp.datum AND lehreinheit_id=sp.lehreinheit_id AND stunde BETWEEN ".$db->db_add_param($stundevon)." AND ".$db->db_add_param($stundebis).")";
-
- // Beginn zwischen 4. und 8. Stunde
- $qry.=" AND (SELECT min(stunde) FROM lehre.tbl_stundenplan WHERE datum=sp.datum AND lehreinheit_id=sp.lehreinheit_id) BETWEEN ".$db->db_add_param($stundevon)." AND ".$db->db_add_param($stundebis);
-}
-else
-{
- if(!is_null($stundevon))
- $qry.=" AND stu.stunde>=".$db->db_add_param($stundevon);
- if(!is_null($stundebis))
- $qry.=" AND stu.stunde<=".$db->db_add_param($stundebis);
-}
-$qry .= " ORDER BY datum, beginn";
-
-if($db->db_query($qry))
-{
- while($row = $db->db_fetch_object())
- {
- if(empty($row))
- die("Lehreinheit $lehreinheit am $von nicht gefunden");
-
- $data[$row->lehreinheit_id]['tage'][$row->datum][] = $row;
- }
-}
-//echo $qry;
-foreach($data as $key => $value)
-{
- // Daten der Vortragenden ermitteln
- $qry = "SELECT vorname, nachname, titelpre, titelpost "
- . "FROM lehre.tbl_lehreinheitmitarbeiter lema "
- . "JOIN public.tbl_benutzer be ON be.uid = lema.mitarbeiter_uid "
- . "JOIN public.tbl_person pe ON pe.person_id = be.person_id "
- . "WHERE lehreinheit_id = " . $db->db_add_param($key);
-
- if($db->db_query($qry))
- {
- while($row = $db->db_fetch_object())
- {
- $data[$key]['vortragende'][] = $row;
- }
- }
-
- // Daten der Studenten ermitteln
- $qry = "SELECT pe.person_id, vorname, nachname, titelpre, titelpost, note, "
- . "get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") AS laststatus "
- . "FROM campus.vw_student_lehrveranstaltung stlv "
- . "JOIN public.tbl_benutzer be ON be.uid = stlv.uid "
- . "JOIN public.tbl_person pe ON pe.person_id = be.person_id "
- . "JOIN public.tbl_student ON be.uid = tbl_student.student_uid "
- . "LEFT JOIN lehre.tbl_zeugnisnote zn ON (zn.lehrveranstaltung_id = stlv.lehrveranstaltung_id AND zn.student_uid = stlv.uid AND zn.studiensemester_kurzbz = " . $db->db_add_param($studiensemester) . ") "
- . "WHERE stlv.lehreinheit_id = " . $db->db_add_param($key) . " "
- . "AND get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") NOT IN ('Abbrecher', 'Unterbrecher', 'Outgoings') "
- . "ORDER BY nachname ASC";
-
- if($db->db_query($qry))
- {
- while($row = $db->db_fetch_object())
- {
- $data[$key]['studenten'][] = $row;
- }
- }
-}
-
-// AUSGABE
-echo "";
-echo "";
-
-foreach($data as $lehreinheit_id => $value)
-{
- foreach($value['tage'] as $tag)
- {
- echo "";
-
- // Barcode erstellen
- $paddedLehreinheitId = str_pad($lehreinheit_id, 6, "0", STR_PAD_LEFT);
- $convertableString = date('ymd', strtotime($tag[0]->datum)) . $paddedLehreinheitId;
- $barcode = ean13($convertableString);
-
- // Ausgabe der Lehrveranstaltung
- echo "\n ";
- echo "\n lehreinheit_id."]]>";
- echo "\n stgbez."]]>";
- echo "\n semester."]]>";
- echo "\n orgform_kurzbz."]]>";
- echo "\n studiensemester_kurzbz."]]>";
- echo "\n lvbez."]]>";
- echo "\n ";
- echo "\n lvnr."]]>";
- echo "\n ";
- echo "\n ort_kurzbz."]]>";
- echo "\n datum))."]]>";
- echo "\n beginn, 0, 5)."]]>";
- echo "\n ende, 0, 5)."]]>";
- echo "\n ";
-
- // Ausgabe der Vortragenden
- echo "";
- foreach($value['vortragende'] as $vortragender)
- {
- echo "\n ";
- echo "\n vorname."]]>";
- echo "\n nachname."]]>";
- echo "\n titelpre."]]>";
- echo "\n titelpost."]]>";
- echo "\n ";
- }
- echo "";
-
- // Ausgabe der Studenten
- echo "";
- if(isset($value['studenten']) && is_array($value['studenten']))
- {
- foreach($value['studenten'] as $student)
- {
- // Barcode erstellen
- $paddedPersonId = str_pad($student->person_id, 12, "0", STR_PAD_LEFT);
- $barcode = ean13($paddedPersonId);
- // Anzeigename generieren
- $namegesamt = (strlen($student->titelpre) > 0) ? $student->titelpre." " : "";
- $namegesamt .= $student->nachname." ".$student->vorname;
- $namegesamt .= (strlen($student->titelpost) > 0) ? ", ".$student->titelpost : "";
-
- echo "\n ";
- echo "\n ";
- echo "\n vorname."]]>";
- echo "\n nachname."]]>";
- echo "\n titelpre."]]>";
- echo "\n titelpost."]]>";
- echo "\n ";
- echo "\n note."]]>";
- echo "\n laststatus."]]>";
- echo "\n ";
- }
- }
- echo "";
- echo "";
- }
-}
-
-echo "";
-
-?>
+
+ */
+/**
+ * Erstellt das XML fuer die Anwesenheitsliste
+ */
+// content type setzen
+header("Content-type: application/xhtml+xml");
+require_once('../config/vilesci.config.inc.php');
+require_once('../include/functions.inc.php');
+require_once('../include/basis_db.class.php');
+require_once('../include/ean13.function.php');
+
+// Optionen abfragen
+isset($_GET['von']) ? $von = date('Y-m-d', strtotime($_GET['von'])) : $von = NULL;
+isset($_GET['bis']) ? $bis = date('Y-m-d', strtotime($_GET['bis'])) : $bis = $von;
+isset($_GET['stundevon']) ? $stundevon = $_GET['stundevon'] : $stundevon = null;
+isset($_GET['stundebis']) ? $stundebis = $_GET['stundebis'] : $stundebis = null;
+isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
+isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
+isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL;
+
+if($von)
+ $studiensemester = getStudiensemesterFromDatum($von);
+
+$db = new basis_db();
+$data = array();
+
+/*if(!$studiengang)
+ die('Die ID des Studiengangs muss uebergeben werden');
+*/
+// Daten der Lehreinheiten ermitteln
+$qry = "SELECT le.lehreinheit_id, le.lehrveranstaltung_id, lv.lvnr, lv.bezeichnung AS lvbez, stg.bezeichnung AS stgbez, "
+ . "sp.ort_kurzbz, datum, beginn, ende, studiensemester_kurzbz, lv.semester, lv.orgform_kurzbz "
+ . "FROM lehre.tbl_lehreinheit le "
+ . "JOIN lehre.tbl_lehrveranstaltung lv ON lv.lehrveranstaltung_id = le.lehrveranstaltung_id "
+ . "JOIN public.tbl_studiengang stg ON stg.studiengang_kz = lv.studiengang_kz "
+ . "JOIN lehre.tbl_stundenplan sp ON (sp.lehreinheit_id=le.lehreinheit_id) "
+ . "JOIN lehre.tbl_stunde stu ON stu.stunde = sp.stunde "
+ . "WHERE 1=1";
+//echo "".var_dump($qry)."";
+if($studiengang!='')
+ $qry.=" AND stg.studiengang_kz = " . $db->db_add_param($studiengang) . " ";
+
+// Optionen zu Query hinzufügen
+if($lehreinheit)
+ $qry .= " AND le.lehreinheit_id = " . $db->db_add_param($lehreinheit);
+if($semester)
+ $qry .= " AND lv.semester = " . $db->db_add_param($semester);
+if($von)
+ $qry .= " AND (sp.datum >= " . $db->db_add_param($von) . "::DATE AND sp.datum <= " . $db->db_add_param($bis) . "::DATE) ";
+
+if(!is_null($stundevon) && !is_null($stundebis))
+{
+ // Unterricht zwischen 4. und 8. Stunde
+ //$qry.=" AND EXISTS (SELECT 1 FROM lehre.tbl_stundenplan WHERE datum=sp.datum AND lehreinheit_id=sp.lehreinheit_id AND stunde BETWEEN ".$db->db_add_param($stundevon)." AND ".$db->db_add_param($stundebis).")";
+
+ // Beginn zwischen 4. und 8. Stunde
+ $qry.=" AND (SELECT min(stunde) FROM lehre.tbl_stundenplan WHERE datum=sp.datum AND lehreinheit_id=sp.lehreinheit_id) BETWEEN ".$db->db_add_param($stundevon)." AND ".$db->db_add_param($stundebis);
+}
+else
+{
+ if(!is_null($stundevon))
+ $qry.=" AND stu.stunde>=".$db->db_add_param($stundevon);
+ if(!is_null($stundebis))
+ $qry.=" AND stu.stunde<=".$db->db_add_param($stundebis);
+}
+$qry .= " ORDER BY datum, beginn";
+
+if($db->db_query($qry))
+{
+ while($row = $db->db_fetch_object())
+ {
+ if(empty($row))
+ die("Lehreinheit $lehreinheit am $von nicht gefunden");
+
+ $data[$row->lehreinheit_id]['tage'][$row->datum][] = $row;
+ }
+}
+//echo $qry;
+foreach($data as $key => $value)
+{
+ $currentDay = key($value['tage']);
+
+ // Daten der Vortragenden ermitteln
+ $qry = "SELECT vorname, nachname, titelpre, titelpost "
+ . "FROM lehre.tbl_lehreinheitmitarbeiter lema "
+ . "JOIN public.tbl_benutzer be ON be.uid = lema.mitarbeiter_uid "
+ . "JOIN public.tbl_person pe ON pe.person_id = be.person_id "
+ . "WHERE lehreinheit_id = " . $db->db_add_param($key);
+
+ if($db->db_query($qry))
+ {
+ while($row = $db->db_fetch_object())
+ {
+ $data[$key]['vortragende'][] = $row;
+ }
+ }
+
+ // Daten der Studenten ermitteln
+ $qry = "SELECT pe.person_id, vorname, nachname, titelpre, titelpost, note, "
+ . "get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") AS laststatus "
+ . "FROM campus.vw_student_lehrveranstaltung stlv "
+ . "JOIN public.tbl_benutzer be ON be.uid = stlv.uid "
+ . "JOIN public.tbl_person pe ON pe.person_id = be.person_id "
+ . "JOIN public.tbl_student ON be.uid = tbl_student.student_uid "
+ . "LEFT JOIN lehre.tbl_zeugnisnote zn ON (zn.lehrveranstaltung_id = stlv.lehrveranstaltung_id AND zn.student_uid = stlv.uid AND zn.studiensemester_kurzbz = " . $db->db_add_param($studiensemester) . ") "
+ . "WHERE stlv.lehreinheit_id = " . $db->db_add_param($key) . " "
+ . "AND get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") NOT IN ('Abbrecher', 'Unterbrecher') "
+ . "AND tbl_student.student_uid NOT IN ("
+ . "SELECT stud.student_uid "
+ . "FROM bis.tbl_bisio bis "
+ . "JOIN public.tbl_student stud ON bis.student_uid = stud.student_uid "
+ . "WHERE bis.von <= " . $db->db_add_param($currentDay) . "::DATE AND bis.bis >= " . $db->db_add_param($currentDay) . "::DATE) "
+ . "ORDER BY nachname ASC";
+
+ if($db->db_query($qry))
+ {
+ while($row = $db->db_fetch_object())
+ {
+ $data[$key]['studenten'][] = $row;
+ }
+ }
+}
+
+// AUSGABE
+echo "";
+echo "";
+
+foreach($data as $lehreinheit_id => $value)
+{
+ foreach($value['tage'] as $tag)
+ {
+ echo "";
+
+ // Barcode erstellen
+ $paddedLehreinheitId = str_pad($lehreinheit_id, 6, "0", STR_PAD_LEFT);
+ $convertableString = date('ymd', strtotime($tag[0]->datum)) . $paddedLehreinheitId;
+ $barcode = ean13($convertableString);
+
+ // Ausgabe der Lehrveranstaltung
+ echo "\n ";
+ echo "\n lehreinheit_id."]]>";
+ echo "\n stgbez."]]>";
+ echo "\n semester."]]>";
+ echo "\n orgform_kurzbz."]]>";
+ echo "\n studiensemester_kurzbz."]]>";
+ echo "\n lvbez."]]>";
+ echo "\n ";
+ echo "\n lvnr."]]>";
+ echo "\n ";
+ echo "\n ort_kurzbz."]]>";
+ echo "\n datum))."]]>";
+ echo "\n beginn, 0, 5)."]]>";
+ echo "\n ende, 0, 5)."]]>";
+ echo "\n ";
+
+ // Ausgabe der Vortragenden
+ echo "";
+ foreach($value['vortragende'] as $vortragender)
+ {
+ echo "\n ";
+ echo "\n vorname."]]>";
+ echo "\n nachname."]]>";
+ echo "\n titelpre."]]>";
+ echo "\n titelpost."]]>";
+ echo "\n ";
+ }
+ echo "";
+
+ // Ausgabe der Studenten
+ echo "";
+ if(isset($value['studenten']) && is_array($value['studenten']))
+ {
+ foreach($value['studenten'] as $student)
+ {
+ // Barcode erstellen
+ $paddedPersonId = str_pad($student->person_id, 12, "0", STR_PAD_LEFT);
+ $barcode = ean13($paddedPersonId);
+ // Anzeigename generieren
+ $namegesamt = (strlen($student->titelpre) > 0) ? $student->titelpre." " : "";
+ $namegesamt .= $student->nachname." ".$student->vorname;
+ $namegesamt .= (strlen($student->titelpost) > 0) ? ", ".$student->titelpost : "";
+
+ echo "\n ";
+ echo "\n ";
+ echo "\n vorname."]]>";
+ echo "\n nachname."]]>";
+ echo "\n titelpre."]]>";
+ echo "\n titelpost."]]>";
+ echo "\n ";
+ echo "\n note."]]>";
+ echo "\n laststatus."]]>";
+ echo "\n ";
+ }
+ }
+ echo "";
+ echo "";
+ }
+}
+
+echo "";
+
+?>