From dbe6746abe3be2efbf0d6b072fc8ae949ab8d0cd Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Thu, 14 Jan 2016 09:59:23 +0100 Subject: [PATCH] =?UTF-8?q?bisio=20mit=20allen=20n=C3=B6tigen=20Abh=C3=A4n?= =?UTF-8?q?gigkeiten=20f=C3=BCr=20"eine=20UID"=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lehre/anwesenheitsliste_bilder.html.php | 58 +- .../lehre/anwesenheitsliste_bilder.pdf.php | 26 +- cis/private/lehre/notenliste.xls.php | 118 +- cis/private/profile/studienplan.php | 36 +- content/fasoverlay.js.php | 125 +- content/fasoverlay.xul.php | 714 +++++----- content/student/studentDBDML.php | 26 +- content/student/studentdetailoverlay.xul.php | 119 +- content/student/studentiooverlay.xul.php | 493 +++---- content/student/studentnotenoverlay.xul.php | 553 ++++---- content/student/studentoverlay.js.php | 685 +++++----- include/bisio.class.php | 654 ++++----- include/dokument.class.php | 1 + include/tw/anwesenheitsliste.inc.php | 104 +- include/tw/anwesenheitsliste_bilder.inc.php | 2 +- include/zeugnisnote.class.php | 80 +- rdf/anwesenheit.rdf.php | 6 +- rdf/anwesenheitsliste.xml.php | 8 +- rdf/bisio.rdf.php | 36 +- rdf/diplomasupplement.xml.php | 552 ++++---- rdf/student.rdf.php | 4 +- rdf/studienerfolg.rdf.php | 82 +- rdf/zeugnis.rdf.php | 807 +++++------ rdf/zeugnisnote.rdf.php | 29 +- soap/stip.class.php | 1051 ++++++++------- system/konsistenzpruefung.php | 192 +-- vilesci/bis/lehrgangsmeldung.php | 1178 ++++++++--------- vilesci/bis/studentenmeldung.php | 108 +- vilesci/statistik/outgoing.php | 36 +- 29 files changed, 3944 insertions(+), 3939 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste_bilder.html.php b/cis/private/lehre/anwesenheitsliste_bilder.html.php index d138f9704..71f485048 100644 --- a/cis/private/lehre/anwesenheitsliste_bilder.html.php +++ b/cis/private/lehre/anwesenheitsliste_bilder.html.php @@ -27,7 +27,7 @@ require_once('../../../config/cis.config.inc.php'); // ------------------------------------------------------------------------------------------ -// Datenbankanbindung +// Datenbankanbindung // ------------------------------------------------------------------------------------------ require_once('../../../include/basis_db.class.php'); if (!$db = new basis_db()) @@ -39,7 +39,7 @@ require_once('../../../include/lehrveranstaltung.class.php'); error_reporting(E_ALL); ini_set('display_errors','1'); - + //Uebergabeparameter abpruefen if(isset($_GET['stg'])) //Studiengang { @@ -48,21 +48,21 @@ else die('Fehler bei der Parameteruebergabe'); } - else + else $stg=''; if(isset($_GET['sem'])) //Semester { if(is_numeric($_GET['sem'])) $sem=$_GET['sem']; - else + else die('Fehler bei der Parameteruebergabe'); } - else + else $sem=''; - + if(isset($_GET['verband'])) //Verband $verband=$_GET['verband']; - else + else $verband=''; if(isset($_GET['gruppe'])) //Gruppe $gruppe=$_GET['gruppe']; @@ -70,17 +70,17 @@ $gruppe=''; if(isset($_GET['gruppe_kurzbz'])) //Einheit $gruppe_kurzbz = $_GET['gruppe_kurzbz']; - else + else $gruppe_kurzbz=''; - + if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) $lvid = $_GET['lvid']; - else + else die('Fehler bei der Parameteruebergabe'); - + if(isset($_GET['stsem'])) $stsem = $_GET['stsem']; - else + else die('Studiensemester wurde nicht uebergeben'); $lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:''); @@ -93,7 +93,7 @@ '; - + $stgobj=new studiengang(); $stgobj->load($stg); //Logo @@ -107,7 +107,7 @@ echo 'Anwesenheitsliste '.$lvobj $qry = "SELECT distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, semester, verband, gruppe, gruppe_kurzbz from campus.vw_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND studiensemester_kurzbz='".addslashes($stsem)."'"; if($lehreinheit_id!='') $qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'"; - + $gruppen=''; if($result = $db->db_query($qry)) { @@ -124,7 +124,7 @@ if($result = $db->db_query($qry)) echo "
Gruppe: $gruppen"; echo "
Studiensemester: $stsem"; - + echo " @@ -145,25 +145,25 @@ $stsem_obj = new studiensemester(); $stsem_obj->load($stsem); $stsemdatumvon = $stsem_obj->start; $stsemdatumbis = $stsem_obj->ende; -$qry = "SELECT +$qry = "SELECT distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von, - tbl_zeugnisnote.note - FROM - campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) + tbl_zeugnisnote.note + FROM + campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND + LEFT JOIN bis.tbl_bisio ON(public.tbl_student.prestudent_id=tbl_bisio.prestudent_id) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'"; if($lehreinheit_id!='') $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'"; - + $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; if($result = $db->db_query($qry)) @@ -178,15 +178,15 @@ if($result = $db->db_query($qry)) { if($elem->status=='Incoming') $inc=' (i)'; - else + else $inc=''; - + if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing $inc.=' (o)'; - + if($elem->note==6) //angerechnet $inc.=' (ar)'; - + echo "$elem->nachname $elem->vorname"; echo "".trim($elem->matrikelnr).""; echo ''.$elem->semester.$elem->verband.$elem->gruppe.''; @@ -203,4 +203,4 @@ Fachhochschulstudiengang ('.strtoupper($stgobj->typ).') '.$stgobj->bezeichnung; echo ''; echo ''; -?> \ No newline at end of file +?> diff --git a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php index bec92f46f..6a524b346 100644 --- a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php +++ b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php @@ -29,17 +29,17 @@ require_once('../../../config/cis.config.inc.php'); // ------------------------------------------------------------------------------------------ -// Datenbankanbindung +// Datenbankanbindung // ------------------------------------------------------------------------------------------ require_once('../../../include/basis_db.class.php'); if (!$db = new basis_db()) die('Fehler beim Herstellen der Datenbankverbindung'); - + // Pfad zu fpdf define('FPDF_FONTPATH','../../../include/pdf/font/'); // library einbinden require_once('../../../include/pdf/fpdf.php'); - + require_once('../../../include/person.class.php'); require_once('../../../include/studiengang.class.php'); require_once('../../../include/studiensemester.class.php'); @@ -54,21 +54,21 @@ else die('Fehler bei der Parameteruebergabe'); } - else + else $stg=''; if(isset($_GET['sem'])) //Semester { if(is_numeric($_GET['sem'])) $sem=$_GET['sem']; - else + else die('Fehler bei der Parameteruebergabe'); } - else + else $sem=''; - + if(isset($_GET['verband'])) //Verband $verband=$_GET['verband']; - else + else $verband=''; if(isset($_GET['gruppe'])) //Gruppe $gruppe=$_GET['gruppe']; @@ -76,17 +76,17 @@ $gruppe=''; if(isset($_GET['gruppe_kurzbz'])) //Einheit $gruppe_kurzbz = $_GET['gruppe_kurzbz']; - else + else $gruppe_kurzbz=''; - + if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) $lvid = $_GET['lvid']; - else + else die('Fehler bei der Parameteruebergabe'); - + if(isset($_GET['stsem'])) $stsem = $_GET['stsem']; - else + else die('Studiensemester wurde nicht uebergeben'); $lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:''); diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index 18930b7b6..ff8ea1246 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -45,47 +45,47 @@ if(!check_lektor($uid)) if (!$db = new basis_db()) die('Fehler beim Herstellen der Datenbankverbindung'); - + if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) $lvid=$_GET['lvid']; else die("Fehlerhafte Parameteruebergabe"); - + if(isset($_GET['stg']) && is_numeric($_GET['stg'])) $stg=$_GET['stg']; -else +else die("Fehlerhafte Parameteruebergabe"); - + if(isset($_GET['gruppe_kurzbz'])) $gruppe_kurzbz = $_GET['gruppe_kurzbz']; -else +else $gruppe_kurzbz = ''; - + if(isset($_GET['sem']) && is_numeric($_GET['sem'])) $sem = $_GET['sem']; -else +else $sem = ''; - + if(isset($_GET['verband'])) $verband = $_GET['verband']; -else +else $verband = ''; - + if(isset($_GET['gruppe']) && is_numeric($_GET['gruppe'])) $gruppe = $_GET['gruppe']; else $gruppe = ''; - + if(isset($_GET['stsem'])) $stsem = $_GET['stsem']; else die('Studiensemester muss uebergeben werden'); - + if(isset($_GET['lehreinheit_id'])) $lehreinheit_id = $_GET['lehreinheit_id']; -else +else $lehreinheit_id = ''; - + /* * Create Excel File */ @@ -93,7 +93,7 @@ else // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); - + // sending HTTP headers $workbook->send($p->t('anwesenheitsliste/notenliste'). "_" . date("d_m_Y") . ".xls"); $workbook->setCustomColor (15,192,192,192); //Setzen der HG-Farbe Hellgrau @@ -105,12 +105,12 @@ else $format_bold =& $workbook->addFormat(); $format_bold->setBold(); - + $format_highlight =& $workbook->addFormat(); $format_highlight->setFgColor(15); $format_highlight->setBorder(1); $format_highlight->setBorderColor('white'); - + $format_border_bottom =& $workbook->addFormat(); $format_border_bottom ->setBottom(2); $format_border_bottom->setBold(); @@ -124,17 +124,17 @@ else $format_title->setAlign('merge'); $lvobj = new lehrveranstaltung($lvid); - + $worksheet->write(0,0,$p->t('anwesenheitsliste/notenliste')." ".($sprache=='English'?$lvobj->bezeichnung_english:$lvobj->bezeichnung),$format_bold); - + $stg_obj = new studiengang($stg); - + $qry = "SELECT - distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, - semester, verband, gruppe, gruppe_kurzbz + distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, + semester, verband, gruppe, gruppe_kurzbz FROM - campus.vw_lehreinheit - WHERE + campus.vw_lehreinheit + WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($stsem); if($lehreinheit_id!='') $qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); @@ -152,26 +152,26 @@ else $gruppen.=$row->gruppe_kurzbz; } } - + $worksheet->write(1,0,$p->t('global/studiengang').": $stg_obj->bezeichnung $gruppen"); $lines=2; //Lektoren ermitteln - - $qry = "SELECT - distinct vorname, nachname - FROM - campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter - WHERE - uid=mitarbeiter_uid AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND + + $qry = "SELECT + distinct vorname, nachname + FROM + campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter + WHERE + uid=mitarbeiter_uid AND + tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND + lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($stsem); - + if($lehreinheit_id!='') $qry.=" AND tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); - + $qry.=' ORDER BY nachname, vorname'; - + if($result = $db->db_query($qry)) { while($row=$db->db_fetch_object($result)) @@ -196,29 +196,29 @@ else $stsem_obj = new studiensemester(); $stsem_obj->load($stsem); $stsemdatumvon = $stsem_obj->start; - $stsemdatumbis = $stsem_obj->ende; - - $qry = "SELECT + $stsemdatumbis = $stsem_obj->ende; + + $qry = "SELECT distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von, - tbl_zeugnisnote.note - FROM - campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) + tbl_zeugnisnote.note + FROM + campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND + LEFT JOIN bis.tbl_bisio ON(public.tbl_student.prestudent_id=tbl_bisio.prestudent_id) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem); if($lehreinheit_id!='') $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); - + $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; - + if($result = $db->db_query($qry)) { $i=1; @@ -226,23 +226,23 @@ else while($elem = $db->db_fetch_object($result)) { if(!preg_match('*dummy*',$elem->uid) && $elem->semester!=10) - { + { if($elem->status!='Abbrecher' && $elem->status!='Unterbrecher') { $worksheet->write($lines,0,$i); if($elem->status=='Incoming') $inc=' (i)'; - else + else $inc=''; if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing $inc.=' (o)'; - + if($elem->note==6) //angerechnet { $inc.=' (ar)'; $note='ar'; } - else + else $note=''; $worksheet->write($lines,1,$elem->nachname.$inc); $worksheet->write($lines,2,$elem->vorname); @@ -255,7 +255,7 @@ else } } } - + //Noten $note = new note(); $note->getAll(); @@ -266,8 +266,8 @@ else $aufteilung = array(); foreach($notenschluessel->result as $row) - $aufteilung[$row->note]=$row->punkte; - + $aufteilung[$row->note]=$row->punkte; + $worksheet->write(++$lines,0,$p->t('benotungstool/note').":"); foreach($note->result as $row) { @@ -285,15 +285,15 @@ else $worksheet->write(++$lines,0,$row->bezeichnung.' ('.$row->anmerkung.')'); } } - + $worksheet->writeBlank(++$lines,0,0); $worksheet->writeBlank(++$lines,0,$format_highlight); $worksheet->write($lines,1,'...'.$p->t('anwesenheitsliste/anleitungImportFunktion')); $lines++; - $worksheet->write(++$lines,0,'(i) ... Incoming'); + $worksheet->write(++$lines,0,'(i) ... Incoming'); $worksheet->write(++$lines,0,'(o) ... Outgoing'); $worksheet->write(++$lines,0,'(ar) ... '.$p->t('anwesenheitsliste/angerechnet')); - + $worksheet->setColumn(0, 0, 5); $worksheet->setColumn(1, 1, 25); $worksheet->setColumn(2, 2, 25); diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index ba2d4f72c..825495991 100644 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -1,22 +1,22 @@ * @@ -76,7 +76,7 @@ if(isset($_GET['getAnmeldung'])) // Die Anmeldung ist zur Lehrveranstaltung selbst und zu den dazu kompatiblen Lehrveranstaltungen moeglich $kompatibel = $lehrveranstaltung->loadLVkompatibel($lehrveranstaltung_id); - + $datum = new datum(); $kompatibel[]=$lehrveranstaltung_id; $kompatibel = array_unique($kompatibel); @@ -121,7 +121,7 @@ if(isset($_GET['getAnmeldung'])) }*/ } } - + if($anzahl>0) echo '

