db changes for eine_uid

-lehre.tbl_abschlusspruefung.student_uid -> prestudent_id
	-public.tbl_studentlehrverband.student_uid -> prestudent_id
This commit is contained in:
Andreas Moik
2016-04-19 15:31:15 +02:00
parent 48e0ea2124
commit b3a77052f7
40 changed files with 2358 additions and 2042 deletions
+5 -5
View File
@@ -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 <manfred.kindl@technikum-wien.at>
* Authors: Manfred Kindl <manfred.kindl@technikum-wien.at> and
Andreas Moik <moik@technikum-wien.at>.
*/
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
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
*
@@ -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
@@ -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
@@ -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
+5 -4
View File
@@ -16,9 +16,10 @@
* 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 >
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >,
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > and
* Andreas Moik <moik@technikum-wien.at >.
*/
/*
* 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
+16 -12
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/* 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))
{
+141 -140
View File
@@ -1,140 +1,141 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* 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();
?>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* 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();
?>
+144 -143
View File
@@ -1,143 +1,144 @@
<?php
/* Copyright (C) 2004 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/*
* 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 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Anwesenheitsliste</title>
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head><body><h2>Studentenliste - '.date('d.m.Y').'</h2><br>';
$db = new basis_db();
if($result = $db->db_query($qry))
{
echo "<table class='liste table-autosort:1 table-stripeclass:alternate table-autostripe'>";
echo '<thead><tr class="liste"><th>Foto</th><th class="table-sortable:default">Nachname</th><th class="table-sortable:default">Vorname</th><th class="table-sortable:default">Gruppe</th></tr></thead><tbody>';
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
if($row->foto!='')
{
$akte = new akte();
$akte->getAkten($row->person_id, 'Lichtbil');
echo "<td><a href='../akte.php?id=".$akte->result[0]->akte_id."'><img src='../bild.php?src=person&person_id=$row->person_id'></a></td>";
}
else
echo "<td></td>";
echo "<td>$row->nachname</td>";
echo "<td class='table-sortable:default'>$row->vorname</td>";
echo "<td class='table-sortable:default'>".$stg_obj->kuerzel_arr[$row->studiengang_kz]."-$row->semester$row->verband$row->gruppe</td>";
echo '</tr>';
}
echo '</tbody></table>';
}
echo '</body></html>';
?>
<?php
/* Copyright (C) 2004 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/*
* 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 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Anwesenheitsliste</title>
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head><body><h2>Studentenliste - '.date('d.m.Y').'</h2><br>';
$db = new basis_db();
if($result = $db->db_query($qry))
{
echo "<table class='liste table-autosort:1 table-stripeclass:alternate table-autostripe'>";
echo '<thead><tr class="liste"><th>Foto</th><th class="table-sortable:default">Nachname</th><th class="table-sortable:default">Vorname</th><th class="table-sortable:default">Gruppe</th></tr></thead><tbody>';
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
if($row->foto!='')
{
$akte = new akte();
$akte->getAkten($row->person_id, 'Lichtbil');
echo "<td><a href='../akte.php?id=".$akte->result[0]->akte_id."'><img src='../bild.php?src=person&person_id=$row->person_id'></a></td>";
}
else
echo "<td></td>";
echo "<td>$row->nachname</td>";
echo "<td class='table-sortable:default'>$row->vorname</td>";
echo "<td class='table-sortable:default'>".$stg_obj->kuerzel_arr[$row->studiengang_kz]."-$row->semester$row->verband$row->gruppe</td>";
echo '</tr>';
}
echo '</tbody></table>';
}
echo '</body></html>';
?>
+6 -5
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* 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
+4 -3
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* 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))
@@ -17,8 +17,9 @@
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* 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())
+21 -20
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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;
+21 -12
View File
@@ -16,15 +16,16 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
// ****************************************
// * 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'];
+15 -15
View File
@@ -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;
+6 -1
View File
@@ -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();
+23 -11
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/*
* 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
+21 -10
View File
@@ -16,6 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/*
* 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";
}
}
}
+473 -473
View File
@@ -1,473 +1,473 @@
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
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&uuml;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;
}
}
?>
<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
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&uuml;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;
}
}
?>
+21 -16
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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).';';
+9 -7
View File
@@ -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;
+14 -10
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
//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;
+3 -2
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/****************************************************************************
* @class Stundenplan
+11 -5
View File
@@ -352,12 +352,15 @@ if ($xmlformat=='rdf')
xmlns:ABSCHLUSSPRUEFUNG="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
<RDF:Seq about="'.$rdf_url.'/liste">
';
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);
+18 -9
View File
@@ -16,9 +16,10 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Gerald Raab <gerald.raab@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
// 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>$stgl</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');
+25 -15
View File
@@ -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 <stefan.puraner@technikum-wien.at>,
* Andreas Moik <moik@technikum-wien.at>
* Authors: Stefan Puraner <stefan.puraner@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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 "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<abschlusszeugnisse>";
@@ -78,14 +88,14 @@ echo "<abschlusszeugnis>";
$modul_temp = "";
echo "<akt_datum>".date('d.m.Y')."</akt_datum>";
echo "<uid>".$student->uid."</uid>";
echo "<vorname>".$student->vorname."</vorname>";
echo "<vornamen>".$student->vornamen."</vornamen>";
echo "<nachname>".$student->nachname."</nachname>";
echo "<geschlecht>".$student->geschlecht."</geschlecht>";
echo "<titelpost>".$student->titelpost."</titelpost>";
echo "<titelpre>".$student->titelpre."</titelpre>";
echo "<gebdatum>".$datum->formatDatum($student->gebdatum, "d.m.Y")."</gebdatum>";
echo "<uid>".$student_uid."</uid>";
echo "<vorname>".$person->vorname."</vorname>";
echo "<vornamen>".$person->vornamen."</vornamen>";
echo "<nachname>".$person->nachname."</nachname>";
echo "<geschlecht>".$person->geschlecht."</geschlecht>";
echo "<titelpost>".$person->titelpost."</titelpost>";
echo "<titelpre>".$person->titelpre."</titelpre>";
echo "<gebdatum>".$datum->formatDatum($person->gebdatum, "d.m.Y")."</gebdatum>";
echo "<studiengang_bezeichnung>".$studiengang->bezeichnung."</studiengang_bezeichnung>";
echo "<studienplan_bezeichnung>".$studienplan->bezeichnung."</studienplan_bezeichnung>";
echo "<gesamt_beurteilung>".strtoupper($abschlusspruefung->abschlussbeurteilung_kurzbz)."</gesamt_beurteilung>";
+256 -255
View File
@@ -1,255 +1,256 @@
<?php
/* Copyright (C) 2010 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
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 "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
echo "<sammelzeugnisse>";
foreach($uid_arr as $uid)
{
$xml_fussnote=0;
$anzahl_fussnoten=0;
if($uid=='')
continue;
echo "<sammelzeugnis>";
$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 ' <anrede>'.$row_person->anrede.'</anrede>';
echo ' <vorname>'.$row_person->vorname.'</vorname>';
echo ' <nachname>'.$row_person->nachname.'</nachname>';
echo ' <name>'.trim($row_person->titelpre.' '.trim($row_person->vorname.' '.$row_person->vornamen).' '.mb_strtoupper($row_person->nachname).($row_person->titelpost!=''?', '.$row_person->titelpost:'')).'</name>';
echo ' <gebdatum>'.$gebdatum.'</gebdatum>';
echo ' <matrikelnr>'.$row_person->matrikelnr.'</matrikelnr>';
echo ' <studiengang>'.$row_person->bezeichnung.'</studiengang>';
echo ' <studiengang_englisch>'.$row_person->english.'</studiengang_englisch>';
echo " <studiengang_kz>".sprintf('%04s', $row_person->studiengang_kz)."</studiengang_kz>";
echo ' <studiengangsleiter>'.$stgl.'</studiengangsleiter>';
echo ' <ort_datum>'.$datum_aktuell.'</ort_datum>';
echo ' <projektarbeit_note_anzeige>'.($row_person->projektarbeit_note_anzeige=='t'?'true':'false').'</projektarbeit_note_anzeige>';
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 ' <studiengang_art>'.$bezeichnung.'</studiengang_art>';
$prestudent = new prestudent();
$prestudent->getFirstStatus($row_person->prestudent_id, 'Student');
echo ' <start_semester>'.substr($prestudent->studiensemester_kurzbz,2,6).'</start_semester>';
echo ' <start_semester_number>'.$prestudent->ausbildungssemester.'</start_semester_number>';
$prestudent->getLastStatus($row_person->prestudent_id, null, 'Student');
echo ' <end_semester>'.substr($prestudent->studiensemester_kurzbz,2,6).'</end_semester>';
echo ' <end_semester_number>'.$prestudent->ausbildungssemester.'</end_semester_number>';
}
}
$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 " <unterrichtsfach_1>";
else
echo " <unterrichtsfach_2>";
$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 <fussnote>";
$xml_fussnote .=" <fussnotenzeichen>".$fussnotenzeichen[$anzahl_fussnoten]."</fussnotenzeichen>";
//$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_bezeichnung>Themenbereich: </themenbereich_bezeichnung>";
$xml_fussnote .=" <themenbereich><![CDATA[".$projektarbeit[$row_stud->lehrveranstaltung_id]['themenbereich'].'\n]]></themenbereich>';
$anzahl_nl++;
$nl2='\n';
}
if($bez=='b')
$typ = "Bachelor's Thesis:";
else
$typ = 'Master Thesis:';
$nl='';
$nl2='';
$xml_fussnote .=" <titel_bezeichnung>$typ</titel_bezeichnung>";
$xml_fussnote .=" <titel><![CDATA[".$projektarbeit[$row_stud->lehrveranstaltung_id]['titel'].$nl2."]]></titel>";
$xml_fussnote .=" <titel_en><![CDATA[".$projektarbeit[$row_stud->lehrveranstaltung_id]['titel_en'].$nl2."]]></titel_en>";
//$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']];
$note = $projektarbeit[$row_stud->lehrveranstaltung_id]['note'];
//$nl = str_repeat('\n',($anzahl_nl));
$xml_fussnote .=' <note>'.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.'</note>';
$xml_fussnote .=' <sws>'.$nl.'</sws>';
$xml_fussnote .=' <ects>'.$nl.'</ects>';
$xml_fussnote .=' <lv_lehrform_kurzbz>'.$nl.'</lv_lehrform_kurzbz>';
$xml_fussnote .=" </fussnote>";
$anzahl_fussnoten++;
$test = true;
}
echo " <sws>".number_format($ssp,2)."</sws>";
echo " <semester>$row_stud->semester</semester>";
echo " <kurzbz>$row_stud->kurzbz</kurzbz>";
echo " <stsem>$row_stud->studiensemester_kurzbz</stsem>";
echo " <bezeichnung><![CDATA[$row_stud->bezeichnung]]></bezeichnung>";
if($test == true)
echo " <bezeichnung_englisch><![CDATA[$row_stud->bezeichnung_english]]>".$fussnotenzeichen[$anzahl_fussnoten-1]."</bezeichnung_englisch>";
else
echo " <bezeichnung_englisch><![CDATA[$row_stud->bezeichnung_english]]></bezeichnung_englisch>";
echo " <ects>$row_stud->ects</ects>";
echo " <semesterstunden>$row_stud->semesterstunden</semesterstunden>";
echo " <note>$row_stud->note</note>";
echo " <note_bezeichnung>$row_stud->note_bezeichnung</note_bezeichnung>";
echo " <note_anmerkung>$row_stud->anmerkung</note_anmerkung>";
if($i <= 31)
echo " </unterrichtsfach_1>";
else
echo " </unterrichtsfach_2>";
$i++;
$test = false;
}
}
echo $xml_fussnote;
echo "</sammelzeugnis>";
}
echo "</sammelzeugnisse>";
}
?>
<?php
/* Copyright (C) 2010 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Karl Burkhart <burkhart@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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 "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
echo "<sammelzeugnisse>";
foreach($uid_arr as $uid)
{
$xml_fussnote=0;
$anzahl_fussnoten=0;
if($uid=='')
continue;
echo "<sammelzeugnis>";
$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 ' <anrede>'.$row_person->anrede.'</anrede>';
echo ' <vorname>'.$row_person->vorname.'</vorname>';
echo ' <nachname>'.$row_person->nachname.'</nachname>';
echo ' <name>'.trim($row_person->titelpre.' '.trim($row_person->vorname.' '.$row_person->vornamen).' '.mb_strtoupper($row_person->nachname).($row_person->titelpost!=''?', '.$row_person->titelpost:'')).'</name>';
echo ' <gebdatum>'.$gebdatum.'</gebdatum>';
echo ' <matrikelnr>'.$row_person->matrikelnr.'</matrikelnr>';
echo ' <studiengang>'.$row_person->bezeichnung.'</studiengang>';
echo ' <studiengang_englisch>'.$row_person->english.'</studiengang_englisch>';
echo " <studiengang_kz>".sprintf('%04s', $row_person->studiengang_kz)."</studiengang_kz>";
echo ' <studiengangsleiter>'.$stgl.'</studiengangsleiter>';
echo ' <ort_datum>'.$datum_aktuell.'</ort_datum>';
echo ' <projektarbeit_note_anzeige>'.($row_person->projektarbeit_note_anzeige=='t'?'true':'false').'</projektarbeit_note_anzeige>';
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 ' <studiengang_art>'.$bezeichnung.'</studiengang_art>';
$prestudent = new prestudent();
$prestudent->getFirstStatus($row_person->prestudent_id, 'Student');
echo ' <start_semester>'.substr($prestudent->studiensemester_kurzbz,2,6).'</start_semester>';
echo ' <start_semester_number>'.$prestudent->ausbildungssemester.'</start_semester_number>';
$prestudent->getLastStatus($row_person->prestudent_id, null, 'Student');
echo ' <end_semester>'.substr($prestudent->studiensemester_kurzbz,2,6).'</end_semester>';
echo ' <end_semester_number>'.$prestudent->ausbildungssemester.'</end_semester_number>';
}
}
$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 " <unterrichtsfach_1>";
else
echo " <unterrichtsfach_2>";
$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 <fussnote>";
$xml_fussnote .=" <fussnotenzeichen>".$fussnotenzeichen[$anzahl_fussnoten]."</fussnotenzeichen>";
//$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_bezeichnung>Themenbereich: </themenbereich_bezeichnung>";
$xml_fussnote .=" <themenbereich><![CDATA[".$projektarbeit[$row_stud->lehrveranstaltung_id]['themenbereich'].'\n]]></themenbereich>';
$anzahl_nl++;
$nl2='\n';
}
if($bez=='b')
$typ = "Bachelor's Thesis:";
else
$typ = 'Master Thesis:';
$nl='';
$nl2='';
$xml_fussnote .=" <titel_bezeichnung>$typ</titel_bezeichnung>";
$xml_fussnote .=" <titel><![CDATA[".$projektarbeit[$row_stud->lehrveranstaltung_id]['titel'].$nl2."]]></titel>";
$xml_fussnote .=" <titel_en><![CDATA[".$projektarbeit[$row_stud->lehrveranstaltung_id]['titel_en'].$nl2."]]></titel_en>";
//$note = $note_arr[$projektarbeit[$row->lehrveranstaltung_id]['note']];
$note = $projektarbeit[$row_stud->lehrveranstaltung_id]['note'];
//$nl = str_repeat('\n',($anzahl_nl));
$xml_fussnote .=' <note>'.(isset($note_arr[$note])?$note_arr[$note]:$note).$nl.'</note>';
$xml_fussnote .=' <sws>'.$nl.'</sws>';
$xml_fussnote .=' <ects>'.$nl.'</ects>';
$xml_fussnote .=' <lv_lehrform_kurzbz>'.$nl.'</lv_lehrform_kurzbz>';
$xml_fussnote .=" </fussnote>";
$anzahl_fussnoten++;
$test = true;
}
echo " <sws>".number_format($ssp,2)."</sws>";
echo " <semester>$row_stud->semester</semester>";
echo " <kurzbz>$row_stud->kurzbz</kurzbz>";
echo " <stsem>$row_stud->studiensemester_kurzbz</stsem>";
echo " <bezeichnung><![CDATA[$row_stud->bezeichnung]]></bezeichnung>";
if($test == true)
echo " <bezeichnung_englisch><![CDATA[$row_stud->bezeichnung_english]]>".$fussnotenzeichen[$anzahl_fussnoten-1]."</bezeichnung_englisch>";
else
echo " <bezeichnung_englisch><![CDATA[$row_stud->bezeichnung_english]]></bezeichnung_englisch>";
echo " <ects>$row_stud->ects</ects>";
echo " <semesterstunden>$row_stud->semesterstunden</semesterstunden>";
echo " <note>$row_stud->note</note>";
echo " <note_bezeichnung>$row_stud->note_bezeichnung</note_bezeichnung>";
echo " <note_anmerkung>$row_stud->anmerkung</note_anmerkung>";
if($i <= 31)
echo " </unterrichtsfach_1>";
else
echo " </unterrichtsfach_2>";
$i++;
$test = false;
}
}
echo $xml_fussnote;
echo "</sammelzeugnis>";
}
echo "</sammelzeugnisse>";
}
?>
+4 -3
View File
@@ -16,8 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
// 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';
+5 -4
View File
@@ -16,9 +16,10 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Gerald Raab <gerald.raab@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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);
+5 -4
View File
@@ -16,9 +16,10 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Gerald Raab <gerald.raab@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
//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);
+261 -263
View File
@@ -1,263 +1,261 @@
<?php
/* Copyright (C) 2010 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
*/
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();
}
}
?>
<?php
/* Copyright (C) 2010 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
*/
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();
}
}
?>
+5 -4
View File
@@ -16,8 +16,9 @@
* 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> and
* Karl Burkhart <burkhart@technikum-wien.at>
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Karl Burkhart <burkhart@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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)
}
?>
</body>
</html>
</html>
+260 -260
View File
@@ -1,260 +1,260 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
// ************************************
// * 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);
?>
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
// ************************************
// * 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);
?>
+222 -2
View File
@@ -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 "<p>Could not DROP view campus.vw_student_lehrveranstaltung: " . $create_view_qry."</p>";
}
}
//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 "<p>Could not DROP view lehre.vw_stundenplandev_student_unr: " . $create_view_qry."</p>";
}
}
//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 "<p>Could not DROP view public.vw_gruppen: " . $create_view_qry."</p>";
}
}
//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 "<p>Could not CREATE view bis.vw_bisio: " . $create_view_qry."</p>";
}
}
}
//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 "<p>Could not CREATE view campus.vw_student_lehrveranstaltung: " . $create_view_qry."</p>";
}
}
//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 "<p>Could not CREATE view lehre.vw_stundenplandev_student_unr: " . $create_view_qry."</p>";
}
}
//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 "<p>Could not CREATE view public.vw_gruppen: " . $create_view_qry."</p>";
}
}
}
echo '</body></html>';
+4 -3
View File
@@ -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 <andreas.oesterreicher@technikum-wien.at>
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
Andreas Moik <moik@technikum-wien.at>.
*/
/*
* 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))
{
+3 -3
View File
@@ -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
+6 -5
View File
@@ -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 <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> and
* Andreas Moik <moik@technikum-wien.at>.
*/
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;
+6 -5
View File
@@ -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 <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> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* 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;
+295 -292
View File
@@ -1,292 +1,295 @@
<?php
/* Copyright (C) 2010 FH Technikum Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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> and
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
*/
/*
* 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');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Raummitteilung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../skin/jquery-ui.css" type="text/css">
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript" src="../../include/js/jquery-ui.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker-de.js"></script>
</head>
<body>
<h2>Raummitteilung</h2>
<?php
$von = (isset($_POST['von'])?$_POST['von']:date('d.m.Y'));
$bis = (isset($_POST['bis'])?$_POST['bis']:date('d.m.Y', mktime(0,0,0,date('m'),date('d')+7,date('Y'))));
$von_stunde = (isset($_POST['von_stunde'])?$_POST['von_stunde']:1);
$bis_stunde = (isset($_POST['bis_stunde'])?$_POST['bis_stunde']:1);
$ort_kurzbz = (isset($_POST['ort_kurzbz'])?$_POST['ort_kurzbz']:'');
$inkl_studenten = isset($_POST['inkl_studenten']);
if($ort_kurzbz=='')
$inkl_studenten=true;
$datum_obj = new datum();
$db = new basis_db();
$user = get_uid();
$variable = new variable();
$variable->loadVariables($user);
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
echo 'Ort <SELECT name="ort_kurzbz">';
$orte = new ort();
$orte->getAll();
foreach($orte->result as $row)
{
if($row->aktiv && $row->lehre)
{
if($row->ort_kurzbz==$ort_kurzbz)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$row->ort_kurzbz.'" '.$selected.'>'.$row->ort_kurzbz.'</OPTION>';
}
}
echo '</SELECT>';
echo ' Von <input type="text" size="10" maxlength="10" name="von" id="von" value="'.$von.'">
<script type="text/javascript">
$("#von" ).datepicker($.datepicker.regional["de"]);
</script>
Stunde <SELECT name="von_stunde">';
for($i=1;$i<15;$i++)
{
if($i==$von_stunde)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$i.'" '.$selected.'>'.$i.'</OPTION>';
}
echo '</SELECT>
Bis <input type="text" size="10" maxlength="10" name="bis" id="bis" value="'.$bis.'">
<script type="text/javascript">
$("#bis" ).datepicker($.datepicker.regional["de"]);
</script>
Stunde <SELECT name="bis_stunde">';
for($i=1;$i<15;$i++)
{
if($i==$bis_stunde)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$i.'" '.$selected.'>'.$i.'</OPTION>';
}
echo '</SELECT>';
echo ' inklusive Studenten<input type="checkbox" name="inkl_studenten" '.($inkl_studenten?'checked':'').'>';
echo ' <input type="submit" name="show" value="Anzeigen"/>';
echo '</form>';
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 '<br>Anzahl der Empfänger: ',count($mails);
echo '<br /><br /><a href="#MailSenden" onclick="splitmailto(mails, \'bcc\'); return false;">E-Mail öffnen</a>';
echo "
<script type=\"text/Javascript\">
var mails = '".implode($variable->variable->emailadressentrennzeichen,$mails)."';
// ****
// * Teilt die Mailto Links auf kleinere Brocken auf, da der
// * Link nicht funktioniert wenn er zu lange ist
// * art = to | cc | bcc
// ****
function splitmailto(mails, art)
{
var splititem = '".$variable->variable->emailadressentrennzeichen."';
var splitposition=0;
var mailto='';
var loop=true;
if(mails.length>2048)
alert('Aufgrund der großen Anzahl an Empfängern, muss die Nachricht auf mehrere E-Mails aufgeteilt werden!');
while(loop)
{
if(mails.length>2048)
{
splitposition=mails.indexOf(splititem,1900);
mailto = mails.substring(0,splitposition);
mails = mails.substring(splitposition);
}
else
{
loop=false;
mailto=mails;
}
if(art=='to')
window.location.href='mailto:'+mailto;
else
window.location.href='mailto:?'+art+'='+mailto;
}
}
</script>";
echo '<hr>enthaltene Personen:<br />';
//Liste der Personen anzeigen
foreach($mails as $row)
echo "<br />$row";
}
?>
</body>
</html>
<?php
/* Copyright (C) 2010 FH Technikum Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Karl Burkhart <karl.burkhart@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/*
* 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');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Raummitteilung</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../skin/jquery-ui.css" type="text/css">
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript" src="../../include/js/jquery-ui.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker-de.js"></script>
</head>
<body>
<h2>Raummitteilung</h2>
<?php
$von = (isset($_POST['von'])?$_POST['von']:date('d.m.Y'));
$bis = (isset($_POST['bis'])?$_POST['bis']:date('d.m.Y', mktime(0,0,0,date('m'),date('d')+7,date('Y'))));
$von_stunde = (isset($_POST['von_stunde'])?$_POST['von_stunde']:1);
$bis_stunde = (isset($_POST['bis_stunde'])?$_POST['bis_stunde']:1);
$ort_kurzbz = (isset($_POST['ort_kurzbz'])?$_POST['ort_kurzbz']:'');
$inkl_studenten = isset($_POST['inkl_studenten']);
if($ort_kurzbz=='')
$inkl_studenten=true;
$datum_obj = new datum();
$db = new basis_db();
$user = get_uid();
$variable = new variable();
$variable->loadVariables($user);
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
echo 'Ort <SELECT name="ort_kurzbz">';
$orte = new ort();
$orte->getAll();
foreach($orte->result as $row)
{
if($row->aktiv && $row->lehre)
{
if($row->ort_kurzbz==$ort_kurzbz)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$row->ort_kurzbz.'" '.$selected.'>'.$row->ort_kurzbz.'</OPTION>';
}
}
echo '</SELECT>';
echo ' Von <input type="text" size="10" maxlength="10" name="von" id="von" value="'.$von.'">
<script type="text/javascript">
$("#von" ).datepicker($.datepicker.regional["de"]);
</script>
Stunde <SELECT name="von_stunde">';
for($i=1;$i<15;$i++)
{
if($i==$von_stunde)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$i.'" '.$selected.'>'.$i.'</OPTION>';
}
echo '</SELECT>
Bis <input type="text" size="10" maxlength="10" name="bis" id="bis" value="'.$bis.'">
<script type="text/javascript">
$("#bis" ).datepicker($.datepicker.regional["de"]);
</script>
Stunde <SELECT name="bis_stunde">';
for($i=1;$i<15;$i++)
{
if($i==$bis_stunde)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$i.'" '.$selected.'>'.$i.'</OPTION>';
}
echo '</SELECT>';
echo ' inklusive Studenten<input type="checkbox" name="inkl_studenten" '.($inkl_studenten?'checked':'').'>';
echo ' <input type="submit" name="show" value="Anzeigen"/>';
echo '</form>';
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 '<br>Anzahl der Empfänger: ',count($mails);
echo '<br /><br /><a href="#MailSenden" onclick="splitmailto(mails, \'bcc\'); return false;">E-Mail öffnen</a>';
echo "
<script type=\"text/Javascript\">
var mails = '".implode($variable->variable->emailadressentrennzeichen,$mails)."';
// ****
// * Teilt die Mailto Links auf kleinere Brocken auf, da der
// * Link nicht funktioniert wenn er zu lange ist
// * art = to | cc | bcc
// ****
function splitmailto(mails, art)
{
var splititem = '".$variable->variable->emailadressentrennzeichen."';
var splitposition=0;
var mailto='';
var loop=true;
if(mails.length>2048)
alert('Aufgrund der großen Anzahl an Empfängern, muss die Nachricht auf mehrere E-Mails aufgeteilt werden!');
while(loop)
{
if(mails.length>2048)
{
splitposition=mails.indexOf(splititem,1900);
mailto = mails.substring(0,splitposition);
mails = mails.substring(splitposition);
}
else
{
loop=false;
mailto=mails;
}
if(art=='to')
window.location.href='mailto:'+mailto;
else
window.location.href='mailto:?'+art+'='+mailto;
}
}
</script>";
echo '<hr>enthaltene Personen:<br />';
//Liste der Personen anzeigen
foreach($mails as $row)
echo "<br />$row";
}
?>
</body>
</html>
+5 -5
View File
@@ -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
@@ -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 <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> and
* Andreas Moik <moik@technikum-wien.at>.
*/
@@ -174,4 +175,4 @@ if ($msg=='')
</tr>
</table>
</body>
</html>
</html>