, * Andreas Oesterreicher and * Rudolf Hangl and * Gerald Raab . */ 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'); $datum = new datum(); $db = new basis_db(); function draw_studienerfolg($uid, $studiensemester_kurzbz) { global $xml, $note_arr, $datum; $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.bezeichnung, tbl_studentlehrverband.semester, tbl_person.titelpre, tbl_person.titelpost, tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum, tbl_studiensemester.bezeichnung as sembezeichnung, tbl_studiengang.english as bezeichnung_englisch FROM public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer, public.tbl_studentlehrverband, public.tbl_studiensemester 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."' and tbl_studentlehrverband.student_uid=tbl_student.student_uid and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz and tbl_studentlehrverband.studiensemester_kurzbz = '".$studiensemester_kurzbz."'"; $db = new basis_db(); if($db->db_query($query)) { if(!$row = $db->db_fetch_object()) return false; } else return false; $studiensemester = new studiensemester(); $studiensemester_aktuell = $studiensemester->getNearest(); $semester_aktuell=''; $qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester FROM public.tbl_student, public.tbl_prestudentstatus WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand') AND studiensemester_kurzbz='".addslashes($studiensemester_aktuell)."' AND tbl_student.student_uid = '".addslashes($uid)."'"; if($db->db_query($qry_semester)) if($row_semester = $db->db_fetch_object()) $semester_aktuell=$row_semester->semester; if($semester_aktuell=='') $studiensemester_aktuell=''; $qry_semester = "SELECT tbl_prestudentstatus.ausbildungssemester as semester FROM public.tbl_student, public.tbl_prestudentstatus WHERE tbl_student.prestudent_id=tbl_prestudentstatus.prestudent_id AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming','Outgoing','Praktikant','Diplomand') AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND tbl_student.student_uid = '".addslashes($uid)."'"; if($db->db_query($qry_semester)) if($row_semester = $db->db_fetch_object()) $row->semester=$row_semester->semester; $xml .= " "; $xml .= " ".DOC_ROOT."skin/images/"; $xml .= " ".$row->sembezeichnung.""; $xml .= " ".$studiensemester_aktuell.""; $xml .= " ".$row->semester.""; $xml .= " ".$semester_aktuell.($semester_aktuell!=''?'. Semester':'').""; $xml .= " ".$row->bezeichnung.""; $xml .= " ".$row->bezeichnung_englisch.""; $xml .= " ".sprintf('%04s',$row->studiengang_kz).""; $xml .= " ".$row->titelpre.""; $xml .= " ".$row->titelpost.""; $xml .= " ".$row->vorname.""; $xml .= " ".$row->nachname.""; $gebdatum = date('d.m.Y',strtotime($row->gebdatum)); $xml .= " ".$gebdatum.""; $xml .= " ".$row->matrikelnr.""; $xml .= " ".$studiensemester_kurzbz.""; $datum_aktuell = date('d.m.Y'); $xml .= " ".$datum_aktuell.""; if(isset($_REQUEST['typ']) && $_REQUEST['typ']=='finanzamt') $xml .= " (gemäß §2 Abs. 1 lit.b des Familienlastenausgleichsgesetzes 1967 zur Vorlage beim Wohnsitzfinanzamt)"; else $xml .= " "; $obj = new zeugnisnote(); if(!$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid, $studiensemester_kurzbz)) die('Fehler beim Laden der Noten:'.$obj->errormsg); $qry = "SELECT wochen FROM public.tbl_semesterwochen WHERE studiengang_kz='$row->studiengang_kz' AND semester='$row->semester'"; $wochen = 15; if($db->db_query($qry)) if($row_wochen = $db->db_fetch_object()) $wochen = $row_wochen->wochen; $gesamtstunden=0; $gesamtects=0; $notensumme=0; $anzahl=0; foreach ($obj->result as $row) { //Note darf nicht teilnote(0), negativ(5), noch nicht eingetragen(7), nicht beurteilt (9), nicht erfolgreich absolviert (13), angerechnet(6) sein if($row->zeugnis && $row->note!=0 && $row->note!=5 && $row->note!=7 && $row->note!=9 && $row->note!=13 && $row->note!=6) { if ($row->note) $note = $note_arr[$row->note]; else $note = ""; if($note!='') { $xml .= " "; $xml .= " lehrveranstaltung_bezeichnung."]]>"; $xml .= " lehrveranstaltung_bezeichnung_english."]]>"; $xml .= " ".$note.""; $xml .= " ".sprintf('%.1f',$row->semesterstunden).""; ///$wochen $xml .= " ".$row->ects.""; if($row->benotungsdatum!='') $xml .= " ".date('d.m.Y',$datum->mktime_fromtimestamp($row->benotungsdatum)).""; $xml .= " "; $gesamtstunden +=$row->semesterstunden; $gesamtects += $row->ects; if(is_numeric($note)) { $notensumme += $note; $anzahl++; } } } } if($anzahl!=0) { $schnitt = ($notensumme/$anzahl); } else $schnitt = 0; $xml .= " $gesamtstunden"; $xml .= " $gesamtects"; $xml .= " ".sprintf('%.2f',$schnitt).""; $xml .= " "; } 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(); foreach ($note->result as $n) $note_arr[$n->note] = $n->anmerkung; if(isset($_GET['ss'])) $studiensemester_kurzbz = $_GET['ss']; else die('Studiensemester nicht uebergeben'); //Daten holen $xml = "\n"; $xml .= ""; if(isset($_GET['all'])) { for ($i = 0; $i < sizeof($uid_arr); $i++) { //Studienbestaetigung fuer alle Semester dieses Studenten $qry = "SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz in( SELECT studiensemester_kurzbz FROM public.tbl_prestudentstatus JOIN public.tbl_student USING(prestudent_id) WHERE student_uid='".addslashes($uid_arr[$i])."') ORDER BY start"; if($db->db_query($qry)) while($row = $db->db_fetch_object()) draw_studienerfolg($uid_arr[$i], $row->studiensemester_kurzbz); } } else { //Studienbestaetigung fuer ein bestimmtes Semester for ($i = 0; $i < sizeof($uid_arr); $i++) { draw_studienerfolg($uid_arr[$i], $studiensemester_kurzbz); } } $xml .= ""; echo $xml; } ?>