From 503bf70d9be7a08aa9165938ad8d20f3b08e4a8f Mon Sep 17 00:00:00 2001 From: Christian Paminger Date: Thu, 23 Aug 2007 14:23:38 +0000 Subject: [PATCH] --- rdf/student.rdf.php | 151 ++++---- system/sync/sync_config.inc.php | 5 +- vilesci/left.php | 345 ++++++++++-------- vilesci/personen/student_vorrueckung.php | 223 +++++++++++ .../imexport/zutrittskarten/export.php | 12 +- 5 files changed, 503 insertions(+), 233 deletions(-) create mode 100644 vilesci/personen/student_vorrueckung.php diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 8fa4f26fe..bd7c1476e 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -24,73 +24,21 @@ require_once('../include/studiensemester.class.php'); require_once('../include/prestudent.class.php'); require_once('../include/studiengang.class.php'); -// Datenbank Verbindung -if (!$conn = pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - +// *********** Funktionen *************************++ function convdate($date) { list($d,$m,$y) = explode('.',$date); return $y.'-'.$m.'-'.$d; } - -if(isset($_SERVER['REMOTE_USER'])) -{ - $user = get_uid(); - loadVariables($conn, $user); -} - -$gruppe_kurzbz=(isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:null); -$gruppe=(isset($_GET['gruppe'])?$_GET['gruppe']:null); -$verband=(isset($_GET['verband'])?$_GET['verband']:null); -$semester=(isset($_GET['semester'])?$_GET['semester']:null); -$studiengang_kz=(isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:null); -$studiensemester_kurzbz = (isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:null); -$uid = (isset($_GET['uid'])?$_GET['uid']:null); -$typ = (isset($_GET['typ'])?$_GET['typ']:null); -$prestudent_id = (isset($_GET['prestudent_id'])?$_GET['prestudent_id']:null); -$filter = (isset($_GET['filter'])?$_GET['filter']:null); -$ss = (isset($_GET['ss'])?$_GET['ss']:null); -$filter2 = (isset($_GET['filter2'])?$_GET['filter2']:null); - -if($studiensemester_kurzbz=='aktuelles') - $studiensemester_kurzbz = $semester_aktuell; - -if(isset($_GET['xmlformat']) && $_GET['xmlformat']=='xml') - $xmlformat='xml'; -else - $xmlformat='rdf'; - -$datum_obj = new datum(); - -if($xmlformat=='rdf') -{ - $stg_arr = array(); - $stg_obj = new studiengang($conn, null, null); - $stg_obj->getAll(null, false); - foreach ($stg_obj->result as $row) - $stg_arr[$row->studiengang_kz]=$row->kuerzel; - - $rdf_url='http://www.technikum-wien.at/student'; - echo ' - - - - - '; - function checkfilter($row, $filter2) { global $conn; - + if($filter2=='dokumente') { - $qry = "SELECT count(*) as anzahl FROM public.tbl_dokumentstudiengang WHERE + $qry = "SELECT count(*) as anzahl FROM public.tbl_dokumentstudiengang WHERE dokument_kurzbz NOT IN( - SELECT dokument_kurzbz FROM tbl_dokumentprestudent WHERE prestudent_id='$row->prestudent_id') + SELECT dokument_kurzbz FROM tbl_dokumentprestudent WHERE prestudent_id='$row->prestudent_id') AND studiengang_kz='$row->studiengang_kz'"; if($result_filter = pg_query($conn, $qry)) if($row_filter = pg_fetch_object($result_filter)) @@ -105,14 +53,14 @@ if($xmlformat=='rdf') if($row_filter->summe=='0.00') return false; } - return true; + return true; } - + function draw_content_liste($row) { global $rdf_url, $datum_obj, $conn, $stg_arr; $status=''; - + $mail_privat = ''; /*$qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; if($result_mail = pg_query($conn, $qry_mail)) @@ -126,7 +74,7 @@ if($xmlformat=='rdf') $prestudent = new prestudent($conn, null, null); $prestudent->getLastStatus($row->prestudent_id); $status = $prestudent->rolle_kurzbz; - + echo ' @@ -148,19 +96,19 @@ if($xmlformat=='rdf') matrikelnr)?$row->matrikelnr:'').']]> uid)?$row->uid.'@'.DOMAIN:'').']]> - + '.($row->anmerkungen==''?' ':'anmerkungen.']]>').' studiengang_kz.']]> - studiengang_kz].']]> + studiengang_kz].']]> '; } - + function draw_content($row) { global $rdf_url, $datum_obj, $conn; $status=''; - + $mail_privat = ''; /*$qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$row->person_id' AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; if($result_mail = pg_query($conn, $qry_mail)) @@ -170,7 +118,7 @@ if($xmlformat=='rdf') $mail_privat = $row_mail->kontakt; } }*/ - + if($row->prestudent_id!='') { $prestudent = new prestudent($conn, null, null); @@ -249,12 +197,68 @@ if($xmlformat=='rdf') } } +// ******* Init ************************** +// Datenbank Verbindung +if (!$conn = pg_pconnect(CONN_STRING)) + $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; + + +if(isset($_SERVER['REMOTE_USER'])) +{ + $user = get_uid(); + loadVariables($conn, $user); +} + +$gruppe_kurzbz=(isset($_GET['gruppe_kurzbz'])?$_GET['gruppe_kurzbz']:null); +$gruppe=(isset($_GET['gruppe'])?$_GET['gruppe']:null); +$verband=(isset($_GET['verband'])?$_GET['verband']:null); +$semester=(isset($_GET['semester'])?$_GET['semester']:null); +$studiengang_kz=(isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:null); +$studiensemester_kurzbz = (isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:null); +$uid = (isset($_GET['uid'])?$_GET['uid']:null); +$typ = (isset($_GET['typ'])?$_GET['typ']:null); +$prestudent_id = (isset($_GET['prestudent_id'])?$_GET['prestudent_id']:null); +$filter = (isset($_GET['filter'])?$_GET['filter']:null); +$ss = (isset($_GET['ss'])?$_GET['ss']:null); +$filter2 = (isset($_GET['filter2'])?$_GET['filter2']:null); + +if($studiensemester_kurzbz=='aktuelles') + $studiensemester_kurzbz = $semester_aktuell; + +if(isset($_GET['xmlformat']) && $_GET['xmlformat']=='xml') + $xmlformat='xml'; +else + $xmlformat='rdf'; + +$datum_obj = new datum(); + +// ************ Beginn ************************** + +if($xmlformat=='rdf') +{ + $stg_arr = array(); + $stg_obj = new studiengang($conn, null, null); + $stg_obj->getAll(null, false); + foreach ($stg_obj->result as $row) + $stg_arr[$row->studiengang_kz]=$row->kuerzel; + + $rdf_url='http://www.technikum-wien.at/student'; + echo ' + + + + + '; + if(isset($uid)) { $student=new student($conn,null,true); $student->load($uid, $studiensemester_kurzbz); $prestd = new prestudent($conn, null, true); - + draw_content($student); $prestd->load($student->prestudent_id); draw_prestudent($prestd); @@ -270,27 +274,28 @@ if($xmlformat=='rdf') $where.=" AND tbl_benutzergruppe.studiensemester_kurzbz='$studiensemester_kurzbz'"; } else - { + { $where.=" tbl_studentlehrverband.studiengang_kz=$studiengang_kz"; if ($semester!=null) $where.=" AND tbl_studentlehrverband.semester=$semester"; if ($verband!=null) $where.=" AND tbl_studentlehrverband.verband='".$verband."'"; if ($gruppe!=null) - $where.=" AND tbl_studentlehrverband.gruppe='".$gruppe."'"; - } + $where.=" AND tbl_studentlehrverband.gruppe='".$gruppe."'"; + } $where.=" AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz'"; - - $sql_query = "SET CLIENT_ENCODING TO 'UNICODE'; SELECT tbl_person.person_id, tbl_student.prestudent_id, tbl_benutzer.uid, tbl_person.titelpre, + + $sql_query = "SET CLIENT_ENCODING TO 'UNICODE'; SELECT tbl_person.person_id, tbl_student.prestudent_id, tbl_benutzer.uid, tbl_person.titelpre, tbl_person.titelpost, tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname, tbl_person.gebdatum, tbl_person.anmerkungen, tbl_person.ersatzkennzeichen, - tbl_person.svnr, tbl_student.matrikelnr, tbl_studentlehrverband.semester, + tbl_person.svnr, tbl_student.matrikelnr, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, tbl_studentlehrverband.studiengang_kz FROM public.tbl_person, public.tbl_student, public.tbl_benutzer, public.tbl_studentlehrverband"; if($gruppe_kurzbz!=null) $sql_query.= ",public.tbl_benutzergruppe"; $sql_query.= " WHERE tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname"; + echo $sql_query; if($result = pg_query($conn, $sql_query)) while($row = pg_fetch_object($result)) { @@ -498,7 +503,7 @@ else $semester = $row->ausbildungssemester; } } - + echo ' uid.']]> diff --git a/system/sync/sync_config.inc.php b/system/sync/sync_config.inc.php index 535c23fd9..513150727 100644 --- a/system/sync/sync_config.inc.php +++ b/system/sync/sync_config.inc.php @@ -1,6 +1,7 @@ - + + + diff --git a/vilesci/personen/student_vorrueckung.php b/vilesci/personen/student_vorrueckung.php new file mode 100644 index 000000000..9d195e0e2 --- /dev/null +++ b/vilesci/personen/student_vorrueckung.php @@ -0,0 +1,223 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/functions.inc.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$s=new studiengang($conn); +$s->getAll('typ, kurzbz', true); +$studiengang=$s->result; + +$ss = new studiensemester($conn); +$ss->getAll(); +foreach($ss->studiensemester as $studiensemester) +{ + $ss_arr[] = $studiensemester->studiensemester_kurzbz; +} + + +$user = get_uid(); + +if (isset($_GET['stg_kz']) || isset($_POST['stg_kz'])) + $stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']); +else + $stg_kz=0; +if (isset($_GET['semester']) || isset($_POST['semester'])) + $semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']); +else + $semester=0; +if (isset($_GET['studiensemester_kurzbz']) || isset($_POST['studiensemester_kurzbz'])) + $studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:$_POST['studiensemester_kurzbz']); +else + $studiensemester_kurzbz=null; +if (is_null($studiensemester_kurzbz)) + $studiensemester_kurzbz=$ss->getaktorNext(); +//echo $studiensemester_kurzbz; + + +if(!is_numeric($stg_kz)) + $stg_kz=0; +if(!is_numeric($semester)) + $semester=0; + + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) +{ + //Lehre Feld setzen + if(isset($_GET['lehre'])) + { + $qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehre=".($_GET['lehre']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'"; + if(!pg_query($conn, $qry)) + echo "Fehler beim Speichen!"; + else + echo "Erfolgreich gespeichert"; + } + + //Aktiv Feld setzen + if(isset($_GET['aktiv'])) + { + $qry = "UPDATE lehre.tbl_lehrveranstaltung SET aktiv=".($_GET['aktiv']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'"; + if(!pg_query($conn, $qry)) + echo "Fehler beim Speichen!"; + else + echo "Erfolgreich gespeichert"; + } + + //Zeugnis Feld setzen + if(isset($_GET['zeugnis'])) + { + $qry = "UPDATE lehre.tbl_lehrveranstaltung SET zeugnis=".($_GET['zeugnis']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'"; + if(!pg_query($conn, $qry)) + echo "Fehler beim Speichen!"; + else + echo "Erfolgreich gespeichert"; + } + + //Lehrevz Speichern + if(isset($_POST['lehrevz'])) + { + $qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'"; + if(!pg_query($conn, $qry)) + echo "Fehler beim Speichern!"; + else + echo "Erfolgreich gespeichert"; + } +} + +$sql_query="SELECT tbl_student.*,tbl_person.* FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) + JOIN tbl_benutzer ON (student_uid=uid) + JOIN tbl_person USING (person_id) + WHERE tbl_studentlehrverband.studiengang_kz='$stg_kz' AND tbl_studentlehrverband.semester='$semester' AND studiensemester_kurzbz='$studiensemester_kurzbz' + ORDER BY nachname"; +//echo $sql_query; +if (!$result_std=pg_query($conn, $sql_query)) + error("Studenten not found!"); +$outp=''; + +// ****************************** Vorruecken ****************************** +if (isset($_POST['vorr'])) +{ + $next_ss='WS2007'; + while($row=pg_fetch_object($result_std)) + { + $s=$row->semester+1; + $sql="INSERT INTO tbl_studentlehrverband + VALUES ('$row->student_uid','$next_ss','$row->studiengang_kz', + '$s','$row->verband','$row->gruppe',NULL,NULL,now(),'$user',NULL); + INSERT INTO tbl_prestudentrolle + VALUES ($row->prestudent_id,'Student','$next_ss',$s,now(),now(),'$user',NULL,NULL,NULL); + UPDATE tbl_student SET semester=$s WHERE student_uid='$row->student_uid'"; + if (!$r=pg_query($conn, $sql)) + die(pg_last_error($conn)); + } + +} + +// **************** Ausgabe vorbereiten ****************************** +$s=array(); +$outp.="'; + +$outp.="\n"; + +$outp.= '
-- '; +for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++) + $outp.= ''.$i.' -- '; +?> + + + +Studenten Vorrueckung + + + + + + +Studenten Vorrueckung (".$s[$stg_kz]->kurzbz." - ".$semester." - ".$studiensemester_kurzbz.")"; + +echo '
'; +echo '
'; +echo $outp; +echo ''; +echo ''; +echo ' 
'; +echo '
'; + +echo "

