mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 07:22:17 +00:00
db changes for eine_uid
-lehre.tbl_abschlusspruefung.student_uid -> prestudent_id -public.tbl_studentlehrverband.student_uid -> prestudent_id
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
?>
|
||||
|
||||
@@ -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>';
|
||||
?>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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'];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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ü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ü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
@@ -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).';';
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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';
|
||||
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
?>
|
||||
|
||||
@@ -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>';
|
||||
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user