diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index 61b56361c..53d948424 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -1,448 +1,457 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl and - * Gerald Raab . - */ -//header("Cache-Control: no-cache"); -//header("Cache-Control: post-check=0, pre-check=0",false); -//header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); -//header("Pragma: no-cache"); -// 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/studiengang.class.php'); -require_once('../include/mitarbeiter.class.php'); -require_once('../include/anrechnung.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; - - if(isset($_GET['ss'])) - $studiensemester_kurzbz = $_GET['ss']; - else - die('Studiensemester wurde nicht uebergeben'); - - //Daten holen - - $xml = ""; - $xml .= ""; - - for ($i = 0; $i < sizeof($uid_arr); $i++) - { - $anzahl_fussnoten=0; - $studiengang_typ=''; - $xml_fussnote=''; - $projektarbeit=array(); - - $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige, - tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, - tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, - tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung, - tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester - FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, 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 = ".$db->db_add_param($uid_arr[$i])." - AND tbl_studentlehrverband.student_uid=tbl_student.student_uid - AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz - AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); - - if($result = $db->db_query($query)) - { - $xml .= "\n "; - if($row = $db->db_fetch_object($result)) - { - $studiengang = new studiengang(); - $stgleiter = $studiengang->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); - } - - //Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming) - //damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint - $qry ="SELECT ausbildungssemester as semester, tbl_studienordnung.studiengangbezeichnung, tbl_studienordnung.studiengangbezeichnung_englisch - FROM public.tbl_prestudentstatus - LEFT JOIN lehre.tbl_studienplan USING (studienplan_id) - LEFT JOIN lehre.tbl_studienordnung USING (studienordnung_id) - WHERE - prestudent_id=".$db->db_add_param($row->prestudent_id)." AND - studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND - tbl_prestudentstatus.status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent', 'Abgewiesener') - ORDER BY DATUM DESC LIMIT 1"; - if($result_sem = $db->db_query($qry)) - { - if($row_sem = $db->db_fetch_object($result_sem)) - { - $row->semester = $row_sem->semester; - $row->studiengangbezeichnung = $row_sem->studiengangbezeichnung; - $row->studiengangbezeichnung_englisch = $row_sem->studiengangbezeichnung_englisch; - $bezeichnung = $row_sem->semester.'. Semester'; - } - else - $bezeichnung = ''; - } - else - $bezeichnung = ''; - - $studiengangbezeichnung = empty($row->studiengangbezeichnung) ? $row->bezeichnung : $row->studiengangbezeichnung; - $studiengangbezeichnung_englisch = empty($row->studiengangbezeichnung_englisch) ? $row->english : $row->studiengangbezeichnung_englisch; - - $xml .= " sembezeichnung."]]>"; - $xml .= " stsem."]]>"; - $xml .= " semester."]]>"; - $xml .= " "; - $xml .= " "; - $xml .= " "; - if($row->typ=='b') - $bezeichnung='Bachelor'; - elseif($row->typ=='m') - $bezeichnung='Master'; - elseif($row->typ=='d') - $bezeichnung='Diplom'; - else - $bezeichnung=''; - $studiengang_typ=$row->typ; - $semester = $row->semester; - - //Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen - if ($row->studiengang_kz<0) - { - $stg = new studiengang(); - $stg->load($row->studiengang_kz); - - $studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz)); - } - else - $studiengang_kz = sprintf("%04s", abs($row->studiengang_kz)); - - $xml .= " "; - $xml .= " "; - $xml .= "\n anrede."]]>"; - $xml .= "\n vorname."]]>"; - $xml .= " nachname."]]>"; - $xml .= " titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:''))."]]>"; - $gebdatum = date('d.m.Y',strtotime($row->gebdatum)); - $xml .= " "; - $xml .= " matrikelnr)."]]>"; - $xml .= " "; - $datum_aktuell = date('d.m.Y'); - $xml .= " "; - $xml .= " ".($row->projektarbeit_note_anzeige=='t'?'true':'false').""; - - $qry_proj = " - SELECT - lehrveranstaltung_id, titel, themenbereich, note, titel_english, - tbl_projekttyp.bezeichnung, projekttyp_kurzbz - FROM - lehre.tbl_projektarbeit - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) - WHERE - student_uid=".$db->db_add_param($uid_arr[$i])." - AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." - AND projekttyp_kurzbz in('Bachelor', 'Diplom') - ORDER BY beginn ASC, projektarbeit_id ASC"; - - if($result_proj = $db->db_query($qry_proj)) - { - while($row_proj = $db->db_fetch_object($result_proj)) - { - $projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel; - $projektarbeit[$row_proj->lehrveranstaltung_id]['titel_en']=$row_proj->titel_english; - $projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich; - $projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note; - $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_bezeichnung']=$row_proj->bezeichnung; - $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_kurzbz']=$row_proj->projekttyp_kurzbz; - } - } - - // Wenn es das letzte Semesterzeugnis ist, wird zusaetzlich die Abschlusspruefung geliefert - if($row->semester==$row->max_semester) - { - - $qry_abschlusspruefung = "SELECT - tbl_abschlusspruefung.datum, - tbl_abschlusspruefung.pruefungstyp_kurzbz, - tbl_abschlussbeurteilung.bezeichnung, - tbl_abschlussbeurteilung.bezeichnung_english - FROM - lehre.tbl_abschlusspruefung - LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) - WHERE - tbl_abschlusspruefung.student_uid=".$db->db_add_param($uid_arr[$i])." - ORDER BY datum DESC LIMIT 1"; - if($result_abschlusspruefung = $db->db_query($qry_abschlusspruefung)) - { - if($row_abschlusspruefung = $db->db_fetch_object($result_abschlusspruefung)) - { - $xml .= " pruefungstyp_kurzbz."]]>"; - $xml .= " formatDatum($row_abschlusspruefung->datum,'d.m.Y')."]]>"; - $xml .= " bezeichnung."]]>"; - $xml .= " bezeichnung_english."]]>"; - } - } - } - - $obj = new zeugnisnote(); - - $obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz); - - $ects_gesamt = $ects_gesamt_positiv = 0; - $prestudent_id = $row->prestudent_id; - foreach ($obj->result as $row) - { - if($row->zeugnis) - { - if (trim($row->note)!=='' && isset($note_arr[$row->note])) - $note = $note_arr[$row->note]; - else - $note = ""; - $note2=$note; - - //Firma fuer Berufspraktikum - $qry = "SELECT tbl_firma.name - FROM - lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma - WHERE - tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_projektarbeit.firma_id = tbl_firma.firma_id AND - tbl_projektarbeit.student_uid=".$db->db_add_param($uid_arr[$i])." AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND - tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id); - - $firma = ''; - $firma_eng = ''; - if($result_firma = $db->db_query($qry)) - { - if($row_firma = $db->db_fetch_object($result_firma)) - { - if($row_firma->name!='') - { - $firma = " bei Firma: $row_firma->name"; - $firma_eng = " at: $row_firma->name"; - } - } - } - - //Bakk/Dipl Fussnoten - if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit)) - { - $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; - $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten]; - $xml_fussnote .="\n "; - $xml_fussnote .=" ".$fussnotenzeichen[$anzahl_fussnoten].""; - - //$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40); - - $anzahl_nl = substr_count($projektarbeit[$row->lehrveranstaltung_id]['titel'],'\n'); - $nl2=''; - if($projektarbeit[$row->lehrveranstaltung_id]['themenbereich']!='') - { - //$xml_fussnote .=" Themenbereich: "; - $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].']]>'; - $anzahl_nl++; - $nl2='\n'; - } - - /*if($studiengang_typ=='b') - $typ = 'Bachelorarbeit:'; - else - $typ = 'Master Thesis:';*/ - - $nl=''; - $nl2=''; - $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_bezeichnung']."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_kurzbz']."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; - //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; - $note = $projektarbeit[$row->lehrveranstaltung_id]['note']; - //$nl = str_repeat('\n',($anzahl_nl)); - $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:"").$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - - - - $xml_fussnote .=" "; - - $anzahl_fussnoten++; - } - else - { - $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma; - $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng; - } - - - $bisio_von = ''; - $bisio_bis = ''; - $bisio_ort = ''; - $bisio_universitaet = ''; - $auslandssemester=false; - - $qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id' - AND student_uid=".$db->db_add_param($uid_arr[$i]); - if($result_bisio = $db->db_query($qry)) - { - if($row_bisio = $db->db_fetch_object($result_bisio)) - { - $bisio_von = $row_bisio->von; - $bisio_bis = $row_bisio->bis; - $bisio_ort = $row_bisio->ort; - $bisio_universitaet = $row_bisio->universitaet; - $auslandssemester=true; - $note2 = 'ar'; - } - } - - $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($row->lehrveranstaltung_id).")"; - $wochen = 15; - if($result_wochen = $db->db_query($qry)) - { - if($row_wochen = $db->db_fetch_object($result_wochen)) - { - $wochen = $row_wochen->wochen; - } - } - $xml .= "\n "; - $xml .= " "; - $xml .= " "; - $xml .= " note_positiv."]]>"; - $xml .= " "; - $xml .= " semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."]]>"; - $xml .= " sws==0?'':number_format(sprintf('%.1F',$row->sws),1))."]]>"; - $ectspunkte=''; - - $anrechnung = new anrechnung(); - $anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id); - - if($anrechnung->result != null) - { - $lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id); - if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null)) - { - $row->ects = $lv->ects; - } - } - - if($row->ects==0 || $row->ects=='') - $ectspunkte=''; - else - { - //Bei 2 Nachkommastellen beide anzeigen, sonst nur 1 - if(number_format($row->ects,1)==number_format($row->ects,2)) - $ectspunkte=number_format($row->ects,1); - else - $ectspunkte=number_format($row->ects,2); - } - $ects_gesamt+=$ectspunkte; - - if ($row->note_positiv === true) - $ects_gesamt_positiv += $ectspunkte; - - $xml .= " "; - $xml .= " lv_lehrform_kurzbz."]]>"; - if($auslandssemester) - { - $xml .= " mktime_fromdate($bisio_von))."]]>"; - $xml .= " mktime_fromdate($bisio_bis))."]]>"; - $xml .= " "; - $xml .= " "; - } - $xml .= " "; - } - } - $xml .= ""; - $xml .= ""; - $xml .= $xml_fussnote; - - } - else - { - $xml .="PERSON NICHT GEFUNDEN / KEIN STATUS"; - } - $xml .= " "; - } - } - $xml .= ""; - echo $xml; -} -?> +, + * Andreas Oesterreicher and + * Rudolf Hangl and + * Gerald Raab . + */ +//header("Cache-Control: no-cache"); +//header("Cache-Control: post-check=0, pre-check=0",false); +//header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +//header("Pragma: no-cache"); +// 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/studiengang.class.php'); +require_once('../include/mitarbeiter.class.php'); +require_once('../include/anrechnung.class.php'); +require_once('../include/prestudent.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; + + if(isset($_GET['ss'])) + $studiensemester_kurzbz = $_GET['ss']; + else + die('Studiensemester wurde nicht uebergeben'); + + //Daten holen + + $xml = ""; + $xml .= ""; + + for ($i = 0; $i < sizeof($uid_arr); $i++) + { + $anzahl_fussnoten=0; + $studiengang_typ=''; + $xml_fussnote=''; + $projektarbeit=array(); + + $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige, + tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, + tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, + tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung, + tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id, tbl_studiengang.max_semester + FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, 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 = ".$db->db_add_param($uid_arr[$i])." + AND tbl_studentlehrverband.student_uid=tbl_student.student_uid + AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz + AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); + + if($result = $db->db_query($query)) + { + $xml .= "\n "; + if($row = $db->db_fetch_object($result)) + { + $studiengang = new studiengang(); + $stgleiter = $studiengang->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); + } + + //Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming) + //damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint + $qry ="SELECT ausbildungssemester as semester, tbl_studienordnung.studiengangbezeichnung, tbl_studienordnung.studiengangbezeichnung_englisch + FROM public.tbl_prestudentstatus + LEFT JOIN lehre.tbl_studienplan USING (studienplan_id) + LEFT JOIN lehre.tbl_studienordnung USING (studienordnung_id) + WHERE + prestudent_id=".$db->db_add_param($row->prestudent_id)." AND + studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND + tbl_prestudentstatus.status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent', 'Abgewiesener') + ORDER BY DATUM DESC LIMIT 1"; + if($result_sem = $db->db_query($qry)) + { + if($row_sem = $db->db_fetch_object($result_sem)) + { + $row->semester = $row_sem->semester; + $row->studiengangbezeichnung = $row_sem->studiengangbezeichnung; + $row->studiengangbezeichnung_englisch = $row_sem->studiengangbezeichnung_englisch; + $bezeichnung = $row_sem->semester.'. Semester'; + } + else + $bezeichnung = ''; + } + else + $bezeichnung = ''; + + $studiengangbezeichnung = empty($row->studiengangbezeichnung) ? $row->bezeichnung : $row->studiengangbezeichnung; + $studiengangbezeichnung_englisch = empty($row->studiengangbezeichnung_englisch) ? $row->english : $row->studiengangbezeichnung_englisch; + + $xml .= " sembezeichnung."]]>"; + $xml .= " stsem."]]>"; + $xml .= " semester."]]>"; + $xml .= " "; + $xml .= " "; + $xml .= " "; + if($row->typ=='b') + $bezeichnung='Bachelor'; + elseif($row->typ=='m') + $bezeichnung='Master'; + elseif($row->typ=='d') + $bezeichnung='Diplom'; + else + $bezeichnung=''; + $studiengang_typ=$row->typ; + $semester = $row->semester; + + //Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen + if ($row->studiengang_kz<0) + { + $stg = new studiengang(); + $stg->load($row->studiengang_kz); + + $studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($row->studiengang_kz)); + } + else + $studiengang_kz = sprintf("%04s", abs($row->studiengang_kz)); + + $xml .= " "; + $xml .= " "; + $xml .= "\n anrede."]]>"; + $xml .= "\n vorname."]]>"; + $xml .= " nachname."]]>"; + $xml .= " titelpre.' '.trim($row->vorname.' '.$row->vornamen).' '.$row->nachname.($row->titelpost!=''?', '.$row->titelpost:''))."]]>"; + $gebdatum = date('d.m.Y',strtotime($row->gebdatum)); + $xml .= " "; + $xml .= " matrikelnr)."]]>"; + $xml .= " "; + $datum_aktuell = date('d.m.Y'); + $xml .= " "; + $xml .= " ".($row->projektarbeit_note_anzeige=='t'?'true':'false').""; + + $qry_proj = " + SELECT + lehrveranstaltung_id, titel, themenbereich, note, titel_english, + tbl_projekttyp.bezeichnung, projekttyp_kurzbz + FROM + lehre.tbl_projektarbeit + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) + WHERE + student_uid=".$db->db_add_param($uid_arr[$i])." + AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." + AND projekttyp_kurzbz in('Bachelor', 'Diplom') + ORDER BY beginn ASC, projektarbeit_id ASC"; + + if($result_proj = $db->db_query($qry_proj)) + { + while($row_proj = $db->db_fetch_object($result_proj)) + { + $projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel; + $projektarbeit[$row_proj->lehrveranstaltung_id]['titel_en']=$row_proj->titel_english; + $projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich; + $projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note; + $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_bezeichnung']=$row_proj->bezeichnung; + $projektarbeit[$row_proj->lehrveranstaltung_id]['projekttyp_kurzbz']=$row_proj->projekttyp_kurzbz; + } + } + + // Wenn es das letzte Semesterzeugnis ist, wird zusaetzlich die Abschlusspruefung geliefert + if($row->semester==$row->max_semester) + { + + $qry_abschlusspruefung = "SELECT + tbl_abschlusspruefung.datum, + tbl_abschlusspruefung.pruefungstyp_kurzbz, + tbl_abschlussbeurteilung.bezeichnung, + tbl_abschlussbeurteilung.bezeichnung_english + FROM + lehre.tbl_abschlusspruefung + LEFT JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) + WHERE + tbl_abschlusspruefung.student_uid=".$db->db_add_param($uid_arr[$i])." + ORDER BY datum DESC LIMIT 1"; + if($result_abschlusspruefung = $db->db_query($qry_abschlusspruefung)) + { + if($row_abschlusspruefung = $db->db_fetch_object($result_abschlusspruefung)) + { + $xml .= " pruefungstyp_kurzbz."]]>"; + $xml .= " formatDatum($row_abschlusspruefung->datum,'d.m.Y')."]]>"; + $xml .= " bezeichnung."]]>"; + $xml .= " bezeichnung_english."]]>"; + } + } + } + + $obj = new zeugnisnote(); + + $obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz); + + $ects_gesamt = $ects_gesamt_positiv = 0; + $prestudent_id = $row->prestudent_id; + + $prestudent = new prestudent(); + $showAllNoten = false; + $lastPrestudentStatus = $prestudent->getLastStatus($prestudent_id, $studiensemester_kurzbz); + //wenn Incoming, sollen am Zeugnis alle Noten gedruckt werden + if ($lastPrestudentStatus) + $showAllNoten = $prestudent->status_kurzbz === 'Incoming'; + + foreach ($obj->result as $row) + { + if($showAllNoten || $row->zeugnis) + { + if (trim($row->note)!=='' && isset($note_arr[$row->note])) + $note = $note_arr[$row->note]; + else + $note = ""; + $note2=$note; + + //Firma fuer Berufspraktikum + $qry = "SELECT tbl_firma.name + FROM + lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, public.tbl_firma + WHERE + tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND + tbl_projektarbeit.firma_id = tbl_firma.firma_id AND + tbl_projektarbeit.student_uid=".$db->db_add_param($uid_arr[$i])." AND + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND + tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id); + + $firma = ''; + $firma_eng = ''; + if($result_firma = $db->db_query($qry)) + { + if($row_firma = $db->db_fetch_object($result_firma)) + { + if($row_firma->name!='') + { + $firma = " bei Firma: $row_firma->name"; + $firma_eng = " at: $row_firma->name"; + } + } + } + + //Bakk/Dipl Fussnoten + if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit)) + { + $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; + $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten]; + $xml_fussnote .="\n "; + $xml_fussnote .=" ".$fussnotenzeichen[$anzahl_fussnoten].""; + + //$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40); + + $anzahl_nl = substr_count($projektarbeit[$row->lehrveranstaltung_id]['titel'],'\n'); + $nl2=''; + if($projektarbeit[$row->lehrveranstaltung_id]['themenbereich']!='') + { + //$xml_fussnote .=" Themenbereich: "; + $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].']]>'; + $anzahl_nl++; + $nl2='\n'; + } + + /*if($studiengang_typ=='b') + $typ = 'Bachelorarbeit:'; + else + $typ = 'Master Thesis:';*/ + + $nl=''; + $nl2=''; + $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_bezeichnung']."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['projekttyp_kurzbz']."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; + //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; + $note = $projektarbeit[$row->lehrveranstaltung_id]['note']; + //$nl = str_repeat('\n',($anzahl_nl)); + $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:"").$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + + + + $xml_fussnote .=" "; + + $anzahl_fussnoten++; + } + else + { + $bezeichnung = $row->lehrveranstaltung_bezeichnung.$firma; + $bezeichnung_englisch = $row->lehrveranstaltung_bezeichnung_english.$firma_eng; + } + + + $bisio_von = ''; + $bisio_bis = ''; + $bisio_ort = ''; + $bisio_universitaet = ''; + $auslandssemester=false; + + $qry = "SELECT tbl_bisio.* FROM bis.tbl_bisio JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$row->lehrveranstaltung_id' + AND student_uid=".$db->db_add_param($uid_arr[$i]); + if($result_bisio = $db->db_query($qry)) + { + if($row_bisio = $db->db_fetch_object($result_bisio)) + { + $bisio_von = $row_bisio->von; + $bisio_bis = $row_bisio->bis; + $bisio_ort = $row_bisio->ort; + $bisio_universitaet = $row_bisio->universitaet; + $auslandssemester=true; + $note2 = 'ar'; + } + } + + $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($row->lehrveranstaltung_id).")"; + $wochen = 15; + if($result_wochen = $db->db_query($qry)) + { + if($row_wochen = $db->db_fetch_object($result_wochen)) + { + $wochen = $row_wochen->wochen; + } + } + $xml .= "\n "; + $xml .= " "; + $xml .= " "; + $xml .= " note_positiv."]]>"; + $xml .= " "; + $xml .= " semesterstunden==0?'':number_format(sprintf('%.1F',$row->semesterstunden/$wochen),1))."]]>"; + $xml .= " sws==0?'':number_format(sprintf('%.1F',$row->sws),1))."]]>"; + $ectspunkte=''; + + $anrechnung = new anrechnung(); + $anrechnung->getAnrechnungPrestudent($prestudent_id, null, $row->lehrveranstaltung_id); + + if($anrechnung->result != null) + { + $lv = new lehrveranstaltung($anrechnung->result[0]->lehrveranstaltung_id); + if(($lv->ects !== $row->ects) && ($lv->ects != "") && ($lv->ects != null)) + { + $row->ects = $lv->ects; + } + } + + if($row->ects==0 || $row->ects=='') + $ectspunkte=''; + else + { + //Bei 2 Nachkommastellen beide anzeigen, sonst nur 1 + if(number_format($row->ects,1)==number_format($row->ects,2)) + $ectspunkte=number_format($row->ects,1); + else + $ectspunkte=number_format($row->ects,2); + } + $ects_gesamt+=$ectspunkte; + + if ($row->note_positiv === true) + $ects_gesamt_positiv += $ectspunkte; + + $xml .= " "; + $xml .= " lv_lehrform_kurzbz."]]>"; + if($auslandssemester) + { + $xml .= " mktime_fromdate($bisio_von))."]]>"; + $xml .= " mktime_fromdate($bisio_bis))."]]>"; + $xml .= " "; + $xml .= " "; + } + $xml .= " "; + } + } + $xml .= ""; + $xml .= ""; + $xml .= $xml_fussnote; + + } + else + { + $xml .="PERSON NICHT GEFUNDEN / KEIN STATUS"; + } + $xml .= " "; + } + } + $xml .= ""; + echo $xml; +} +?>