'; else @@ -231,7 +231,7 @@ $tree = $lehrveranstaltung->getLehrveranstaltungTree(); /* - Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen. + Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen. Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des Studienplanes angibt. */ @@ -269,7 +269,7 @@ if(!in_array($stsemToShow,$stsem_arr)) // Noten des Studierenden holen $noten_arr=array(); $zeugnisnote = new zeugnisnote(); -if($zeugnisnote->getZeugnisnoten('',$uid,'')) +if($zeugnisnote->getZeugnisnoten('',$student->prestudent_id,'')) { foreach($zeugnisnote->result as $row_note) { @@ -307,7 +307,7 @@ echo ' if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) echo ''; - + echo ''; @@ -362,7 +362,7 @@ function drawTree($tree, $depth) default: $icon=''; } - + echo ' '; - + // Semester if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) echo ''; - + // ECTS Punkte echo ''; - + // Status der LV (absolviert, offen) echo ''; - // Spalten für die einzelnen Studiensemester + // Spalten für die einzelnen Studiensemester foreach($stsem_arr as $key=>$stsem) { $semester=$key+1; - + $tdclass=array(); //Empfehlung holen // if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) @@ -495,7 +495,7 @@ function drawTree($tree, $depth) // Angebot der LV pruefen if(isset($lvangebot_arr[$row_lvid]) && isset($lvangebot_arr[$row_lvid][$stsem])) - { + { $angebot_vorhanden=true; // LV findet statt $angebot = $lvangebot_arr[$row_lvid][$stsem]; @@ -537,7 +537,7 @@ function drawTree($tree, $depth) } else { - if($anmeldungmoeglich) + if($anmeldungmoeglich) $tdinhalt.= ''; else $tdinhalt.= '-'; @@ -559,7 +559,7 @@ function drawTree($tree, $depth) echo ''; } echo ''; - + // Wenn Subtree vorhanden, dann anzeigen if(!empty($row_tree->childs)) drawTree($row_tree->childs, $depth+1); diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 3eba233f0..b00e7bae2 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -362,43 +362,46 @@ function onVerbandSelect(event) // -------------- Studenten -------------------------- try { - stsem = getStudiensemester(); - url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&orgform="+orgform+"&"+gettimestamp(); - var treeStudent=document.getElementById('student-tree'); - - //Alte DS entfernen - var oldDatasources = treeStudent.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) + if(stg_kz != "") { - treeStudent.database.RemoveDataSource(oldDatasources.getNext()); - } + stsem = getStudiensemester(); + url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&orgform="+orgform+"&"+gettimestamp(); + var treeStudent=document.getElementById('student-tree'); - try - { - StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.removeListener(StudentTreeListener); - } - catch(e) - {} - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - StudentTreeDatasource = rdfService.GetDataSource(url); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeStudent.database.AddDataSource(StudentTreeDatasource); - StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.addListener(StudentTreeListener); + //Alte DS entfernen + var oldDatasources = treeStudent.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeStudent.database.RemoveDataSource(oldDatasources.getNext()); + } - //Detailfelder Deaktivieren - StudentDetailReset(); - StudentDetailDisableFields(true); - StudentPrestudentDisableFields(true); - StudentKontoDisableFields(true); - StudentAkteDisableFields(true); - StudentIODisableFields(true); - StudentNoteDisableFields(true); - document.getElementById('student-kontakt').setAttribute('src',''); - document.getElementById('student-betriebsmittel').setAttribute('src',''); - StudentAbschlusspruefungDisableFields(true); + try + { + StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); + treeStudent.builder.removeListener(StudentTreeListener); + } + catch(e) + {} + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + StudentTreeDatasource = rdfService.GetDataSource(url); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeStudent.database.AddDataSource(StudentTreeDatasource); + StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); + treeStudent.builder.addListener(StudentTreeListener); + + //Detailfelder Deaktivieren + StudentDetailReset(); + StudentDetailDisableFields(true); + StudentPrestudentDisableFields(true); + StudentKontoDisableFields(true); + StudentAkteDisableFields(true); + StudentIODisableFields(true); + StudentNoteDisableFields(true); + document.getElementById('student-kontakt').setAttribute('src',''); + document.getElementById('student-betriebsmittel').setAttribute('src',''); + StudentAbschlusspruefungDisableFields(true); + } } catch(e) { @@ -408,33 +411,36 @@ function onVerbandSelect(event) // -------------- Lehrveranstaltung -------------------------- try { - url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&sem='+sem+'&ver='+ver+'&grp='+grp+'&gruppe='+gruppe+'&orgform='+orgform+"&"+gettimestamp(); - var treeLV=document.getElementById('lehrveranstaltung-tree'); - - try + if(stg_kz != "") { - LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.removeListener(LvTreeListener); + url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&sem='+sem+'&ver='+ver+'&grp='+grp+'&gruppe='+gruppe+'&orgform='+orgform+"&"+gettimestamp(); + var treeLV=document.getElementById('lehrveranstaltung-tree'); + + try + { + LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.removeListener(LvTreeListener); + } + catch(e) + {} + + //Alte DS entfernen + var oldDatasources = treeLV.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeLV.database.RemoveDataSource(oldDatasources.getNext()); + } + + var rdfService1 = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + + LvTreeDatasource = rdfService1.GetDataSource(url); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeLV.database.AddDataSource(LvTreeDatasource); + LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.addListener(LvTreeListener); + document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=true; } - catch(e) - {} - - //Alte DS entfernen - var oldDatasources = treeLV.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - treeLV.database.RemoveDataSource(oldDatasources.getNext()); - } - - var rdfService1 = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - - LvTreeDatasource = rdfService1.GetDataSource(url); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeLV.database.AddDataSource(LvTreeDatasource); - LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.addListener(LvTreeListener); - document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=true; } catch(e) { @@ -700,7 +706,6 @@ function onLektorSelect(event) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); try { - //alert(stg_kz); url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&uid='+uid+'&'+gettimestamp(); var treeLV=document.getElementById('lehrveranstaltung-tree'); diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index 81c66efef..7bad073e3 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -1,357 +1,357 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -header("Content-type: application/vnd.mozilla.xul+xml"); -echo ''; - -require_once('../config/vilesci.config.inc.php'); -require_once('../include/functions.inc.php'); -require_once('../include/benutzerberechtigung.class.php'); - -$user = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -echo ''; -echo ''; -echo ''; - -?> - - - - - - -
'.$p->t('global/semester').''.$p->t('studienplan/ects').' '.$p->t('studienplan/status').''.$bstart; @@ -402,14 +402,14 @@ function drawTree($tree, $depth) // Bezeichnung der Lehrveranstaltung echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung; echo $bende.''.$row_tree->semester.''.$row_tree->ects.''; @@ -440,11 +440,11 @@ function drawTree($tree, $depth) } echo '
@@ -123,35 +123,35 @@ flush(); * UIDs ohne Student und ohne Mitarbeiter * */ -$qry = "SELECT +$qry = "SELECT tbl_benutzer.uid, tbl_benutzer.person_id, tbl_person.vorname, tbl_person.nachname - FROM + FROM public.tbl_benutzer LEFT JOIN public.tbl_person USING(person_id) - WHERE + WHERE NOT EXISTS (SELECT 1 FROM public.tbl_student WHERE student_uid=tbl_benutzer.uid) AND NOT EXISTS (SELECT 1 FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=tbl_benutzer.uid)"; if($result = $db->db_query($qry)) { echo '

