From 2a622393be8ff8d8009fe6c7de23be19195f1be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 21 Aug 2007 12:03:55 +0000 Subject: [PATCH] --- rdf/zeugnis.rdf.php | 88 ++++++++++++++++++++++++++- vilesci/admin/xslvorlagen/zeugnis.xsl | 24 ++++++++ 2 files changed, 109 insertions(+), 3 deletions(-) diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index cf3366ee7..1d92805f8 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -41,6 +41,31 @@ if (!$conn = pg_pconnect(CONN_STRING)) //$user = get_uid(); //loadVariables($conn, $user); $datum = new datum(); +$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") { @@ -78,7 +103,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") for ($i = 0; $i < sizeof($uid_arr); $i++) { - $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_studentlehrverband.semester, tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_studiensemester.bezeichnung as sembezeichnung 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 = '".$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 = '".$studiensemester_kurzbz."'"; + $anzahl_fussnoten=0; + $studiengang_typ=''; + $xml_fussnote=''; + + $query = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.bezeichnung, tbl_studentlehrverband.semester, tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, tbl_person.titelpost, tbl_studiensemester.bezeichnung as sembezeichnung 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 = '".$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 = '".$studiensemester_kurzbz."'"; if($result = pg_query($conn, $query)) { if(!$row = pg_fetch_object($result)) @@ -104,6 +133,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $bezeichnung='Diplom-Studiengang'; else $bezeichnung='Studiengang'; + $studiengang_typ=$row->typ; + $xml .= " ".$bezeichnung.""; $xml .= " ".sprintf('%04s', $row->studiengang_kz).""; $xml .= "\n ".$row->vorname.""; @@ -116,6 +147,16 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $datum_aktuell = date('d.m.Y'); $xml .= " Wien, am ".$datum_aktuell.""; + $qry_proj = "SELECT lehrveranstaltung_id, titel, themenbereich, note FROM lehre.tbl_projektarbeit JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE student_uid='".$uid_arr[$i]."' AND studiensemester_kurzbz='$studiensemester_kurzbz'"; + if($result_proj = pg_query($conn, $qry_proj)) + { + while($row_proj = pg_fetch_object($result_proj)) + { + $projektarbeit[$row_proj->lehrveranstaltung_id]['titel']=$row_proj->titel; + $projektarbeit[$row_proj->lehrveranstaltung_id]['themenbereich']=$row_proj->themenbereich; + $projektarbeit[$row_proj->lehrveranstaltung_id]['note']=$row_proj->note; + } + } $qry = "SELECT wochen FROM public.tbl_semesterwochen WHERE studiengang_kz='$row->studiengang_kz' AND semester='$row->semester'"; $wochen = 15; @@ -138,15 +179,56 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $note = $note_arr[$row->note]; else $note = ""; + + if(array_key_exists($row->lehrveranstaltung_id, $projektarbeit)) + { + $bezeichnung = $row->lehrveranstaltung_bezeichnung.' '.$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 .=" ".$projektarbeit[$row->lehrveranstaltung_id]['themenbereich'].'\n'; + $anzahl_nl++; + $nl2='\n'; + } + + if($studiengang_typ=='b') + $typ = 'Bachelorarbeit:'; + else + $typ = 'Diplomarbeit:'; + + $xml_fussnote .=" $typ"; + $xml_fussnote .=" ".$projektarbeit[$row->lehrveranstaltung_id]['titel'].$nl2.""; + $note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; + $nl = str_repeat('\n',($anzahl_nl)); + $xml_fussnote .=' '.$note.$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + + + + $xml_fussnote .=" "; + + $anzahl_fussnoten++; + } + else + $bezeichnung = $row->lehrveranstaltung_bezeichnung; + $xml .= "\n "; - $xml .= " ".$row->lehrveranstaltung_bezeichnung.""; + $xml .= " ".$bezeichnung.""; $xml .= " ".$note.""; $xml .= " ".sprintf('%.1f',$row->semesterstunden/$wochen).""; $xml .= " ".$row->ects.""; $xml .= " "; } } - + $xml .= $xml_fussnote; $xml .= " "; } $xml .= ""; diff --git a/vilesci/admin/xslvorlagen/zeugnis.xsl b/vilesci/admin/xslvorlagen/zeugnis.xsl index 13b0fe391..21ebaa718 100644 --- a/vilesci/admin/xslvorlagen/zeugnis.xsl +++ b/vilesci/admin/xslvorlagen/zeugnis.xsl @@ -127,6 +127,13 @@ + + + + + + + @@ -236,4 +243,21 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file