Übersicht

+ + + "; + +if ($result_std!=0) +{ + $num_rows=pg_num_rows($result_std); + echo 'Anzahl: '.$num_rows; + echo "\n"; + echo ""; + echo ""; + for($i=0;$i<$num_rows;$i++) + { + $row=pg_fetch_object($result_std,$i); + echo ""; + echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + echo "\n"; + } + +} +else + echo "Kein Eintrag gefunden!"; +?> + +
NachnameVornameSTGSemVerGrp
$row->nachname$row->vorname$row->studiengang_kz$row->semester$row->verband$row->gruppelehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&lehre=$row->lehre'>
lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&aktiv=$row->aktiv'>$row->sortlehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&zeugnis=$row->zeugnis'>
+ +
+ + \ No newline at end of file diff --git a/vilesci/stammdaten/imexport/zutrittskarten/export.php b/vilesci/stammdaten/imexport/zutrittskarten/export.php index b2bbcd3f0..c7c727813 100644 --- a/vilesci/stammdaten/imexport/zutrittskarten/export.php +++ b/vilesci/stammdaten/imexport/zutrittskarten/export.php @@ -47,7 +47,7 @@ if(!$result_neu=pg_exec($conn, $sql_query)) // Updates von Zutrittskarten $sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer,firstname,name,key, max(tbl_benutzer.uid) AS uid, max(matrikelnr) AS matrikelnr, max(kurzbzlang) AS stg_kurzbzlang, - upper(max(typ) || max(kurzbz)) AS stg_kurzbz, + upper(max(typ) || max(kurzbz)) AS stg_kurzbz, text1, EXTRACT(DAY FROM vw_betriebsmittelperson.insertamum) AS tag, EXTRACT(MONTH FROM vw_betriebsmittelperson.insertamum) AS monat, EXTRACT(YEAR FROM vw_betriebsmittelperson.insertamum) AS jahr @@ -57,8 +57,8 @@ $sql_query="SELECT svnr,vorname,nachname,nummerintern,nummer,firstname,name,key, USING (person_id) JOIN sync.tbl_zutrittskarte ON (physaswnumber=nummer) WHERE trim(vw_betriebsmittelperson.nachname)!=trim(tbl_zutrittskarte.name) OR trim(vw_betriebsmittelperson.vorname)!=trim(tbl_zutrittskarte.firstname) - OR trim(vw_betriebsmittelperson.nummerintern)!=trim(tbl_zutrittskarte.key) - GROUP BY svnr,vorname,nachname,nummerintern,nummer,firstname,name,key,vw_betriebsmittelperson.insertamum;"; + OR trim(vw_betriebsmittelperson.uid)!=trim(tbl_zutrittskarte.text1) + GROUP BY svnr,vorname,nachname,nummerintern,nummer,firstname,name,key,vw_betriebsmittelperson.insertamum,text1;"; //echo $sql_query; if(!$result_upd=pg_exec($conn, $sql_query)) die(pg_errormessage().'
'.$sql_query); @@ -143,11 +143,11 @@ while ($row=pg_fetch_object($result_upd)) if ($gruppe=='') $gruppe='Verwaltung'; $worksheet->write($z,0, $command); - $worksheet->write($z,1, $row->nummerintern); + $worksheet->write($z,1, $row->key); $worksheet->write($z,2, $row->nachname); $worksheet->write($z,3, $row->vorname); $worksheet->write($z,4, $gruppe); - $worksheet->write($z,5, $row->nummerintern); + $worksheet->write($z,5, $row->key); $worksheet->write($z,6, $row->nummer); $worksheet->write($z,7, $row->tag.'.'.$row->monat.'.'.$row->jahr); $worksheet->write($z,8, $row->tag.'.'.$row->monat.'.'.($row->jahr+5)); @@ -155,7 +155,7 @@ while ($row=pg_fetch_object($result_upd)) $worksheet->write($z,10,$row->matrikelnr); $worksheet->write($z,11,''); $worksheet->write($z,12,''); - $worksheet->write($z,13,$row->key); + $worksheet->write($z,13,$row->text1); $worksheet->write($z,14,$row->name); $worksheet->write($z,15,$row->firstname); $worksheet->write($z,16,'0');