Benutzer ohne Student und ohne Mitarbeiter Eintrag

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) { echo '
Anzeigen >>'; echo ' @@ -182,9 +182,9 @@ if($result = $db->db_query($qry)) * Studentenstatus ohne UID * */ -$qry = "SELECT +$qry = "SELECT distinct tbl_person.person_id, tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id - FROM + FROM public.tbl_prestudentstatus JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) @@ -195,9 +195,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Prestudenten mit Studenten/Absolventen/Diplomanden/Incoming Status aber ohne StudentUID

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -205,14 +205,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -243,10 +243,10 @@ if($result = $db->db_query($qry)) * StgKz von Stunent und Prestudent unterschiedlich * */ -$qry = "SELECT - tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_student.student_uid, +$qry = "SELECT + tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_student.student_uid, tbl_student.studiengang_kz as stud_studiengang_kz, tbl_prestudent.studiengang_kz as pre_studiengang_kz - FROM + FROM public.tbl_student JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) @@ -256,9 +256,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Studiengangskennzahl von tbl_student ungleich tbl_prestudent

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -266,14 +266,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -306,10 +306,10 @@ if($result = $db->db_query($qry)) * Studenten ohne passenden Status * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id, tbl_student.student_uid, get_rolle_prestudent(prestudent_id, null) as laststatus - FROM + FROM public.tbl_student JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) @@ -319,9 +319,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Studenten ohne Status Student/Diplomand/Incoming/Absolvent

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -329,14 +329,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -369,9 +369,9 @@ if($result = $db->db_query($qry)) * Prestudenten ohne Status * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_prestudent.prestudent_id - FROM + FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE @@ -380,9 +380,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Prestudenten ohne Status

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -390,14 +390,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -426,10 +426,10 @@ if($result = $db->db_query($qry)) * Studenten ohne Studentlehrverband eintrag * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid - FROM - public.tbl_student + FROM + public.tbl_student JOIN public.tbl_benutzer ON(uid=student_uid) JOIN public.tbl_person USING(person_id) WHERE @@ -438,9 +438,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Studenten ohne Studentlehrverband Eintrag

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -448,14 +448,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -484,22 +484,22 @@ if($result = $db->db_query($qry)) * Incoming ohne IO Datensatz * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid - FROM - public.tbl_student + FROM + public.tbl_student JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE - NOT EXISTS(SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid) + NOT EXISTS(SELECT 1 FROM bis.tbl_bisio WHERE prestudent_id=tbl_student.prestudent_id) AND EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id AND status_kurzbz='Incoming')"; if($result = $db->db_query($qry)) { echo '

