diff --git a/rdf/sammelzeugnis.rdf.php b/rdf/sammelzeugnis.rdf.php new file mode 100644 index 000000000..3b2990260 --- /dev/null +++ b/rdf/sammelzeugnis.rdf.php @@ -0,0 +1,245 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ + +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/prestudent.class.php'); +require_once('../include/projektarbeit.class.php'); + +$db = new basis_db(); +$fussnotenzeichen=array('¹)','²)','³)'); +$anzahl_fussnoten=0; +$xml_fussnote = ''; +$test = false; +$bez = ''; + +if(isset($_REQUEST['xmlformat']) && $_REQUEST['xmlformat']=="xml") +{ + $uid = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null); + + echo ""; + echo ""; + echo ""; + + + $qry = "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 + 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 = '".addslashes($uid)."' + AND tbl_studentlehrverband.student_uid=tbl_student.student_uid + AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz + order by semester;"; + + if($result = $db->db_query($qry)) + { + if($row_person = $db->db_fetch_object($result)) + { + $datum_aktuell = date('d.m.Y'); + $gebdatum = date('d.m.Y',strtotime($row_person->gebdatum)); + $studiengang = new studiengang(); + $stgleiter = $studiengang->getLeitung($row_person->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); + } + + echo ' '.$row_person->anrede.''; + echo ' '.$row_person->vorname.''; + echo ' '.$row_person->nachname.''; + echo ' '.trim($row_person->titelpre.' '.trim($row_person->vorname.' '.$row_person->vornamen).' '.mb_strtoupper($row_person->nachname).($row_person->titelpost!=''?', '.$row_person->titelpost:'')).''; + echo ' '.$gebdatum.''; + echo ' '.$row_person->matrikelnr.''; + echo ' '.$row_person->bezeichnung.''; + echo ' '.$row_person->english.''; + echo " ".sprintf('%04s', $row_person->studiengang_kz).""; + echo ' '.$stgl.''; + echo ' '.$datum_aktuell.''; + echo ' '.($row_person->projektarbeit_note_anzeige=='t'?'true':'false').''; + switch ($row_person->typ) + { + case 'b': + $bezeichnung = 'Bachelor'; + break; + case 'm': + $bezeichnung = 'Master'; + break; + case 'd': + $bezeichnung = 'Diplom'; + break; + default: + $bezeichnung = ''; + break; + } + $bez = $row_person->typ; + echo ' '.$bezeichnung.''; + $prestudent = new prestudent(); + + $prestudent->getFirstStatus($row_person->prestudent_id, 'Student'); + echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; + echo ' '.$prestudent->ausbildungssemester.''; + $prestudent->getLastStatus($row_person->prestudent_id, null, 'Student'); + echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; + echo ' '.$prestudent->ausbildungssemester.''; + } + } + + $qry_projektarbeit = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english + FROM lehre.tbl_projektarbeit + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE student_uid='$uid' + AND projekttyp_kurzbz in('Bachelor', 'Diplom') + ORDER BY beginn ASC, projektarbeit_id ASC;"; + + $projektarbeit = array(); + + if($result_projektarbeit = $db->db_query($qry_projektarbeit)) + { + while($row_projektarbeit = $db->db_fetch_object($result_projektarbeit)) + { + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['titel']=$row_projektarbeit->titel; + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['titel_en']=$row_projektarbeit->titel_english; + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['themenbereich']=$row_projektarbeit->themenbereich; + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['note']=$row_projektarbeit->note; + } + } + + $qry ="Select distinct(student.lehrveranstaltung_id), student.uid, student.studiengang_kz, student.kurzbz, student.bezeichnung, student.bezeichnung_english, student.semester, student.semesterstunden, student.ects, student.studiensemester_kurzbz, zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung + from campus.vw_student_lehrveranstaltung student + left join lehre.tbl_zeugnisnote zeugnis on(student.lehrveranstaltung_id = zeugnis.lehrveranstaltung_id AND student.uid = zeugnis.student_uid AND student.studiensemester_kurzbz = zeugnis.studiensemester_kurzbz) + join lehre.tbl_note note using(note) + + where uid = '$uid' and zeugnis = true order by semester;"; + + + $i = 0; + $wochen = 15; + if($result_stud = $db->db_query($qry)) + { + while($row_stud = $db->db_fetch_object($result_stud)) + { + if($i <= 31) + echo " "; + else + echo " "; + + $qry_sws = "SELECT wochen from public.tbl_semesterwochen where studiengang_kz = '".addslashes($row_stud->studiengang_kz)."' + and semester = '".addslashes($row_stud->semester)."';"; + + if($result_sws = $db->db_query($qry_sws)) + { + if($row_sws = $db->db_fetch_object($result_sws)) + { + $wochen = $row_sws->wochen; + } + } + $ssp = $row_stud->semesterstunden / $wochen; + + if(array_key_exists($row_stud->lehrveranstaltung_id, $projektarbeit)) + { + //$bezeichnung = $row_stud->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; + //$bezeichnung_englisch = $row_stud->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_stud->lehrveranstaltung_id]['titel'],'\n'); + $nl2=''; + if($projektarbeit[$row_stud->lehrveranstaltung_id]['themenbereich']!='') + { + $xml_fussnote .=" Themenbereich: "; + $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].'\n]]>'; + $anzahl_nl++; + $nl2='\n'; + } + + if($bez=='b') + $typ = "Bachelor's Thesis:"; + else + $typ = 'Master Thesis:'; + + $nl=''; + $nl2=''; + $xml_fussnote .=" $typ"; + $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; + //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; + $note = $projektarbeit[$row_stud->lehrveranstaltung_id]['note']; + //$nl = str_repeat('\n',($anzahl_nl)); + $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + + $xml_fussnote .=" "; + $anzahl_fussnoten++; + $test = true; + } + + echo " ".number_format($ssp,2).""; + echo " $row_stud->semester"; + echo " $row_stud->kurzbz"; + echo " $row_stud->studiensemester_kurzbz"; + echo " bezeichnung]]>"; + + if($test == true) + echo " bezeichnung_english]]>".$fussnotenzeichen[$anzahl_fussnoten-1].""; + else + echo " bezeichnung_english]]>"; + + echo " $row_stud->ects"; + echo " $row_stud->semesterstunden"; + echo " $row_stud->note"; + echo " $row_stud->note_bezeichnung"; + echo " $row_stud->anmerkung"; + + if($i <= 31) + echo " "; + else + echo " "; + + $i++; + $test = false; + } + + } + echo $xml_fussnote; + echo ""; + echo ""; + +} + + +?> \ No newline at end of file