diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 063bc9edd..639a2283b 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -15,7 +15,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Manfred Kindl + * Authors: Manfred Kindl and + Andreas Moik . */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/dokument_export.class.php'); @@ -123,9 +124,8 @@ if (isset($lehrende->result)) //Studierende der LV laden und in ein Array schreiben - -$qry = "SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, +$qry = "SELECT + distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, 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.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, @@ -134,7 +134,7 @@ $qry = "SELECT campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) + LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_student.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.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 diff --git a/cis/private/lehre/anwesenheitsliste_bilder.html.php b/cis/private/lehre/anwesenheitsliste_bilder.html.php index 71f485048..abb85613a 100644 --- a/cis/private/lehre/anwesenheitsliste_bilder.html.php +++ b/cis/private/lehre/anwesenheitsliste_bilder.html.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ /** * @@ -154,7 +155,7 @@ $qry = "SELECT 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 public.tbl_studentlehrverband ON(public.tbl_student.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.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(public.tbl_student.prestudent_id=tbl_bisio.prestudent_id) WHERE diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php index 86d990082..5837a0cdc 100644 --- a/cis/private/lehre/benotungstool/anwesenheitsliste.php +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -226,7 +226,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND vw_student.uid = tbl_benutzergruppe.uid AND tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz AND - vw_student.uid=tbl_studentlehrverband.student_uid AND + vw_student.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_studentlehrverband.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz UNION SELECT @@ -238,7 +238,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls') tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND tbl_lehreinheitgruppe.studiengang_kz=tbl_studentlehrverband.studiengang_kz AND tbl_lehreinheitgruppe.semester = tbl_studentlehrverband.semester AND - tbl_studentlehrverband.student_uid=vw_student.uid AND + tbl_studentlehrverband.prestudent_id=vw_student.prestudent_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz AND ((tbl_lehreinheitgruppe.verband<>'' AND diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index 16a9804f6..5f4fd95ec 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -270,7 +270,7 @@ $qry = "SELECT distinct lehreinheit_id, lehrfach.kurzbz FROM lehre.tbl_lehreinhe public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband WHERE tbl_student.student_uid=".$db->db_add_param($user)." AND - tbl_studentlehrverband.student_uid=tbl_student.student_uid AND + tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id AND tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND tbl_lehreinheitgruppe.gruppe_kurzbz is null AND diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index ff8ea1246..e4b95f938 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -16,9 +16,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Andreas Oesterreicher , + * Rudolf Hangl < rudolf.hangl@technikum-wien.at >, + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > and + * Andreas Moik . */ /* * Erstellt Notenliste im Excel Format @@ -207,7 +208,7 @@ else 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 public.tbl_studentlehrverband ON(public.tbl_student.prestudent_id=tbl_studentlehrverband.prestudent_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.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(public.tbl_student.prestudent_id=tbl_bisio.prestudent_id) WHERE diff --git a/content/pdfExport.php b/content/pdfExport.php index 4cc56ea6e..85b92b6f9 100644 --- a/content/pdfExport.php +++ b/content/pdfExport.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ /* Erstellt diverse Dokumente * @@ -590,16 +591,19 @@ else $prestudent->getLastStatus($student->prestudent_id,$ss); $semester=$prestudent->ausbildungssemester; - $query = "SELECT - tbl_studiengang.studiengang_kz, tbl_studentlehrverband.semester, tbl_studiengang.typ, - tbl_studiengang.kurzbz, tbl_person.person_id FROM tbl_person, tbl_benutzer, - tbl_studentlehrverband, tbl_studiengang - WHERE - tbl_studentlehrverband.student_uid = tbl_benutzer.uid - AND tbl_benutzer.person_id = tbl_person.person_id - AND tbl_studentlehrverband.studiengang_kz = tbl_studiengang.studiengang_kz - AND tbl_studentlehrverband.student_uid = ".$db->db_add_param($uid)." - AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($ss); + $query = " + SELECT + tbl_studiengang.studiengang_kz, tbl_studentlehrverband.semester, tbl_studiengang.typ, + tbl_studiengang.kurzbz, tbl_person.person_id + FROM + tbl_person, tbl_prestudent, + tbl_studentlehrverband, tbl_studiengang + WHERE + tbl_studentlehrverband.prestudent_id = tbl_prestudent.prestudent_id + AND tbl_prestudent.person_id = tbl_person.person_id + AND tbl_studentlehrverband.studiengang_kz = tbl_studiengang.studiengang_kz + AND tbl_studentlehrverband.prestudent_id = ".$db->db_add_param($prestudent->prestudent_id, FHC_INTEGER)." + AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($ss); if($result = $db->db_query($query)) { diff --git a/content/statistik/abschlusspruefungexport.xls.php b/content/statistik/abschlusspruefungexport.xls.php index f1178abf6..902402115 100644 --- a/content/statistik/abschlusspruefungexport.xls.php +++ b/content/statistik/abschlusspruefungexport.xls.php @@ -1,140 +1,141 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/** - * Exportiert die Studentendaten in ein Excel File. - * Die zu exportierenden Spalten werden per GET uebergeben. - * Die Adressen werden immer dazugehaengt - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/Excel/excel.php'); - -$db = new basis_db(); -$user = get_uid(); -$datum_obj = new datum(); -loadVariables($user); - - function writecol($zeile, $i, $content) - { - global $worksheet, $maxlength; - $worksheet->write($zeile, $i, $content); - if(mb_strlen($content)>$maxlength[$i]) - $maxlength[$i]=mb_strlen($content); - } - - //Parameter holen - $studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''; - $semester = isset($_GET['semester'])?$_GET['semester']:''; - $studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:''; - - $maxlength= array(); - $zeile=1; - - // Creating a workbook - $workbook = new Spreadsheet_Excel_Writer(); - - // sending HTTP headers - $workbook->send("Abschlusspruefung". "_" . date("d_m_Y") . ".xls"); - $workbook->setVersion(8); - // Creating a worksheet - $worksheet =& $workbook->addWorksheet("Abschlusspruefung"); - $worksheet->setInputEncoding('utf-8'); - - $format_bold =& $workbook->addFormat(); - $format_bold->setBold(); - - $format_title =& $workbook->addFormat(); - $format_title->setBold(); - // let's merge - $format_title->setAlign('merge'); - - $stsem = new studiensemester(); - $stsem->load($studiensemester_kurzbz); - - //Zeilenueberschriften ausgeben - $headline=array('Titelpre','Vorname','Nachname','Titelpost','Vorsitz','Pruefer1','Pruefer2','Pruefer3', - 'Abschlussbeurteilung','Typ','Datum','Sponsion','Anmerkung'); - - $i=0; - foreach ($headline as $title) - { - $worksheet->write(0,$i,$title, $format_bold); - $maxlength[$i]=mb_strlen($title); - $i++; - } - - // Daten holen - $qry = "SELECT - titelpre, vorname, nachname, titelpost, - (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=vorsitz) as vorsitz, - (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1, - (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2, - (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3, - (SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz=tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung, tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung - FROM - lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_benutzer, public.tbl_person, - lehre.tbl_pruefungstyp - WHERE - tbl_abschlusspruefung.student_uid=public.tbl_studentlehrverband.student_uid AND - tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND - tbl_studentlehrverband.studiengang_kz='".addslashes($studiengang_kz)."' AND - tbl_benutzer.uid = tbl_abschlusspruefung.student_uid AND - tbl_person.person_id = tbl_benutzer.person_id AND - tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz - "; - if($semester!='') - $qry.= " AND tbl_studentlehrverband.semester='".addslashes($semester)."'"; - $qry.=' ORDER BY nachname, vorname'; - $zeile=1; - if($db->db_query($qry)) - { - while($row = $db->db_fetch_object()) - { - $i=0; - - writecol($zeile, $i++, $row->titelpre); - writecol($zeile, $i++, $row->vorname); - writecol($zeile, $i++, $row->nachname); - writecol($zeile, $i++, $row->titelpost); - writecol($zeile, $i++, $row->vorsitz); - writecol($zeile, $i++, $row->pruefer1); - writecol($zeile, $i++, $row->pruefer2); - writecol($zeile, $i++, $row->pruefer3); - writecol($zeile, $i++, $row->bezeichnung); - writecol($zeile, $i++, $row->beschreibung); - writecol($zeile, $i++, $row->datum); - writecol($zeile, $i++, $row->sponsion); - writecol($zeile, $i++, $row->anmerkung); - - $zeile++; - } - } - else - die('Fehler in Qry: '.$qry); - //Die Breite der Spalten setzen - foreach($maxlength as $i=>$breite) - $worksheet->setColumn($i, $i, $breite+2); - - $workbook->close(); -?> +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . + */ +/** + * Exportiert die Studentendaten in ein Excel File. + * Die zu exportierenden Spalten werden per GET uebergeben. + * Die Adressen werden immer dazugehaengt + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/Excel/excel.php'); + +$db = new basis_db(); +$user = get_uid(); +$datum_obj = new datum(); +loadVariables($user); + + function writecol($zeile, $i, $content) + { + global $worksheet, $maxlength; + $worksheet->write($zeile, $i, $content); + if(mb_strlen($content)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($content); + } + + //Parameter holen + $studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:''; + $semester = isset($_GET['semester'])?$_GET['semester']:''; + $studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:''; + + $maxlength= array(); + $zeile=1; + + // Creating a workbook + $workbook = new Spreadsheet_Excel_Writer(); + + // sending HTTP headers + $workbook->send("Abschlusspruefung". "_" . date("d_m_Y") . ".xls"); + $workbook->setVersion(8); + // Creating a worksheet + $worksheet =& $workbook->addWorksheet("Abschlusspruefung"); + $worksheet->setInputEncoding('utf-8'); + + $format_bold =& $workbook->addFormat(); + $format_bold->setBold(); + + $format_title =& $workbook->addFormat(); + $format_title->setBold(); + // let's merge + $format_title->setAlign('merge'); + + $stsem = new studiensemester(); + $stsem->load($studiensemester_kurzbz); + + //Zeilenueberschriften ausgeben + $headline=array('Titelpre','Vorname','Nachname','Titelpost','Vorsitz','Pruefer1','Pruefer2','Pruefer3', + 'Abschlussbeurteilung','Typ','Datum','Sponsion','Anmerkung'); + + $i=0; + foreach ($headline as $title) + { + $worksheet->write(0,$i,$title, $format_bold); + $maxlength[$i]=mb_strlen($title); + $i++; + } + + // Daten holen + $qry = "SELECT + titelpre, vorname, nachname, titelpost, + (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=vorsitz) as vorsitz, + (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer1) as pruefer1, + (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer2) as pruefer2, + (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=pruefer3) as pruefer3, + (SELECT bezeichnung FROM lehre.tbl_abschlussbeurteilung WHERE tbl_abschlussbeurteilung.abschlussbeurteilung_kurzbz=tbl_abschlusspruefung.abschlussbeurteilung_kurzbz) as bezeichnung, tbl_pruefungstyp.beschreibung, datum, sponsion, tbl_abschlusspruefung.anmerkung + FROM + lehre.tbl_abschlusspruefung, public.tbl_studentlehrverband, public.tbl_prestudent, public.tbl_person, + lehre.tbl_pruefungstyp + WHERE + tbl_abschlusspruefung.prestudent_id=public.tbl_studentlehrverband.prestudent_id AND + tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND + tbl_studentlehrverband.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND + tbl_prestudent.prestudent_id = tbl_abschlusspruefung.prestudent_id AND + tbl_person.person_id = tbl_prestudent.person_id AND + tbl_abschlusspruefung.pruefungstyp_kurzbz = tbl_pruefungstyp.pruefungstyp_kurzbz + "; + if($semester!='') + $qry.= " AND tbl_studentlehrverband.semester='".addslashes($semester)."'"; + $qry.=' ORDER BY nachname, vorname'; + $zeile=1; + if($db->db_query($qry)) + { + while($row = $db->db_fetch_object()) + { + $i=0; + + writecol($zeile, $i++, $row->titelpre); + writecol($zeile, $i++, $row->vorname); + writecol($zeile, $i++, $row->nachname); + writecol($zeile, $i++, $row->titelpost); + writecol($zeile, $i++, $row->vorsitz); + writecol($zeile, $i++, $row->pruefer1); + writecol($zeile, $i++, $row->pruefer2); + writecol($zeile, $i++, $row->pruefer3); + writecol($zeile, $i++, $row->bezeichnung); + writecol($zeile, $i++, $row->beschreibung); + writecol($zeile, $i++, $row->datum); + writecol($zeile, $i++, $row->sponsion); + writecol($zeile, $i++, $row->anmerkung); + + $zeile++; + } + } + else + die('Fehler in Qry: '.$qry); + //Die Breite der Spalten setzen + foreach($maxlength as $i=>$breite) + $worksheet->setColumn($i, $i, $breite+2); + + $workbook->close(); +?> diff --git a/content/statistik/anwesenheitsliste.php b/content/statistik/anwesenheitsliste.php index 73b272adb..24d417a9d 100644 --- a/content/statistik/anwesenheitsliste.php +++ b/content/statistik/anwesenheitsliste.php @@ -1,143 +1,144 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* - * Generiert eine Anwesenheitsliste mit Fotos - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/akte.class.php'); - -$stg_obj = new studiengang(); -$stg_obj->getAll('typ, kurzbzlang', false); - - //Uebergabeparameter abpruefen - if(isset($_GET['stg'])) //Studiengang - { - if(is_numeric($_GET['stg'])) - $stg=$_GET['stg']; - else - die('Fehler bei der Parameteruebergabe'); - } - else - $stg=''; - if(isset($_GET['sem'])) //Semester - { - if(is_numeric($_GET['sem'])) - $sem=$_GET['sem']; - else - die('Fehler bei der Parameteruebergabe'); - } - else - $sem=''; - - if(isset($_GET['verband'])) //Verband - $verband=$_GET['verband']; - else - $verband=''; - if(isset($_GET['gruppe'])) //Gruppe - $gruppe=$_GET['gruppe']; - else - $gruppe=''; - if(isset($_GET['gruppe_kurzbz'])) //Einheit - $gruppe_kurzbz = $_GET['gruppe_kurzbz']; - else - $gruppe_kurzbz=''; - - if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) - $lvid = $_GET['lvid']; - else - die('Fehler bei der Parameteruebergabe'); - - if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; - else - die('Studiensemester wurde nicht uebergeben'); - - $lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:''); - -if(isset($_GET['prestudent_id'])) -{ - $ids = explode(';',$_GET['prestudent_id']); - $idstring=''; - - foreach ($ids as $id) - { - if($idstring!='') - $idstring.=','; - $idstring.="'$id'"; - } - $qry = "SELECT distinct on(person_id) foto, vorname, nachname, person_id, prestudent_id, tbl_prestudent.studiengang_kz, semester, verband, gruppe FROM public.tbl_person JOIN public.tbl_prestudent USING(person_id) LEFT JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id in($idstring)"; -} -else -{ - $qry = "SELECT - distinct on(person_id) foto, vorname, nachname, person_id, tbl_studentlehrverband.studiengang_kz, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe - 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) - WHERE - lehrveranstaltung_id='".addslashes($lvid)."' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."' AND - tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'"; - - if($lehreinheit_id!='') - $qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'"; -} - -echo ' - -Anwesenheitsliste - - - -

Studentenliste - '.date('d.m.Y').'


'; -$db = new basis_db(); -if($result = $db->db_query($qry)) -{ - echo ""; - echo ''; - while($row = $db->db_fetch_object($result)) - { - echo ''; - if($row->foto!='') - { - $akte = new akte(); - $akte->getAkten($row->person_id, 'Lichtbil'); - - echo ""; - } - else - echo ""; - echo ""; - echo ""; - echo ""; - - echo ''; - } - echo '
FotoNachnameVornameGruppe
$row->nachname$row->vorname".$stg_obj->kuerzel_arr[$row->studiengang_kz]."-$row->semester$row->verband$row->gruppe
'; -} - -echo ''; -?> \ No newline at end of file +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . + */ +/* + * Generiert eine Anwesenheitsliste mit Fotos + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/akte.class.php'); + +$stg_obj = new studiengang(); +$stg_obj->getAll('typ, kurzbzlang', false); + + //Uebergabeparameter abpruefen + if(isset($_GET['stg'])) //Studiengang + { + if(is_numeric($_GET['stg'])) + $stg=$_GET['stg']; + else + die('Fehler bei der Parameteruebergabe'); + } + else + $stg=''; + if(isset($_GET['sem'])) //Semester + { + if(is_numeric($_GET['sem'])) + $sem=$_GET['sem']; + else + die('Fehler bei der Parameteruebergabe'); + } + else + $sem=''; + + if(isset($_GET['verband'])) //Verband + $verband=$_GET['verband']; + else + $verband=''; + if(isset($_GET['gruppe'])) //Gruppe + $gruppe=$_GET['gruppe']; + else + $gruppe=''; + if(isset($_GET['gruppe_kurzbz'])) //Einheit + $gruppe_kurzbz = $_GET['gruppe_kurzbz']; + else + $gruppe_kurzbz=''; + + if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) + $lvid = $_GET['lvid']; + else + die('Fehler bei der Parameteruebergabe'); + + if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; + else + die('Studiensemester wurde nicht uebergeben'); + + $lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:''); + +if(isset($_GET['prestudent_id'])) +{ + $ids = explode(';',$_GET['prestudent_id']); + $idstring=''; + + foreach ($ids as $id) + { + if($idstring!='') + $idstring.=','; + $idstring.="'$id'"; + } + $qry = "SELECT distinct on(person_id) foto, vorname, nachname, person_id, prestudent_id, tbl_prestudent.studiengang_kz, semester, verband, gruppe FROM public.tbl_person JOIN public.tbl_prestudent USING(person_id) LEFT JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id in($idstring)"; +} +else +{ + $qry = "SELECT + distinct on(person_id) foto, vorname, nachname, person_id, tbl_studentlehrverband.studiengang_kz, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe + 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(prestudent_id) + WHERE + lehrveranstaltung_id='".addslashes($lvid)."' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."' AND + tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'"; + + if($lehreinheit_id!='') + $qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'"; +} + +echo ' + +Anwesenheitsliste + + + +

Studentenliste - '.date('d.m.Y').'


'; +$db = new basis_db(); +if($result = $db->db_query($qry)) +{ + echo ""; + echo ''; + while($row = $db->db_fetch_object($result)) + { + echo ''; + if($row->foto!='') + { + $akte = new akte(); + $akte->getAkten($row->person_id, 'Lichtbil'); + + echo ""; + } + else + echo ""; + echo ""; + echo ""; + echo ""; + + echo ''; + } + echo '
FotoNachnameVornameGruppe
$row->nachname$row->vorname".$stg_obj->kuerzel_arr[$row->studiengang_kz]."-$row->semester$row->verband$row->gruppe
'; +} + +echo ''; +?> diff --git a/content/statistik/dokumente.xls.php b/content/statistik/dokumente.xls.php index 85330ce45..81f66bb43 100644 --- a/content/statistik/dokumente.xls.php +++ b/content/statistik/dokumente.xls.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ /** * Exportiert eine Liste der Absolventen in ein Excel File. @@ -87,9 +88,9 @@ if($studiengang_kz!='') // Daten holen $qry = "SELECT DISTINCT nachname, vorname, prestudent_id, public.get_rolle_prestudent(prestudent_id, NULL) AS status, tbl_studentlehrverband.semester FROM - public.tbl_person JOIN public.tbl_prestudent USING(person_id) - LEFT JOIN public.tbl_student USING (prestudent_id) - LEFT JOIN public.tbl_studentlehrverband USING (student_uid) + public.tbl_person + JOIN public.tbl_prestudent USING(person_id) + LEFT JOIN public.tbl_studentlehrverband USING (prestudent_id) WHERE prestudent_id IN( SELECT diff --git a/content/statistik/studentenexport.xls.php b/content/statistik/studentenexport.xls.php index 07a93a2ae..81e917095 100644 --- a/content/statistik/studentenexport.xls.php +++ b/content/statistik/studentenexport.xls.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ /** * Exportiert die Studentendaten in ein Excel File. @@ -355,7 +356,7 @@ loadVariables($user); $worksheet->write($zeile,$i, $row->stgbez); $i++; - $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(student_uid) WHERE prestudent_id='$row->prestudent_id' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(prestudent_id) WHERE prestudent_id='$row->prestudent_id' AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); if($result_sem = $db->db_query($qry)) { if($row_sem = $db->db_fetch_object($result_sem)) diff --git a/content/statistik/studentenexportextended.xls.php b/content/statistik/studentenexportextended.xls.php index e5bf89af0..38bcb4cb5 100644 --- a/content/statistik/studentenexportextended.xls.php +++ b/content/statistik/studentenexportextended.xls.php @@ -17,8 +17,9 @@ * * Authors: Christian Paminger , * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Simane-Sequens . + * Rudolf Hangl , + * Gerald Simane-Sequens and + * Andreas Moik . */ /** * Exportiert die Daten von Prestudenten und Studenten in ein Excel File. @@ -304,9 +305,9 @@ loadVariables($user); $worksheet->write($zeile,$i, $row->stgbez); $i++; - $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(student_uid) - WHERE prestudent_id='".addslashes($row->prestudent_id)."' - AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(prestudent_id) + WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." + AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); if($db->db_query($qry)) { if($row_sem = $db->db_fetch_object()) diff --git a/content/statistik/studentenprosemester.php b/content/statistik/studentenprosemester.php index 7a830c86c..122cfa474 100644 --- a/content/statistik/studentenprosemester.php +++ b/content/statistik/studentenprosemester.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/functions.inc.php'); @@ -48,22 +49,22 @@ foreach ($studiengang->result as $row) $qry = " SELECT stdlvb.studiengang_kz, count(*) AS all, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=1 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s1_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=1 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s1_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=2 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s2_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=2 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s2_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=3 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s3_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=3 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s3_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=4 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s4_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=4 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s4_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=5 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s5_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=5 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s5_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=6 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s6_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=6 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s6_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=7 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s7_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=7 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s7_w, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=8 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s8_m, - (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student ON (student_uid=uid) WHERE tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."' AND tbl_studentlehrverband.semester=8 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s8_w + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=1 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s1_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=1 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s1_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=2 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s2_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=2 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s2_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=3 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s3_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=3 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s3_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=4 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s4_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=4 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s4_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=5 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s5_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=5 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s5_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=6 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s6_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=6 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s6_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=7 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s7_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=7 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s7_w, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=8 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='m') AS s8_m, + (SELECT count(*) FROM public.tbl_studentlehrverband JOIN campus.vw_student USING (prestudent_id) WHERE tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_studentlehrverband.semester=8 AND tbl_studentlehrverband.studiengang_kz=stdlvb.studiengang_kz AND geschlecht='w') AS s8_w FROM tbl_studentlehrverband stdlvb JOIN tbl_studiengang USING(studiengang_kz) WHERE @@ -204,7 +205,7 @@ if($format=='xls') $var_w = 's'.$i.'_w'; if(!isset($summe_m_[$i])) $summe_m_[$i]=0; - if(!isset($summe_w_[$i])) + if(!isset($summe_w_[$i])) $summe_w_[$i]=0; $summe_m_[$i]+= $row->$var_m; @@ -214,7 +215,7 @@ if($format=='xls') $gesamtsumme=0; if(!isset($gesamtsumme_m)) $gesamtsumme_m=0; - if(!isset($gesamtsumme_w)) + if(!isset($gesamtsumme_w)) $gesamtsumme_w=0; $gesamtsumme+= $row->all; diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 16caca506..420c288b8 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -16,15 +16,16 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ // **************************************** // * Insert/Update/Delete // * der Studenten // * -// * Script sorgt fuer den Datenbanzugriff +// * Script sorgt fuer den Datenbankzugriff // * fuer das XUL - Studenten-Modul // * // **************************************** @@ -201,7 +202,9 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst { $pruefung = new pruefung; $pruefung->new = true; - $pruefung->student_uid = $student_uid; + if(!$std = new student($_POST['student_uid'])) + die("Student nicht gefunden"); + $pruefung->prestudent_id = $std->prestudent_id; $pruefung->lehreinheit_id = $lehreinheit_id; $pruefung->datum = date("Y-m-d"); @@ -370,7 +373,9 @@ if(!$error) if(count($prestudentobj->result)>0) { - if($student_lvb->studentlehrverband_exists($_POST['uid'], $semester_aktuell)) + $tmpStudent = new student($_POST['uid']); + + if($student_lvb->studentlehrverband_exists($tmpStudent->prestudent_id, $semester_aktuell)) $student_lvb->new = false; else $student_lvb->new = true; @@ -966,8 +971,7 @@ if(!$error) if($return) { $student = new student(); - $temp_uid = $student->getUid($rolle->prestudent_id); - if(!$student->delete_studentLehrverband($temp_uid, $_POST['studiengang_kz'], $rolle->studiensemester_kurzbz, $rolle->ausbildungssemester)) + if(!$student->delete_studentLehrverband($rolle->prestudent_id, $_POST['studiengang_kz'], $rolle->studiensemester_kurzbz, $rolle->ausbildungssemester)) { $return = false; $errormsg = "Fehler beim Löschen der Lehrverbandszuordnung."; @@ -1120,7 +1124,7 @@ if(!$error) $prestudent_temp = new prestudent(); $prestudent_temp->getLastStatus($rolle->prestudent_id, "", "Student"); - if($student->load_studentlehrverband($temp_uid, $prestudent_temp->studiensemester_kurzbz)) + if($student->load_studentlehrverband($rolle->prestudent_id, $prestudent_temp->studiensemester_kurzbz)) $student->new=false; else $student->new=true; @@ -1246,7 +1250,7 @@ if(!$error) if(!$error) { - $student->load_studentlehrverband($temp_uid, $_POST["studiensemester_kurzbz"]); + $student->load_studentlehrverband($rolle->prestudent_id, $_POST["studiensemester_kurzbz"]); $lehrverband = new lehrverband(); if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe)) { @@ -1699,7 +1703,7 @@ if(!$error) //Eintrag in der Tabelle Studentlehrverband aendern $student_lvb = new student(); - if($student_lvb->studentlehrverband_exists($uid, $semester_aktuell)) + if($student_lvb->studentlehrverband_exists($student->prestudent_id, $semester_aktuell)) $student_lvb->new = false; else $student_lvb->new = true; @@ -3225,8 +3229,11 @@ if(!$error) if(!$error) { + if(!$student = new student($_POST['student_uid'])) + die("Student nicht gefunden"); + $pruefung->lehreinheit_id = $_POST['lehreinheit_id']; - $pruefung->student_uid = $_POST['student_uid']; + $pruefung->prestudent_id = $student->prestudent_id; $pruefung->mitarbeiter_uid = $_POST['mitarbeiter_uid']; $pruefung->note = $_POST['note']; if(isset($_POST['punkte'])) @@ -3385,7 +3392,9 @@ if(!$error) $pruefung->insertvon = $user; } - $pruefung->student_uid = $_POST['student_uid']; + if(!$std = new student($_POST['student_uid'])) + die("Student nicht gefunden"); + $pruefung->prestudent_id = $std->prestudent_id; $pruefung->vorsitz = $_POST['vorsitz']; $pruefung->pruefer1 = $_POST['pruefer1']; $pruefung->pruefer2 = $_POST['pruefer2']; diff --git a/include/abschlusspruefung.class.php b/include/abschlusspruefung.class.php index b7ccd69e0..019fdcc7b 100755 --- a/include/abschlusspruefung.class.php +++ b/include/abschlusspruefung.class.php @@ -32,7 +32,7 @@ class abschlusspruefung extends basis_db //Tabellenspalten public $abschlusspruefung_id; - public $student_uid; + public $prestudent_id; //int public $vorsitz; public $pruefer1; public $pruefer2; @@ -89,7 +89,7 @@ class abschlusspruefung extends basis_db if($row = $this->db_fetch_object()) { $this->abschlusspruefung_id = $row->abschlusspruefung_id; - $this->student_uid = $row->student_uid; + $this->prestudent_id = $row->prestudent_id; $this->vorsitz = $row->vorsitz; $this->pruefer1 = $row->pruefer1; $this->pruefer2 = $row->pruefer2; @@ -168,9 +168,9 @@ class abschlusspruefung extends basis_db $this->errormsg = 'Pruefungstyp muss eingetragen werden'; return false; } - if($this->student_uid=='') + if(!is_numeric($this->prestudent_id)) { - $this->errormsg = 'UID muss eingetragen werden'; + $this->errormsg = 'prestudent_id ist ungueltig'; return false; } return true; @@ -192,11 +192,11 @@ class abschlusspruefung extends basis_db if($new) { //Neuen Datensatz anlegen - $qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1, + $qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (prestudent_id, vorsitz, pruefer1, pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, uhrzeit, sponsion, pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon, note) VALUES (". - $this->db_add_param($this->student_uid).', '. + $this->db_add_param($this->prestudent_id, FHC_INTEGER).', '. $this->db_add_param($this->vorsitz).', '. $this->db_add_param($this->pruefer1).', '. $this->db_add_param($this->pruefer2).', '. @@ -219,7 +219,7 @@ class abschlusspruefung extends basis_db { //Bestehenden Datensatz aktualisieren $qry= "UPDATE lehre.tbl_abschlusspruefung SET". - " student_uid=".$this->db_add_param($this->student_uid).",". + " prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER).",". " vorsitz=".$this->db_add_param($this->vorsitz).",". " pruefer1=".$this->db_add_param($this->pruefer1).",". " pruefer2=".$this->db_add_param($this->pruefer2).",". @@ -276,17 +276,17 @@ class abschlusspruefung extends basis_db /** * Laedt alle Abschlusspruefungen eines Studenten - * @param student_uid UID des Studenten + * @param prestudent_id prestudent_id des Prestudenten * @return true wenn ok, false wenn Fehler */ - public function getAbschlusspruefungen($student_uid) + public function getAbschlusspruefungen($prestudent_id) { $qry = "SELECT * FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz) - WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)." + WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false)." ORDER BY datum DESC"; if($this->db_query($qry)) @@ -296,7 +296,7 @@ class abschlusspruefung extends basis_db $obj = new abschlusspruefung(); $obj->abschlusspruefung_id = $row->abschlusspruefung_id; - $obj->student_uid = $row->student_uid; + $obj->prestudent_id = $row->prestudent_id; $obj->vorsitz = $row->vorsitz; $obj->pruefer1 = $row->pruefer1; $obj->pruefer2 = $row->pruefer2; @@ -330,16 +330,16 @@ class abschlusspruefung extends basis_db /** * Liefert die letzte Abschlussprüfung eines Studenten - * @param type $student_uid + * @param type $prestudent_id */ - public function getLastAbschlusspruefung($student_uid) + public function getLastAbschlusspruefung($prestudent_id) { $qry = "SELECT * FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz) - WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)." + WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false)." ORDER BY datum DESC LIMIT 1"; if($this->db_query($qry)) @@ -347,7 +347,7 @@ class abschlusspruefung extends basis_db if($row = $this->db_fetch_object()) { $this->abschlusspruefung_id = $row->abschlusspruefung_id; - $this->student_uid = $row->student_uid; + $this->prestudent_id = $row->prestudent_id; $this->vorsitz = $row->vorsitz; $this->pruefer1 = $row->pruefer1; $this->pruefer2 = $row->pruefer2; diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 3ce4c84e4..343db078a 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -30,6 +30,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/studiensemester.class.php'); +require_once(dirname(__FILE__).'/student.class.php'); require_once(dirname(__FILE__).'/variable.class.php'); class lehrstunde extends basis_db @@ -315,10 +316,14 @@ class lehrstunde extends basis_db if(!isset($this->ssnext)) $this->ssnext = $this->ss; + if(!$student = new student($uid)) + $this->errormsg = $student->errormsg; + + // Lehrverbandszuordnungen der betreffenden Studiensemester laden $sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_studentlehrverband - WHERE student_uid=".$this->db_add_param($uid)." + WHERE prestudent_id=".$this->db_add_param($student->prestudent_id)." AND studiensemester_kurzbz in(".$this->db_add_param($this->ss).",".$this->db_add_param($this->ssnext).")"; $verbaende=array(); diff --git a/include/moodle19_user.class.php b/include/moodle19_user.class.php index 6a87040c1..a08d79b1f 100644 --- a/include/moodle19_user.class.php +++ b/include/moodle19_user.class.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ /* * requires moodle_course.class.php @@ -26,6 +27,7 @@ * Klasse zur Kommunikation mit Moodle 1.9 */ require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/student.class.php'); class moodle19_user extends basis_db { @@ -301,13 +303,13 @@ class moodle19_user extends basis_db if($row_std->gruppe_kurzbz=='') //LVB Gruppe { $qry = "SELECT - distinct student_uid + distinct prestudent_id FROM public.tbl_studentlehrverband WHERE - studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."' AND - studiengang_kz = '".addslashes($row_std->studiengang_kz)."' AND - semester = '".addslashes($row_std->semester)."'"; + studiensemester_kurzbz=".$db->db_add_param($row_std->studiensemester_kurzbz)." AND + studiengang_kz = ".$db->db_add_param($row_std->studiengang_kz)." AND + semester = ".$db->db_add_param($row_std->semester); if(trim($row_std->verband)!='') { $qry.=" AND verband = '$row_std->verband'"; @@ -327,8 +329,8 @@ class moodle19_user extends basis_db FROM public.tbl_benutzergruppe WHERE - gruppe_kurzbz='".addslashes($row_std->gruppe_kurzbz)."' AND - studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."'"; + gruppe_kurzbz=".$this->db_add_param($row_std->gruppe_kurzbz)." AND + studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz); $gruppenbezeichnung = $row_std->gruppe_kurzbz; } @@ -336,13 +338,23 @@ class moodle19_user extends basis_db { while($row_user = $this->db_fetch_object($result_user)) { + if(isset($row_user->prestudent_id)) + { + $student = new student(); + $uid = $student->getUid($row_user->prestudent_id); + } + else + { + $uid = $row_user->student_uid; + } + //MoodleID des Users holen bzw ggf neu anlegen - if(!$this->loaduser($row_user->student_uid)) + if(!$this->loaduser($uid)) { //User anlegen - if(!$this->createUser($row_user->student_uid)) + if(!$this->createUser($uid)) { - $this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg"; + $this->errormsg = "Fehler beim Anlegen des Users $uid: $this->errormsg"; return false; } else diff --git a/include/moodle24_user.class.php b/include/moodle24_user.class.php index 810039730..1a9e2a984 100644 --- a/include/moodle24_user.class.php +++ b/include/moodle24_user.class.php @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Andreas Oesterreicher and + * Andreas Moik . */ /* * Connector fuer Moodle 2.4 User @@ -25,6 +26,7 @@ */ require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/moodle.class.php'); +require_once(dirname(__FILE__).'/student.class.php'); class moodle24_user extends basis_db { @@ -309,7 +311,7 @@ class moodle24_user extends basis_db if($row_std->gruppe_kurzbz=='') //LVB Gruppe { $qry = "SELECT - distinct student_uid + distinct prestudent_id FROM public.tbl_studentlehrverband WHERE @@ -345,13 +347,22 @@ class moodle24_user extends basis_db { while($row_user = $this->db_fetch_object($result_user)) { + if(isset($row_user->prestudent_id)) + { + $student = new student(); + $uid = $student->getUid($row_user->prestudent_id); + } + else + { + $uid = $row_user->student_uid; + } //Nachschauen ob dieser Student bereits zugeteilt ist $user_zugeteilt=false; foreach($enrolled_users as $user) { - if($user['username']==$row_user->student_uid) + if($user['username']==$uid) { $user_zugeteilt=true; $this->mdl_user_id=$user['id']; @@ -363,12 +374,12 @@ class moodle24_user extends basis_db { //MoodleID des Users holen bzw ggf neu anlegen - if(!$this->loaduser($row_user->student_uid)) + if(!$this->loaduser($uid)) { //User anlegen - if(!$this->createUser($row_user->student_uid)) + if(!$this->createUser($uid)) { - $this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg"; + $this->errormsg = "Fehler beim Anlegen des Users $uid: $this->errormsg"; return false; } else @@ -389,8 +400,8 @@ class moodle24_user extends basis_db $userstoenroll[]=$data; - $this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt"; - $this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt"; + $this->log.="\nStudentIn $uid wurde zum Kurs hinzugefügt"; + $this->log_public.="\nStudentIn $uid wurde zum Kurs hinzugefügt"; $this->sync_create++; } @@ -418,7 +429,7 @@ class moodle24_user extends basis_db $groupid=$vorhandenegruppen[$gruppenbezeichnung]; //if($this->mdl_user_id=='') - // $this->loaduser($row_user->student_uid); + // $this->loaduser($uid); //Schauen ob eine Zuteilung zu dieser Gruppe vorhanden ist if(!$this->getGroupMember($groupid, $this->mdl_user_id)) { @@ -426,8 +437,8 @@ class moodle24_user extends basis_db $groupmembertoadd[] = array('groupid'=>$groupid,'userid'=>$this->mdl_user_id); //$this->createGroupMember($groupid, $this->mdl_user_id); $this->group_update++; - $this->log.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet"; - $this->log_public.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung zugeordnet"; + $this->log.="\nStudentIn $uid wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet"; + $this->log_public.="\nStudentIn $uid wurde der Gruppe $gruppenbezeichnung zugeordnet"; } } } diff --git a/include/pruefung.class.php b/include/pruefung.class.php index 240e97e88..43b53a5ea 100644 --- a/include/pruefung.class.php +++ b/include/pruefung.class.php @@ -1,473 +1,473 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class pruefung extends basis_db -{ - public $new; // boolean - public $result = array(); // pruefung Objekt - - public $pruefung_id; - public $lehreinheit_id; // integer - public $student_uid; // varchar(16) - public $mitarbeiter_uid; // varchar(16) - public $note; // smallint - public $pruefungstyp_kurzbz; // varchar(16) - public $datum; // Date - public $anmerkung; // varchar(256) - public $insertamum; // timestamp) - public $insertvon; // varchar(16) - public $updateamum; // timestamp - public $updatevon; // varchar(16) - public $ext_id; // bigint - public $pruefungsanmeldung_id; // bigint - public $vertrag_id; // bigint - public $punkte; // numeric(8,4) - - public $lehrveranstaltung_bezeichnung; - public $lehrveranstaltung_id; - public $note_bezeichnung; - public $pruefungstyp_beschreibung; - public $studiensemester_kurzbz; - - /** - * Konstruktor - * @param pruefung_id ID der zu ladenden Pruefung - */ - public function __construct($pruefung_id=null) - { - parent::__construct(); - - if($pruefung_id!=null) - $this->load($pruefung_id); - } - - /** - * Laedt einen Prüfungsdatensatz - * @param pruefung_id ID - * @return true wenn ok, false im Fehlerfall - */ - public function load($pruefung_id) - { - if(!is_numeric($pruefung_id)) - { - $this->errormsg = 'pruefung_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT - tbl_pruefung.*, - tbl_lehreinheit.lehrveranstaltung_id, - tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz - FROM - lehre.tbl_pruefung - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - WHERE - pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER); - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->pruefung_id = $row->pruefung_id; - $this->lehreinheit_id=$row->lehreinheit_id; - $this->student_uid=$row->student_uid; - $this->mitarbeiter_uid=$row->mitarbeiter_uid; - $this->note=$row->note; - $this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz; - $this->datum=$row->datum; - $this->anmerkung=$row->anmerkung; - $this->insertamum=$row->insertamum; - $this->insertvon=$row->insertvon; - $this->updateamum=$row->updateamum; - $this->updatevon=$row->updatevon; - $this->ext_id=$row->ext_id; - $this->vertrag_id = $row->vertrag_id; - $this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id; - $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; - $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; - $this->punkte = $row->punkte; - } - } - else - { - $this->errormsg = 'Datensatz konnte nicht geladen werden'; - return false; - } - - return true; - } - - /** - * Liefert alle Pruefungen - * @return true wenn ok, false im Fehlerfall - */ - public function getAll($order=null, $student_uid=null) - { - $qry = 'SELECT * FROM lehre.tbl_pruefung'; - if ($student_uid) - $qry.=" WHERE student_uid =".$this->db_add_param($student); - - if($order!=null) - $qry .=" ORDER BY $order"; - - if(!$this->db_query($qry)) - { - $this->errormsg = 'Datensatz konnte nicht geladen werden'; - return false; - } - - while($row = $this->db_fetch_object()) - { - $pruef_obj = new pruefung(); - $pruef_obj->lehreinheit_id=$row->lehreinheit_id; - $pruef_obj->student_uid=$row->student_uid; - $pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid; - $pruef_obj->note=$row->note; - $pruef_obj->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz; - $pruef_obj->datum=$row->datum; - $pruef_obj->anmerkung=$row->anmerkung; - $pruef_obj->insertamum=$row->insertamum; - $pruef_obj->insertvon=$row->insertvon; - $pruef_obj->updateamum=$row->updateamum; - $pruef_obj->updatevon=$row->updatevon; - $pruef_obj->ext_id=$row->ext_id; - $pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id; - $pruef_obj->vertrag_id = $row->vertrag_id; - $pruef_obj->punkte = $row->punkte; - - $this->result[] = $pruef_obj; - } - - return true; - } - - /** - * Loescht eine Pruefung - * @param $preufung_id ID der zu loeschenden Pruefung - * @return true wenn ok, false im Fehlerfall - */ - public function delete($pruefung_id) - { - if(!is_numeric($pruefung_id)) - { - $this->errormsg = 'Pruefung_id ist ungueltig'; - return false; - } - - $qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER); - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Loeschen der Pruefung'; - return false; - } - } - - /** - * Prueft die Gueltigkeit der Variablen - * @return true wenn ok, false im Fehlerfall - */ - public function validate() - { - //Laenge Pruefen - if(mb_strlen($this->anmerkung)>256) - { - $this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein'; - return false; - } - $this->errormsg = ''; - return true; - } - - /** - * Speichert den aktuellen Datensatz - * @return true wenn ok, false im Fehlerfall - */ - public function save() - { - //Gueltigkeit der Variablen pruefen - if(!$this->validate()) - { - return false; - } - - if($this->new) - { - //Neuen Datensatz anlegen - $qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, - datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('. - $this->db_add_param($this->lehreinheit_id).', '. - $this->db_add_param($this->student_uid).', '. - $this->db_add_param($this->mitarbeiter_uid).', '. - $this->db_add_param($this->note).', '. - $this->db_add_param($this->pruefungstyp_kurzbz).', '. - $this->db_add_param($this->datum).', '. - $this->db_add_param($this->anmerkung).', '. - $this->db_add_param($this->insertamum).', '. - $this->db_add_param($this->insertvon).', '. - $this->db_add_param($this->updateamum).', '. - $this->db_add_param($this->updatevon).', '. - $this->db_add_param($this->pruefungsanmeldung_id).','. - $this->db_add_param($this->vertrag_id).','. - $this->db_add_param($this->punkte).');'; - } - else - { - //bestehenden Datensatz akualisieren - - //Pruefen ob pruefung_id gueltig ist - if(!is_numeric($this->pruefung_id)) - { - $this->errormsg = 'pruefung_id ist ungueltig.'; - return false; - } - - $qry = 'UPDATE lehre.tbl_pruefung SET '. - 'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '. - 'student_uid='.$this->db_add_param($this->student_uid).', '. - 'mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).', '. - 'note='.$this->db_add_param($this->note).', '. - 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', '. - 'datum='.$this->db_add_param($this->datum).', '. - 'anmerkung='.$this->db_add_param($this->anmerkung).', '. - 'insertamum='.$this->db_add_param($this->insertamum).', '. - 'insertvon='.$this->db_add_param($this->insertvon).', '. - 'updateamum='.$this->db_add_param($this->updateamum).', '. - 'updatevon='.$this->db_add_param($this->updatevon).', '. - 'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id, FHC_INTEGER).', '. - 'vertrag_id='.$this->db_add_param($this->vertrag_id, FHC_INTEGER).', '. - 'punkte='.$this->db_add_param($this->punkte).' '. - 'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id, FHC_INTEGER).';'; - } - - if($this->db_query($qry)) - { - if($this->new) - { - //Sequence auslesen - $qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id"; - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->pruefung_id = $row->id; - $this->db_query('COMMIT'); - return true; - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Auslesen der Sequence'; - $this->db_query('ROLLBACK'); - return false; - } - } - return true; - } - else - { - $this->db_query('ROLLBACK'); - $this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error(); - return false; - } - } - - /** - * Liefert alle Pruefungen eines Studenten - * @param student_uid - * @return true wenn ok, false wenn Fehler - */ - public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null) - { - $qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, - tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz - FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp - WHERE student_uid=".$this->db_add_param($student_uid)." - AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id - AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND tbl_pruefung.note = tbl_note.note - AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz"; - if ($pruefungstyp != null) - $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp); - if ($lv_id != null) - $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id); - if ($stsem != null) - $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem); - - $qry .= " ORDER BY datum DESC"; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new pruefung(); - - $obj->pruefung_id = $row->pruefung_id; - $obj->lehreinheit_id = $row->lehreinheit_id; - $obj->student_uid = $row->student_uid; - $obj->mitarbeiter_uid = $row->mitarbeiter_uid; - $obj->note = $row->note; - $obj->note_bezeichnung = $row->note_bezeichnung; - $obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; - $obj->pruefungstyp_beschreibung = $row->typ_beschreibung; - $obj->datum = $row->datum; - $obj->anmerkung = $row->anmerkung; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung; - $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; - $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; - $obj->pruefungsanmeldung_id = $row->pruefungsanmeldung_id; - $obj->punkte = $row->punkte; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Laedt die Pruefungen zu einer Lehrveranstaltung - * - * @param $lv_id - * @param $pruefungstyp - * @param $stsem - * @return boolean - */ - public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null) - { - $qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, - tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz - FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp - WHERE tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id - AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND tbl_pruefung.note = tbl_note.note - AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz"; - if ($pruefungstyp != null) - $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp); - if ($lv_id != null) - $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id); - if ($stsem != null) - $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem); - - $qry .= " ORDER BY datum DESC"; - - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new pruefung(); - - $obj->pruefung_id = $row->pruefung_id; - $obj->lehreinheit_id = $row->lehreinheit_id; - $obj->student_uid = $row->student_uid; - $obj->mitarbeiter_uid = $row->mitarbeiter_uid; - $obj->note = $row->note; - $obj->note_bezeichnung = $row->note_bezeichnung; - $obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; - $obj->pruefungstyp_beschreibung = $row->typ_beschreibung; - $obj->datum = $row->datum; - $obj->anmerkung = $row->anmerkung; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung; - $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; - $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; - $obj->punkte = $row->punkte; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Lädt die Prüfunge zur übergebenen Prüfungsanmeldung - * @param int $pruefungsanmeldung_id ID der Prüfungsanmeldung - * @return boolean - */ - public function getPruefungByAnmeldung($pruefungsanmeldung_id) - { - if(!is_numeric($pruefungsanmeldung_id)) - { - $this->errormsg = 'pruefungsanmeldung_id muss eine gueltige Zahl sein'; - return false; - } - - $qry = "SELECT * FROM lehre.tbl_pruefung WHERE pruefungsanmeldung_id=".$this->db_add_param($pruefungsanmeldung_id).";"; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->pruefung_id = $row->pruefung_id; - $this->lehreinheit_id=$row->lehreinheit_id; - $this->student_uid=$row->student_uid; - $this->mitarbeiter_uid=$row->mitarbeiter_uid; - $this->note=$row->note; - $this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz; - $this->datum=$row->datum; - $this->anmerkung=$row->anmerkung; - $this->insertamum=$row->insertamum; - $this->insertvon=$row->insertvon; - $this->updateamum=$row->updateamum; - $this->updatevon=$row->updatevon; - $this->ext_id=$row->ext_id; - $this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id; - $this->punkte = $row->punkte; - } - } - else - { - $this->errormsg = 'Datensatz konnte nicht geladen werden'; - return false; - } - - return true; - } -} -?> +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class pruefung extends basis_db +{ + public $new; // boolean + public $result = array(); // pruefung Objekt + + public $pruefung_id; + public $lehreinheit_id; // integer + public $student_uid; // varchar(16) + public $mitarbeiter_uid; // varchar(16) + public $note; // smallint + public $pruefungstyp_kurzbz; // varchar(16) + public $datum; // Date + public $anmerkung; // varchar(256) + public $insertamum; // timestamp) + public $insertvon; // varchar(16) + public $updateamum; // timestamp + public $updatevon; // varchar(16) + public $ext_id; // bigint + public $pruefungsanmeldung_id; // bigint + public $vertrag_id; // bigint + public $punkte; // numeric(8,4) + + public $lehrveranstaltung_bezeichnung; + public $lehrveranstaltung_id; + public $note_bezeichnung; + public $pruefungstyp_beschreibung; + public $studiensemester_kurzbz; + + /** + * Konstruktor + * @param pruefung_id ID der zu ladenden Pruefung + */ + public function __construct($pruefung_id=null) + { + parent::__construct(); + + if($pruefung_id!=null) + $this->load($pruefung_id); + } + + /** + * Laedt einen Prüfungsdatensatz + * @param pruefung_id ID + * @return true wenn ok, false im Fehlerfall + */ + public function load($pruefung_id) + { + if(!is_numeric($pruefung_id)) + { + $this->errormsg = 'pruefung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT + tbl_pruefung.*, + tbl_lehreinheit.lehrveranstaltung_id, + tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz + FROM + lehre.tbl_pruefung + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE + pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER); + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->pruefung_id = $row->pruefung_id; + $this->lehreinheit_id=$row->lehreinheit_id; + $this->student_uid=$row->student_uid; + $this->mitarbeiter_uid=$row->mitarbeiter_uid; + $this->note=$row->note; + $this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz; + $this->datum=$row->datum; + $this->anmerkung=$row->anmerkung; + $this->insertamum=$row->insertamum; + $this->insertvon=$row->insertvon; + $this->updateamum=$row->updateamum; + $this->updatevon=$row->updatevon; + $this->ext_id=$row->ext_id; + $this->vertrag_id = $row->vertrag_id; + $this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id; + $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $this->punkte = $row->punkte; + } + } + else + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + return true; + } + + /** + * Liefert alle Pruefungen + * @return true wenn ok, false im Fehlerfall + */ + public function getAll($order=null, $student_uid=null) + { + $qry = 'SELECT * FROM lehre.tbl_pruefung'; + if ($student_uid) + $qry.=" WHERE student_uid =".$this->db_add_param($student); + + if($order!=null) + $qry .=" ORDER BY $order"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + while($row = $this->db_fetch_object()) + { + $pruef_obj = new pruefung(); + $pruef_obj->lehreinheit_id=$row->lehreinheit_id; + $pruef_obj->student_uid=$row->student_uid; + $pruef_obj->mitarbeiter_uid=$row->mitarbeiter_uid; + $pruef_obj->note=$row->note; + $pruef_obj->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz; + $pruef_obj->datum=$row->datum; + $pruef_obj->anmerkung=$row->anmerkung; + $pruef_obj->insertamum=$row->insertamum; + $pruef_obj->insertvon=$row->insertvon; + $pruef_obj->updateamum=$row->updateamum; + $pruef_obj->updatevon=$row->updatevon; + $pruef_obj->ext_id=$row->ext_id; + $pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id; + $pruef_obj->vertrag_id = $row->vertrag_id; + $pruef_obj->punkte = $row->punkte; + + $this->result[] = $pruef_obj; + } + + return true; + } + + /** + * Loescht eine Pruefung + * @param $preufung_id ID der zu loeschenden Pruefung + * @return true wenn ok, false im Fehlerfall + */ + public function delete($pruefung_id) + { + if(!is_numeric($pruefung_id)) + { + $this->errormsg = 'Pruefung_id ist ungueltig'; + return false; + } + + $qry = "DELETE FROM lehre.tbl_pruefung WHERE pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER); + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Loeschen der Pruefung'; + return false; + } + } + + /** + * Prueft die Gueltigkeit der Variablen + * @return true wenn ok, false im Fehlerfall + */ + public function validate() + { + //Laenge Pruefen + if(mb_strlen($this->anmerkung)>256) + { + $this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein'; + return false; + } + $this->errormsg = ''; + return true; + } + + /** + * Speichert den aktuellen Datensatz + * @return true wenn ok, false im Fehlerfall + */ + public function save() + { + //Gueltigkeit der Variablen pruefen + if(!$this->validate()) + { + return false; + } + + if($this->new) + { + //Neuen Datensatz anlegen + $qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, + datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('. + $this->db_add_param($this->lehreinheit_id).', '. + $this->db_add_param($this->student_uid).', '. + $this->db_add_param($this->mitarbeiter_uid).', '. + $this->db_add_param($this->note).', '. + $this->db_add_param($this->pruefungstyp_kurzbz).', '. + $this->db_add_param($this->datum).', '. + $this->db_add_param($this->anmerkung).', '. + $this->db_add_param($this->insertamum).', '. + $this->db_add_param($this->insertvon).', '. + $this->db_add_param($this->updateamum).', '. + $this->db_add_param($this->updatevon).', '. + $this->db_add_param($this->pruefungsanmeldung_id).','. + $this->db_add_param($this->vertrag_id).','. + $this->db_add_param($this->punkte).');'; + } + else + { + //bestehenden Datensatz akualisieren + + //Pruefen ob pruefung_id gueltig ist + if(!is_numeric($this->pruefung_id)) + { + $this->errormsg = 'pruefung_id ist ungueltig.'; + return false; + } + + $qry = 'UPDATE lehre.tbl_pruefung SET '. + 'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '. + 'student_uid='.$this->db_add_param($this->student_uid).', '. + 'mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).', '. + 'note='.$this->db_add_param($this->note).', '. + 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', '. + 'datum='.$this->db_add_param($this->datum).', '. + 'anmerkung='.$this->db_add_param($this->anmerkung).', '. + 'insertamum='.$this->db_add_param($this->insertamum).', '. + 'insertvon='.$this->db_add_param($this->insertvon).', '. + 'updateamum='.$this->db_add_param($this->updateamum).', '. + 'updatevon='.$this->db_add_param($this->updatevon).', '. + 'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id, FHC_INTEGER).', '. + 'vertrag_id='.$this->db_add_param($this->vertrag_id, FHC_INTEGER).', '. + 'punkte='.$this->db_add_param($this->punkte).' '. + 'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id, FHC_INTEGER).';'; + } + + if($this->db_query($qry)) + { + if($this->new) + { + //Sequence auslesen + $qry = "SELECT currval('lehre.tbl_pruefung_pruefung_id_seq') as id"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->pruefung_id = $row->id; + $this->db_query('COMMIT'); + return true; + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->db_query('ROLLBACK'); + return false; + } + } + return true; + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Speichern der Pruefung:'.$this->db_last_error(); + return false; + } + } + + /** + * Liefert alle Pruefungen eines Studenten + * @param student_uid + * @return true wenn ok, false wenn Fehler + */ + public function getPruefungen($student_uid, $pruefungstyp=null,$lv_id=null,$stsem=null) + { + $qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz + FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp + WHERE student_uid=".$this->db_add_param($student_uid)." + AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id + AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_pruefung.note = tbl_note.note + AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz"; + if ($pruefungstyp != null) + $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp); + if ($lv_id != null) + $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id); + if ($stsem != null) + $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem); + + $qry .= " ORDER BY datum DESC"; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new pruefung(); + + $obj->pruefung_id = $row->pruefung_id; + $obj->lehreinheit_id = $row->lehreinheit_id; + $obj->student_uid = $row->student_uid; + $obj->mitarbeiter_uid = $row->mitarbeiter_uid; + $obj->note = $row->note; + $obj->note_bezeichnung = $row->note_bezeichnung; + $obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; + $obj->pruefungstyp_beschreibung = $row->typ_beschreibung; + $obj->datum = $row->datum; + $obj->anmerkung = $row->anmerkung; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung; + $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $obj->pruefungsanmeldung_id = $row->pruefungsanmeldung_id; + $obj->punkte = $row->punkte; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Laedt die Pruefungen zu einer Lehrveranstaltung + * + * @param $lv_id + * @param $pruefungstyp + * @param $stsem + * @return boolean + */ + public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null) + { + $qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz + FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp + WHERE tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id + AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_pruefung.note = tbl_note.note + AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz"; + if ($pruefungstyp != null) + $qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp); + if ($lv_id != null) + $qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id); + if ($stsem != null) + $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem); + + $qry .= " ORDER BY datum DESC"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new pruefung(); + + $obj->pruefung_id = $row->pruefung_id; + $obj->lehreinheit_id = $row->lehreinheit_id; + $obj->student_uid = $row->student_uid; + $obj->mitarbeiter_uid = $row->mitarbeiter_uid; + $obj->note = $row->note; + $obj->note_bezeichnung = $row->note_bezeichnung; + $obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; + $obj->pruefungstyp_beschreibung = $row->typ_beschreibung; + $obj->datum = $row->datum; + $obj->anmerkung = $row->anmerkung; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung; + $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $obj->punkte = $row->punkte; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Lädt die Prüfunge zur übergebenen Prüfungsanmeldung + * @param int $pruefungsanmeldung_id ID der Prüfungsanmeldung + * @return boolean + */ + public function getPruefungByAnmeldung($pruefungsanmeldung_id) + { + if(!is_numeric($pruefungsanmeldung_id)) + { + $this->errormsg = 'pruefungsanmeldung_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = "SELECT * FROM lehre.tbl_pruefung WHERE pruefungsanmeldung_id=".$this->db_add_param($pruefungsanmeldung_id).";"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->pruefung_id = $row->pruefung_id; + $this->lehreinheit_id=$row->lehreinheit_id; + $this->student_uid=$row->student_uid; + $this->mitarbeiter_uid=$row->mitarbeiter_uid; + $this->note=$row->note; + $this->pruefungstyp_kurzbz=$row->pruefungstyp_kurzbz; + $this->datum=$row->datum; + $this->anmerkung=$row->anmerkung; + $this->insertamum=$row->insertamum; + $this->insertvon=$row->insertvon; + $this->updateamum=$row->updateamum; + $this->updatevon=$row->updatevon; + $this->ext_id=$row->ext_id; + $this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id; + $this->punkte = $row->punkte; + } + } + else + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + return true; + } +} +?> diff --git a/include/student.class.php b/include/student.class.php index 5ade5d1f2..dab31c4a3 100644 --- a/include/student.class.php +++ b/include/student.class.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ require_once(dirname(__FILE__).'/benutzer.class.php'); @@ -67,7 +68,7 @@ class student extends benutzer else $qry = "SELECT *, tbl_studentlehrverband.studiengang_kz as studiengang_kz, tbl_studentlehrverband.semester as semester, tbl_studentlehrverband.verband as verband, tbl_studentlehrverband.gruppe as gruppe - FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid) + FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(prestudent_id) WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." AND student_uid=".$this->db_add_param($uid); if($this->db_query($qry)) { @@ -269,7 +270,7 @@ class student extends benutzer FROM public.tbl_person, public.tbl_student, public.tbl_benutzer, public.tbl_studentlehrverband, public.tbl_prestudent"; if($gruppe!=null) $sql_query.= ",public.tbl_benutzergruppe"; - $sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND 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"; + $sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id AND $where ORDER BY nachname, vorname"; //echo $sql_query; if(!$this->db_query($sql_query)) { @@ -387,10 +388,10 @@ class student extends benutzer * @param studiensemester_kurzbz * @return true wenn vorhanden, false wenn nicht */ - public function studentlehrverband_exists($student_uid, $studiensemester_kurzbz) + public function studentlehrverband_exists($prestudent_id, $studiensemester_kurzbz) { $qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband - WHERE student_uid=".$this->db_add_param($student_uid)." AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); + WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); if($this->db_query($qry)) { @@ -417,21 +418,23 @@ class student extends benutzer /** * Prueft ob die StudentLehrverband Zuteilung * bereits existiert - * @param student_uid + * @param prestudent_id * studiensemester_kurzbz * @return true wenn vorhanden, false wenn nicht */ - public function load_studentlehrverband($student_uid, $studiensemester_kurzbz) + public function load_studentlehrverband($prestudent_id, $studiensemester_kurzbz) { $qry = "SELECT * FROM public.tbl_studentlehrverband - WHERE student_uid=".$this->db_add_param($student_uid)." + WHERE prestudent_id=".$this->db_add_param($prestudent_id)." AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); if($this->db_query($qry)) { if($row = $this->db_fetch_object()) { - $this->uid = $row->student_uid; + $this->uid = $this->getUid($row->prestudent_id(); + + $this->prestudent_id = $row->prestudent_id; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; $this->studiengang_kz = $row->studiengang_kz; $this->semester = $row->semester; @@ -469,8 +472,9 @@ class student extends benutzer if($new) { - $qry = "INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon) - VALUES(".$this->db_add_param($this->uid).','. + $qry = "INSERT INTO public.tbl_studentlehrverband (prestudent_id, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon) + VALUES(". + $this->db_add_param($this->prestudent_id).','. $this->db_add_param($this->studiensemester_kurzbz).','. $this->db_add_param($this->studiengang_kz).','. $this->db_add_param($this->semester).','. @@ -485,12 +489,13 @@ class student extends benutzer { $qry = "UPDATE public.tbl_studentlehrverband SET". " studiengang_kz=".$this->db_add_param($this->studiengang_kz).",". + " prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER).",". " semester=".$this->db_add_param($this->semester).",". " verband=".$this->db_add_param(($this->verband==''?' ':$this->verband)).",". " gruppe=".$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).",". " updateamum=".$this->db_add_param($this->updateamum).",". " updatevon=".$this->db_add_param($this->updatevon). - " WHERE student_uid=".$this->db_add_param($this->uid)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz); + " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz); } if($this->db_query($qry)) @@ -768,17 +773,17 @@ class student extends benutzer /** * Löscht die Zuordnung eines Studenten zu einer Lehrverbandsgruppe - * @param type $uid + * @param type $prestudent_id * @param type $studiengang_kz * @param type $studiensemester * @param type $semester * @param type $verband * @param type $gruppe */ - public function delete_studentLehrverband($uid, $studiengang_kz, $studiensemester, $semester) + public function delete_studentLehrverband($prestudent_id, $studiengang_kz, $studiensemester, $semester) { $qry = 'DELETE FROM public.tbl_studentlehrverband ' - . 'WHERE student_uid='.$this->db_add_param($uid) + . 'WHERE prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER) . ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester) . ' AND studiengang_kz='.$this->db_add_param($studiengang_kz) . ' AND semester='.$this->db_add_param($semester).';'; diff --git a/include/tw/anwesenheitsliste.inc.php b/include/tw/anwesenheitsliste.inc.php index 6c2eea52b..3998d2616 100644 --- a/include/tw/anwesenheitsliste.inc.php +++ b/include/tw/anwesenheitsliste.inc.php @@ -260,17 +260,19 @@ $qry = "SELECT tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, 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) + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) + JOIN public.tbl_prestudent ON(public.tbl_prestudent.person_id=public.tbl_person.person_id) + LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_prestudent.prestudent_id=public.tbl_studentlehrverband.prestudent_id AND campus.vw_student_lehrveranstaltung.studiensemester_kurzbz=public.tbl_studentlehrverband.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 tbl_student.prestudent_id=tbl_bisio.prestudent_id + LEFT JOIN bis.tbl_bisio ON(tbl_student.prestudent_id=tbl_bisio.prestudent_id) WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'"; + vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid)." AND + vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem); if($lehreinheit_id!='') - $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'"; + $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id); $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; //echo $qry; diff --git a/include/tw/anwesenheitsliste_bilder.inc.php b/include/tw/anwesenheitsliste_bilder.inc.php index dba3ec625..d3681debf 100644 --- a/include/tw/anwesenheitsliste_bilder.inc.php +++ b/include/tw/anwesenheitsliste_bilder.inc.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ //PDF fuer die Anwesenheitsliste auf CIS @@ -125,24 +126,27 @@ $stsem_obj = new studiensemester(); $stsem_obj->load($stsem); $stsemdatumvon = $stsem_obj->start; $stsemdatumbis = $stsem_obj->ende; + $qry = "SELECT distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, foto_sperre, 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_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, 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) + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) + JOIN public.tbl_prestudent ON(public.tbl_prestudent.person_id=public.tbl_person.person_id) + LEFT JOIN public.tbl_studentlehrverband ON(public.tbl_prestudent.prestudent_id=public.tbl_studentlehrverband.prestudent_id AND campus.vw_student_lehrveranstaltung.studiensemester_kurzbz=public.tbl_studentlehrverband.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 public.tbl_student.prestudent_id=tbl_bisio.prestudent_id + LEFT JOIN bis.tbl_bisio ON(tbl_student.prestudent_id=tbl_bisio.prestudent_id) WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'"; + vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid)." AND + vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem); if($lehreinheit_id!='') - $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit_id)."'"; + $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id); $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; $lineheight=80; diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 76e420778..f5a6c7daf 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ /**************************************************************************** * @class Stundenplan diff --git a/rdf/abschlusspruefung.rdf.php b/rdf/abschlusspruefung.rdf.php index f29541cdb..63bc3e89d 100755 --- a/rdf/abschlusspruefung.rdf.php +++ b/rdf/abschlusspruefung.rdf.php @@ -352,12 +352,15 @@ if ($xmlformat=='rdf') xmlns:ABSCHLUSSPRUEFUNG="'.$rdf_url.'/rdf#" > - + '; if(isset($_GET['student_uid'])) { - $pruefung->getAbschlusspruefungen($_GET['student_uid']); + if(!$student=new student($_GET['student_uid'])) + die($student->errormsg); + + $pruefung->getAbschlusspruefungen($student->prestudent_id); foreach ($pruefung->result as $row) draw_content($row); @@ -388,10 +391,10 @@ elseif ($xmlformat=='xml') foreach ($uids as $uid) { - if($uid!='') + if($student=new student($uid)) { $pruefung = new abschlusspruefung(); - if($pruefung->getAbschlusspruefungen($uid)) + if($pruefung->getAbschlusspruefungen($student->prestudent_id)) { foreach ($pruefung->result as $row) draw_content_xml($row); @@ -401,7 +404,10 @@ elseif ($xmlformat=='xml') } elseif(isset($_GET['student_uid'])) { - $pruefung->getAbschlusspruefungen($_GET['student_uid']); + if(!$student=new student($_GET['student_uid'])) + die($student->errormsg); + + $pruefung->getAbschlusspruefungen($student->prestudent_id); foreach ($pruefung->result as $row) draw_content_xml($row); diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 091539583..bf67885f6 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -16,9 +16,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl and - * Gerald Raab . + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Raab and + * Andreas Moik . */ // content type setzen header("Content-type: application/xhtml+xml"); @@ -290,8 +291,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } + if(!$std = new student($uid_arr[$i])) + die("Student nicht gefunden"); + $akadgrad_id=''; - $qry = "SELECT bezeichnung, akadgrad_id, bezeichnung_english FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE student_uid='".$uid_arr[$i]."' ORDER BY datum DESC LIMIT 1"; + $qry = "SELECT bezeichnung, akadgrad_id, bezeichnung_english FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE prestudent_id=".$db->db_add_param($student->prestudent_id)." ORDER BY datum DESC LIMIT 1"; if($db->db_query($qry)) { if($row1 = $db->db_fetch_object()) @@ -336,8 +340,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") } - $std = new student(); - $std->load($uid_arr[$i]); + if(!$std = new student($uid_arr[$i])) + die("Student nicht gefunden"); $qry = "SELECT von, bis FROM bis.tbl_bisio WHERE prestudent_id=".$db->db_add_param($std->prestudent_id); if($db->db_query($qry)) @@ -374,9 +378,13 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo " $stgl"; + + if(!$student = new student($uid_arr[$i])) + die("Student nicht gefunden!"); + $abschlussbeurteilung=''; // Hole Datum der Sponsion -> wenn keine vorhanden nimm aktuelles datum - $qry = "SELECT sponsion, tbl_abschlussbeurteilung.bezeichnung_english,datum FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE student_uid='".$uid_arr[$i]."' ORDER BY datum DESC LIMIT 1"; + $qry = "SELECT sponsion, tbl_abschlussbeurteilung.bezeichnung_english,datum FROM lehre.tbl_abschlusspruefung JOIN lehre.tbl_abschlussbeurteilung USING(abschlussbeurteilung_kurzbz) WHERE prestudent_id=".$db->db_add_param($student->prestudent_id)." ORDER BY datum DESC LIMIT 1"; $sponsion_datum = date('d.m.Y'); $abschlusspruefungsdatum = ''; $abschlussbeurteilung=''; @@ -408,8 +416,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") /* * Hole Notendurchschnitt vom Jahr nach dem letzten Status und 2 Jahre davor, */ - $student = new student(); - $student->load($uid_arr[$i]); + if(!$student = new student($uid_arr[$i])) + die("Student nicht gefunden"); + $prestudent = new prestudent(); $prestudent->getLastStatus($student->prestudent_id, null, 'Student'); diff --git a/rdf/ktu_abschlusszeugnis.rdf.php b/rdf/ktu_abschlusszeugnis.rdf.php index c09b945a0..126589616 100644 --- a/rdf/ktu_abschlusszeugnis.rdf.php +++ b/rdf/ktu_abschlusszeugnis.rdf.php @@ -15,8 +15,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Stefan Puraner , - * Andreas Moik + * Authors: Stefan Puraner and + * Andreas Moik . */ header("Content-type: application/xhtml+xml"); @@ -35,6 +35,7 @@ require_once('../include/pruefung.class.php'); require_once('../include/projektarbeit.class.php'); require_once('../include/note.class.php'); require_once('../include/lehreinheit.class.php'); +require_once('../include/person.class.php'); if(isset($_SERVER['REMOTE_USER'])) { @@ -53,12 +54,12 @@ $abschlusspruefung = new abschlusspruefung($abschlusspruefung_id); $studiensemester_kurzbz = filter_input(INPUT_GET, "ss"); -$student = new student($abschlusspruefung->student_uid); +$prestudent = new prestudent($abschlusspruefung->prestudent_id); -$studiengang = new studiengang($student->studiengang_kz); +$studiengang = new studiengang($prestudent->studiengang_kz); $prestudent = new prestudent(); -$prestudent->getLastStatus($student->prestudent_id, $studiensemester_kurzbz, "Student"); +$prestudent->getLastStatus($prestudent->prestudent_id, $studiensemester_kurzbz, "Student"); $studienplan = new studienplan(); $studienplan->loadStudienplan($prestudent->studienplan_id); @@ -66,11 +67,20 @@ $studienplan->loadStudienplan($prestudent->studienplan_id); $lehrveranstaltung = new lehrveranstaltung(); $tree = $lehrveranstaltung->getLvTree($prestudent->studienplan_id); +$student = new student(); +$student_uid = $student->getUid($prestudent->prestudent_id); +if(!$student_uid) + die($student->errormsg); + $pruefung = new pruefung(); -$pruefung->getPruefungen($student->uid, "fachpruefung"); +$pruefung->getPruefungen($student_uid, "fachpruefung"); $projektarbeit = new projektarbeit(); -$projektarbeit->getProjektarbeit($student->uid); +$projektarbeit->getProjektarbeit($student_uid); + +if(!$person = new person($prestudent->person_id)) + die($person->errormsg); + echo "\n"; echo ""; @@ -78,14 +88,14 @@ echo ""; $modul_temp = ""; echo "".date('d.m.Y').""; -echo "".$student->uid.""; -echo "".$student->vorname.""; -echo "".$student->vornamen.""; -echo "".$student->nachname.""; -echo "".$student->geschlecht.""; -echo "".$student->titelpost.""; -echo "".$student->titelpre.""; -echo "".$datum->formatDatum($student->gebdatum, "d.m.Y").""; +echo "".$student_uid.""; +echo "".$person->vorname.""; +echo "".$person->vornamen.""; +echo "".$person->nachname.""; +echo "".$person->geschlecht.""; +echo "".$person->titelpost.""; +echo "".$person->titelpre.""; +echo "".$datum->formatDatum($person->gebdatum, "d.m.Y").""; echo "".$studiengang->bezeichnung.""; echo "".$studienplan->bezeichnung.""; echo "".strtoupper($abschlusspruefung->abschlussbeurteilung_kurzbz).""; diff --git a/rdf/sammelzeugnis.rdf.php b/rdf/sammelzeugnis.rdf.php index 2fac133b7..6526d7a62 100644 --- a/rdf/sammelzeugnis.rdf.php +++ b/rdf/sammelzeugnis.rdf.php @@ -1,255 +1,256 @@ -, - * Andreas Oesterreicher and - * Karl Burkhart . - */ - -header("Content-type: application/xhtml+xml"); -require_once('../config/vilesci.config.inc.php'); -require_once('../include/functions.inc.php'); -require_once('../include/zeugnisnote.class.php'); -require_once('../include/datum.class.php'); -require_once('../include/note.class.php'); -require_once('../include/studiengang.class.php'); -require_once('../include/mitarbeiter.class.php'); -require_once('../include/prestudent.class.php'); -require_once('../include/projektarbeit.class.php'); - -$db = new basis_db(); -$fussnotenzeichen=array('¹)','²)','³)'); -$anzahl_fussnoten=0; -$xml_fussnote = ''; -$test = false; -$bez = ''; - -if(isset($_REQUEST['xmlformat']) && $_REQUEST['xmlformat']=="xml") -{ - $uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null); - - $uid_arr = explode(";",$uid_arr); - - echo ""; - echo ""; - foreach($uid_arr as $uid) - { - $xml_fussnote=0; - $anzahl_fussnoten=0; - if($uid=='') - continue; - - echo ""; - - - $qry = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige, - tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, - tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, - tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung, - tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id - FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester - WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz - AND tbl_student.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id - AND tbl_student.student_uid = '".addslashes($uid)."' - AND tbl_studentlehrverband.student_uid=tbl_student.student_uid - AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz - order by semester;"; - - if($result = $db->db_query($qry)) - { - if($row_person = $db->db_fetch_object($result)) - { - $datum_aktuell = date('d.m.Y'); - $gebdatum = date('d.m.Y',strtotime($row_person->gebdatum)); - $studiengang = new studiengang(); - $stgleiter = $studiengang->getLeitung($row_person->studiengang_kz); - $stgl=''; - foreach ($stgleiter as $stgleiter_uid) - { - $stgl_ma = new mitarbeiter($stgleiter_uid); - $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); - } - - echo ' '.$row_person->anrede.''; - echo ' '.$row_person->vorname.''; - echo ' '.$row_person->nachname.''; - echo ' '.trim($row_person->titelpre.' '.trim($row_person->vorname.' '.$row_person->vornamen).' '.mb_strtoupper($row_person->nachname).($row_person->titelpost!=''?', '.$row_person->titelpost:'')).''; - echo ' '.$gebdatum.''; - echo ' '.$row_person->matrikelnr.''; - echo ' '.$row_person->bezeichnung.''; - echo ' '.$row_person->english.''; - echo " ".sprintf('%04s', $row_person->studiengang_kz).""; - echo ' '.$stgl.''; - echo ' '.$datum_aktuell.''; - echo ' '.($row_person->projektarbeit_note_anzeige=='t'?'true':'false').''; - switch ($row_person->typ) - { - case 'b': - $bezeichnung = 'Bachelor'; - break; - case 'm': - $bezeichnung = 'Master'; - break; - case 'd': - $bezeichnung = 'Diplom'; - break; - default: - $bezeichnung = ''; - break; - } - $bez = $row_person->typ; - echo ' '.$bezeichnung.''; - $prestudent = new prestudent(); - - $prestudent->getFirstStatus($row_person->prestudent_id, 'Student'); - echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; - echo ' '.$prestudent->ausbildungssemester.''; - $prestudent->getLastStatus($row_person->prestudent_id, null, 'Student'); - echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; - echo ' '.$prestudent->ausbildungssemester.''; - } - } - - $qry_projektarbeit = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english - FROM lehre.tbl_projektarbeit - JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - WHERE student_uid='$uid' - AND projekttyp_kurzbz in('Bachelor', 'Diplom') - ORDER BY beginn ASC, projektarbeit_id ASC;"; - - $projektarbeit = array(); - - if($result_projektarbeit = $db->db_query($qry_projektarbeit)) - { - while($row_projektarbeit = $db->db_fetch_object($result_projektarbeit)) - { - $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['titel']=$row_projektarbeit->titel; - $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['titel_en']=$row_projektarbeit->titel_english; - $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['themenbereich']=$row_projektarbeit->themenbereich; - $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['note']=$row_projektarbeit->note; - } - } - - $qry ="Select distinct(student.lehrveranstaltung_id), student.uid, student.studiengang_kz, student.kurzbz, student.bezeichnung, student.bezeichnung_english, student.semester, student.semesterstunden, student.ects, student.studiensemester_kurzbz, zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung - from campus.vw_student_lehrveranstaltung student - left join lehre.tbl_zeugnisnote zeugnis on(student.lehrveranstaltung_id = zeugnis.lehrveranstaltung_id AND student.uid = zeugnis.student_uid AND student.studiensemester_kurzbz = zeugnis.studiensemester_kurzbz) - join lehre.tbl_note note using(note) - - where uid = '$uid' and zeugnis = true order by semester;"; - - - $i = 0; - $wochen = 15; - if($result_stud = $db->db_query($qry)) - { - while($row_stud = $db->db_fetch_object($result_stud)) - { - if($i <= 31) - echo " "; - else - echo " "; - - $qry_sws = "SELECT wochen from public.tbl_semesterwochen where studiengang_kz = '".addslashes($row_stud->studiengang_kz)."' - and semester = '".addslashes($row_stud->semester)."';"; - - if($result_sws = $db->db_query($qry_sws)) - { - if($row_sws = $db->db_fetch_object($result_sws)) - { - $wochen = $row_sws->wochen; - } - } - $ssp = $row_stud->semesterstunden / $wochen; - - if(array_key_exists($row_stud->lehrveranstaltung_id, $projektarbeit)) - { - //$bezeichnung = $row_stud->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; - //$bezeichnung_englisch = $row_stud->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten]; - $xml_fussnote .="\n "; - $xml_fussnote .=" ".$fussnotenzeichen[$anzahl_fussnoten].""; - - //$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40); - - $anzahl_nl = substr_count($projektarbeit[$row_stud->lehrveranstaltung_id]['titel'],'\n'); - $nl2=''; - if($projektarbeit[$row_stud->lehrveranstaltung_id]['themenbereich']!='') - { - $xml_fussnote .=" Themenbereich: "; - $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].'\n]]>'; - $anzahl_nl++; - $nl2='\n'; - } - - if($bez=='b') - $typ = "Bachelor's Thesis:"; - else - $typ = 'Master Thesis:'; - - $nl=''; - $nl2=''; - $xml_fussnote .=" $typ"; - $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; - $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; - //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; - $note = $projektarbeit[$row_stud->lehrveranstaltung_id]['note']; - //$nl = str_repeat('\n',($anzahl_nl)); - $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - $xml_fussnote .=' '.$nl.''; - - $xml_fussnote .=" "; - $anzahl_fussnoten++; - $test = true; - } - - echo " ".number_format($ssp,2).""; - echo " $row_stud->semester"; - echo " $row_stud->kurzbz"; - echo " $row_stud->studiensemester_kurzbz"; - echo " bezeichnung]]>"; - - if($test == true) - echo " bezeichnung_english]]>".$fussnotenzeichen[$anzahl_fussnoten-1].""; - else - echo " bezeichnung_english]]>"; - - echo " $row_stud->ects"; - echo " $row_stud->semesterstunden"; - echo " $row_stud->note"; - echo " $row_stud->note_bezeichnung"; - echo " $row_stud->anmerkung"; - - if($i <= 31) - echo " "; - else - echo " "; - - $i++; - $test = false; - } - - } - echo $xml_fussnote; - echo ""; - } - echo ""; - -} - - -?> \ No newline at end of file +, + * Andreas Oesterreicher , + * Karl Burkhart and + * Andreas Moik . + */ + +header("Content-type: application/xhtml+xml"); +require_once('../config/vilesci.config.inc.php'); +require_once('../include/functions.inc.php'); +require_once('../include/zeugnisnote.class.php'); +require_once('../include/datum.class.php'); +require_once('../include/note.class.php'); +require_once('../include/studiengang.class.php'); +require_once('../include/mitarbeiter.class.php'); +require_once('../include/prestudent.class.php'); +require_once('../include/projektarbeit.class.php'); + +$db = new basis_db(); +$fussnotenzeichen=array('¹)','²)','³)'); +$anzahl_fussnoten=0; +$xml_fussnote = ''; +$test = false; +$bez = ''; + +if(isset($_REQUEST['xmlformat']) && $_REQUEST['xmlformat']=="xml") +{ + $uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null); + + $uid_arr = explode(";",$uid_arr); + + echo ""; + echo ""; + foreach($uid_arr as $uid) + { + $xml_fussnote=0; + $anzahl_fussnoten=0; + if($uid=='') + continue; + + echo ""; + + + $qry = "SELECT tbl_student.matrikelnr, tbl_student.studiengang_kz, tbl_studiengang.typ, tbl_studiengang.projektarbeit_note_anzeige, + tbl_studiengang.bezeichnung, tbl_studiengang.english, tbl_studentlehrverband.semester, + tbl_person.vorname, tbl_person.vornamen, tbl_person.nachname,tbl_person.gebdatum,tbl_person.titelpre, + tbl_person.titelpost, tbl_person.anrede, tbl_studiensemester.bezeichnung as sembezeichnung, + tbl_studiensemester.studiensemester_kurzbz as stsem, tbl_student.prestudent_id + FROM tbl_person, tbl_student, tbl_studiengang, tbl_benutzer, tbl_studentlehrverband, tbl_studiensemester + WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz + AND tbl_student.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id + AND tbl_student.student_uid = '".addslashes($uid)."' + AND tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id + AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz + order by semester;"; + + if($result = $db->db_query($qry)) + { + if($row_person = $db->db_fetch_object($result)) + { + $datum_aktuell = date('d.m.Y'); + $gebdatum = date('d.m.Y',strtotime($row_person->gebdatum)); + $studiengang = new studiengang(); + $stgleiter = $studiengang->getLeitung($row_person->studiengang_kz); + $stgl=''; + foreach ($stgleiter as $stgleiter_uid) + { + $stgl_ma = new mitarbeiter($stgleiter_uid); + $stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost); + } + + echo ' '.$row_person->anrede.''; + echo ' '.$row_person->vorname.''; + echo ' '.$row_person->nachname.''; + echo ' '.trim($row_person->titelpre.' '.trim($row_person->vorname.' '.$row_person->vornamen).' '.mb_strtoupper($row_person->nachname).($row_person->titelpost!=''?', '.$row_person->titelpost:'')).''; + echo ' '.$gebdatum.''; + echo ' '.$row_person->matrikelnr.''; + echo ' '.$row_person->bezeichnung.''; + echo ' '.$row_person->english.''; + echo " ".sprintf('%04s', $row_person->studiengang_kz).""; + echo ' '.$stgl.''; + echo ' '.$datum_aktuell.''; + echo ' '.($row_person->projektarbeit_note_anzeige=='t'?'true':'false').''; + switch ($row_person->typ) + { + case 'b': + $bezeichnung = 'Bachelor'; + break; + case 'm': + $bezeichnung = 'Master'; + break; + case 'd': + $bezeichnung = 'Diplom'; + break; + default: + $bezeichnung = ''; + break; + } + $bez = $row_person->typ; + echo ' '.$bezeichnung.''; + $prestudent = new prestudent(); + + $prestudent->getFirstStatus($row_person->prestudent_id, 'Student'); + echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; + echo ' '.$prestudent->ausbildungssemester.''; + $prestudent->getLastStatus($row_person->prestudent_id, null, 'Student'); + echo ' '.substr($prestudent->studiensemester_kurzbz,2,6).''; + echo ' '.$prestudent->ausbildungssemester.''; + } + } + + $qry_projektarbeit = "SELECT lehrveranstaltung_id, titel, themenbereich, note, titel_english + FROM lehre.tbl_projektarbeit + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + WHERE student_uid='$uid' + AND projekttyp_kurzbz in('Bachelor', 'Diplom') + ORDER BY beginn ASC, projektarbeit_id ASC;"; + + $projektarbeit = array(); + + if($result_projektarbeit = $db->db_query($qry_projektarbeit)) + { + while($row_projektarbeit = $db->db_fetch_object($result_projektarbeit)) + { + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['titel']=$row_projektarbeit->titel; + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['titel_en']=$row_projektarbeit->titel_english; + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['themenbereich']=$row_projektarbeit->themenbereich; + $projektarbeit[$row_projektarbeit->lehrveranstaltung_id]['note']=$row_projektarbeit->note; + } + } + + $qry ="Select distinct(student.lehrveranstaltung_id), student.uid, student.studiengang_kz, student.kurzbz, student.bezeichnung, student.bezeichnung_english, student.semester, student.semesterstunden, student.ects, student.studiensemester_kurzbz, zeugnis.note, note.bezeichnung note_bezeichnung, note.anmerkung + from campus.vw_student_lehrveranstaltung student + left join lehre.tbl_zeugnisnote zeugnis on(student.lehrveranstaltung_id = zeugnis.lehrveranstaltung_id AND student.uid = zeugnis.student_uid AND student.studiensemester_kurzbz = zeugnis.studiensemester_kurzbz) + join lehre.tbl_note note using(note) + + where uid = '$uid' and zeugnis = true order by semester;"; + + + $i = 0; + $wochen = 15; + if($result_stud = $db->db_query($qry)) + { + while($row_stud = $db->db_fetch_object($result_stud)) + { + if($i <= 31) + echo " "; + else + echo " "; + + $qry_sws = "SELECT wochen from public.tbl_semesterwochen where studiengang_kz = '".addslashes($row_stud->studiengang_kz)."' + and semester = '".addslashes($row_stud->semester)."';"; + + if($result_sws = $db->db_query($qry_sws)) + { + if($row_sws = $db->db_fetch_object($result_sws)) + { + $wochen = $row_sws->wochen; + } + } + $ssp = $row_stud->semesterstunden / $wochen; + + if(array_key_exists($row_stud->lehrveranstaltung_id, $projektarbeit)) + { + //$bezeichnung = $row_stud->lehrveranstaltung_bezeichnung.$firma.' '.$fussnotenzeichen[$anzahl_fussnoten]; + //$bezeichnung_englisch = $row_stud->lehrveranstaltung_bezeichnung_english.$firma_eng.' '.$fussnotenzeichen[$anzahl_fussnoten]; + $xml_fussnote .="\n "; + $xml_fussnote .=" ".$fussnotenzeichen[$anzahl_fussnoten].""; + + //$projektarbeit[$row->lehrveranstaltung_id]['titel'] = breaktext($projektarbeit[$row->lehrveranstaltung_id]['titel'], 40); + + $anzahl_nl = substr_count($projektarbeit[$row_stud->lehrveranstaltung_id]['titel'],'\n'); + $nl2=''; + if($projektarbeit[$row_stud->lehrveranstaltung_id]['themenbereich']!='') + { + $xml_fussnote .=" Themenbereich: "; + $xml_fussnote .=" lehrveranstaltung_id]['themenbereich'].'\n]]>'; + $anzahl_nl++; + $nl2='\n'; + } + + if($bez=='b') + $typ = "Bachelor's Thesis:"; + else + $typ = 'Master Thesis:'; + + $nl=''; + $nl2=''; + $xml_fussnote .=" $typ"; + $xml_fussnote .=" lehrveranstaltung_id]['titel'].$nl2."]]>"; + $xml_fussnote .=" lehrveranstaltung_id]['titel_en'].$nl2."]]>"; + //$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']]; + $note = $projektarbeit[$row_stud->lehrveranstaltung_id]['note']; + //$nl = str_repeat('\n',($anzahl_nl)); + $xml_fussnote .=' '.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + $xml_fussnote .=' '.$nl.''; + + $xml_fussnote .=" "; + $anzahl_fussnoten++; + $test = true; + } + + echo " ".number_format($ssp,2).""; + echo " $row_stud->semester"; + echo " $row_stud->kurzbz"; + echo " $row_stud->studiensemester_kurzbz"; + echo " bezeichnung]]>"; + + if($test == true) + echo " bezeichnung_english]]>".$fussnotenzeichen[$anzahl_fussnoten-1].""; + else + echo " bezeichnung_english]]>"; + + echo " $row_stud->ects"; + echo " $row_stud->semesterstunden"; + echo " $row_stud->note"; + echo " $row_stud->note_bezeichnung"; + echo " $row_stud->anmerkung"; + + if($i <= 31) + echo " "; + else + echo " "; + + $i++; + $test = false; + } + + } + echo $xml_fussnote; + echo ""; + } + echo ""; + +} + + +?> diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 6cf81ba42..b3dc5b989 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ // header fuer no cache header("Cache-Control: no-cache"); @@ -463,7 +464,7 @@ if($xmlformat=='rdf') JOIN public.tbl_benutzer ON (student_uid=uid) JOIN public.tbl_person p USING (person_id) JOIN public.tbl_prestudent USING(prestudent_id) "; if($gruppe_kurzbz!=null) $sql_query.= "JOIN public.tbl_benutzergruppe USING (uid) "; - $sql_query.="LEFT JOIN public.tbl_studentlehrverband ON (tbl_studentlehrverband.student_uid=tbl_student.student_uid AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz')"; + $sql_query.="LEFT JOIN public.tbl_studentlehrverband ON (tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id AND tbl_studentlehrverband.studiensemester_kurzbz='$studiensemester_kurzbz')"; $sql_query.="WHERE ".$where.' ORDER BY nachname, vorname'; diff --git a/rdf/studienerfolg.rdf.php b/rdf/studienerfolg.rdf.php index 2a7b08b12..80787b9c6 100644 --- a/rdf/studienerfolg.rdf.php +++ b/rdf/studienerfolg.rdf.php @@ -16,9 +16,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl and - * Gerald Raab . + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Raab and + * Andreas Moik . */ header("Content-type: application/xhtml+xml"); require_once('../config/vilesci.config.inc.php'); @@ -55,7 +56,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz) and tbl_student.student_uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id and tbl_student.student_uid = ".$db->db_add_param($uid)." - and tbl_studentlehrverband.student_uid=tbl_student.student_uid + and tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id and tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz and tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index beda398be..e66b06027 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -16,9 +16,10 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl and - * Gerald Raab . + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Raab and + * Andreas Moik . */ //header("Cache-Control: no-cache"); //header("Cache-Control: post-check=0, pre-check=0",false); @@ -110,7 +111,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") WHERE tbl_student.studiengang_kz = tbl_studiengang.studiengang_kz AND tbl_student.student_uid = tbl_benutzer.uid AND tbl_benutzer.person_id = tbl_person.person_id AND tbl_student.prestudent_id = ".$db->db_add_param($prestudent_id_arr[$i])." - AND tbl_studentlehrverband.student_uid=tbl_student.student_uid + AND tbl_studentlehrverband.prestudent_id=tbl_student.prestudent_id AND tbl_studiensemester.studiensemester_kurzbz = tbl_studentlehrverband.studiensemester_kurzbz AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($studiensemester_kurzbz); diff --git a/soap/stip.soap.php b/soap/stip.soap.php index 8ce88298f..b9e9d2f93 100644 --- a/soap/stip.soap.php +++ b/soap/stip.soap.php @@ -1,263 +1,261 @@ -. - */ - -require_once('../config/vilesci.config.inc.php'); -require_once('../config/global.config.inc.php'); -require_once('../include/basis_db.class.php'); -require_once('../include/prestudent.class.php'); -require_once('../include/student.class.php'); -require_once('../include/konto.class.php'); -require_once('../include/datum.class.php'); -require_once('../include/benutzer.class.php'); -require_once('../include/webservicelog.class.php'); -require_once('../include/mail.class.php'); -require_once('../include/abschlusspruefung.class.php'); -require_once('../include/note.class.php'); -require_once('stip.class.php'); - -ini_set("soap.wsdl_cache_enabled", "0"); - -$SOAPServer = new SoapServer(APP_ROOT."/soap/stip.wsdl.php?".microtime()); -$SOAPServer->addFunction("GetStipendienbezieherStip"); -$SOAPServer->addFunction("SendStipendienbezieherStipError"); -$SOAPServer->handle(); - -/** - * - * Funktion nimmt Anfragen entgegen und bearbeitet diese - * @param $parameters -> XML SOAP File - */ -function GetStipendienbezieherStip($parameters) -{ - $anfrageDaten = $parameters->anfrageDaten; - $Stipendiumsbezieher = $anfrageDaten->Stipendiumsbezieher; - - $ErhalterKz = $anfrageDaten->ErhKz; - $AnfrageDatenID = $anfrageDaten->AnfragedatenID; - - // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); - $log->request_data = file_get_contents('php://input'); - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Anfrage von Stip"; - $log->save(true); - - $username = $parameters->userName; - $passwort = $parameters->passWord; - - if(!($username==STIP_USER_NAME && $passwort==STIP_USER_PASSWORD)) - { - // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); - $log->request_data = 'SOAP FAULT - Invalid Credentials'; - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Antwort an Stip"; - $log->save(true); - - return new SoapFault("Server", 'Invalid Credentials'); - } - - $StipBezieherAntwort = array(); - - $i=0; - if(!is_array($Stipendiumsbezieher->StipendiumsbezieherAnfrage)) - $Stipendiumsbezieher->StipendiumsbezieherAnfrage = array($Stipendiumsbezieher->StipendiumsbezieherAnfrage); - - // läuft alle Anfragedaten durch - foreach($Stipendiumsbezieher->StipendiumsbezieherAnfrage as $BezieherStip) - { - $prestudentID; - $studentUID; - $studSemester; - $StipBezieher = new stip(); - $datum_obj = new datum(); - - if($StipBezieher->validateStipDaten($anfrageDaten->ErhKz, $anfrageDaten->AnfragedatenID, $BezieherStip)) - { - $StipBezieher->Semester = $BezieherStip->Semester; - $StipBezieher->Studienjahr = $BezieherStip->Studienjahr; - $StipBezieher->PersKz = $BezieherStip->PersKz; - $StipBezieher->SVNR = $BezieherStip->SVNR; - $StipBezieher->Familienname = $BezieherStip->Familienname; - $StipBezieher->Vorname = $BezieherStip->Vorname; - $StipBezieher->Typ = $BezieherStip->Typ; - - // Studiensemester_kurzbz auslesen - if($BezieherStip->Semester == "WS" || $BezieherStip->Semester == "ws") - { - $year = mb_substr($BezieherStip->Studienjahr, 0,4); - $studSemester = "WS".$year; - }elseif ($BezieherStip->Semester == "SS" || $BezieherStip->Semester == "ss") - { - $year = mb_substr($BezieherStip->Studienjahr, 0,2).mb_substr($BezieherStip->Studienjahr, 5,7); - $studSemester = "SS".$year; - } - - if(!$prestudentID = $StipBezieher->searchPersonKz($BezieherStip->PersKz)) - if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR)) - $prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname); - - // Student wurde gefunden - if($StipBezieher->AntwortStatusCode == 1) - { - $prestudent = new prestudent(); - $prestudent->load($prestudentID); - $prestudent->getLastStatus($prestudentID); - $prestudentStatus = new prestudent(); - - $student = new student(); - $studentUID = $student->getUID($prestudentID); - - $abschlusspruefung = new abschlusspruefung(); - $abschlusspruefung->getLastAbschlusspruefung($studentUID); - - $student->load($studentUID); - $studiengang_kz = $student->studiengang_kz; - - $konto = new konto(); - $studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester, $studiengang_kz); - // , als Dezimaltrennzeichen - $studGebuehr = str_replace('.', ',', $studGebuehr); - - // wenn nicht bezahlt - if($studGebuehr == "") - $studGebuehr = "0,00"; - - if(!$prestudentStatus->getLastStatus($prestudentID,$studSemester)) - $StipBezieher->Inskribiert = 'n'; - else - { - // wenn nur Interessent letzer Status ist -> nicht inskribiert - if($prestudentStatus->status_kurzbz == 'Interessent') - $StipBezieher->Inskribiert = 'n'; - else - $StipBezieher->Inskribiert = 'j'; - } - - if($BezieherStip->Typ == "as" || $BezieherStip->Typ == "AS") - { - $StipBezieher->getOrgFormTeilCode($studentUID, $studSemester, $prestudentID); - $StipBezieher->Studienbeitrag = $studGebuehr; - - // Wenn letzter Status von Semester Interessent ist -> Semester = null - if($prestudentStatus->status_kurzbz != 'Interessent') - $StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester); - else - $StipBezieher->Ausbildungssemester = null; - - $StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, $studSemester); - - // Ausgeschieden ohne Abschluss - if($StipBezieher->StudStatusCode==4) - $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($prestudent->datum,'dmY'); - else if($StipBezieher->StudStatusCode==3) // Absolvent -> letzte Prüfung nehmen - $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($abschlusspruefung->datum,'dmY'); - else - $StipBezieher->BeendigungsDatum = null; - - $StipBezieher->Erfolg = $StipBezieher->getErfolg($prestudentID, $studSemester); - } - elseif($BezieherStip->Typ =="ag" || $BezieherStip->Typ == "AG") - { - $StipBezieher->Ausbildungssemester = null; - $StipBezieher->StudStatusCode = null; - $StipBezieher->BeendigungsDatum = null; - $StipBezieher->Studienbeitrag = null; - $StipBezieher->OrgFormTeilCode = null; - } - - $StipBezieherAntwort[$i] = $StipBezieher; - $i++; - - } - else if($StipBezieher->AntwortStatusCode == 2) - { - // Student wurde nicht gefunden - $StipBezieher->PersKz_Antwort = null; - $StipBezieher->SVNR_Antwort = null; - $StipBezieher->Familienname_Antwort = null; - $StipBezieher->Vorname_Antwort = null; - $StipBezieher->Ausbildungssemester = null; - $StipBezieher->StudStatusCode = null; - $StipBezieher->BeendigungsDatum = null; - $StipBezieher->VonNachPersKz = null; - $StipBezieher->Studienbeitrag = null; - $StipBezieher->Inskribiert = null; - $StipBezieher->Erfolg = null; - $StipBezieher->OrgFormTeilCode = null; - $StipBezieherAntwort[$i] = $StipBezieher; - $i++; - } - - } - else - { - // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); - $log->request_data = 'SOAP FAULT - ValidationError: '.$StipBezieher->errormsg; - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Antwort an Stip"; - $log->save(true); - - return new SoapFault("Server", $StipBezieher->errormsg); - } - } - - $ret = array("GetStipendienbezieherStipResult" =>array("ErhKz"=>$ErhalterKz,"AnfragedatenID"=>$AnfrageDatenID, "Stipendiumsbezieher"=>$StipBezieherAntwort)); - - // Eintrag in der LogTabelle anlegen - $log = new webservicelog(); - $log->request_data = print_r($ret,true); - $log->webservicetyp_kurzbz = 'stip'; - $log->request_id = $AnfrageDatenID; - $log->beschreibung = "Antwort an Stip"; - $log->save(true); - - return $ret; -} - -/** - * - * Funktion nimmt Fehler entgegen und sendet sie an Admin - * @param $parameters -> XML SOAP File - */ -function SendStipendienbezieherStipError($parameters) -{ - $xmlData = file_get_contents('php://input'); - - $log = new webservicelog(); - $log->request_data = file_get_contents('php://input'); - $log->webservicetyp_kurzbz = 'stip'; - //$log->request_id = $AnfrageDatenID; - $log->beschreibung = "Stip Error"; - $log->save(true); - - //1=successful; 2=incomplete xml document; 3=incomplete processing; 4=system-error - if($parameters->errorReport->ErrorStatusCode!=1) - { - $mail = new mail(MAIL_ADMIN, 'vilesci@'.DOMAIN, 'STIP - Error', $xmlData); - $mail->send(); - } -} - -?> +. + */ + +require_once('../config/vilesci.config.inc.php'); +require_once('../config/global.config.inc.php'); +require_once('../include/basis_db.class.php'); +require_once('../include/prestudent.class.php'); +require_once('../include/student.class.php'); +require_once('../include/konto.class.php'); +require_once('../include/datum.class.php'); +require_once('../include/benutzer.class.php'); +require_once('../include/webservicelog.class.php'); +require_once('../include/mail.class.php'); +require_once('../include/abschlusspruefung.class.php'); +require_once('../include/note.class.php'); +require_once('stip.class.php'); + +ini_set("soap.wsdl_cache_enabled", "0"); + +$SOAPServer = new SoapServer(APP_ROOT."/soap/stip.wsdl.php?".microtime()); +$SOAPServer->addFunction("GetStipendienbezieherStip"); +$SOAPServer->addFunction("SendStipendienbezieherStipError"); +$SOAPServer->handle(); + +/** + * + * Funktion nimmt Anfragen entgegen und bearbeitet diese + * @param $parameters -> XML SOAP File + */ +function GetStipendienbezieherStip($parameters) +{ + $anfrageDaten = $parameters->anfrageDaten; + $Stipendiumsbezieher = $anfrageDaten->Stipendiumsbezieher; + + $ErhalterKz = $anfrageDaten->ErhKz; + $AnfrageDatenID = $anfrageDaten->AnfragedatenID; + + // Eintrag in der LogTabelle anlegen + $log = new webservicelog(); + $log->request_data = file_get_contents('php://input'); + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Anfrage von Stip"; + $log->save(true); + + $username = $parameters->userName; + $passwort = $parameters->passWord; + + if(!($username==STIP_USER_NAME && $passwort==STIP_USER_PASSWORD)) + { + // Eintrag in der LogTabelle anlegen + $log = new webservicelog(); + $log->request_data = 'SOAP FAULT - Invalid Credentials'; + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Antwort an Stip"; + $log->save(true); + + return new SoapFault("Server", 'Invalid Credentials'); + } + + $StipBezieherAntwort = array(); + + $i=0; + if(!is_array($Stipendiumsbezieher->StipendiumsbezieherAnfrage)) + $Stipendiumsbezieher->StipendiumsbezieherAnfrage = array($Stipendiumsbezieher->StipendiumsbezieherAnfrage); + + // läuft alle Anfragedaten durch + foreach($Stipendiumsbezieher->StipendiumsbezieherAnfrage as $BezieherStip) + { + $prestudentID; + $studentUID; + $studSemester; + $StipBezieher = new stip(); + $datum_obj = new datum(); + + if($StipBezieher->validateStipDaten($anfrageDaten->ErhKz, $anfrageDaten->AnfragedatenID, $BezieherStip)) + { + $StipBezieher->Semester = $BezieherStip->Semester; + $StipBezieher->Studienjahr = $BezieherStip->Studienjahr; + $StipBezieher->PersKz = $BezieherStip->PersKz; + $StipBezieher->SVNR = $BezieherStip->SVNR; + $StipBezieher->Familienname = $BezieherStip->Familienname; + $StipBezieher->Vorname = $BezieherStip->Vorname; + $StipBezieher->Typ = $BezieherStip->Typ; + + // Studiensemester_kurzbz auslesen + if($BezieherStip->Semester == "WS" || $BezieherStip->Semester == "ws") + { + $year = mb_substr($BezieherStip->Studienjahr, 0,4); + $studSemester = "WS".$year; + } + elseif ($BezieherStip->Semester == "SS" || $BezieherStip->Semester == "ss") + { + $year = mb_substr($BezieherStip->Studienjahr, 0,2).mb_substr($BezieherStip->Studienjahr, 5,7); + $studSemester = "SS".$year; + } + + if(!$prestudentID = $StipBezieher->searchPersonKz($BezieherStip->PersKz)) + if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR)) + $prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname); + + // Student wurde gefunden + if($StipBezieher->AntwortStatusCode == 1) + { + $prestudent = new prestudent(); + $prestudent->load($prestudentID); + $prestudent->getLastStatus($prestudentID); + $prestudentStatus = new prestudent(); + + $student = new student(); + $studentUID = $student->getUID($prestudentID); + + $abschlusspruefung = new abschlusspruefung(); + $abschlusspruefung->getLastAbschlusspruefung($prestudentID); + + $student->load($studentUID); + $studiengang_kz = $student->studiengang_kz; + + $konto = new konto(); + $studGebuehr = $konto->getStudiengebuehrGesamt($studentUID, $studSemester, $studiengang_kz); + // , als Dezimaltrennzeichen + $studGebuehr = str_replace('.', ',', $studGebuehr); + + // wenn nicht bezahlt + if($studGebuehr == "") + $studGebuehr = "0,00"; + + if(!$prestudentStatus->getLastStatus($prestudentID,$studSemester)) + $StipBezieher->Inskribiert = 'n'; + else + { + // wenn nur Interessent letzer Status ist -> nicht inskribiert + if($prestudentStatus->status_kurzbz == 'Interessent') + $StipBezieher->Inskribiert = 'n'; + else + $StipBezieher->Inskribiert = 'j'; + } + + if($BezieherStip->Typ == "as" || $BezieherStip->Typ == "AS") + { + $StipBezieher->getOrgFormTeilCode($studentUID, $studSemester, $prestudentID); + $StipBezieher->Studienbeitrag = $studGebuehr; + + // Wenn letzter Status von Semester Interessent ist -> Semester = null + if($prestudentStatus->status_kurzbz != 'Interessent') + $StipBezieher->Ausbildungssemester = $StipBezieher->getSemester($prestudentID, $studSemester); + else + $StipBezieher->Ausbildungssemester = null; + + $StipBezieher->StudStatusCode = $StipBezieher->getStudStatusCode($prestudentID, $studSemester); + + // Ausgeschieden ohne Abschluss + if($StipBezieher->StudStatusCode==4) + $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($prestudent->datum,'dmY'); + else if($StipBezieher->StudStatusCode==3) // Absolvent -> letzte Prüfung nehmen + $StipBezieher->BeendigungsDatum = $datum_obj->formatDatum($abschlusspruefung->datum,'dmY'); + else + $StipBezieher->BeendigungsDatum = null; + + $StipBezieher->Erfolg = $StipBezieher->getErfolg($prestudentID, $studSemester); + } + elseif($BezieherStip->Typ =="ag" || $BezieherStip->Typ == "AG") + { + $StipBezieher->Ausbildungssemester = null; + $StipBezieher->StudStatusCode = null; + $StipBezieher->BeendigungsDatum = null; + $StipBezieher->Studienbeitrag = null; + $StipBezieher->OrgFormTeilCode = null; + } + $StipBezieherAntwort[$i] = $StipBezieher; + $i++; + } + else if($StipBezieher->AntwortStatusCode == 2) + { + // Student wurde nicht gefunden + $StipBezieher->PersKz_Antwort = null; + $StipBezieher->SVNR_Antwort = null; + $StipBezieher->Familienname_Antwort = null; + $StipBezieher->Vorname_Antwort = null; + $StipBezieher->Ausbildungssemester = null; + $StipBezieher->StudStatusCode = null; + $StipBezieher->BeendigungsDatum = null; + $StipBezieher->VonNachPersKz = null; + $StipBezieher->Studienbeitrag = null; + $StipBezieher->Inskribiert = null; + $StipBezieher->Erfolg = null; + $StipBezieher->OrgFormTeilCode = null; + $StipBezieherAntwort[$i] = $StipBezieher; + $i++; + } + } + else + { + // Eintrag in der LogTabelle anlegen + $log = new webservicelog(); + $log->request_data = 'SOAP FAULT - ValidationError: '.$StipBezieher->errormsg; + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Antwort an Stip"; + $log->save(true); + + return new SoapFault("Server", $StipBezieher->errormsg); + } + } + + $ret = array("GetStipendienbezieherStipResult" =>array("ErhKz"=>$ErhalterKz,"AnfragedatenID"=>$AnfrageDatenID, "Stipendiumsbezieher"=>$StipBezieherAntwort)); + + // Eintrag in der LogTabelle anlegen + $log = new webservicelog(); + $log->request_data = print_r($ret,true); + $log->webservicetyp_kurzbz = 'stip'; + $log->request_id = $AnfrageDatenID; + $log->beschreibung = "Antwort an Stip"; + $log->save(true); + + return $ret; +} + +/** + * + * Funktion nimmt Fehler entgegen und sendet sie an Admin + * @param $parameters -> XML SOAP File + */ +function SendStipendienbezieherStipError($parameters) +{ + $xmlData = file_get_contents('php://input'); + + $log = new webservicelog(); + $log->request_data = file_get_contents('php://input'); + $log->webservicetyp_kurzbz = 'stip'; + //$log->request_id = $AnfrageDatenID; + $log->beschreibung = "Stip Error"; + $log->save(true); + + //1=successful; 2=incomplete xml document; 3=incomplete processing; 4=system-error + if($parameters->errorReport->ErrorStatusCode!=1) + { + $mail = new mail(MAIL_ADMIN, 'vilesci@'.DOMAIN, 'STIP - Error', $xmlData); + $mail->send(); + } +} + +?> diff --git a/system/checkStudenten.php b/system/checkStudenten.php index 14791d7d4..5f0818dea 100644 --- a/system/checkStudenten.php +++ b/system/checkStudenten.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Karl Burkhart + * Andreas Oesterreicher , + * Karl Burkhart and + * Andreas Moik . */ require_once('../config/vilesci.config.inc.php'); @@ -188,7 +189,7 @@ $student = new student(); $prestudent = new prestudent(); $qry = "select distinct(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester, lv.semester, student.studiengang_kz studiengang from public.tbl_student student -join public.tbl_studentlehrverband lv using(student_uid) +join public.tbl_studentlehrverband lv ON(public.tbl_student.prestudent_id = public.tbl_studentlehrverband.prestudent_id) join public.tbl_prestudent prestudent using(prestudent_id) join public.tbl_prestudentstatus status using(prestudent_id) WHERE status.studiensemester_kurzbz = '$aktSem' @@ -520,4 +521,4 @@ function getDateForInscription ($semester) } ?> - \ No newline at end of file + diff --git a/system/check_studentlehrverband.php b/system/check_studentlehrverband.php index 60728ab6f..a292c9ed0 100644 --- a/system/check_studentlehrverband.php +++ b/system/check_studentlehrverband.php @@ -1,260 +1,260 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Simane-Sequens - */ -// ************************************ -// * Script zur Pruefung und Korrektur -// * moeglicher Inkonsistenzen -// * -// * - Studenten ohne Prestudent_id werden korrigiert -// * - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert -// ********************************** -require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php'); -require_once(dirname(__FILE__).'/../include/studiensemester.class.php'); -require_once(dirname(__FILE__).'/../include/person.class.php'); -require_once(dirname(__FILE__).'/../include/benutzer.class.php'); -require_once(dirname(__FILE__).'/../include/student.class.php'); -require_once(dirname(__FILE__).'/../include/prestudent.class.php'); -require_once(dirname(__FILE__).'/../include/lehrverband.class.php'); -require_once(dirname(__FILE__).'/../include/mail.class.php'); - -$db = new basis_db(); - -$anzahl_neue_prestudent_id=0; -$anzahl_fehler_prestudent=0; -$anzahl_gruppenaenderung=0; -$anzahl_gruppenaenderung_fehler=0; -$text=''; -$statistik =''; -$abunterbrecher_verschoben_error=0; -$abunterbrecher_verschoben=0; - -// **** -// * Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen -// **** -$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id is null"; -if($result = $db->db_query($qry)) -{ - $text.="Suche Studenten mit fehlender Prestudent_id ...\n\n"; - - while($row = $db->db_fetch_object($result)) - { - $qry_id = "SELECT tbl_prestudent.prestudent_id FROM campus.vw_student JOIN public.tbl_prestudent USING(person_id) WHERE uid=".$db->db_add_param($row->student_uid)." AND tbl_prestudent.studiengang_kz=".$db->db_add_param($row->studiengang_kz); - if($result_id = $db->db_query($qry_id)) - { - if($db->db_num_rows($result_id)==1) - { - if($row_id = $db->db_fetch_object($result_id)) - { - $qry_upd = "UPDATE public.tbl_student SET prestudent_id=".$db->db_add_param($row_id->prestudent_id)." WHERE student_uid=".$db->db_add_param($row->student_uid); - if($db->db_query($qry_upd)) - { - $text .= "Prestudent_id von $row->student_uid wurde auf $row_id->prestudent_id gesetzt\n"; - $anzahl_neue_prestudent_id++; - } - } - else - { - $text .= "unbekannter Fehler\n"; - $anzahl_fehler_prestudent++; - } - } - elseif($db->db_num_rows($result_id)>1) - { - $text .= "Student $row->student_uid hat keine Prestudent_id und MEHRERE passende Prestudenteintraege\n"; - $anzahl_fehler_prestudent++; - } - elseif($db->db_num_rows($result_id)==0) - { - $text .= "Student $row->student_uid hat keine Prestudent_id und KEINE passenden Prestudenteintraege\n"; - $anzahl_fehler_prestudent++; - } - } - else - { - $text.="Fehler bei Abfrage:".$db->db_last_error()."\n"; - $anzahl_fehler_prestudent++; - } - } -} - -// ***** -// * Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren. -// * Abbrecher werden in die Gruppe 0A verschoben -// * Unterbrecher in die Gruppe 0B -// ***** -$text.="\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n"; - -//Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind -$qry = "SELECT - student_uid, - tbl_student.studiengang_kz, - tbl_prestudent.prestudent_id, - status_kurzbz, - studiensemester_kurzbz - FROM - public.tbl_student, - public.tbl_prestudent, - public.tbl_prestudentstatus - WHERE - tbl_student.prestudent_id=tbl_prestudent.prestudent_id AND - tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id AND - ( - tbl_prestudentstatus.status_kurzbz='Unterbrecher' OR - tbl_prestudentstatus.status_kurzbz='Abbrecher' - ) - AND - EXISTS (SELECT - * - FROM - public.tbl_studentlehrverband - WHERE - student_uid=tbl_student.student_uid AND - studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz AND - semester<>0 - ) - "; - -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - //Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist - $prestd = new prestudent(); - $prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz); - - if($prestd->status_kurzbz=='Unterbrecher' || $prestd->status_kurzbz=='Abbrecher') - { - //Studentlehrverbandeintrag aktualisieren - $student = new student(); - if($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz)) - $student->new = false; - else - { - $student->new = true; - $student->insertamum = date('Y-m-d H:i:s'); - $student->insertvon = 'chkstudentlvb'; - } - - $student->uid = $row->student_uid; - $student->studiensemester_kurzbz=$row->studiensemester_kurzbz; - $student->studiengang_kz = $row->studiengang_kz; - $student->semester = '0'; - $student->verband = ($prestd->status_kurzbz=='Unterbrecher'?'B':'A'); - $student->gruppe = ' '; - $student->updateamum = date('Y-m-d H:i:s'); - $student->updatevon = 'chkstudentlvb'; - - //Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt - $lehrverband = new lehrverband(); - if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe)) - { - $lehrverband->studiengang_kz = $student->studiengang_kz; - $lehrverband->semester = $student->semester; - $lehrverband->verband = $student->verband; - $lehrverband->gruppe = $student->gruppe; - $lehrverband->bezeichnung = ($student->verband=='A'?'Abbrecher':'Unterbrecher'); - - $lehrverband->save(true); - } - - if($student->save_studentlehrverband()) - { - $text.="Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n"; - $abunterbrecher_verschoben++; - } - else - { - $text.="Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n"; - $abunterbrecher_verschoben_error++; - } - } - } -} - -// ***** -// * Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren -// ***** - -$stsem = new studiensemester(); - -$stsem = $stsem->getNearest(); - -$text.="\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n"; - -$qry = "SELECT - tbl_student.studiengang_kz as studiengang_kz_old, - tbl_student.semester as semester_old, - tbl_student.verband as verband_old, - tbl_student.gruppe as gruppe_old, - tbl_studentlehrverband.student_uid, - tbl_studentlehrverband.studiengang_kz, - tbl_studentlehrverband.semester, - tbl_studentlehrverband.verband, - tbl_studentlehrverband.gruppe - FROM - public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid) - WHERE - tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND - ( - tbl_student.studiengang_kz<>tbl_studentlehrverband.studiengang_kz OR - tbl_student.semester<>tbl_studentlehrverband.semester OR - tbl_student.verband<>tbl_studentlehrverband.verband OR - tbl_student.gruppe<>tbl_studentlehrverband.gruppe - )"; - -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - $qry = "UPDATE public.tbl_student SET studiengang_kz=".$db->db_add_param($row->studiengang_kz).", semester=".$db->db_add_param($row->semester).", verband=".$db->db_add_param($row->verband).", gruppe=".$db->db_add_param($row->gruppe)." WHERE student_uid=".$db->db_add_param($row->student_uid); - if($db->db_query($qry)) - { - $text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n"; - $anzahl_gruppenaenderung++; - } - else - { - $text.="Fehler beim Aendern der Gruppe: ".$db->db_last_error()."\n"; - $anzahl_gruppenaenderung_fehler++; - } - } -} -else - $text.="Fehler bei Abfrage".$db->db_last_error(); - -$statistik .= "Prestudent_id wurde bei $anzahl_neue_prestudent_id Studenten korrigiert\n"; -$statistik .= "$anzahl_fehler_prestudent Fehler sind bei der Korrektur der Prestudent_id aufgetreten\n"; -$statistik .= "$abunterbrecher_verschoben Studenten wurden ins 0. Semester verschoben\n "; -$statistik .= "$abunterbrecher_verschoben_error Fehler sind beim Verschieben aufgetreten\n "; -$statistik .= "Bei $anzahl_gruppenaenderung Studenten wurde die Gruppenzuordnung korrigiert\n"; -$statistik .= "$anzahl_gruppenaenderung_fehler Fehler sind bei der Korrektur der Gruppenzuordnung aufgetreten\n"; -$statistik .= "\n\n"; - -$mail = new mail(MAIL_ADMIN, 'vilesci@'.DOMAIN, 'CHECK Studentlehrverband', $statistik.$text); -if($mail->send()) - echo 'Mail an '.MAIL_ADMIN.' wurde versandt'; -else - echo 'Fehler beim Versenden des Mails an '.MAIL_ADMIN; - -echo nl2br("\n\n".$statistik.$text); - -?> +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens + */ +// ************************************ +// * Script zur Pruefung und Korrektur +// * moeglicher Inkonsistenzen +// * +// * - Studenten ohne Prestudent_id werden korrigiert +// * - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert +// ********************************** +require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php'); +require_once(dirname(__FILE__).'/../include/studiensemester.class.php'); +require_once(dirname(__FILE__).'/../include/person.class.php'); +require_once(dirname(__FILE__).'/../include/benutzer.class.php'); +require_once(dirname(__FILE__).'/../include/student.class.php'); +require_once(dirname(__FILE__).'/../include/prestudent.class.php'); +require_once(dirname(__FILE__).'/../include/lehrverband.class.php'); +require_once(dirname(__FILE__).'/../include/mail.class.php'); + +$db = new basis_db(); + +$anzahl_neue_prestudent_id=0; +$anzahl_fehler_prestudent=0; +$anzahl_gruppenaenderung=0; +$anzahl_gruppenaenderung_fehler=0; +$text=''; +$statistik =''; +$abunterbrecher_verschoben_error=0; +$abunterbrecher_verschoben=0; + +// **** +// * Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen +// **** +$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id is null"; +if($result = $db->db_query($qry)) +{ + $text.="Suche Studenten mit fehlender Prestudent_id ...\n\n"; + + while($row = $db->db_fetch_object($result)) + { + $qry_id = "SELECT tbl_prestudent.prestudent_id FROM campus.vw_student JOIN public.tbl_prestudent USING(person_id) WHERE uid=".$db->db_add_param($row->student_uid)." AND tbl_prestudent.studiengang_kz=".$db->db_add_param($row->studiengang_kz); + if($result_id = $db->db_query($qry_id)) + { + if($db->db_num_rows($result_id)==1) + { + if($row_id = $db->db_fetch_object($result_id)) + { + $qry_upd = "UPDATE public.tbl_student SET prestudent_id=".$db->db_add_param($row_id->prestudent_id)." WHERE student_uid=".$db->db_add_param($row->student_uid); + if($db->db_query($qry_upd)) + { + $text .= "Prestudent_id von $row->student_uid wurde auf $row_id->prestudent_id gesetzt\n"; + $anzahl_neue_prestudent_id++; + } + } + else + { + $text .= "unbekannter Fehler\n"; + $anzahl_fehler_prestudent++; + } + } + elseif($db->db_num_rows($result_id)>1) + { + $text .= "Student $row->student_uid hat keine Prestudent_id und MEHRERE passende Prestudenteintraege\n"; + $anzahl_fehler_prestudent++; + } + elseif($db->db_num_rows($result_id)==0) + { + $text .= "Student $row->student_uid hat keine Prestudent_id und KEINE passenden Prestudenteintraege\n"; + $anzahl_fehler_prestudent++; + } + } + else + { + $text.="Fehler bei Abfrage:".$db->db_last_error()."\n"; + $anzahl_fehler_prestudent++; + } + } +} + +// ***** +// * Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren. +// * Abbrecher werden in die Gruppe 0A verschoben +// * Unterbrecher in die Gruppe 0B +// ***** +$text.="\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n"; + +//Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind +$qry = "SELECT + student_uid, + tbl_student.studiengang_kz, + tbl_prestudent.prestudent_id, + status_kurzbz, + studiensemester_kurzbz + FROM + public.tbl_student, + public.tbl_prestudent, + public.tbl_prestudentstatus + WHERE + tbl_student.prestudent_id=tbl_prestudent.prestudent_id AND + tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id AND + ( + tbl_prestudentstatus.status_kurzbz='Unterbrecher' OR + tbl_prestudentstatus.status_kurzbz='Abbrecher' + ) + AND + EXISTS (SELECT + * + FROM + public.tbl_studentlehrverband + WHERE + prestudent_id=tbl_student.prestudent_id AND + studiensemester_kurzbz=tbl_prestudentstatus.studiensemester_kurzbz AND + semester<>0 + ) + "; + +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + //Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist + $prestd = new prestudent(); + $prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz); + + if($prestd->status_kurzbz=='Unterbrecher' || $prestd->status_kurzbz=='Abbrecher') + { + //Studentlehrverbandeintrag aktualisieren + $student = new student(); + if($student->studentlehrverband_exists($row->prestudent_id, $row->studiensemester_kurzbz)) + $student->new = false; + else + { + $student->new = true; + $student->insertamum = date('Y-m-d H:i:s'); + $student->insertvon = 'chkstudentlvb'; + } + + $student->uid = $row->student_uid; + $student->studiensemester_kurzbz=$row->studiensemester_kurzbz; + $student->studiengang_kz = $row->studiengang_kz; + $student->semester = '0'; + $student->verband = ($prestd->status_kurzbz=='Unterbrecher'?'B':'A'); + $student->gruppe = ' '; + $student->updateamum = date('Y-m-d H:i:s'); + $student->updatevon = 'chkstudentlvb'; + + //Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt + $lehrverband = new lehrverband(); + if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe)) + { + $lehrverband->studiengang_kz = $student->studiengang_kz; + $lehrverband->semester = $student->semester; + $lehrverband->verband = $student->verband; + $lehrverband->gruppe = $student->gruppe; + $lehrverband->bezeichnung = ($student->verband=='A'?'Abbrecher':'Unterbrecher'); + + $lehrverband->save(true); + } + + if($student->save_studentlehrverband()) + { + $text.="Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n"; + $abunterbrecher_verschoben++; + } + else + { + $text.="Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n"; + $abunterbrecher_verschoben_error++; + } + } + } +} + +// ***** +// * Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren +// ***** + +$stsem = new studiensemester(); + +$stsem = $stsem->getNearest(); + +$text.="\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n"; + +$qry = "SELECT + tbl_student.studiengang_kz as studiengang_kz_old, + tbl_student.semester as semester_old, + tbl_student.verband as verband_old, + tbl_student.gruppe as gruppe_old, + tbl_student.student_uid, + tbl_studentlehrverband.studiengang_kz, + tbl_studentlehrverband.semester, + tbl_studentlehrverband.verband, + tbl_studentlehrverband.gruppe + FROM + public.tbl_student JOIN public.tbl_studentlehrverband USING(prestudent_id) + WHERE + tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND + ( + tbl_student.studiengang_kz<>tbl_studentlehrverband.studiengang_kz OR + tbl_student.semester<>tbl_studentlehrverband.semester OR + tbl_student.verband<>tbl_studentlehrverband.verband OR + tbl_student.gruppe<>tbl_studentlehrverband.gruppe + )"; + +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + $qry = "UPDATE public.tbl_student SET studiengang_kz=".$db->db_add_param($row->studiengang_kz).", semester=".$db->db_add_param($row->semester).", verband=".$db->db_add_param($row->verband).", gruppe=".$db->db_add_param($row->gruppe)." WHERE student_uid=".$db->db_add_param($row->student_uid); + if($db->db_query($qry)) + { + $text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n"; + $anzahl_gruppenaenderung++; + } + else + { + $text.="Fehler beim Aendern der Gruppe: ".$db->db_last_error()."\n"; + $anzahl_gruppenaenderung_fehler++; + } + } +} +else + $text.="Fehler bei Abfrage".$db->db_last_error(); + +$statistik .= "Prestudent_id wurde bei $anzahl_neue_prestudent_id Studenten korrigiert\n"; +$statistik .= "$anzahl_fehler_prestudent Fehler sind bei der Korrektur der Prestudent_id aufgetreten\n"; +$statistik .= "$abunterbrecher_verschoben Studenten wurden ins 0. Semester verschoben\n "; +$statistik .= "$abunterbrecher_verschoben_error Fehler sind beim Verschieben aufgetreten\n "; +$statistik .= "Bei $anzahl_gruppenaenderung Studenten wurde die Gruppenzuordnung korrigiert\n"; +$statistik .= "$anzahl_gruppenaenderung_fehler Fehler sind bei der Korrektur der Gruppenzuordnung aufgetreten\n"; +$statistik .= "\n\n"; + +$mail = new mail(MAIL_ADMIN, 'vilesci@'.DOMAIN, 'CHECK Studentlehrverband', $statistik.$text); +if($mail->send()) + echo 'Mail an '.MAIL_ADMIN.' wurde versandt'; +else + echo 'Fehler beim Versenden des Mails an '.MAIL_ADMIN; + +echo nl2br("\n\n".$statistik.$text); + +?> diff --git a/system/dbupdate_eine_uid.php b/system/dbupdate_eine_uid.php index 004ea9457..66b0c0534 100644 --- a/system/dbupdate_eine_uid.php +++ b/system/dbupdate_eine_uid.php @@ -40,6 +40,7 @@ array array("schema" => "campus", "name" => "tbl_studentuebung", "from" => "student_uid", "to" => "uid", "datatype" => "varchar(32)", "newTarget" => "tbl_benutzer", "newTargetSchema" => "public", "pickDataFrom" => "tbl_benutzer", "pickDataFromCol" => "uid" ), array("schema" => "campus", "name" => "tbl_legesamtnote", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid"), array("schema" => "lehre", "name" => "tbl_abschlusspruefung", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid"), + array("schema" => "public", "name" => "tbl_studentlehrverband", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid"), ); if(!isset($_POST["action"])) @@ -85,6 +86,7 @@ else if($_POST["action"] == "Starten") //********************************DROP ALL VIEWS******************************** + //bis.vw_bisio if($result = @$db->db_query("SELECT 1 FROM bis.vw_bisio LIMIT 1;")) { if(!$db->db_query("DROP VIEW bis.vw_bisio")) @@ -93,6 +95,33 @@ else if($_POST["action"] == "Starten") } } + //campus.vw_student_lehrveranstaltung + if($result = @$db->db_query("SELECT 1 FROM campus.vw_student_lehrveranstaltung LIMIT 1;")) + { + if(!$db->db_query("DROP VIEW campus.vw_student_lehrveranstaltung")) + { + echo "

Could not DROP view campus.vw_student_lehrveranstaltung: " . $create_view_qry."

"; + } + } + + //lehre.vw_stundenplandev_student_unr + if($result = @$db->db_query("SELECT 1 FROM lehre.vw_stundenplandev_student_unr LIMIT 1;")) + { + if(!$db->db_query("DROP VIEW lehre.vw_stundenplandev_student_unr")) + { + echo "

Could not DROP view lehre.vw_stundenplandev_student_unr: " . $create_view_qry."

"; + } + } + + //public.vw_gruppen + if($result = @$db->db_query("SELECT 1 FROM public.vw_gruppen LIMIT 1;")) + { + if(!$db->db_query("DROP VIEW public.vw_gruppen")) + { + echo "

Could not DROP view public.vw_gruppen: " . $create_view_qry."

"; + } + } + //modify all tables foreach($all_tables_to_update as $t) @@ -103,9 +132,11 @@ else if($_POST["action"] == "Starten") + //********************************CREATE ALL VIEWS******************************** + + //bis.vw_bisio if(!$result = @$db->db_query("SELECT 1 FROM bis.vw_bisio LIMIT 1;")) { - //********************************CREATE ALL VIEWS AGAIN******************************** $create_view_qry = " CREATE VIEW bis.vw_bisio AS SELECT tbl_prestudentstatus.studiensemester_kurzbz, tbl_prestudentstatus.status_kurzbz, @@ -171,10 +202,199 @@ else if($_POST["action"] == "Starten") echo "

Could not CREATE view bis.vw_bisio: " . $create_view_qry."

"; } } -} + //campus.vw_student_lehrveranstaltung + if(!$result = @$db->db_query("SELECT 1 FROM campus.vw_student_lehrveranstaltung LIMIT 1;")) + { + $create_view_qry = " + CREATE VIEW campus.vw_student_lehrveranstaltung AS + SELECT tbl_benutzergruppe.uid, + tbl_lehrveranstaltung.zeugnis, + tbl_lehrveranstaltung.sort, + tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehrveranstaltung.kurzbz, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.bezeichnung_english, + tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.sprache, + tbl_lehrveranstaltung.ects, + tbl_lehrveranstaltung.semesterstunden, + tbl_lehrveranstaltung.anmerkung, + tbl_lehrveranstaltung.lehre, + tbl_lehrveranstaltung.lehreverzeichnis, + tbl_lehrveranstaltung.aktiv, + tbl_lehrveranstaltung.planfaktor, + tbl_lehrveranstaltung.planlektoren, + tbl_lehrveranstaltung.planpersonalkosten, + tbl_lehrveranstaltung.plankostenprolektor, + tbl_lehrveranstaltung.updateamum, + tbl_lehrveranstaltung.updatevon, + tbl_lehrveranstaltung.insertamum, + tbl_lehrveranstaltung.insertvon, + tbl_lehrveranstaltung.ext_id, + tbl_lehreinheit.lehreinheit_id, + tbl_lehreinheit.studiensemester_kurzbz, + tbl_lehreinheit.lehrfach_id, + tbl_lehreinheit.lehrform_kurzbz, + tbl_lehreinheit.stundenblockung, + tbl_lehreinheit.wochenrythmus, + tbl_lehreinheit.start_kw, + tbl_lehreinheit.raumtyp, + tbl_lehreinheit.raumtypalternativ, + tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz + FROM lehre.tbl_lehreinheitgruppe, + tbl_benutzergruppe, + lehre.tbl_lehreinheit, + lehre.tbl_lehrveranstaltung + WHERE tbl_lehreinheitgruppe.gruppe_kurzbz::text = tbl_benutzergruppe.gruppe_kurzbz::text AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_benutzergruppe.studiensemester_kurzbz::text + UNION + SELECT tbl_studentlehrverband.prestudent_id AS prestudent_id, + tbl_lehrveranstaltung.zeugnis, + tbl_lehrveranstaltung.sort, + tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehrveranstaltung.kurzbz, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.bezeichnung_english, + tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.sprache, + tbl_lehrveranstaltung.ects, + tbl_lehrveranstaltung.semesterstunden, + tbl_lehrveranstaltung.anmerkung, + tbl_lehrveranstaltung.lehre, + tbl_lehrveranstaltung.lehreverzeichnis, + tbl_lehrveranstaltung.aktiv, + tbl_lehrveranstaltung.planfaktor, + tbl_lehrveranstaltung.planlektoren, + tbl_lehrveranstaltung.planpersonalkosten, + tbl_lehrveranstaltung.plankostenprolektor, + tbl_lehrveranstaltung.updateamum, + tbl_lehrveranstaltung.updatevon, + tbl_lehrveranstaltung.insertamum, + tbl_lehrveranstaltung.insertvon, + tbl_lehrveranstaltung.ext_id, + tbl_lehreinheit.lehreinheit_id, + tbl_lehreinheit.studiensemester_kurzbz, + tbl_lehreinheit.lehrfach_id, + tbl_lehreinheit.lehrform_kurzbz, + tbl_lehreinheit.stundenblockung, + tbl_lehreinheit.wochenrythmus, + tbl_lehreinheit.start_kw, + tbl_lehreinheit.raumtyp, + tbl_lehreinheit.raumtypalternativ, + tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz + FROM lehre.tbl_lehreinheitgruppe, + tbl_studentlehrverband, + lehre.tbl_lehreinheit, + lehre.tbl_lehrveranstaltung + WHERE tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_studentlehrverband.studiensemester_kurzbz::text AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_studentlehrverband.studiengang_kz = tbl_lehreinheitgruppe.studiengang_kz AND tbl_studentlehrverband.semester = tbl_lehreinheitgruppe.semester AND (btrim(tbl_studentlehrverband.verband::text) = btrim(tbl_lehreinheitgruppe.verband::text) OR (tbl_lehreinheitgruppe.verband IS NULL OR btrim(tbl_lehreinheitgruppe.verband::text) = ''::text) AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL) AND (btrim(tbl_studentlehrverband.gruppe::text) = btrim(tbl_lehreinheitgruppe.gruppe::text) OR (tbl_lehreinheitgruppe.gruppe IS NULL OR btrim(tbl_lehreinheitgruppe.gruppe::text) = ''::text) AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL); + "; + if(!$db->db_query($create_view_qry)) + { + echo "

Could not CREATE view campus.vw_student_lehrveranstaltung: " . $create_view_qry."

"; + } + } + + + + //lehre.vw_stundenplandev_student_unr + if(!$result = @$db->db_query("SELECT 1 FROM lehre.vw_stundenplandev_student_unr LIMIT 1;")) + { + $create_view_qry = " + CREATE VIEW lehre.vw_stundenplandev_student_unr AS + SELECT sub_stpl_uid.unr, + sub_stpl_uid.datum, + sub_stpl_uid.stunde, + sub_stpl_uid.student_uid + FROM ( SELECT stpl.unr, + stpl.datum, + stpl.stunde, + tbl_benutzergruppe.uid AS student_uid + FROM tbl_stundenplandev stpl + JOIN tbl_benutzergruppe USING (gruppe_kurzbz) + WHERE tbl_benutzergruppe.studiensemester_kurzbz::text = ((( SELECT tbl_studiensemester.studiensemester_kurzbz + FROM tbl_studiensemester + WHERE stpl.datum <= tbl_studiensemester.ende AND stpl.datum >= tbl_studiensemester.start))::text) + GROUP BY stpl.unr, stpl.datum, stpl.stunde, tbl_benutzergruppe.uid + UNION + SELECT stpl.unr, + stpl.datum, + stpl.stunde, + tbl_studentlehrverband.student_uid + FROM tbl_stundenplandev stpl + JOIN tbl_studentlehrverband ON stpl.gruppe_kurzbz IS NULL AND stpl.studiengang_kz = tbl_studentlehrverband.studiengang_kz AND stpl.semester = tbl_studentlehrverband.semester AND (stpl.verband = tbl_studentlehrverband.verband OR stpl.verband = ' '::bpchar AND stpl.verband <> tbl_studentlehrverband.verband) AND (stpl.gruppe = tbl_studentlehrverband.gruppe OR stpl.gruppe = ' '::bpchar AND stpl.gruppe <> tbl_studentlehrverband.gruppe) + WHERE tbl_studentlehrverband.studiensemester_kurzbz::text = ((( SELECT tbl_studiensemester.studiensemester_kurzbz + FROM tbl_studiensemester + WHERE stpl.datum <= tbl_studiensemester.ende AND stpl.datum >= tbl_studiensemester.start))::text) + GROUP BY stpl.unr, stpl.datum, stpl.stunde, tbl_studentlehrverband.student_uid) sub_stpl_uid + GROUP BY sub_stpl_uid.unr, sub_stpl_uid.datum, sub_stpl_uid.stunde, sub_stpl_uid.student_uid; + "; + if(!$db->db_query($create_view_qry)) + { + echo "

Could not CREATE view lehre.vw_stundenplandev_student_unr: " . $create_view_qry."

"; + } + } + + + + //public.vw_gruppen + if(!$result = @$db->db_query("SELECT 1 FROM public.vw_gruppen LIMIT 1;")) + { + $create_view_qry = " + CREATE VIEW public.vw_gruppen AS + SELECT tbl_gruppe.gid, + tbl_gruppe.gruppe_kurzbz, + tbl_benutzergruppe.uid, + tbl_gruppe.mailgrp, + tbl_gruppe.beschreibung, + tbl_gruppe.studiengang_kz, + tbl_gruppe.semester, + tbl_benutzergruppe.studiensemester_kurzbz, + NULL::bpchar AS verband, + NULL::bpchar AS gruppe + FROM tbl_gruppe + LEFT JOIN tbl_benutzergruppe USING (gruppe_kurzbz) + UNION + SELECT tbl_lehrverband.gid, + upper(btrim((((( SELECT tbl_studiengang.typ::text || tbl_studiengang.kurzbz::text + FROM tbl_studiengang + WHERE tbl_studiengang.studiengang_kz = tbl_lehrverband.studiengang_kz)) || tbl_lehrverband.semester) || tbl_lehrverband.verband::text) || tbl_lehrverband.gruppe::text)) AS gruppe_kurzbz, + tbl_studentlehrverband.student_uid AS uid, + true AS mailgrp, + tbl_lehrverband.bezeichnung AS beschreibung, + tbl_lehrverband.studiengang_kz, + tbl_lehrverband.semester, + tbl_studentlehrverband.studiensemester_kurzbz, + tbl_lehrverband.verband, + tbl_lehrverband.gruppe + FROM tbl_lehrverband + LEFT JOIN tbl_studentlehrverband USING (studiengang_kz, semester) + WHERE (tbl_lehrverband.verband = tbl_studentlehrverband.verband OR tbl_lehrverband.verband IS NULL OR btrim(tbl_lehrverband.verband::text) = ''::text OR tbl_studentlehrverband.verband IS NULL) AND (tbl_lehrverband.gruppe = tbl_studentlehrverband.gruppe OR tbl_lehrverband.gruppe IS NULL OR btrim(tbl_lehrverband.gruppe::text) = ''::text OR tbl_studentlehrverband.gruppe IS NULL); + "; + if(!$db->db_query($create_view_qry)) + { + echo "

Could not CREATE view public.vw_gruppen: " . $create_view_qry."

"; + } + } + + + + + + + + + + + + + +} + + echo ''; diff --git a/system/konsistenzpruefung.php b/system/konsistenzpruefung.php index db03b9575..d1bbb1ffd 100644 --- a/system/konsistenzpruefung.php +++ b/system/konsistenzpruefung.php @@ -15,7 +15,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Andreas Oesterreicher + * Authors: Andreas Oesterreicher and + Andreas Moik . */ /* * Prueft die Daten in der Datenbank auf konsistenz und gibt Hinweise @@ -433,7 +434,7 @@ $qry = "SELECT JOIN public.tbl_benutzer ON(uid=student_uid) JOIN public.tbl_person USING(person_id) WHERE - NOT EXISTS(SELECT 1 FROM public.tbl_studentlehrverband WHERE student_uid=tbl_student.student_uid)"; + NOT EXISTS(SELECT 1 FROM public.tbl_studentlehrverband WHERE prestudent_id=tbl_student.prestudent_id)"; if($result = $db->db_query($qry)) { @@ -615,7 +616,7 @@ $qry = "SELECT WHERE tbl_student.studiengang_kz<1000 AND tbl_student.studiengang_kz>0 AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Absolvent' AND prestudent_id=tbl_student.prestudent_id) - AND NOT EXISTS(SELECT 1 FROM lehre.tbl_abschlusspruefung WHERE student_uid=tbl_student.student_uid)"; + AND NOT EXISTS(SELECT 1 FROM lehre.tbl_abschlusspruefung WHERE prestudent_id=tbl_student.prestudent_id)"; if($result = $db->db_query($qry)) { diff --git a/system/sync/sync_stpldev_stpl.php b/system/sync/sync_stpldev_stpl.php index faafee277..d12291e95 100644 --- a/system/sync/sync_stpldev_stpl.php +++ b/system/sync/sync_stpldev_stpl.php @@ -128,11 +128,11 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr if($gruppe_kurzbz=='') { $qry = "SELECT - distinct student_uid + distinct prestudent_id FROM public.tbl_studentlehrverband - LEFT JOIN - public.tbl_benutzer ON (uid=student_uid) + JOIN public.tbl_prestudent USING(prestudent_id) + LEFT JOIN public.tbl_benutzer USING(person_id) WHERE tbl_benutzer.aktiv=true AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php index a0a76f0dc..010fdfae0 100644 --- a/vilesci/bis/lehrgangsmeldung.php +++ b/vilesci/bis/lehrgangsmeldung.php @@ -15,10 +15,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Christian Paminger < christian.paminger@technikum-wien.at > - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Authors: Christian Paminger , + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens and + * Andreas Moik . */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/studiensemester.class.php'); @@ -410,7 +411,7 @@ if($result = $db->db_query($qry)) 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"; + $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; if($result_ap = $db->db_query($qry_ap)) { $ap=0; diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 539541f7d..a93e31138 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -15,10 +15,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Christian Paminger < christian.paminger@technikum-wien.at > - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Authors: Christian Paminger , + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens and + * Andreas Moik . */ /** * Studentenmeldung @@ -803,7 +804,7 @@ function GenerateXMLStudentBlock($row) //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"; + $qry_ap="SELECT * FROM lehre.tbl_abschlusspruefung WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND abschlussbeurteilung_kurzbz!='nicht' AND abschlussbeurteilung_kurzbz IS NOT NULL"; if($result_ap = $db->db_query($qry_ap)) { $ap=0; diff --git a/vilesci/lehre/raummitteilung.php b/vilesci/lehre/raummitteilung.php index 1e895005e..8c027a674 100644 --- a/vilesci/lehre/raummitteilung.php +++ b/vilesci/lehre/raummitteilung.php @@ -1,292 +1,295 @@ -, - * Andreas Oesterreicher and - * Karl Burkhart . - */ -/* - * Raummitteilung - * - * Oeffnet ein E-Mail Fenster mit allen Personen die in einem bestimmten - * Zeitraum einem Raum zugeteilt sind. (Reservierung und LV-Plan) - * - * Dies dient dazu, die Personen im Falle eines Problemes in diesem Raum zu informieren - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/ort.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/variable.class.php'); - -?> - - - - Raummitteilung - - - - - - - - -

Raummitteilung

-loadVariables($user); - -echo '
'; - -echo 'Ort '; - -echo ' Von - - Stunde - Bis - - Stunde '; -echo ' inklusive Studenten'; -echo ' '; -echo '
'; - -if(isset($_POST['show'])) -{ - $mails = array(); - $von = $datum_obj->formatDatum($von, 'Y-m-d'); - $bis = $datum_obj->formatDatum($bis, 'Y-m-d'); - - if($von===false || $von=='') - die('Das Von Datum ist ungueltig'); - if($bis===false || $bis=='') - die('Das Bis Datum ist ungueltig'); - - if(!is_numeric($von_stunde) || $von_stunde=='') - die('Von Stunde ist ungueltig'); - if(!is_numeric($bis_stunde) || $bis_stunde=='') - die('Bis Stunde ist ungueltig'); - - if(!check_ort($ort_kurzbz)) - die('Ort ist ungueltig'); - - //LV-Plan - $qry = "SELECT distinct lehreinheit_id FROM - lehre.tbl_stundenplan - WHERE - tbl_stundenplan.datum>='".addslashes($von)."' AND tbl_stundenplan.datum<='".addslashes($bis)."' - AND NOT (tbl_stundenplan.datum='".addslashes($von)."' AND tbl_stundenplan.stunde<'".addslashes($von_stunde)."') - AND NOT (tbl_stundenplan.datum='".addslashes($bis)."' AND tbl_stundenplan.stunde>'".addslashes($bis_stunde)."') - AND tbl_stundenplan.ort_kurzbz='".addslashes($ort_kurzbz)."' - "; - - if($result = $db->db_query($qry)) - { - $lehreinheiten=array(); - while($row = $db->db_fetch_object($result)) - $lehreinheiten[]=$row->lehreinheit_id; - - if(count($lehreinheiten)>0) - { - $les = $db->implode4SQL($lehreinheiten); - if($inkl_studenten) - { - // Studenten aus dem LV-Plan - $qry = "SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE lehreinheit_id IN($les)"; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - $mails[]=$row->uid.'@'.DOMAIN; - } - } - - //Lektoren aus dem LV-Plan - $qry = "SELECT distinct mitarbeiter_uid as uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id IN($les)"; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - $mails[]=$row->uid.'@'.DOMAIN; - } - } - } - - //Reservierung - $qry = "SELECT * - FROM - campus.tbl_reservierung - WHERE - datum>='$von' AND datum<='$bis' - AND NOT (datum='$von' AND stunde<'$von_stunde') - AND NOT (datum='$bis' AND stunde>'$bis_stunde') - AND ort_kurzbz='".addslashes($ort_kurzbz)."'"; - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - $stsem = getStudiensemesterFromDatum($row->datum); - //Reservierer - $mails[]=$row->uid.'@'.DOMAIN; - if($inkl_studenten) - { - if($row->studiengang_kz!=0 && $row->gruppe_kurzbz=='') - { - //Studierende aus Lehrverbandsgruppen - $qry = "SELECT - student_uid as uid - FROM - public.tbl_studentlehrverband - WHERE - studiensemester_kurzbz='".$stsem."' - AND studiengang_kz='".$row->studiengang_kz."'"; - if($row->semester!='') - $qry.=" AND semester='".$row->semester."'"; - if($row->verband!='') - $qry.=" AND verband='".$row->verband."'"; - if($row->gruppe!='') - $qry.=" AND gruppe='".$row->gruppe."'"; - - if($result_gruppe = $db->db_query($qry)) - { - while($row_gruppe = $db->db_fetch_object($result_gruppe)) - $mails[] = $row_gruppe->uid.'@'.DOMAIN; - } - } - elseif($row->gruppe_kurzbz!='') - { - //Studierende aus den Spezialgruppen - $qry = "SELECT - uid - FROM - public.tbl_benutzergruppe - WHERE - gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' - AND studiensemester_kurzbz='".$stsem."'"; - if($result_gruppe = $db->db_query($qry)) - { - while($row_gruppe = $db->db_fetch_object($result_gruppe)) - $mails[] = $row_gruppe->uid.'@'.DOMAIN; - } - } - } - } - } - - //Zusammenfassen - $mails = array_unique($mails); - echo '
Anzahl der Empfänger: ',count($mails); - - echo '

E-Mail öffnen'; - echo " - "; - - echo '
enthaltene Personen:
'; - //Liste der Personen anzeigen - foreach($mails as $row) - echo "
$row"; - - -} -?> - - \ No newline at end of file +, + * Andreas Oesterreicher , + * Karl Burkhart and + * Andreas Moik . + */ +/* + * Raummitteilung + * + * Oeffnet ein E-Mail Fenster mit allen Personen die in einem bestimmten + * Zeitraum einem Raum zugeteilt sind. (Reservierung und LV-Plan) + * + * Dies dient dazu, die Personen im Falle eines Problemes in diesem Raum zu informieren + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/ort.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/variable.class.php'); + +?> + + + + Raummitteilung + + + + + + + + +

Raummitteilung

+loadVariables($user); + +echo '
'; + +echo 'Ort '; + +echo ' Von + + Stunde + Bis + + Stunde '; +echo ' inklusive Studenten'; +echo ' '; +echo '
'; + +if(isset($_POST['show'])) +{ + $mails = array(); + $von = $datum_obj->formatDatum($von, 'Y-m-d'); + $bis = $datum_obj->formatDatum($bis, 'Y-m-d'); + + if($von===false || $von=='') + die('Das Von Datum ist ungueltig'); + if($bis===false || $bis=='') + die('Das Bis Datum ist ungueltig'); + + if(!is_numeric($von_stunde) || $von_stunde=='') + die('Von Stunde ist ungueltig'); + if(!is_numeric($bis_stunde) || $bis_stunde=='') + die('Bis Stunde ist ungueltig'); + + if(!check_ort($ort_kurzbz)) + die('Ort ist ungueltig'); + + //LV-Plan + $qry = "SELECT distinct lehreinheit_id FROM + lehre.tbl_stundenplan + WHERE + tbl_stundenplan.datum>='".addslashes($von)."' AND tbl_stundenplan.datum<='".addslashes($bis)."' + AND NOT (tbl_stundenplan.datum='".addslashes($von)."' AND tbl_stundenplan.stunde<'".addslashes($von_stunde)."') + AND NOT (tbl_stundenplan.datum='".addslashes($bis)."' AND tbl_stundenplan.stunde>'".addslashes($bis_stunde)."') + AND tbl_stundenplan.ort_kurzbz='".addslashes($ort_kurzbz)."' + "; + + if($result = $db->db_query($qry)) + { + $lehreinheiten=array(); + while($row = $db->db_fetch_object($result)) + $lehreinheiten[]=$row->lehreinheit_id; + + if(count($lehreinheiten)>0) + { + $les = $db->implode4SQL($lehreinheiten); + if($inkl_studenten) + { + // Studenten aus dem LV-Plan + $qry = "SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE lehreinheit_id IN($les)"; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + $mails[]=$row->uid.'@'.DOMAIN; + } + } + + //Lektoren aus dem LV-Plan + $qry = "SELECT distinct mitarbeiter_uid as uid FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id IN($les)"; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + $mails[]=$row->uid.'@'.DOMAIN; + } + } + } + + //Reservierung + $qry = "SELECT * + FROM + campus.tbl_reservierung + WHERE + datum>='$von' AND datum<='$bis' + AND NOT (datum='$von' AND stunde<'$von_stunde') + AND NOT (datum='$bis' AND stunde>'$bis_stunde') + AND ort_kurzbz='".addslashes($ort_kurzbz)."'"; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $stsem = getStudiensemesterFromDatum($row->datum); + //Reservierer + $mails[]=$row->uid.'@'.DOMAIN; + if($inkl_studenten) + { + if($row->studiengang_kz!=0 && $row->gruppe_kurzbz=='') + { + //Studierende aus Lehrverbandsgruppen + $qry = "SELECT + uid + FROM + public.tbl_benutzer, + public.tbl_studentlehrverband + WHERE + public.tbl_benutzer.person_id = public.tbl_studentlehrverband.person_id + AND studiensemester_kurzbz='".$stsem."' + AND studiengang_kz='".$row->studiengang_kz."'"; + if($row->semester!='') + $qry.=" AND semester='".$row->semester."'"; + if($row->verband!='') + $qry.=" AND verband='".$row->verband."'"; + if($row->gruppe!='') + $qry.=" AND gruppe='".$row->gruppe."'"; + + if($result_gruppe = $db->db_query($qry)) + { + while($row_gruppe = $db->db_fetch_object($result_gruppe)) + $mails[] = $row_gruppe->uid.'@'.DOMAIN; + } + } + elseif($row->gruppe_kurzbz!='') + { + //Studierende aus den Spezialgruppen + $qry = "SELECT + uid + FROM + public.tbl_benutzergruppe + WHERE + gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' + AND studiensemester_kurzbz='".$stsem."'"; + if($result_gruppe = $db->db_query($qry)) + { + while($row_gruppe = $db->db_fetch_object($result_gruppe)) + $mails[] = $row_gruppe->uid.'@'.DOMAIN; + } + } + } + } + } + + //Zusammenfassen + $mails = array_unique($mails); + echo '
Anzahl der Empfänger: ',count($mails); + + echo '

E-Mail öffnen'; + echo " + "; + + echo '
enthaltene Personen:
'; + //Liste der Personen anzeigen + foreach($mails as $row) + echo "
$row"; + + +} +?> + + diff --git a/vilesci/personen/student_vorrueckung.php b/vilesci/personen/student_vorrueckung.php index c88fbd45f..20444264b 100644 --- a/vilesci/personen/student_vorrueckung.php +++ b/vilesci/personen/student_vorrueckung.php @@ -151,7 +151,7 @@ if ($result_stg=$db->db_query($qry_stg)) //select für die Anzeige $sql_query="SELECT tbl_student.*,tbl_person.*, tbl_studentlehrverband.semester as semester_stlv, tbl_studentlehrverband.verband as verband_stlv, - tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) + tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (prestudent_id) JOIN tbl_benutzer ON (student_uid=uid) JOIN tbl_person USING (person_id) WHERE tbl_benutzer.aktiv AND tbl_studentlehrverband.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER)." @@ -181,7 +181,7 @@ if (isset($_POST['vorr'])) //select für die Vorrückung $sql_query="SELECT tbl_student.*,tbl_person.*, tbl_studentlehrverband.semester as semester_stlv, tbl_studentlehrverband.verband as verband_stlv, - tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) + tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (prestudent_id) JOIN tbl_benutzer ON (student_uid=uid) JOIN tbl_person USING (person_id) WHERE tbl_benutzer.aktiv AND tbl_studentlehrverband.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER)." @@ -260,14 +260,14 @@ if (isset($_POST['vorr'])) } //Überprüfen ob Eintrag schon vorhanden $qry_chk="SELECT * FROM public.tbl_studentlehrverband - WHERE student_uid=".$db->db_add_param($row->student_uid)." + WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($next_ss).";"; $sql=''; if($db->db_num_rows($db->db_query($qry_chk))<1) { //Eintragen der neuen Gruppe - $sql="INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon, ext_id) - VALUES (".$db->db_add_param($row->student_uid).",".$db->db_add_param($next_ss).",".$db->db_add_param($row->studiengang_kz).", + $sql="INSERT INTO public.tbl_studentlehrverband (prestudent_id, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon, ext_id) + VALUES (".$db->db_add_param($row->prestudent_id, FHC_INTEGER).",".$db->db_add_param($next_ss).",".$db->db_add_param($row->studiengang_kz).", ".$db->db_add_param($s).",".$db->db_add_param($row->verband_stlv).",".$db->db_add_param($row->gruppe_stlv).",NULL,NULL,now(),".$db->db_add_param($user).",NULL);"; } $qry_chk="SELECT * FROM public.tbl_prestudentstatus diff --git a/vilesci/stammdaten/personen_listedoppelte.php b/vilesci/stammdaten/personen_listedoppelte.php index 9d7110cc4..4d5fd06ba 100644 --- a/vilesci/stammdaten/personen_listedoppelte.php +++ b/vilesci/stammdaten/personen_listedoppelte.php @@ -15,10 +15,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Christian Paminger < christian.paminger@technikum-wien.at > - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Authors: Christian Paminger , + * Andreas Oesterreicher , + * Rudolf Hangl , + * Gerald Simane-Sequens and + * Andreas Moik . */ @@ -174,4 +175,4 @@ if ($msg=='') - \ No newline at end of file +