Incoming ohne IO-Datensatz

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -507,14 +507,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -543,10 +543,10 @@ if($result = $db->db_query($qry)) * Personenkennzeichen passt nicht zur Studiengangskennzahl * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid, tbl_student.matrikelnr, tbl_student.studiengang_kz - FROM - public.tbl_student + FROM + public.tbl_student JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE @@ -556,9 +556,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Personenkennzeichen passt nicht zum Studiengang

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -566,14 +566,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -606,10 +606,10 @@ if($result = $db->db_query($qry)) * Absolventen ohne Abschlusspruefung * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid - FROM - public.tbl_student + FROM + public.tbl_student JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE @@ -620,9 +620,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Absolventen ohne Abschlusspruefung

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -630,14 +630,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' @@ -666,10 +666,10 @@ if($result = $db->db_query($qry)) * Studenten mit mind. 2 Stati ohne Noten * */ -$qry = "SELECT +$qry = "SELECT tbl_person.vorname, tbl_person.nachname, tbl_student.student_uid - FROM - public.tbl_student + FROM + public.tbl_student JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE @@ -680,9 +680,9 @@ $qry = "SELECT if($result = $db->db_query($qry)) { echo '

Studenten mit mind. 2 Studentenstati aber ohne Noten

'; - + $anzahl = $db->db_num_rows($result); - + echo ''.$anzahl.' Probleme gefunden'; if($anzahl>0) @@ -690,14 +690,14 @@ if($result = $db->db_query($qry)) echo '
Anzeigen >>'; echo ' diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php index 8dd5d984c..a0a76f0dc 100644 --- a/vilesci/bis/lehrgangsmeldung.php +++ b/vilesci/bis/lehrgangsmeldung.php @@ -1,589 +1,589 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$uid = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($uid); - -if(!$rechte->isBerechtigt('student/stammdaten', null, 'suid')) - die('Sie haben keine Berechtigung für diese Seite'); - -$error_log=''; -$error_log1=''; -$error_log_all=""; -$fehler=''; -$maxsemester=0; -$v=''; -$studiensemester=new studiensemester(); -$ssem=$studiensemester->getaktorNext(); -$psem=$studiensemester->getPrevious(); -$datei=''; -$zaehl=0; -$lehrgangsname = ''; - -$stsem_obj = new studiensemester(); -$stsem_obj->load($ssem); -//Beginn- und Endedatum des aktuellen Semesters -$beginn=$stsem_obj->start; -$ende=$stsem_obj->ende; - -//Ermittlung aktuelles und letztes BIS-Meldedatum -if(mb_strstr($ssem,"WS")) -{ - $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); - $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); -} -elseif(mb_strstr($ssem,"SS")) -{ - $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); - $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); -} -else -{ - echo "Ungültiges Semester!"; -} -//ausgewählter Lehrgang -if(isset($_GET['stg_kz'])) -{ - if($_GET['stg_kz']<0) - { - $stg_kz=$_GET['stg_kz']; - } - else - { - echo "

Es wurde kein Lehrgang ausgewählt!

"; - } -} -else -{ - echo "

Es wurde kein Lehrgang ausgewählt!

