, * Andreas Oesterreicher and * Rudolf Hangl and * Gerald Raab . */ // 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/zeugnisnote.class.php'); require_once('../include/datum.class.php'); require_once('../include/note.class.php'); require_once('../include/studiensemester.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/mitarbeiter.class.php'); require_once('../include/lehrveranstaltung.class.php'); require_once('../include/lehreinheit.class.php'); require_once('../include/studienplan.class.php'); require_once('../include/student.class.php'); require_once('../include/prestudent.class.php'); require_once('../include/organisationseinheit.class.php'); require_once('../include/anrechnung.class.php'); require_once('../include/lehrform.class.php'); $datum = new datum(); $db = new basis_db(); $projektarbeit=array(); $fussnotenzeichen=array('¹)','²)','³)'); $anzahl_fussnoten=0; $studiengang_typ=''; $xml_fussnote=''; function breaktext($text, $zeichen) { $arr = explode(' ',$text); $ret = ''; $teilstring=''; foreach($arr as $elem) { if(strlen($teilstring.$elem)>$zeichen) { $ret.=' '.$teilstring.'\n'; $teilstring=$elem; } else $teilstring .=' '.$elem; } $ret.=$teilstring; return $ret; } if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") { if(isset($_GET['uid'])) $uid = $_GET['uid']; else $uid = null; $uid_arr = explode(";",$uid); if ($uid_arr[0] == "") { unset($uid_arr[0]); $uid_arr = array_values($uid_arr); } $note_arr = array(); $note = new note(); $note->getAll($offiziell = true); foreach ($note->result as $n){ $note_arr[$n->note] = $n->anmerkung; $note_bezeichnung_arr[$n->note] = $n->bezeichnung; } if(isset($_GET['ss'])) $studiensemester_kurzbz = $_GET['ss']; else die('Studiensemester muss uebergeben werden'); if(isset($_GET['lvid'])) $lehrveranstaltung_id = $_GET['lvid']; else $lehrveranstaltung_id = 0; //Daten holen $lqry = "SELECT tbl_person.titelpre, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpost FROM public.tbl_benutzer JOIN public.tbl_person using (person_id) WHERE tbl_benutzer.uid = (SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehrfunktion USING(lehrfunktion_kurzbz), lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." ORDER BY tbl_lehrfunktion.standardfaktor desc limit 1)"; $leiter_titel = ''; $leiter_vorname = ''; $leiter_nachname = ''; $leiter_titelpost = ''; if($db->db_query($lqry)) { if ($lrow = $db->db_fetch_object()) { $leiter_titel = $lrow->titelpre; $leiter_vorname = $lrow->vorname; $leiter_nachname = $lrow->nachname; $leiter_titelpost = $lrow->titelpost; } } $qry = "SELECT wochen FROM public.tbl_semesterwochen WHERE (studiengang_kz, semester) in (SELECT studiengang_kz, semester FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER).")"; $wochen = 15; if($result_wochen = $db->db_query($qry)) { if($row_wochen = $db->db_fetch_object($result_wochen)) { $wochen = $row_wochen->wochen; } } $lehrveranstaltung=new lehrveranstaltung(); $lehrveranstaltung->load($lehrveranstaltung_id); $sws=$lehrveranstaltung->semesterstunden/$wochen; $ects = $lehrveranstaltung->ects; $lvbezeichnung = $lehrveranstaltung->bezeichnung; $lvstg = $lehrveranstaltung->studiengang_kz; $lehrform_kurzbz=$lehrveranstaltung->lehrform_kurzbz; $lehrform = new lehrform($lehrform_kurzbz); $lehrform_bezeichnung = $lehrform->bezeichnung; $organisationseinheit = new organisationseinheit($lehrveranstaltung->oe_kurzbz); $lehreinheit=new lehreinheit(); $lehreinheit->load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz); if(count($lehreinheit->lehreinheiten)>=1) { $lehrfach_id=$lehreinheit->lehreinheiten[0]->lehrfach_id; } else { $lehrfach_id=''; die('keine Lehreinheiten gefunden!'); } $lv_lehrfach=new lehrveranstaltung(); $lv_lehrfach->load($lehrfach_id); $lehrfach_bezeichnung=$lv_lehrfach->bezeichnung; /* $lvqry = "SELECT * from lehre.tbl_lehrveranstaltung where lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER); if($db->db_query($lvqry)) { if ($lvrow = $db->db_fetch_object()) { $sws = $lvrow->semesterstunden/$wochen; $ects = $lvrow->ects; $lvbezeichnung = $lvrow->bezeichnung; $lvstg = $lvrow->studiengang_kz; } } */ $lehrinhalte = ''; $infoqry = "SELECT * FROM campus.tbl_lvinfo WHERE sprache='German' AND lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER); if($db->db_query($infoqry)) { if ($inforow = $db->db_fetch_object()) { $lehrinhalte_arr = explode("
",$inforow->lehrinhalte); for ($i = 0; $i < sizeof($lehrinhalte_arr); $i++) { $lehrinhalte .= $lehrinhalte_arr[$i].'\n'; } } } $xml = ""; $xml .= ""; $studiensemester = new studiensemester(); $studiensemester->load($studiensemester_kurzbz); for ($i = 0; $i < sizeof($uid_arr); $i++) { $anzahl_fussnoten=0; $studiengang_typ=''; $xml_fussnote=''; $query = "SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheit as le JOIN lehre.tbl_pruefung as p USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung as lv USING(lehrveranstaltung_id) WHERE p.student_uid = ".$db->db_add_param($uid_arr[$i])." AND le.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz)." AND lv.lehrveranstaltung_id = ".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER); $pruefer_uid=''; $pruefer_name=''; if($db->db_query($query)) { if($row = $db->db_fetch_object()) { $pruefer_uid=$row->mitarbeiter_uid; } } if($pruefer_uid!='') { $pruefer = new mitarbeiter($pruefer_uid); $pruefer_name = trim($pruefer->titelpre.' '.$pruefer->vorname.' '.$pruefer->nachname.' '.$pruefer->titelpost); } $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_person.geschlecht, tbl_person.matr_nr FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_student.student_uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id and tbl_student.student_uid = '".$uid_arr[$i]."'"; if($db->db_query($query)) { if(!$row = $db->db_fetch_object()) die('Student not found'); } else die('Student not found'); $stg_oe_obj = new studiengang($row->studiengang_kz); $stgleiter = $stg_oe_obj->getLeitung($row->studiengang_kz); $stgl=''; foreach ($stgleiter as $stgleiter_uid) { $stgl_ma = new mitarbeiter($stgleiter_uid); $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); } $student=new student(); $student->load($uid_arr[$i]); $prestudent=new prestudent(); $prestudent->getPrestudentRolle($student->prestudent_id); $studienplan_bezeichnung=''; foreach($prestudent->result as $status) { if($status->studienplan_bezeichnung != '') $studienplan_bezeichnung=$status->studienplan_bezeichnung; if($status->studienplan_id != NULL) $studienplan_id = $status->studienplan_id; } $xml .= "\n "; $xml .= "\n ".$studiensemester_kurzbz.""; $xml .= "\n ".$row->vorname.""; $xml .= "\n ".$row->nachname.""; $xml .= "\n ".trim($row->titelpre.' '.$row->vorname.' '.mb_strtoupper($row->nachname).($row->titelpost!=''?', '.$row->titelpost:'')).""; $gebdatum = date('d.m.Y',strtotime($row->gebdatum)); $xml .= "\n ".$gebdatum.""; $xml .= "\n ".$row->geschlecht.""; $xml .= "\n ".$row->matrikelnr.""; $xml .= "\n ".$row->matr_nr.""; $xml .= "\n ".$stgl.""; $datum_aktuell = date('d.m.Y'); $xml .= "\n Wien, am ".$datum_aktuell.""; $obj = new zeugnisnote(); $obj->load($lehrveranstaltung_id, $uid_arr[$i], $studiensemester_kurzbz); if ($obj->note && isset($note_arr[$obj->note])) { $note = $note_arr[$obj->note]; $note_bezeichnung = $note_bezeichnung_arr[$obj->note]; $uebernahmedatum = $obj->uebernahmedatum; $benotungsdatum = $obj->benotungsdatum; } else { $note = ""; $note_bezeichnung = ""; $uebernahmedatum = ""; $benotungsdatum = ""; } $stg = new studiengang(); $stg->load($lvstg); $xml .= " ".$stg_oe_obj->bezeichnung.""; $xml .= " ".$stg->bezeichnung.""; $xml .= " ".$stg->typ.""; $xml .= " ".sprintf('%04s',$lvstg).""; $xml .= " "; $xml .= " "; $xml .= " "; $xml .= " ".$note.""; $xml .= " ".$note_bezeichnung.""; $xml .= " ".$pruefer_name.""; $xml .= " ".$datum->formatDatum($benotungsdatum,'d.m.Y').""; $xml .= " ".$datum->formatDatum($uebernahmedatum,'d.m.Y').""; $xml .= " ".$lehrform_kurzbz.""; $xml .= " ".$lehrform_bezeichnung.""; $xml .= " ".($sws==0?'':number_format(sprintf('%.1F',$sws),1)).""; $xml .= " ".$leiter_titel." ".$leiter_vorname." ".$leiter_nachname.($leiter_titelpost!=''?', '.$leiter_titelpost:'').""; $xml .= " "; $xml .= " "; $lehrveranstaltung->getLVkompatibel($lehrveranstaltung_id); foreach($lehrveranstaltung->lehrveranstaltungen as $lv_kompatibel) { $xml .= "bezeichnung."]]>"; } $xml .= " "; $anrechnung = new anrechnung(); $anrechnung->getAnrechnungPrestudent($student->prestudent_id, null, $lehrveranstaltung_id); $xml .= "result) === 1) { $lehrveranstaltung_id_kompatibel = $anrechnung->result[0]->lehrveranstaltung_id; $xml .= $anrechnung->result[0]->lehrveranstaltung_bez; } $xml .= "]]>"; if($lehrveranstaltung_id_kompatibel != "") { $lv = new lehrveranstaltung($lehrveranstaltung_id_kompatibel); if(($lv->ects !== $ects) && ($lv->ects != "") && ($lv->ects != null)) { $ects = $lv->ects; } } $xml .= " ".number_format($ects,1).""; $lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id); $studienplan_lehrveranstaltung_id = ""; foreach($lehrveranstaltung->lehrveranstaltungen as $lv) { if(($lv->lehrveranstaltung_id == $lehrveranstaltung_id) || ($lv->lehrveranstaltung_id == $lehrveranstaltung_id_kompatibel)) { $studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id; break; } } $studienplan = new studienplan(); if($studienplan_lehrveranstaltung_id != "") { $studienplan->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id); $lv = new lehrveranstaltung(); while(($lv->lehrtyp_kurzbz != "modul") && ($studienplan->lehrveranstaltung_id != $studienplan_lehrveranstaltung_id)) { $lv->load($studienplan->lehrveranstaltung_id); $studienplan_lehrveranstaltung_id = $studienplan->lehrveranstaltung_id; $studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent); } $lehrveranstaltung->lehrveranstaltungen = array(0 => $lv); } else { $lehrveranstaltung->lehrveranstaltungen = array(); } // $return = $lehrveranstaltung->getLVFromStudienplanByLehrtyp($studienplan_id, "modul"); $xml .= " "; //Variable wird zur korrekten Darstellung im Dokument benötigt $count=0; foreach($lehrveranstaltung->lehrveranstaltungen as $modul) { $xml .= ""; $xml.= "".$count.""; $xml.= "".$modul->lehrveranstaltung_id.""; $xml.= "".$modul->bezeichnung.""; $xml .= ""; $count++; } $xml .= " "; $xml .= ""; $xml .= "".$organisationseinheit->organisationseinheittyp_kurzbz.""; $xml .= "".$organisationseinheit->bezeichnung.""; $xml .= ""; $xml .= " "; // var_dump($lehrveranstaltung->errormsg); } $xml .= ""; echo $xml; } ?>