diff --git a/content/pdfExport.php b/content/pdfExport.php index ba6638227..db86275b2 100644 --- a/content/pdfExport.php +++ b/content/pdfExport.php @@ -151,6 +151,8 @@ if(isset($_GET['fixangestellt'])) $params.='&fixangestellt='.urlencode($_GET['fixangestellt']); if(isset($_GET['standort'])) $params.='&standort='.urlencode($_GET['standort']); +if(isset($_GET['abrechnungsmonat'])) + $params.='&abrechnungsmonat='.urlencode($_GET['abrechnungsmonat']); if(isset($_GET['form'])) $params.='&form='.urlencode($_GET['form']); $output = (isset($_GET['output'])?$_GET['output']:'odt'); @@ -158,6 +160,22 @@ $output = (isset($_GET['output'])?$_GET['output']:'odt'); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); +//XSL aus der DB holen +$vorlage = new vorlage(); +if($xsl_oe_kurzbz!='') +{ + $vorlage->getAktuelleVorlage($xsl_oe_kurzbz, $xsl, $version); +} +else +{ + if($xsl_stg_kz=='') + $xsl_stg_kz='0'; + + $vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version); +} + +$xsl_content = $vorlage->text; + //Berechtigung pruefen if($xsl=='AccountInfo') { @@ -253,8 +271,26 @@ elseif($xsl=='Bestellung') } else { - echo 'unbekanntes Dokument oder keine Berechtigung'; - exit; + // Wenn Berechtigung direkt beim der Vorlage angegeben ist + if(count($vorlage->berechtigung)>0) + { + $allowed=false; + foreach($vorlage->berechtigung as $berechtigung_kurzbz) + { + if($rechte->isBerechtigt($berechtigung_kurzbz)) + $allowed=true; + } + if(!$allowed) + { + echo 'unbekanntes Dokument oder keine Berechtigung'; + exit; + } + } + else + { + echo 'unbekanntes Dokument oder keine Berechtigung'; + exit; + } } @@ -281,22 +317,6 @@ $xml_doc = new DOMDocument; if(!$xml_doc->load($xml_url)) die('unable to load xml: '.$xml_url); -//XSL aus der DB holen -$vorlage = new vorlage(); -if($xsl_oe_kurzbz!='') -{ - $vorlage->getAktuelleVorlage($xsl_oe_kurzbz, $xsl, $version); -} -else -{ - if($xsl_stg_kz=='') - $xsl_stg_kz='0'; - - $vorlage->getAktuelleVorlage($xsl_stg_kz, $xsl, $version); -} - -$xsl_content = $vorlage->text; - //Pdf erstellen //wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen @@ -444,8 +464,9 @@ if (!isset($_REQUEST["archive"])) { $studienordnung = new studienordnung(); $studienordnung->loadStudienordnung($_GET['studienordnung_id']); - $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang; + $filename = 'Studienordnung-Studienplan-'. sprintf("%'.04d",$studienordnung->studiengang_kz).'-'.$studienordnung->studiengangkurzbzlang; } + $fsize = filesize($tempname_zip); $handle = fopen($tempname_zip,'r'); header('Content-type: '.$vorlage->mimetype); @@ -455,11 +476,11 @@ if (!isset($_REQUEST["archive"])) else if($output =='doc') { $tempPdfName = $vorlage->vorlage_kurzbz.'.doc'; - if($xsl == "Studienordnung") + if($xsl == "Studienordnung") { $studienordnung = new studienordnung(); $studienordnung->loadStudienordnung($_GET['studienordnung_id']); - $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc'; + $filename = 'Studienordnung-Studienplan-'. sprintf("%'.04d",$studienordnung->studiengang_kz).'-'.$studienordnung->studiengangkurzbzlang; } else { diff --git a/include/pgsql.class.php b/include/pgsql.class.php index 7bfc118be..ca9fd95ef 100644 --- a/include/pgsql.class.php +++ b/include/pgsql.class.php @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher + * Andreas Oesterreicher * */ /** @@ -66,95 +66,95 @@ class basis_db extends db { if(is_null($i)) return pg_fetch_object($this->db_result); - else + else return pg_fetch_object($this->db_result, $i); } - else + else { if(is_null($i)) return pg_fetch_object($result); - else + else return pg_fetch_object($result, $i); - } + } } - + public function db_fetch_row($result = null, $i=null) { if(is_null($result)) { if(is_null($i)) return pg_fetch_row($this->db_result); - else + else return pg_fetch_row($this->db_result, $i); } - else + else { if(is_null($i)) return pg_fetch_row($result); - else + else return pg_fetch_row($result, $i); - } + } } - + public function db_fetch_assoc($result = null, $i=null) { if(is_null($result)) { if(is_null($i)) return pg_fetch_assoc($this->db_result); - else + else return pg_fetch_assoc($this->db_result, $i); } - else + else { if(is_null($i)) return pg_fetch_row($result); - else + else return pg_fetch_row($result, $i); - } + } } - + public function db_result($result = null, $i,$item) { if(is_null($result)) { return pg_result($this->db_result, $i,$item); } - else + else { return pg_result($result, $i,$item); - } + } } - + public function db_getResultJSON($result = null) { $rows=array(); if(is_null($result)) { - while($r = pg_fetch_assoc($this->db_result)) + while($r = pg_fetch_assoc($this->db_result)) $rows[] = $r; - + //print json_encode($rows); } - else + else { pg_result_seek($result, 0); //var_dump($result); - while($r = pg_fetch_assoc($result)) + while($r = pg_fetch_assoc($result)) { $rows[] = $r; } - + //print json_encode($rows); - } - return json_encode($rows); + } + return json_encode($rows); } - + public function db_last_error() { return pg_last_error(); } - + public function db_affected_rows($result=null) { if(is_null($result)) @@ -162,7 +162,7 @@ class basis_db extends db else return pg_affected_rows($result); } - + public function db_result_seek($result=null, $offset) { if(is_null($result)) @@ -170,7 +170,7 @@ class basis_db extends db else return pg_result_seek($result, $offset); } - + public function db_fetch_array($result=null) { if(is_null($result)) @@ -178,7 +178,7 @@ class basis_db extends db else return pg_fetch_array($result); } - + public function db_num_fields($result=null) { if(is_null($result)) @@ -186,7 +186,7 @@ class basis_db extends db else return pg_num_fields($result); } - + /** * Liefert den Feldnamen mit index i */ @@ -208,12 +208,12 @@ class basis_db extends db { return pg_free_result($this->db_result); } - else + else { return pg_free_result($result); - } - } - + } + } + /** * Liefert die aktuelle Datenbankversion */ @@ -225,7 +225,7 @@ class basis_db extends db /** * Escaped Sonderzeichen in Variablen vor der Verwendung in SQL Statements * um SQL Injections zu verhindern - * + * */ public function db_escape($var) { @@ -246,7 +246,7 @@ class basis_db extends db if($qoute) return ($var!==''?$this->db_qoute($var):'null'); else - return ($var!==''?$var:'null'); + return ($var!==''?$var:'null'); } /** @@ -264,10 +264,10 @@ class basis_db extends db * Es werden abhaengig vom Typ Hochkomma oder Null hinzugefuegt * @param $var Value der gesetzt werden soll * @param $type Typ des Values (FHC_STRING | FHC_BOOLEAN | FHC_INTEGER | ...) - * @param $nullable boolean gibt an ob das Feld NULL sein darf. Wenn true wird + * @param $nullable boolean gibt an ob das Feld NULL sein darf. Wenn true wird * NULL statt einem Leerstring zurueckgeliefert * @return Escapter Value inklusive Hochkomma wenn noetig - * + * * Verwendungsbeispiel: * Update tbl_person set nachname=$this->db_add_param($var) * Update tbl_person set aktiv=$this->db_add_param($var, FHC_BOOL, false) @@ -275,7 +275,7 @@ class basis_db extends db */ public function db_add_param($var, $type=FHC_STRING, $nullable=true) { - if($var==='' && $type!=FHC_BOOLEAN) + if(($var==='' || is_null($var)) && $type!=FHC_BOOLEAN) { if($nullable) return 'null'; @@ -285,7 +285,7 @@ class basis_db extends db switch($type) { - case FHC_INTEGER: + case FHC_INTEGER: $var = $this->db_escape($var); if(!is_numeric($var) && $var!=='') die('Invalid Integer Parameter detected:'.$var); @@ -304,12 +304,12 @@ class basis_db extends db break; case FHC_STRING: - default: + default: $var = $this->db_escape($var); $var = $this->db_null_value($var); break; } - return $var; + return $var; } /** @@ -326,9 +326,9 @@ class basis_db extends db else die('Invalid DB Boolean. Wrong DB-Engine?'); } - + /** - * Bereitet ein Array von Elementen auf, damit es in der IN-Klausel eines + * Bereitet ein Array von Elementen auf, damit es in der IN-Klausel eines * Select Befehls verwendet werden kann. */ public function db_implode4SQL($array) @@ -350,7 +350,7 @@ class basis_db extends db */ public function db_parse_array($var) { - if ($var == '') + if ($var == '') return; preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?new; - + if($new) { $qry = "INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung, mimetype) VALUES(". @@ -113,7 +113,7 @@ class vorlage extends basis_db mimetype='.$this->db_add_param($this->mimetype).' WHERE vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).';'; } - + if($this->db_query($qry)) { return true; @@ -124,7 +124,7 @@ class vorlage extends basis_db return false; } } - + /** * Liefert alle Vorlagen * @param $order Sortierreihenfolge. Default:vorlage_kurzbz @@ -132,7 +132,7 @@ class vorlage extends basis_db public function getAllVorlagen($order='vorlage_kurzbz') { $qry ="SELECT * FROM public.tbl_vorlage ORDER BY ".$order.";"; - + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -142,14 +142,14 @@ class vorlage extends basis_db $obj->bezeichnung = $row->bezeichnung; $obj->anmerkung = $row->anmerkung; $obj->mimetype = $row->mimetype; - + $this->result[]= $obj; } } else return false; } - + /** * Laedt die Vorlage zu einer OE * @param $vorlage_kurzbz @@ -185,20 +185,20 @@ class vorlage extends basis_db return false; } } - + /** * Laedt alle Versionen einer Vorlage * @param $vorlage_kurzbz - * @param $oe_kurzbz Optional. Gibt nur die Vorlagen zu dieser OE aus. + * @param $oe_kurzbz Optional. Gibt nur die Vorlagen zu dieser OE aus. * @return true wenn ok, false im Fehlerfall */ public function getAllVersions($vorlage_kurzbz=null, $oe_kurzbz=null) { - $qry = "SELECT + $qry = "SELECT * - FROM + FROM public.tbl_vorlagestudiengang - WHERE + WHERE 1=1"; if(!is_null($vorlage_kurzbz) && $vorlage_kurzbz!='') { @@ -208,7 +208,7 @@ class vorlage extends basis_db { $qry.=" AND oe_kurzbz=".$this->db_add_param($oe_kurzbz); } - + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -223,7 +223,7 @@ class vorlage extends basis_db $obj->style = $row->style; $obj->berechtigung = $row->berechtigung; $obj->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; - + $this->result[]= $obj; } } @@ -233,7 +233,7 @@ class vorlage extends basis_db return false; } } - + /** * Liefert alle OEs, welche die $vorlage_kurzbz verwenden * @param $vorlage_kurzbz Kurzbezeichnung der Vorlage @@ -241,15 +241,15 @@ class vorlage extends basis_db public function getOEsFromVorlage($vorlage_kurzbz=null) { $qry ="SELECT DISTINCT - tbl_organisationseinheit.* - FROM - public.tbl_vorlagestudiengang - JOIN + tbl_organisationseinheit.* + FROM + public.tbl_vorlagestudiengang + JOIN public.tbl_organisationseinheit USING (oe_kurzbz) WHERE vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)." ORDER BY oe_kurzbz"; - + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -262,14 +262,14 @@ class vorlage extends basis_db $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->mailverteiler = $this->db_parse_bool($row->mailverteiler); $obj->lehre = $this->db_parse_bool($row->lehre); - + $this->result[]= $obj; } } else return false; } - + /** * Speichert die Vorlage zu einer OE * Wenn $new auf true gesetzt ist wird ein neuer Datensatz @@ -280,7 +280,7 @@ class vorlage extends basis_db { if($new == null) $new = $this->new; - + if($new) { $qry = "INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz,studiengang_kz,version,text,oe_kurzbz,style,berechtigung,anmerkung_vorlagestudiengang) VALUES(". @@ -306,7 +306,7 @@ class vorlage extends basis_db anmerkung_vorlagestudiengang='.$this->db_add_param($this->anmerkung_vorlagestudiengang).' WHERE vorlagestudiengang_id='.$this->db_add_param($this->vorlagestudiengang_id).';'; } - + if($this->db_query($qry)) { return true; @@ -317,7 +317,7 @@ class vorlage extends basis_db return false; } } - + /** * Löscht die Vorlagestudiengagn * @param type $vorlagestudiengang_id ID der Vorlage @@ -325,7 +325,7 @@ class vorlage extends basis_db public function deleteVorlagestudiengang($vorlagestudiengang_id) { $qry = 'DELETE FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id='.$this->db_add_param($vorlagestudiengang_id).';'; - + if($this->db_query($qry)) { return true; @@ -345,15 +345,15 @@ class vorlage extends basis_db */ public function getMaxVersion($oe_kurzbz, $vorlage_kurzbz) { - $qry = "SELECT - max(version) maxversion - FROM + $qry = "SELECT + max(version) maxversion + FROM public.tbl_vorlagestudiengang - WHERE - vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)." - AND + WHERE + vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)." + AND oe_kurzbz=".$this->db_add_param($oe_kurzbz); - + if($result = $this->db_query($qry)) { if($row = $this->db_fetch_object($result)) @@ -367,15 +367,15 @@ class vorlage extends basis_db return false; } } - - + + /** * Liefert die aktuelle Vorlage - * + * * * @param $oe_kurzbz Organisationseinheit der Vorlage - * Fuer Kompatibilitaetszwecke kann hier statt der oe_kurzbz auch die Studiengangskennzahl uebergeben werden. - * Dies wird in den kommenden Versionen jedoch nicht mehr moeglich sein! + * Fuer Kompatibilitaetszwecke kann hier statt der oe_kurzbz auch die Studiengangskennzahl uebergeben werden. + * Dies wird in den kommenden Versionen jedoch nicht mehr moeglich sein! * @param $vorlage_kurzbz Name der Vorlage * @param $version optional kann die Versionsnummer der Vorlage uebergeben werden * @return boolean @@ -387,16 +387,16 @@ class vorlage extends basis_db { $studiengang_kz=$oe_kurzbz; } - + if($studiengang_kz!='') { - $qry = "SELECT + $qry = "SELECT tbl_vorlagestudiengang.*, tbl_vorlage.mimetype, tbl_vorlage.bezeichnung - FROM - public.tbl_vorlagestudiengang - JOIN public.tbl_vorlage USING(vorlage_kurzbz) - WHERE - (studiengang_kz=0 OR studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).") AND + FROM + public.tbl_vorlagestudiengang + JOIN public.tbl_vorlage USING(vorlage_kurzbz) + WHERE + (studiengang_kz=0 OR studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).") AND vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz); if(!is_null($version) && $version!='') { @@ -413,10 +413,10 @@ class vorlage extends basis_db } else { - $qry = "SELECT + $qry = "SELECT tbl_vorlagestudiengang.*, tbl_vorlage.mimetype, tbl_vorlage.bezeichnung - FROM - public.tbl_vorlagestudiengang + FROM + public.tbl_vorlagestudiengang JOIN public.tbl_vorlage USING(vorlage_kurzbz) WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz)." AND vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz); @@ -426,7 +426,7 @@ class vorlage extends basis_db } $qry.=" ORDER BY version DESC LIMIT 1"; } - + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -438,12 +438,12 @@ class vorlage extends basis_db $this->mimetype = $row->mimetype; $this->bezeichnung = $row->bezeichnung; $this->style = $row->style; - $this->berechtigung = $row->berechtigung; + $this->berechtigung = $this->db_parse_array($row->berechtigung); $this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; - + return true; } - else + else { if($studiengang_kz!='') { @@ -456,7 +456,7 @@ class vorlage extends basis_db //nachsehen ob fuer eine der uebergeordneten OEs eine Vorlage vorhanden ist. $oe = new organisationseinheit(); $oe->load($oe_kurzbz); - + if($oe->oe_parent_kurzbz!='') { return $this->getAktuelleVorlage($oe->oe_parent_kurzbz, $vorlage_kurzbz, $version); @@ -469,12 +469,12 @@ class vorlage extends basis_db } } } - else + else { $this->errormsg = 'Fehler beim Laden der Vorlage'; return false; } } - + } ?> diff --git a/rdf/anwesenheitsliste.xml.php b/rdf/anwesenheitsliste.xml.php index 0ea1151a0..4349a6935 100644 --- a/rdf/anwesenheitsliste.xml.php +++ b/rdf/anwesenheitsliste.xml.php @@ -33,11 +33,8 @@ isset($_GET['bis']) ? $bis = date('Y-m-d', strtotime($_GET['bis'])) : $bis = $vo 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['sem']) ? $semester = $_GET['sem'] : $semester = NULL; +isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL; isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL; -isset($_GET['fixangestellt']) ? $fixangestellt = $_GET['fixangestellt'] : $fixangestellt = NULL; -isset($_GET['standort']) ? $standort = $_GET['standort'] : $standort = NULL; -isset($_GET['lvid']) ? $lvid = $_GET['lvid'] : $lvid = NULL; if($von) $studiensemester = getStudiensemesterFromDatum($von); @@ -50,16 +47,14 @@ $data = array(); */ // 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, sto.bezeichnung AS standort " + . "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 " - . "JOIN public.tbl_ort ort ON sp.ort_kurzbz = ort.ort_kurzbz " - . "JOIN public.tbl_standort sto ON ort.standort_id = sto.standort_id " . "WHERE 1=1"; - +//echo "".var_dump($qry).""; if($studiengang!='') $qry.=" AND stg.studiengang_kz = " . $db->db_add_param($studiengang) . " "; @@ -70,14 +65,22 @@ 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)) - $qry.=" AND stu.stunde>=".$db->db_add_param($stundevon); -if(!is_null($stundebis)) - $qry.=" AND stu.stunde<=".$db->db_add_param($stundebis); -if($standort) - $qry.=" AND sto.standort_id=".$db->db_add_param($standort); -if($lvid) - $qry .= " AND lv.lehrveranstaltung_id = " . $db->db_add_param($lvid); + +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)) @@ -90,14 +93,14 @@ if($db->db_query($qry)) $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, " - . "CASE WHEN fixangestellt IS TRUE THEN 'ja' ELSE 'nein' END AS fixangestellt " + $currentDay = key($value['tage']); + + // Daten der Vortragenden ermitteln + $qry = "SELECT vorname, nachname, titelpre, titelpost " . "FROM lehre.tbl_lehreinheitmitarbeiter lema " - . "JOIN public.tbl_mitarbeiter ma ON lema.mitarbeiter_uid = ma.mitarbeiter_uid " . "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); @@ -110,7 +113,6 @@ foreach($data as $key => $value) } } - // 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 " @@ -121,6 +123,11 @@ foreach($data as $key => $value) . "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)) @@ -138,20 +145,7 @@ echo ""; foreach($data as $lehreinheit_id => $value) { - // Anstellung der Vortragenden prüfen - if($fixangestellt != '') - { - $anstellungVortragende = array(); - foreach($value['vortragende'] as $vortragender) - { - $anstellungVortragende[] = $vortragender->fixangestellt; - } - - if(!in_array($fixangestellt, $anstellungVortragende)) - continue; - } - - foreach($value['tage'] as $tag) + foreach($value['tage'] as $tag) { echo ""; @@ -164,11 +158,13 @@ foreach($data as $lehreinheit_id => $value) 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 standort."]]>"; echo "\n ort_kurzbz."]]>"; echo "\n datum))."]]>"; echo "\n beginn, 0, 5)."]]>"; @@ -184,7 +180,6 @@ foreach($data as $lehreinheit_id => $value) echo "\n nachname."]]>"; echo "\n titelpre."]]>"; echo "\n titelpost."]]>"; - echo "\n fixangestellt."]]>"; echo "\n "; } echo ""; @@ -198,6 +193,10 @@ foreach($data as $lehreinheit_id => $value) // 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 "; @@ -205,6 +204,7 @@ foreach($data as $lehreinheit_id => $value) echo "\n nachname."]]>"; echo "\n titelpre."]]>"; echo "\n titelpost."]]>"; + echo "\n "; echo "\n note."]]>"; echo "\n laststatus."]]>"; echo "\n "; diff --git a/rdf/studienordnung.rdf.php b/rdf/studienordnung.rdf.php index 4a1d013e1..338aeb10d 100644 --- a/rdf/studienordnung.rdf.php +++ b/rdf/studienordnung.rdf.php @@ -32,8 +32,6 @@ require_once('../include/organisationsform.class.php'); require_once('../include/lehrform.class.php'); require_once('../include/sprache.class.php'); - - header("Content-type: application/xhtml+xml"); if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") @@ -41,46 +39,46 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") if(isset($_GET['studienordnung_id'])) { $studienordnung_id = $_REQUEST['studienordnung_id']; - + $studienordnung_obj = new studienordnung(); $studienordnung_obj->loadStudienordnung($studienordnung_id); - + $stg_kz = $studienordnung_obj->studiengang_kz; $gueltigvon_stsem = $studienordnung_obj->gueltigvon; $orgform_obj = new organisationsform(); $orgform_obj->getAll(); - + foreach($orgform_obj->result as $row_orgform) { $orgform[$row_orgform->orgform_kurzbz]=$row_orgform->bezeichnung; } - //$datum = new datum(); - - $objStg = new studiengang(); - + //$datum = new datum(); + + $objStg = new studiengang(); + if(!$objStg->load($stg_kz)) die('Fehler beim laden des Studiengangs'); $objLVInfo = new lvinfo(); - + switch($objStg->typ) { case 'b': - $stg_art = 'Bachelor'; - $titel_kurzbz = 'BSc'; - break; - case 'm': - $stg_art = 'Master'; - $titel_kurzbz ='MSc'; - break; + $stg_art = 'Bachelor'; + $titel_kurzbz = 'BSc'; + break; + case 'm': + $stg_art = 'Master'; + $titel_kurzbz ='MSc'; + break; case 'd': - $stg_art = 'Diplom'; - break; - default: - $stg_art =''; - $titel_kurzbz = ''; + $stg_art = 'Diplom'; + break; + default: + $stg_art =''; + $titel_kurzbz = ''; } - + $stgleiter = $objStg->getLeitung($objStg->studiengang_kz); $stgl=''; foreach ($stgleiter as $stgleiter_uid) @@ -88,10 +86,10 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $stgl_ma = new mitarbeiter($stgleiter_uid); $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); } - + $orgform_kurzbz_lang = $orgform[$objStg->orgform_kurzbz]; - - + + echo ''; echo ''; echo ' studiengang_kz).']]>'; @@ -106,10 +104,10 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo ' orgform_kurzbz.']]>'; echo ' '; echo ' '; - + $studienplan = new studienplan(); $studienplan->loadStudienplanSTO($studienordnung_id); - + foreach($studienplan->result as $row_studienplan) { $summe_ects_orgform = 0; @@ -117,7 +115,7 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo ' '; echo ' regelstudiendauer.']]>'; echo ' bezeichnung.']]>'; - + // $count=$objLV->count_lva_orgform($objStg->studiengang_kz,$orgform_kurzbz); /* if($orgform_kurzbz==$objStg->orgform_kurzbz) @@ -136,9 +134,9 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } */ $orgform_kurzbz_lang = $orgform[$row_studienplan->orgform_kurzbz]; - - - $ects_gesamt = ($row_studienplan->regelstudiendauer)*30; + + + $ects_gesamt = ($row_studienplan->regelstudiendauer)*30; // echo ' '; echo ' orgform_kurzbz.']]>'; @@ -148,25 +146,25 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") //echo ' studienplaetze.']]>'; // ************ Lehrveranstaltungen *************** - + //Basis von Ösi /* $lv = new lehrveranstaltung(); $lv->loadLehrveranstaltungStudienplan($studienplan_id); getLVFromStudienplanByLehrtyp($studienplan_id, null, $i) $tree = $lv->getLehrveranstaltungTree(); - - + + foreach($tree as $module) { echo $module->bezeichnung; - + if(isset($module->childs)) { foreach($module->childs as $lv_1) { echo $lv_1->bezeichnung; - + if(isset($lv_1->childs)) { foreach($lv_1->childs as $lv_2) @@ -175,44 +173,44 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } } } - + printlv($tree); - + function printlv($tree) { foreach($tree as $lv) { echo $lv->bezeichnung; - + if(isset($lv->childs)) { printlv($lv->childs); } } }*/ - - - + + + for($i=1;$i<=$objStg->max_semester;$i++) { $summe_ects_semester = 0; $summe_sws_semester = 0; echo ' '; echo ' '; - + $lv = new lehrveranstaltung(); $lv->loadLehrveranstaltungStudienplan($row_studienplan->studienplan_id, $i); $tree = $lv->getLehrveranstaltungTree(); - + //var_dump($tree); printLehrveranstaltungTree($tree); - + //if ($lv->lehrtyp_kurzbz!='modul') // $summe += $lv->ects; - + echo ' '; echo ' '; - + $summe_ects_orgform += $summe_ects_semester; $summe_sws_orgform += $summe_sws_semester; echo ''; @@ -225,8 +223,8 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo ''; } else - die('Parameter studienordnung_id is missing'); - + die('Parameter studienordnung_id is missing'); + } else die('Use Parameter xmlformat = xml'); @@ -242,14 +240,14 @@ function printLehrveranstaltungTree($tree) usort($tree, "cmp"); foreach($tree as $lv) { - $db = new basis_db(); - $lv_alvs = new lehrveranstaltung(); + $db = new basis_db(); + $lv_alvs = new lehrveranstaltung(); if(!$alvs = $lv_alvs->getALVS($lv->lehrveranstaltung_id, $lv->semester)) - $alvs = ''; + $alvs = ''; //Semesterwochen zum berechnen der SWS ermitteln - $qry = ' SELECT + $qry = ' SELECT wochen - FROM + FROM public.tbl_semesterwochen WHERE studiengang_kz='.$lv->studiengang_kz.' @@ -262,14 +260,14 @@ function printLehrveranstaltungTree($tree) $row_wochen = $db->db_fetch_object($wochen_stg); $wochen = $row_wochen->wochen; } - else + else $wochen = '15'; } if ($lv->semesterstunden!='') $sws = ($lv->semesterstunden / $wochen); - else + else $sws = 0; - + //Bezeichnung der Lehrform $lehrform_kurzbz = new lehrform(); $lehrform_kurzbz->load($lv->lehrform_kurzbz); @@ -311,7 +309,7 @@ function printLehrveranstaltungTree($tree) echo ' pruefungsordnung).']]>'; echo ' kurzbeschreibung).']]>'; echo ' anmerkungen).']]>'; - echo ' anmerkungen).']]>'; + echo ' anwesenheit).']]>'; } if ($objLVInfo->exists($lv->lehrveranstaltung_id,'English')) { @@ -328,15 +326,15 @@ function printLehrveranstaltungTree($tree) echo ' pruefungsordnung).']]>'; echo ' kurzbeschreibung).']]>'; echo ' anmerkungen).']]>'; - echo ' anmerkungen).']]>'; + echo ' anwesenheit).']]>'; } if ($lv->lehrtyp_kurzbz!='modul') { $summe_ects_semester += $lv->ects; $summe_sws_semester += $sws; } - - // Darunterliegende LVs/Module + + // Darunterliegende LVs/Module if(isset($lv->childs) && count($lv->childs)>0) { echo ''; diff --git a/system/xsl/Studienordnung_0.xsl b/system/xsl/Studienordnung_0.xsl index 37bc4dbde..db88e06eb 100644 --- a/system/xsl/Studienordnung_0.xsl +++ b/system/xsl/Studienordnung_0.xsl @@ -2001,6 +2001,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + + + + + @@ -3486,7 +3491,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + + + + + @@ -3518,6 +3527,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + + . Semester + + @@ -3544,6 +3557,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + Umfang (ECTS) @@ -3576,6 +3591,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + Pflicht-/Wahl-Modul - Wahlmodul + Pflichtmodul @@ -3639,7 +3656,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Kurzbeschreibung - + + + + + @@ -3647,7 +3668,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Course Description - + + + + + @@ -3655,18 +3680,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Lernergebnisse - Nach erfolgreichem Abschluss sind die Studierenden in der Lage,... - • - LE1 - - - • - LE2 - - - • - ... + + + @@ -3675,18 +3692,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Learning Outcomes - After passing this course successfully students are able to... - • - LE1 - - - • - LE2 - - - • - ... + + + @@ -3695,7 +3704,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Lehrinhalte - + + + + + @@ -3703,7 +3716,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Course Contents - + + + + + @@ -3711,7 +3728,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Vorkenntnisse - + + + + + @@ -3719,7 +3740,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Prerequisites - + + + + + @@ -3727,12 +3752,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Literatur/Literature - - • - Autor, VN. / Autor, VN. / Autor VN. (Jahr): Titel, Verlag-Herausgeber-sonstiges - - - + + + + + @@ -3740,11 +3764,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Leistungsbeurteilung - LV-Immanente Leistungsbeurteilung oder - LV-Immanente Leistungsbeurteilung und/ oder Abschlussprüfung oder - Abschlussprüfung - - + + + + + @@ -3752,11 +3776,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Assessment Methods - LV-Immanente Leistungsbeurteilung oder - LV-Immanente Leistungsbeurteilung und/ oder Abschlussprüfung oder - Abschlussprüfung - - + + + + + @@ -3764,14 +3788,22 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Anwesenheit - + + + + + Attendance - + + + + + @@ -3783,4 +3815,40 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/system/xsl/Studienordnung_style_0.xml b/system/xsl/Studienordnung_style_0.xml index 3aa267cc9..d6f96150a 100644 --- a/system/xsl/Studienordnung_style_0.xml +++ b/system/xsl/Studienordnung_style_0.xml @@ -377,7 +377,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Studienordnung-Studienplan-- - + 4