"; - exit; -} -//plausicheck -if(isset($_GET['plausi'])) -{ - $plausi=$_GET['plausi']; -} -$datumobj=new datum(); - -//Lehrgangsdaten auslesen -$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=".$db->db_add_param($stg_kz); -if($result = $db->db_query($qry)) -{ - if($row = $db->db_fetch_object($result)) - { - $stgart=$row->typ; - $lgartcode = $row->lgartcode; - $qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode); - if($result_lgartcode = $db->db_query($qrylgart)) - { - if($row_lgartcode = $db->db_fetch_object($result_lgartcode)) - { - $lgartcode=$row_lgartcode->lgart_biscode; - } - } - - $stgemail=$row->email; - if(strlen(trim($row->erhalter_kz))==1) - { - $erhalter='00'.trim($row->erhalter_kz); - } - elseif(strlen(trim($row->erhalter_kz))==2) - { - $erhalter='0'.trim($row->erhalter_kz); - } - else - { - $erhalter=$row->erhalter_kz; - } - $lehrgangsname = $row->bezeichnung; - } -} -$lehrgangsnummer = $erhalter.sprintf('%04s', abs($stg_kz)); -$tabelle = ' - - - - - - '; -$anzahl_gemeldet=0; -//Hauptselect -$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat - FROM public.tbl_student - JOIN public.tbl_benutzer ON(student_uid=uid) - JOIN public.tbl_person USING (person_id) - JOIN public.tbl_prestudent USING (prestudent_id) - JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - WHERE bismelden IS TRUE - AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." - AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") - AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' - OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' - OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) - OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' - OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") - OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") - OR (tbl_bisio.von<".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) - ))) - ORDER BY student_uid, nachname, vorname - "; - -if($result = $db->db_query($qry)) -{ - - $datei.=" - - ".$erhalter." - ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." - - - ".$lehrgangsnummer.""; - - while($row = $db->db_fetch_object($result)) - { - //Plausichecks - $qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";"; - $results=$db->db_query($qryadr); - - if($anz=$db->db_num_rows($results)!=1) - { - $error_log1="Es sind ".$anz." Heimatadressen eingetragen\n"; - } - if($rowadr=$db->db_fetch_object($results)) - { - $plz=$rowadr->plz; - $gemeinde=$rowadr->gemeinde; - $strasse=$rowadr->strasse; - $nation=$rowadr->nation; - } - else - { - $plz=''; - $gemeinde=''; - $strasse=''; - $nation=''; - } - if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') - { - $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; - } - if($row->geschlecht!='m' && $row->geschlecht!='w') - { - $error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')"; - } - if($row->vorname=='' || $row->vorname==null) - { - $error_log.=(!empty($error_log)?', ':'')."Vorname ('".$row->vorname."')"; - } - if($row->nachname=='' || $row->nachname==null) - { - $error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')"; - } - //SVNR mu߸ 10-stellig sein - if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10) - { - $error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang"; - } - //Ersatzkennzeichen muß 10-stellig sein - if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && mb_strlen(trim($row->ersatzkennzeichen))!=10) - { - $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".trim($row->ersatzkennzeichen)."') ist nicht 10 Zeichen lang"; - } - //Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07. - if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') - { - $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; - } - //Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum - if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) - { - $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".$row->ersatzkennzeichen."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; - } - if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null)) - { - $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') bzw. ErsKz ('".$row->ersatzkennzeichen."') fehlt"; - } - if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null) - { - $error_log.=(!empty($error_log)?', ':'')."Staatsbürgerschaft ('".$row->staatsbuergerschaft."')"; - } - if($plz=='' || $plz==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-PLZ ('".$plz."')"; - } - if($gemeinde=='' || $gemeinde==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-Gemeinde ('".$gemeinde."')"; - } - if($strasse=='' || $strasse==null) - { - $error_log.=(!empty($error_log)?', ':'')."Heimat-Strasse ('".$strasse."')"; - } - if($nation=='' || $nation==null) - { - - $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')"; - } - if($row->zgv_code=='' || $row->zgv_code==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangCode ('".$row->zgv_code."')"; - } - if($row->zgvdatum=='' || $row->zgvdatum==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."')"; - } - else - { - if($row->zgvdatum>date('Y-m-d')) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangDatum liegt in der Zukunft ('".$row->zgvdatum."')"; - } - if($row->zgvdatum<$row->gebdatum) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; - } - } - if($lgartcode==1) - { - if($row->zgvmas_code=='' || $row->zgvmas_code==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgCode ('".$row->zgvmas_code."')"; - } - if($row->zgvmadatum=='' || $row->zgvmadatum==null) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."')"; - } - else - { - if($row->zgvmadatum>date("Y-m-d")) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum liegt in der Zukunft ('".$row->zgvmadatum."')"; - } - if($row->zgvmadatum<$row->zgvdatum) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Zugangdatum ('".$row->zgvdatum."')"; - } - if($row->zgvmadatum<$row->gebdatum) - { - $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; - } - } - } - //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten - $qrystatus="SELECT * FROM public.tbl_prestudentstatus - WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." - AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") - ORDER BY datum desc, insertamum desc, ext_id desc;"; - if($resultstatus = $db->db_query($qrystatus)) - { - if($db->db_num_rows($resultstatus)>0) - { - if($rowstatus = $db->db_fetch_object($resultstatus)) - { - $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; - if($result1 = $db->db_query($qry1)) - { - if($row1 = $db->db_fetch_object($result1)) - { - $sem=$rowstatus->ausbildungssemester; - if($sem>$maxsemester) - { - $sem=$maxsemester; - } - if($row1->dipl>1) - { - $sem=50; - } - if($row1->dipl>3) - { - $sem=60; - } - } - } - if($rowstatus->status_kurzbz=="Student" || $rowstatus->status_kurzbz=='Praktikant' - || $rowstatus->status_kurzbz=="Diplomand") - { - $status=1; - } - else if($rowstatus->status_kurzbz=="Unterbrecher" ) - { - $status=2; - } - else if($rowstatus->status_kurzbz=="Absolvent" ) - { - $status=3; - } - else if($rowstatus->status_kurzbz=="Abbrecher" ) - { - $status=4; - } - else - { - $error_log=''; - $error_log1=''; - continue; - } - $aktstatus=$rowstatus->status_kurzbz; - $aktstatus_datum=$rowstatus->datum; - $storgform=$rowstatus->orgform_kurzbz; - } - } - else - { - $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($psem)." AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; - if($resultstatus = $db->db_query($qrystatus)) - { - if($rowstatus = $db->db_fetch_object($resultstatus)) - { - $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; - if($result1 = $db->db_query($qry1)) - { - if($row1 = $db->db_fetch_object($result1)) - { - $sem=$rowstatus->ausbildungssemester; - if($sem>$maxsemester) - { - $sem=$maxsemester; - } - if($row1->dipl>1) - { - $sem=50; - } - if($row1->dipl>3) - { - $sem=60; - } - } - } - if($rowstatus->status_kurzbz=="Absolvent" ) - { - $status=3; - } - else if($rowstatus->status_kurzbz=="Abbrecher" ) - { - $status=4; - } - else - { - $error_log=''; - $error_log1=''; - continue; - } - $aktstatus=$rowstatus->status_kurzbz; - $aktstatus_datum=$rowstatus->datum; - //$storgform=$rowstatus->orgform_kurzbz; - } - } - } - } - //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen - - if($aktstatus=='Absolvent') - { - $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid=".$db->db_add_param($row->student_uid)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; - if($result_ap = $db->db_query($qry_ap)) - { - $ap=0; - while($row_ap = $db->db_fetch_object($result_ap)) - { - if($row_ap->datum=='' || $row_ap->datum==null) - { - $error_log.=(!empty($error_log)?', ':'')."Datum der Abschlussprüfung ('".$row_ap->datum."')"; - } - if($row_ap->sponsion=='' || $row_ap->sponsion==null) - { - $error_log.=(!empty($error_log)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')"; - } - $ap++; - $sponsion=$row_ap->sponsion; - } - if($ap!=1) - { - $error_log.=(!empty($error_log)?', ':'').$ap." bestandene Abschlussprüfungen"; - } - } - } - if($error_log!='' OR $error_log1!='') - { - //Ausgabe der fehlenden Daten - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; - if($error_log!='') - { - $v.="     Fehler: ".$error_log."\n"; - } - if($error_log1!='') - { - $v.="     ".$error_log1; - } - $zaehl++; - $v.="\n"; - $error_log=''; - $error_log1=''; - continue; - } - else - { - $anzahl_gemeldet++; - $tabelle.=''; - - //Erstellung der XML-Datei - $datei.=" - - ".trim($row->matrikelnr)." - ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." - ".strtoupper($row->geschlecht).""; - if(($row->svnr!='')&&($row->ersatzkennzeichen!='')) - { - //$datei.=" - //".$row->vorname." - //".$row->nachname.""; - $datei.=" - ".$row->svnr.""; - $datei.=" - ".$row->ersatzkennzeichen.""; - } - else - { - if($row->svnr!='') - { - $datei.=" - ".$row->svnr.""; - } - if($row->ersatzkennzeichen!='') - { - //$datei.=" - //".$row->vorname." - //".$row->nachname.""; - $datei.=" - ".$row->ersatzkennzeichen.""; - } - } - // - - if($row->zgvmanation!='' && $lgartcode==1) // Master Lehrgang - $ausstellungsstaat = $row->zgvmanation; - elseif($row->zgvnation!='') - $ausstellungsstaat = $row->zgvnation; - else - $ausstellungsstaat = $row->ausstellungsstaat; - $datei.=" - ".$row->staatsbuergerschaft." - ".$plz." - ".$gemeinde." - ".$nation." - ".$row->zgv_code." - ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; - - if($lgartcode==1) - { - $datei.=" - ".$row->zgvmas_code." - ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; - } - - $datei.=" - ".$ausstellungsstaat.""; - - $qryad="SELECT - * - FROM - public.tbl_prestudentstatus - WHERE - prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." - AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') - AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum asc;"; - - if($resultad = $db->db_query($qryad)) - { - if($rowad = $db->db_fetch_object($resultad)) - { - $datei.=" - ".date("dmY", $datumobj->mktime_fromdate($rowad->datum)).""; - } - } - - if($aktstatus=='Absolvent') - { - $datei.=" - ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; - } - if($aktstatus=='Abbrecher') - { - $datei.=" - ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; - } - $datei.=" - ".$status." - "; - } - } - $tabelle.='
UIDNachnameVornamePersKz
'.$row->student_uid.''.$row->nachname.''.$row->vorname.''.$row->matrikelnr.'
'; - - $datei.=" - - -"; - - echo ' - - - BIS - Lehrgangsmeldung - '.$lehrgangsname.' ('.$lehrgangsnummer.') - - - - '; - - echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$lehrgangsname.' ('.$lehrgangsnummer.")

\n"; - - if(strlen(trim($v))>0) - { - echo "

Nicht plausible BIS-Daten (für Meldung ".$ssem."):


"; - echo nl2br($v."\n\n"); - } - - $ddd='bisdaten/bismeldung_'.$ssem.'_Lehrgang'.$lehrgangsnummer.'.xml'; - $dateiausgabe=fopen($ddd,'w'); - fwrite($dateiausgabe,$datei); - fclose($dateiausgabe); - - if(file_exists($ddd)) - { - echo "XML-Datei für BIS-Meldung Lehrgang ".$lehrgangsname.' ('.$lehrgangsnummer.")
"; - } - - echo '
'; - echo '
Folgende Personen sind in der Meldung enthalten:

'; - echo 'Anzahl:'.$anzahl_gemeldet; - echo $tabelle; -} -?> + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$uid = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); + +if(!$rechte->isBerechtigt('student/stammdaten', null, 'suid')) + die('Sie haben keine Berechtigung für diese Seite'); + +$error_log=''; +$error_log1=''; +$error_log_all=""; +$fehler=''; +$maxsemester=0; +$v=''; +$studiensemester=new studiensemester(); +$ssem=$studiensemester->getaktorNext(); +$psem=$studiensemester->getPrevious(); +$datei=''; +$zaehl=0; +$lehrgangsname = ''; + +$stsem_obj = new studiensemester(); +$stsem_obj->load($ssem); +//Beginn- und Endedatum des aktuellen Semesters +$beginn=$stsem_obj->start; +$ende=$stsem_obj->ende; + +//Ermittlung aktuelles und letztes BIS-Meldedatum +if(mb_strstr($ssem,"WS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); +} +elseif(mb_strstr($ssem,"SS")) +{ + $bisdatum=date("Y-m-d", mktime(0, 0, 0, 04, 15, date("Y"))); + $bisprevious=date("Y-m-d", mktime(0, 0, 0, 11, 15, date("Y")-1)); +} +else +{ + echo "Ungültiges Semester!"; +} +//ausgewählter Lehrgang +if(isset($_GET['stg_kz'])) +{ + if($_GET['stg_kz']<0) + { + $stg_kz=$_GET['stg_kz']; + } + else + { + echo "

Es wurde kein Lehrgang ausgewählt!

"; + } +} +else +{ + echo "

Es wurde kein Lehrgang ausgewählt!

