diff --git a/rdf/anwesenheitsliste.xml.php b/rdf/anwesenheitsliste.xml.php
index 5e7829383..b17923cbc 100644
--- a/rdf/anwesenheitsliste.xml.php
+++ b/rdf/anwesenheitsliste.xml.php
@@ -27,134 +27,148 @@ require_once('../include/functions.inc.php');
require_once('../include/basis_db.class.php');
require_once('ean13.php');
-if(isset($_GET['typ']) && $_GET['typ'] == 'lehreinheit')
+// Optionen abfragen
+isset($_GET['von']) ? $von = $_GET['von'] : $von = date('Y-m-d', time());
+isset($_GET['bis']) ? $bis = $_GET['bis'] : $bis = $von;
+isset($_GET['studiengang']) ? $studiengang = $_GET['studiengang'] : $studiengang = NULL;
+isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
+isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL;
+
+$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 "
+ . "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.unr = le.unr "
+ . "JOIN lehre.tbl_stunde stu ON stu.stunde = sp.stunde "
+ . "WHERE stg.studiengang_kz = " . $db->db_add_param($studiengang) . " "
+ . "AND (sp.datum <= " . $db->db_add_param($von) . "::DATE AND sp.datum >= " . $db->db_add_param($bis) . "::DATE) ";
+
+// 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);
+
+$qry .= " ORDER BY stu.stunde ASC";
+
+if($db->db_query($qry))
{
- if(isset($_GET['lehreinheit']) && isset($_GET['datum']) && isset($_GET['lv']))
+ while($row = $db->db_fetch_object())
{
- $lehreinheit_id = $_GET['lehreinheit'];
- $datum = $_GET['datum'];
- $lv = $_GET['lv'];
+ if(empty($row))
+ die("Lehreinheit $lehreinheit am $von nicht gefunden");
+
+ $data[$row->lehreinheit_id]['einheiten'][] = $row;
}
- else
- die('Die ID der Lehreinheit, die ID der Lehrveranstaltung und das Datum muessen uebergeben werden');
-
- echo "";
- echo '';
-
- $db = new basis_db();
-
- // Daten der Lehreinheit ermitteln
- $qry = "SELECT le.lehrveranstaltung_id, lv.lvnr, lv.bezeichnung AS lvbez, stg.bezeichnung AS stgbez, "
- . "sp.ort_kurzbz, datum, beginn, ende "
- . "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.unr = le.unr "
- . "JOIN lehre.tbl_stunde stu ON stu.stunde = sp.stunde "
- . "WHERE le.lehreinheit_id = " . $db->db_add_param($lehreinheit_id) . " "
- . "AND sp.datum = " . $db->db_add_param($datum);
-
- if($db->db_query($qry))
- {
- $einheiten = $db->db_num_rows();
+}
- while($row = $db->db_fetch_object())
- {
- if(empty($row))
- die("Lehreinheit $lehreinheit_id am $datum nicht gefunden");
-
- $lehreinheiten[] = $row;
- }
-
- // Barcode erstellen
- $paddedLehreinheitId = str_pad($lehreinheit_id, 6, "0", STR_PAD_LEFT);
- $convertableString = date('ymd', strtotime($datum)) . $paddedLehreinheitId;
- $barcode = ean13($convertableString);
-
- // Ausgabe der Lehrveranstaltung
- echo "\n ";
- echo "\n stgbez."]]>";
- 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 ";
- }
-
+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($lehreinheit_id);
-
+ . "WHERE lehreinheit_id = " . $db->db_add_param($key);
+
if($db->db_query($qry))
{
- echo "\n ";
-
while($row = $db->db_fetch_object())
{
- // Ausgabe der Vortragenden
- echo "\n ";
- echo "\n vorname."]]>";
- echo "\n nachname."]]>";
- echo "\n titelpre."]]>";
- echo "\n titelpost."]]>";
- echo "\n ";
+ $data[$key]['vortragende'][] = $row;
}
-
- echo "\n ";
}
-
+
// Daten der Studenten ermitteln
$qry = "SELECT pe.person_id, vorname, nachname, titelpre, titelpost, note, "
- . "CASE WHEN preincoming_id IS NULL THEN '0' "
- . "ELSE '1' "
- . "END AS incoming "
+ . "get_rolle_prestudent(pre.prestudent_id, null) 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 "
- . "LEFT JOIN public.tbl_preincoming inc ON inc.person_id = pe.person_id "
+ . "JOIN public.tbl_prestudent pre ON pre.person_id = pe.person_id "
. "LEFT JOIN lehre.tbl_zeugnisnote zn ON (zn.lehrveranstaltung_id = stlv.lehrveranstaltung_id AND zn.student_uid = stlv.uid) "
- . "WHERE stlv.lehreinheit_id = " . $db->db_add_param($lehreinheit_id);
-
+ . "WHERE stlv.lehreinheit_id = " . $db->db_add_param($key);
+
if($db->db_query($qry))
{
- echo "\n ";
-
while($row = $db->db_fetch_object())
{
- // Barcode erstellen
- $paddedPersonId = str_pad($row->person_id, 12, "0", STR_PAD_LEFT);
- $barcode = ean13($paddedPersonId);
-
- // Ausgabe der Studenten
- echo "\n ";
- echo "\n ";
- echo "\n vorname."]]>";
- echo "\n nachname."]]>";
- echo "\n titelpre."]]>";
- echo "\n titelpost."]]>";
- echo "\n note."]]>";
- echo "\n incoming."]]>";
- echo "\n ";
+ $data[$key]['studenten'][] = $row;
}
-
- echo "\n ";
}
+}
- echo '';
-}
-else if(isset($_GET['typ']) && $_GET['typ'] == 'studiengang')
+// AUSGABE
+echo "";
+echo "";
+
+foreach($data as $lehreinheit_id => $value)
{
+ echo "";
+ // Barcode erstellen
+ $paddedLehreinheitId = str_pad($lehreinheit_id, 6, "0", STR_PAD_LEFT);
+ $convertableString = date('ymd', strtotime($value['einheiten'][0]->datum)) . $paddedLehreinheitId;
+ $barcode = ean13($convertableString);
+
+ // Ausgabe der Lehrveranstaltung
+ echo "\n ";
+ echo "\n lehreinheit_id."]]>";
+ echo "\n stgbez."]]>";
+ 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 "";
+ foreach($value['studenten'] as $student)
+ {
+ // Barcode erstellen
+ $paddedPersonId = str_pad($student->person_id, 12, "0", STR_PAD_LEFT);
+ $barcode = ean13($paddedPersonId);
+
+ echo "\n ";
+ echo "\n ";
+ echo "\n vorname."]]>";
+ echo "\n nachname."]]>";
+ echo "\n titelpre."]]>";
+ echo "\n titelpost."]]>";
+ echo "\n note."]]>";
+ echo "\n laststatus."]]>";
+ echo "\n ";
+ }
+ echo "";
+ echo "";
}
-else
- die("Der gewuenschte Typ muss angegeben werden");
+
+echo "";
?>
\ No newline at end of file