diff --git a/rdf/konto.rdf.php b/rdf/konto.rdf.php index 527518efa..5bf85e21f 100644 --- a/rdf/konto.rdf.php +++ b/rdf/konto.rdf.php @@ -37,32 +37,37 @@ echo ''; // DAO require_once('../vilesci/config.inc.php'); require_once('../include/konto.class.php'); -require_once('../include/functions.inc.php'); +//require_once('../include/functions.inc.php'); // Datenbank Verbindung -if (!$conn = @pg_pconnect(CONN_STRING)) +if (!$conn = pg_pconnect(CONN_STRING)) $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; -$user = get_uid(); - $hier=''; +if(isset($_GET['xmlformat'])) +{ + $xmlformat=$_GET['xmlformat']; +} +else + $xmlformat='rdf'; + if(isset($_GET['person_id']) && is_numeric($_GET['person_id'])) { $person_id=$_GET['person_id']; } -else +else $person_id=''; if(isset($_GET['filter'])) $filter=$_GET['filter']; -else +else $filter='alle'; if(isset($_GET['buchungsnr']) && is_numeric($_GET['buchungsnr'])) { $buchungsnr = $_GET['buchungsnr']; } -else +else $buchungsnr = ''; $konto = new konto($conn, null, true); @@ -76,11 +81,13 @@ elseif($buchungsnr!='') if(!$konto->load($buchungsnr)) die($konto->errormsg); } -else +else die('Falsche Parameteruebergabe'); +// ----------------------------------- RDF -------------------------------------- $rdf_url='http://www.technikum-wien.at/konto'; - +if ($xmlformat=='rdf') +{ ?> buchungsnr."\" >"; - + if(isset($konto->result[$buchung->buchungsnr]['childs'])) { //2. Ebene foreach ($konto->result[$buchung->buchungsnr]['childs'] as $row) - { + { if(is_object($row)) { drawrow($row); - + $hier.=" buchungsnr.'" />'; } } } - $hier.=" + $hier.=" "; - + } } -else +else { $hier.="buchungsnr.'" />'; drawrow($konto); @@ -155,6 +162,55 @@ else echo $hier; ?> - - +\n"; + function drawrow_xml($row) + { + echo " + + buchungsnr."]]> + person_id."]]> + studiengang_kz."]]> + studiensemester_kurzbz."]]> + buchungsnr_verweis."]]> + betrag."]]> + buchungsdatum."]]> + buchungstext."]]> + mahnspanne."]]> + buchungstyp_kurzbz."]]> + updateamum."]]> + updatevon."]]> + insertamum."]]> + "; + } + function drawperson_xml($row) + { + echo " + + person_id."]]> + anrede."]]> + titelpost."]]> + titelpre."]]> + nachname."]]> + vorname."]]> + vornamen."]]> + "; + } + + if($person_id!='') + foreach ($konto->result as $buchung) + drawrow_xml($buchung); + else + { + drawperson_xml($konto); + drawrow_xml($konto); + } + + echo "\n"; +} +?> \ No newline at end of file diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php new file mode 100644 index 000000000..170b72c19 --- /dev/null +++ b/rdf/lehrauftrag.xml.php @@ -0,0 +1,229 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/* Erstellt einen Lehrauftrag im PDF Format + * + * Erstellt ein XML File fuer den Lehrauftrag + */ +require_once('../vilesci/config.inc.php'); +require_once('../include/functions.inc.php'); +require_once('../include/benutzerberechtigung.class.php'); +require_once('../include/studiengang.class.php'); +require_once('../include/lehreinheit.class.php'); +require_once('../include/fachbereich.class.php'); + +// header für no cache +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"); + +//Parameter holen +if(isset($_GET['uid'])) + $uid = $_GET['uid']; +else + die('Fehlerhafte Parameteruebergabe'); +if(isset($_GET['stg_kz'])) + $studiengang_kz = $_GET['stg_kz']; +else + die('Fehlerhafte Parameteruebergabe'); +if(isset($_GET['ss'])) + $ss = $_GET['ss']; +else + die('Fehlerhafte Parameteruebergabe'); + + +// Datenbank Verbindung +if (!$conn = pg_pconnect(CONN_STRING)) + die('Es konnte keine Verbindung zum Server aufgebaut werden!'); + +//String der laenger als limit ist wird +//abgeschnitten und '...' angehaengt +function CutString($strVal, $limit) +{ + if(strlen($strVal) > $limit+3) + return substr($strVal, 0, $limit) . "..."; + else + return $strVal; +} + +// GENERATE XML +$xml = ' + + FH-'; +//Studiengang +$studiengang = new studiengang($conn, $studiengang_kz); + +if($studiengang->typ=='d') + $xml.= 'Diplom-'; +elseif($studiengang->typ=='m') + $xml.= 'Master-'; +elseif($studiengang->typ=='b') + $xml.= 'Bachelor-'; + +$xml.= 'Studiengang '.$studiengang->bezeichnung.''; + +//Studiensemester +if(substr($ss,0,2)=='WS') + $studiensemester = 'Wintersemester '.substr($ss,2); +else + $studiensemester = 'Sommersemester '.substr($ss,2); +$xml.=" + $studiensemester"; + +//Lektor +$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_adresse USING(person_id) WHERE uid='".addslashes($uid)."' ORDER BY zustelladresse LIMIT 1"; + +if($result = pg_query($conn, $qry)) +{ + if($row = pg_fetch_object($result)) + { + $xml.=' + + '.$row->titelpre.' + '.$row->vorname.' + '.$row->nachname.' + '.$row->titelpost.' + '.$row->strasse.' + '.$row->plz.' + '.$row->ort.' + '.$row->svnr.' + '.$row->personalnummer.' + '; + } +} + +//Lehreinheiten +$fb_arr = array(); +$fachbereich_obj = new fachbereich($conn); +$fachbereich_obj->getAll(); +foreach ($fachbereich_obj->result as $fb) + $fb_arr[$fb->fachbereich_kurzbz] = $fb->bezeichnung; + +$lehreinheit = new lehreinheit($conn); +$qry = "SELECT * FROM campus.vw_lehreinheit WHERE lv_studiengang_kz='".addslashes($studiengang_kz)."' AND mitarbeiter_uid='".addslashes($uid)."' AND studiensemester_kurzbz='$ss' ORDER BY lehreinheit_id"; + +if($result = pg_query($conn, $qry)) +{ + $last_le=''; + $gesamtkosten = 0; + $gesamtstunden = 0; + $gruppen = array(); + $grp=''; + while($row = pg_fetch_object($result)) + { + if($last_le!=$row->lehreinheit_id && $last_le!='') + { + array_unique($gruppen); + foreach ($gruppen as $gruppe) + $grp.=$gruppe.' '; +$xml.=' + + '.$lehreinheit_id.' + '.$lehrveranstaltung.' + '.$fb_arr[$fachbereich].' + '.trim($grp).' + '.$stunden.' + '.$satz.' + '.$faktor.' + '.number_format($brutto,2,',','.').' + '; + + $gesamtkosten = $gesamtkosten + $brutto; + $gesamtstunden = $gesamtstunden + $stunden; + + $lehreinheit_id=''; + $lehrveranstaltung = ''; + $fachbereich = ''; + $gruppen= array(); + $stunden = ''; + $satz = ''; + $faktor = ''; + $brutto = ''; + $grp=''; + } + + $lehreinheit_id=$row->lehreinheit_id; + $lehrveranstaltung = CutString($row->lv_bezeichnung,30).' '.$row->lehrform_kurzbz.' '.$row->semester.'. Semester'; + $fachbereich = $row->fachbereich_kurzbz; + + if($row->gruppe_kurzbz!='') + $gruppen[] = $row->gruppe_kurzbz; + else + $gruppen[] = $row->semester.$row->verband.$row->gruppe.' '; + + $stunden = $row->semesterstunden; + $satz = $row->stundensatz; + $faktor = $row->faktor; + $brutto = $row->semesterstunden*$row->stundensatz*$row->faktor; + $last_le=$row->lehreinheit_id; + } + array_unique($gruppen); + foreach ($gruppen as $gruppe) + $grp.=$gruppe.' '; +$xml.=' + + '.(isset($lehreinheit_id)?$lehreinheit_id:'').' + '.(isset($lehrveranstaltung)?$lehrveranstaltung:'').' + '.(isset($fachbereich)?$fb_arr[$fachbereich]:'').' + '.trim($grp).' + '.(isset($stunden)?$stunden:'').' + '.(isset($satz)?$satz:'').' + '.(isset($faktor)?$faktor:'').' + '.(isset($brutto)?number_format($brutto,2,',','.'):'').' + '; + + if(isset($brutto)) + $gesamtkosten = $gesamtkosten + $brutto; + if(isset($stunden)) + $gesamtstunden = $gesamtstunden + $stunden; +} + +// Gesamtstunden und Gesamtkosten +$xml.=" + $gesamtstunden + ".number_format($gesamtkosten,2,',','.').""; + +//Studiengangsleiter +$qry = "SELECT titelpre, vorname, nachname, titelpost FROM public.tbl_benutzerfunktion, public.tbl_person, public.tbl_benutzer WHERE + funktion_kurzbz='stgl' AND studiengang_kz='".addslashes($studiengang_kz)."' + AND tbl_benutzerfunktion.uid=tbl_benutzer.uid AND tbl_benutzer.person_id=tbl_person.person_id"; +if($result = pg_query($conn, $qry)) +{ + if($row = pg_fetch_object($result)) + { + $stgl = trim($row->titelpost.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost); +$xml.=" + $stgl"; + } +} + +$xml.= ' + '.date('d.m.Y').' + +'; + +// END GENERATE XML +echo $xml; + +?> \ No newline at end of file