"; + exit; +} +//plausicheck +if(isset($_GET['plausi'])) +{ + $plausi=$_GET['plausi']; +} +$datumobj=new datum(); + +//Lehrgangsdaten auslesen +$qry="SELECT * FROM public.tbl_studiengang WHERE studiengang_kz=".$db->db_add_param($stg_kz); +if($result = $db->db_query($qry)) +{ + if($row = $db->db_fetch_object($result)) + { + $stgart=$row->typ; + $lgartcode = $row->lgartcode; + $qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode); + if($result_lgartcode = $db->db_query($qrylgart)) + { + if($row_lgartcode = $db->db_fetch_object($result_lgartcode)) + { + $lgartcode=$row_lgartcode->lgart_biscode; + } + } + + $stgemail=$row->email; + if(strlen(trim($row->erhalter_kz))==1) + { + $erhalter='00'.trim($row->erhalter_kz); + } + elseif(strlen(trim($row->erhalter_kz))==2) + { + $erhalter='0'.trim($row->erhalter_kz); + } + else + { + $erhalter=$row->erhalter_kz; + } + $lehrgangsname = $row->bezeichnung; + } +} +$lehrgangsnummer = $erhalter.sprintf('%04s', abs($stg_kz)); +$tabelle = ' + + + + + + '; +$anzahl_gemeldet=0; +//Hauptselect +$qry="SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + FROM public.tbl_student + JOIN public.tbl_benutzer ON(student_uid=uid) + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) + WHERE bismelden IS TRUE + AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." + AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") + AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' + OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) + OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") + OR (status_kurzbz='Incoming' AND tbl_student.prestudent_id IN (SELECT prestudent_id FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") + OR (tbl_bisio.von<".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) + ))) + ORDER BY student_uid, nachname, vorname + "; + +if($result = $db->db_query($qry)) +{ + + $datei.=" + + ".$erhalter." + ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." + + + ".$lehrgangsnummer.""; + + while($row = $db->db_fetch_object($result)) + { + //Plausichecks + $qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";"; + $results=$db->db_query($qryadr); + + if($anz=$db->db_num_rows($results)!=1) + { + $error_log1="Es sind ".$anz." Heimatadressen eingetragen\n"; + } + if($rowadr=$db->db_fetch_object($results)) + { + $plz=$rowadr->plz; + $gemeinde=$rowadr->gemeinde; + $strasse=$rowadr->strasse; + $nation=$rowadr->nation; + } + else + { + $plz=''; + $gemeinde=''; + $strasse=''; + $nation=''; + } + if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='') + { + $error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')"; + } + if($row->geschlecht!='m' && $row->geschlecht!='w') + { + $error_log.=(!empty($error_log)?', ':'')."Geschlecht ('".$row->geschlecht."')"; + } + if($row->vorname=='' || $row->vorname==null) + { + $error_log.=(!empty($error_log)?', ':'')."Vorname ('".$row->vorname."')"; + } + if($row->nachname=='' || $row->nachname==null) + { + $error_log.=(!empty($error_log)?', ':'')."Nachname ('".$row->nachname."')"; + } + //SVNR mu߸ 10-stellig sein + if($row->svnr!='' && $row->svnr!=null && mb_strlen(trim($row->svnr))!=10) + { + $error_log.=(!empty($error_log)?', ':'')."SVNR ('".trim($row->svnr)."') ist nicht 10 Zeichen lang"; + } + //Ersatzkennzeichen muß 10-stellig sein + if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && mb_strlen(trim($row->ersatzkennzeichen))!=10) + { + $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".trim($row->ersatzkennzeichen)."') ist nicht 10 Zeichen lang"; + } + //Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07. + if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') + { + $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; + } + //Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum + if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) + { + $error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".$row->ersatzkennzeichen."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; + } + if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null)) + { + $error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') bzw. ErsKz ('".$row->ersatzkennzeichen."') fehlt"; + } + if($row->staatsbuergerschaft=='' || $row->staatsbuergerschaft==null) + { + $error_log.=(!empty($error_log)?', ':'')."Staatsbürgerschaft ('".$row->staatsbuergerschaft."')"; + } + if($plz=='' || $plz==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-PLZ ('".$plz."')"; + } + if($gemeinde=='' || $gemeinde==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-Gemeinde ('".$gemeinde."')"; + } + if($strasse=='' || $strasse==null) + { + $error_log.=(!empty($error_log)?', ':'')."Heimat-Strasse ('".$strasse."')"; + } + if($nation=='' || $nation==null) + { + + $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')"; + } + if($row->zgv_code=='' || $row->zgv_code==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangCode ('".$row->zgv_code."')"; + } + if($row->zgvdatum=='' || $row->zgvdatum==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."')"; + } + else + { + if($row->zgvdatum>date('Y-m-d')) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangDatum liegt in der Zukunft ('".$row->zgvdatum."')"; + } + if($row->zgvdatum<$row->gebdatum) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; + } + } + if($lgartcode==1) + { + if($row->zgvmas_code=='' || $row->zgvmas_code==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgCode ('".$row->zgvmas_code."')"; + } + if($row->zgvmadatum=='' || $row->zgvmadatum==null) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."')"; + } + else + { + if($row->zgvmadatum>date("Y-m-d")) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum liegt in der Zukunft ('".$row->zgvmadatum."')"; + } + if($row->zgvmadatum<$row->zgvdatum) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Zugangdatum ('".$row->zgvdatum."')"; + } + if($row->zgvmadatum<$row->gebdatum) + { + $error_log.=(!empty($error_log)?', ':'')."ZugangMagStgDatum ('".$row->zgvmadatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')"; + } + } + } + //Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten + $qrystatus="SELECT * FROM public.tbl_prestudentstatus + WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." + AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") + ORDER BY datum desc, insertamum desc, ext_id desc;"; + if($resultstatus = $db->db_query($qrystatus)) + { + if($db->db_num_rows($resultstatus)>0) + { + if($rowstatus = $db->db_fetch_object($resultstatus)) + { + $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; + if($result1 = $db->db_query($qry1)) + { + if($row1 = $db->db_fetch_object($result1)) + { + $sem=$rowstatus->ausbildungssemester; + if($sem>$maxsemester) + { + $sem=$maxsemester; + } + if($row1->dipl>1) + { + $sem=50; + } + if($row1->dipl>3) + { + $sem=60; + } + } + } + if($rowstatus->status_kurzbz=="Student" || $rowstatus->status_kurzbz=='Praktikant' + || $rowstatus->status_kurzbz=="Diplomand") + { + $status=1; + } + else if($rowstatus->status_kurzbz=="Unterbrecher" ) + { + $status=2; + } + else if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + $storgform=$rowstatus->orgform_kurzbz; + } + } + else + { + $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($psem)." AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum desc, insertamum desc, ext_id desc;"; + if($resultstatus = $db->db_query($qrystatus)) + { + if($rowstatus = $db->db_fetch_object($resultstatus)) + { + $qry1="SELECT count(*) AS dipl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND status_kurzbz='Diplomand'"; + if($result1 = $db->db_query($qry1)) + { + if($row1 = $db->db_fetch_object($result1)) + { + $sem=$rowstatus->ausbildungssemester; + if($sem>$maxsemester) + { + $sem=$maxsemester; + } + if($row1->dipl>1) + { + $sem=50; + } + if($row1->dipl>3) + { + $sem=60; + } + } + } + if($rowstatus->status_kurzbz=="Absolvent" ) + { + $status=3; + } + else if($rowstatus->status_kurzbz=="Abbrecher" ) + { + $status=4; + } + else + { + $error_log=''; + $error_log1=''; + continue; + } + $aktstatus=$rowstatus->status_kurzbz; + $aktstatus_datum=$rowstatus->datum; + //$storgform=$rowstatus->orgform_kurzbz; + } + } + } + } + //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen + + if($aktstatus=='Absolvent') + { + $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE student_uid=".$db->db_add_param($row->student_uid)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; + if($result_ap = $db->db_query($qry_ap)) + { + $ap=0; + while($row_ap = $db->db_fetch_object($result_ap)) + { + if($row_ap->datum=='' || $row_ap->datum==null) + { + $error_log.=(!empty($error_log)?', ':'')."Datum der Abschlussprüfung ('".$row_ap->datum."')"; + } + if($row_ap->sponsion=='' || $row_ap->sponsion==null) + { + $error_log.=(!empty($error_log)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')"; + } + $ap++; + $sponsion=$row_ap->sponsion; + } + if($ap!=1) + { + $error_log.=(!empty($error_log)?', ':'').$ap." bestandene Abschlussprüfungen"; + } + } + } + if($error_log!='' OR $error_log1!='') + { + //Ausgabe der fehlenden Daten + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; + if($error_log!='') + { + $v.="     Fehler: ".$error_log."\n"; + } + if($error_log1!='') + { + $v.="     ".$error_log1; + } + $zaehl++; + $v.="\n"; + $error_log=''; + $error_log1=''; + continue; + } + else + { + $anzahl_gemeldet++; + $tabelle.=''; + + //Erstellung der XML-Datei + $datei.=" + + ".trim($row->matrikelnr)." + ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." + ".strtoupper($row->geschlecht).""; + if(($row->svnr!='')&&($row->ersatzkennzeichen!='')) + { + //$datei.=" + //".$row->vorname." + //".$row->nachname.""; + $datei.=" + ".$row->svnr.""; + $datei.=" + ".$row->ersatzkennzeichen.""; + } + else + { + if($row->svnr!='') + { + $datei.=" + ".$row->svnr.""; + } + if($row->ersatzkennzeichen!='') + { + //$datei.=" + //".$row->vorname." + //".$row->nachname.""; + $datei.=" + ".$row->ersatzkennzeichen.""; + } + } + // + + if($row->zgvmanation!='' && $lgartcode==1) // Master Lehrgang + $ausstellungsstaat = $row->zgvmanation; + elseif($row->zgvnation!='') + $ausstellungsstaat = $row->zgvnation; + else + $ausstellungsstaat = $row->ausstellungsstaat; + $datei.=" + ".$row->staatsbuergerschaft." + ".$plz." + ".$gemeinde." + ".$nation." + ".$row->zgv_code." + ".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum)).""; + + if($lgartcode==1) + { + $datei.=" + ".$row->zgvmas_code." + ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; + } + + $datei.=" + ".$ausstellungsstaat.""; + + $qryad="SELECT + * + FROM + public.tbl_prestudentstatus + WHERE + prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." + AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') + AND (tbl_prestudentstatus.datum<".$db->db_add_param($bisdatum).") ORDER BY datum asc;"; + + if($resultad = $db->db_query($qryad)) + { + if($rowad = $db->db_fetch_object($resultad)) + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($rowad->datum)).""; + } + } + + if($aktstatus=='Absolvent') + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; + } + if($aktstatus=='Abbrecher') + { + $datei.=" + ".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum)).""; + } + $datei.=" + ".$status." + "; + } + } + $tabelle.='
UIDNachnameVornamePersKz
'.$row->student_uid.''.$row->nachname.''.$row->vorname.''.$row->matrikelnr.'
'; + + $datei.=" + + +"; + + echo ' + + + BIS - Lehrgangsmeldung - '.$lehrgangsname.' ('.$lehrgangsnummer.') + + + + '; + + echo "

BIS - Studentendaten werden überprüft! Lehrgang: ".$lehrgangsname.' ('.$lehrgangsnummer.")

\n"; + + if(strlen(trim($v))>0) + { + echo "

Nicht plausible BIS-Daten (für Meldung ".$ssem."):


"; + echo nl2br($v."\n\n"); + } + + $ddd='bisdaten/bismeldung_'.$ssem.'_Lehrgang'.$lehrgangsnummer.'.xml'; + $dateiausgabe=fopen($ddd,'w'); + fwrite($dateiausgabe,$datei); + fclose($dateiausgabe); + + if(file_exists($ddd)) + { + echo "XML-Datei für BIS-Meldung Lehrgang ".$lehrgangsname.' ('.$lehrgangsnummer.")
"; + } + + echo '
'; + echo '
Folgende Personen sind in der Meldung enthalten:

'; + echo 'Anzahl:'.$anzahl_gemeldet; + echo $tabelle; +} +?> diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 5606f432f..539541f7d 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -22,12 +22,12 @@ */ /** * Studentenmeldung - * + * * Erstellt ein XML File fuer die Studentenmeldung an den FHR - * Das XML-File wird im Filesystem abgelegt. + * Das XML-File wird im Filesystem abgelegt. * Zusaetzlich wird eine Uebersichtsliste ueber die im File enthaltenen Daten erstellt und * nicht plausible Daten - * + * * Parameter: stg_kz ... Kennzahl des Studienganges */ require_once('../../config/vilesci.config.inc.php'); @@ -157,7 +157,7 @@ if($stg_obj->load($stg_kz)) echo "Die maximale Semesteranzahl des Studienganges ist nicht angegeben!"; exit; } - + $erhalter = sprintf('%03s',$stg_obj->erhalter_kz); switch($stg_obj->typ) @@ -177,29 +177,29 @@ if($stg_obj->load($stg_kz)) $orgform_code = $orgform_code_array[$stg_obj->orgform_kurzbz]; $orgform_kurzbz=$stg_obj->orgform_kurzbz; } -else +else die('Fehler:'.$stg_obj->errormsg); //Ausgabe aktiver Studenten, die nicht gemeldet werden $qry_akt=" - SELECT + SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id - FROM + FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) JOIN public.tbl_person USING (person_id) JOIN public.tbl_prestudent USING (prestudent_id) JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - WHERE + WHERE bismelden=FALSE AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." AND (tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." AND status_kurzbz IN ('Student','Diplomand','Unterbrecher','Praktikant','Outgoing')) AND tbl_prestudent.prestudent_id NOT IN ( - SELECT prestudent_id - FROM public.tbl_prestudentstatus - WHERE + SELECT prestudent_id + FROM public.tbl_prestudentstatus + WHERE tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." AND (status_kurzbz='Abbrecher' OR status_kurzbz='Absolvent') ) @@ -216,18 +216,18 @@ if($result_akt = $db->db_query($qry_akt)) //Incoming ohne I/O Datensatz anzeigen $qry_in=" - SELECT + SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id - FROM + FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) JOIN public.tbl_person USING (person_id) JOIN public.tbl_prestudent USING (prestudent_id) JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - WHERE + WHERE bismelden=TRUE AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." - AND (status_kurzbz='Incoming' AND student_uid NOT IN (SELECT student_uid FROM bis.tbl_bisio)) + AND (status_kurzbz='Incoming' AND tbl_student.prestudent_id NOT IN (SELECT prestudent_id FROM bis.tbl_bisio)) ORDER BY student_uid, nachname, vorname "; if($result_in = $db->db_query($qry_in)) @@ -242,15 +242,15 @@ if($result_in = $db->db_query($qry_in)) //Hauptselect $qry=" - SELECT + SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat - FROM + FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) JOIN public.tbl_person USING (person_id) JOIN public.tbl_prestudent USING (prestudent_id) JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - WHERE + WHERE bismelden=TRUE AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") @@ -259,7 +259,7 @@ $qry=" OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") - OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") + OR (status_kurzbz='Incoming' AND tbl_student.prestudent_id IN (SELECT prestudent_id FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) ))) ORDER BY student_uid, nachname, vorname @@ -309,7 +309,7 @@ if($result = $db->db_query($qry)) { //orgform!='3' //Stg mit einer Orgform - + $datei.=" ".$orgform_code." @@ -319,7 +319,7 @@ if($result = $db->db_query($qry)) { $datei.= GenerateXMLStudentBlock($row); } - + //Bewerberblock bei Ausserordentlichen nicht anzeigen if($stg_kz!=('9'.$erhalter)) { @@ -410,7 +410,7 @@ foreach ($semester_arr as $semester) $abbrecher.=' '; $absolventen.=' '; $outgoing.=' '; - + $i=0; foreach($verwendete_orgformen as $orgform) { @@ -422,13 +422,13 @@ foreach ($semester_arr as $semester) $absolventen.=' / '; $outgoing.=' / '; } - + $aktiv .= (isset($stsem[$orgform][$semester])?$stsem[$orgform][$semester]:''); $unterbrecher .= (isset($usem[$orgform][$semester])?$usem[$orgform][$semester]:''); $abbrecher .= (isset($asem[$orgform][$semester])?$asem[$orgform][$semester]:''); $absolventen .= (isset($absem[$orgform][$semester])?$absem[$orgform][$semester]:''); $outgoing .= (isset($iosem[$orgform][$semester])?$iosem[$orgform][$semester]:''); - + $i++; } $aktiv.=''; @@ -469,7 +469,7 @@ for($i=0;$i echo ''; /************************************************************************** - * FUNKTIONEN + * FUNKTIONEN **************************************************************************/ /** @@ -553,13 +553,13 @@ function GenerateXMLStudentBlock($row) $error_log1=''; $datei = ''; $datumobj = new datum(); - + //Pruefen ob Ausserordnetlicher Studierender (4.Stelle in Personenkennzeichen = 9) if(mb_substr($row->matrikelnr,3,1)=='9') $ausserordentlich=true; else $ausserordentlich=false; - + $qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";"; $results=$db->db_query($qryadr); @@ -681,7 +681,7 @@ function GenerateXMLStudentBlock($row) } } } - + //StudStatusCode und Semester ermitteln $qrystatus="SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)." AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") @@ -767,7 +767,7 @@ function GenerateXMLStudentBlock($row) } } } - + if($ausserordentlich) { $status=1; @@ -799,7 +799,7 @@ function GenerateXMLStudentBlock($row) //Wenn im Status keine Organisationsform eingetragen ist, wird die des Studienganges uebernommen if($storgform=='') $storgform=$orgform_kurzbz; - + //bei Absolventen das Beendigungsdatum (Sponsion oder Abschlussprüfung) überprüfen if($aktstatus=='Absolvent') { @@ -854,10 +854,10 @@ function GenerateXMLStudentBlock($row) $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation bei Incoming('".$nation."')"; } } - - $qryad="SELECT * FROM public.tbl_prestudentstatus - WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." - AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') + + $qryad="SELECT * FROM public.tbl_prestudentstatus + WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." + AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") ORDER BY datum asc;"; if($resultad = $db->db_query($qryad)) { @@ -880,7 +880,7 @@ function GenerateXMLStudentBlock($row) { $error_log.=(!empty($error_log)?', ':'')."Ausstellungsstaat ist nicht eingetragen"; } - + if($error_log!='' OR $error_log1!='') { $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; @@ -908,7 +908,7 @@ function GenerateXMLStudentBlock($row) $datei.=" ".$orgform_code_array[$storgform].""; } - + $datei.=" ".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))." ".strtoupper($row->geschlecht).""; @@ -959,7 +959,7 @@ function GenerateXMLStudentBlock($row) $datei.=" ".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum)).""; } - + if($aktstatus!='Incoming' && !$ausserordentlich) { if($row->zgvmanation!='' && $stgart=='2') @@ -975,13 +975,13 @@ function GenerateXMLStudentBlock($row) '.$ausstellungsstaat.''; } } - + if($beginndatum!='' && !$ausserordentlich) { $datei.=" ".date("dmY", $datumobj->mktime_fromdate($beginndatum)).""; } - + if($aktstatus=='Absolvent' || $aktstatus=='Abbrecher') { $datei.=" @@ -992,7 +992,7 @@ function GenerateXMLStudentBlock($row) $datei.=" ".$sem.""; } - + $datei.=" ".$status.""; if($orgform_code_array[$storgform]!=1 && !$ausserordentlich) // Wenn nicht Vollzeit und nicht Ausserordentlich @@ -1009,18 +1009,18 @@ function GenerateXMLStudentBlock($row) /* * BMWFFoerderrung derzeit fuer alle Studierende auf Ja gesetzt * Ausnahme: ausserordnetliche Studierende und Incoming - * + * * ToDo: sollte pro Studierenden konfigurierbar sein */ if($aktstatus=='Incoming' || $ausserordentlich) $bmwf='N'; else $bmwf='J'; - + $datei.=" ".$bmwf.""; - - $qryio="SELECT * FROM bis.tbl_bisio WHERE student_uid=".$db->db_add_param($row->student_uid)." + + $qryio="SELECT * FROM bis.tbl_bisio WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND (von>".$db->db_add_param($bisprevious)." OR bis IS NULL OR bis>".$db->db_add_param($bisprevious).") AND von<=".$db->db_add_param($bisdatum).";"; if($resultio = $db->db_query($qryio)) @@ -1064,7 +1064,7 @@ function GenerateXMLStudentBlock($row) } } } - + $datei.=" "; @@ -1103,7 +1103,7 @@ function GenerateXMLStudentBlock($row) } if(!in_array($storgform, $verwendete_orgformen)) $verwendete_orgformen[]=$storgform; - + //Studentenliste $stlist.="".trim($row->student_uid)."".trim($row->matrikelnr)."".trim($row->nachname)."".trim($row->vorname)."".trim($aktstatus)."".trim($sem)."".trim($storgform).""; return $datei; @@ -1125,7 +1125,7 @@ function GenerateXMLBewerberBlock($orgformcode=null) $datei = ''; $bewerberM=array(); $bewerberW=array(); - + if(mb_strstr($ssem,"WS")) { //Bewerber @@ -1139,7 +1139,7 @@ function GenerateXMLBewerberBlock($orgformcode=null) "; if(!is_null($orgformcode)) $qrybw.=" AND tbl_orgform.code=".$db->db_add_param($orgformcode); - + if($resultbw = $db->db_query($qrybw)) { while($rowbw = $db->db_fetch_object($resultbw)) @@ -1185,16 +1185,16 @@ function GenerateXMLBewerberBlock($orgformcode=null) } } $bworgform = ($rowbw->orgform_kurzbz!=''?$rowbw->orgform_kurzbz:$orgform_kurzbz); - + if(isset($bewerbercount[0])) $bewerbercount[0]++; - else + else $bewerbercount[0]=1; if(isset($bewerbercount[$bworgform])) $bewerbercount[$bworgform]++; - else + else $bewerbercount[$bworgform]=1; - + $bwlist.=''.trim($rowbw->nachname).''.trim($rowbw->vorname).''.$bworgform.''; } } @@ -1213,7 +1213,7 @@ function GenerateXMLBewerberBlock($orgformcode=null) if($stgart==2) $datei.=' '.$key.''; - else + else $datei.=' '.$key.''; diff --git a/vilesci/statistik/outgoing.php b/vilesci/statistik/outgoing.php index c54e2139a..f9d9d4628 100644 --- a/vilesci/statistik/outgoing.php +++ b/vilesci/statistik/outgoing.php @@ -35,8 +35,8 @@ echo ' Outgoing - - + + @@ -64,43 +64,43 @@ $stsem = new studiensemester(); $stsem->getFinished(); foreach($stsem->studiensemester as $row) { - $qry="SELECT + $qry="SELECT distinct vorname, nachname, tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg - FROM - public.tbl_prestudent + FROM + public.tbl_prestudent JOIN public.tbl_person USING(person_id) JOIN public.tbl_studiengang USING(studiengang_kz) JOIN public.tbl_student USING(prestudent_id) - JOIN bis.tbl_bisio USING(student_uid) + JOIN bis.tbl_bisio USING(prestudent_id) WHERE - + ( - (tbl_bisio.von>='$row->start' AND tbl_bisio.von<='$row->ende') + (tbl_bisio.von>=".$db->db_add_param($row->start)." AND tbl_bisio.von<=".$db->db_add_param($row->ende).") OR (tbl_bisio.bis<='$row->ende' AND tbl_bisio.bis>='$row->start') ) AND get_rolle_prestudent (prestudent_id, '$row->studiensemester_kurzbz')<>'Incoming' "; if($studiengang_kz!='') - $qry.=" AND tbl_student.studiengang_kz='".addslashes($studiengang_kz)."'"; + $qry.=" AND tbl_student.studiengang_kz=".$db->db_add_param($studiengang_kz); $qry.=" ORDER BY stg"; - + if($result = $db->db_query($qry)) { $anzahl = $db->db_num_rows($result); echo '

'.$row->studiensemester_kurzbz.' Anzahl: '.$anzahl.'

'; - + if($anzahl>0) { echo ' @@ -111,7 +111,7 @@ foreach($stsem->studiensemester as $row) '; - + while($row = $db->db_fetch_object($result)) { echo ''; @@ -126,4 +126,4 @@ foreach($stsem->studiensemester as $row) } echo ''; -?> \ No newline at end of file +?>