This commit is contained in:
kindlm
2015-04-24 10:29:49 +02:00
25 changed files with 899 additions and 432 deletions
@@ -20,14 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../../../config/cis.config.inc.php');
// ------------------------------------------------------------------------------------------
// Datenbankanbindung
// ------------------------------------------------------------------------------------------
require_once('../../../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -37,19 +31,10 @@ require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/uebung.class.php');
require_once('../../../../include/beispiel.class.php');
require_once('../../../../include/datum.class.php');
include_once('../../../../include/Excel/excel.php');
//Excel includes
include_once('../../../../include/Excel/PEAR.php');
include_once('../../../../include/Excel/BIFFwriter.php');
include_once('../../../../include/Excel/Workbook.php');
include_once('../../../../include/Excel/Format.php');
include_once('../../../../include/Excel/Worksheet.php');
include_once('../../../../include/Excel/Parser.php');
include_once('../../../../include/Excel/OLE.php');
include_once('../../../../include/Excel/PPS.php');
include_once('../../../../include/Excel/Root.php');
include_once('../../../../include/Excel/File.php');
include_once('../../../../include/Excel/Writer.php');
if (!$db = new basis_db())
die('Fehler beim Herstellen der Datenbankverbindung');
$user = get_uid();
@@ -66,7 +51,6 @@ if(isset($_GET['uebung_id']) && is_numeric($_GET['uebung_id']))
$uebung_id = $_GET['uebung_id'];
$uebung_obj = new uebung($uebung_id);
$lehreinheit_obj = new lehreinheit($uebung_obj->lehreinheit_id);
}
else
{
@@ -93,14 +77,14 @@ if (isset($_GET["download_abgabe"])){
readfile($filename);
exit;
}
/*
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
tbl_lehreinheit.lehreinheit_id='$lehreinheit_obj->lehreinheit_id' AND
mitarbeiter_uid='$user'";
tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER)." AND
mitarbeiter_uid=".$db->db_add_param($user);
*/
$qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE
tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id='$lehreinheit_obj->lehreinheit_id') AND
mitarbeiter_uid='$user'";
tbl_lehreinheit.lehrveranstaltung_id in(Select lehrveranstaltung_id from lehre.tbl_lehreinheit where lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER).") AND
mitarbeiter_uid=".$db->db_add_param($user);
if(!$result = $db->db_query($qry))
die('Fehler beim laden der Berechtigung');
@@ -110,7 +94,27 @@ $rechte->getBerechtigungen($user);
if(!($db->db_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lehreinheit_obj->studiengang_kz)))
die('Sie haben keine Berechtigung f&uuml;r diesen Bereich');
// Beteiligte Gruppen laden
$gruppen = '';
$qry_gruppen = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_obj->lehreinheit_id, FHC_INTEGER);
if($result_gruppen = $db->db_query($qry_gruppen))
{
$i=0;
while($row_gruppen = $db->db_fetch_object($result_gruppen))
{
if($row_gruppen->gruppe_kurzbz=='')
$gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe;
else
$gruppen.=$row_gruppen->gruppe_kurzbz;
$i++;
if($i<$db->db_num_rows($result_gruppen))
$gruppen.=', ';
else
$gruppen.=' ';
}
}
if(isset($_GET['output']) && $_GET['output']=='xls')
{
if(isset($_GET['all']))
@@ -124,12 +128,13 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("Kreuzerlliste_Gesamt_".$lv_obj->lehreverzeichnis. "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
@@ -173,7 +178,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'";
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -181,16 +186,16 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)." ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student
WHERE studiengang_kz='$row->studiengang_kz'
AND semester='$row->semester' ".
($row->verband!=''?" AND verband='$row->verband'":'').
($row->gruppe!=''?" AND gruppe='$row->gruppe'":'').
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester).
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
" ORDER BY nachname, vorname";
}
@@ -215,7 +220,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe,
public.tbl_studentlehrverband, lehre.tbl_lehreinheit
WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
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
@@ -228,7 +233,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
FROM
campus.vw_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband, lehre.tbl_lehreinheit
WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
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
@@ -278,7 +283,8 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
foreach($ueb_obj->uebungen as $row_ueb)
{
$qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$row_ueb->uebung_id' AND student_uid='$row_stud->uid' AND vorbereitet=true";
$qry = "SELECT sum(punkte) as punkte FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id)
WHERE uebung_id=".$db->db_add_param($row_ueb->uebung_id)." AND student_uid=".$db->db_add_param($row_stud->uid)." AND vorbereitet=true";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -299,7 +305,8 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
$worksheet->write($zeile,++$spalte,$summe);
//mitarbeit
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$row_stud->uid'";
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit=$row->mitarbeit;
@@ -329,12 +336,14 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
$workbook->send("Kreuzerltool". "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Kreuzerltool");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
@@ -344,7 +353,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
// let's merge
$format_title->setAlign('merge');
$worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y'), $format_bold);
$worksheet->write(0,0,$uebung_obj->bezeichnung.' am '.date('d.m.Y').' '.$gruppen, $format_bold);
$maxlength = array();
//Ueberschrift
$i=0;
@@ -354,8 +363,8 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
$maxlength[$i]=strlen('Nachname');
$worksheet->write(1,++$i,"Matrikelnr", $format_title);
$maxlength[$i]=strlen('Matrikelnr');
$worksheet->write(1,++$i,"Gruppe", $format_title);
$maxlength[$i]=strlen('Gruppe');
//$worksheet->write(1,++$i,"Gruppe", $format_title);
//$maxlength[$i]=strlen('Gruppe');
$beispiel_obj = new beispiel();
$beispiel_obj->load_beispiel($uebung_id);
foreach($beispiel_obj->beispiele as $row_bsp)
@@ -377,7 +386,7 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'";
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -385,16 +394,18 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid)
WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student
WHERE studiengang_kz='$row->studiengang_kz'
AND semester='$row->semester' ".
($row->verband!=''?" AND verband='$row->verband'":'').
($row->gruppe!=''?" AND gruppe='$row->gruppe'":'').
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester).
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
" ORDER BY nachname, vorname";
}
@@ -414,14 +425,21 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid)
WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
//Alle Studenten die dieser Lehreinheit zugeordnet sind
$qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
/*
$qry_stud = "SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND
vw_student.uid = tbl_benutzergruppe.uid AND
tbl_benutzergruppe.gruppe_kurzbz = tbl_lehreinheitgruppe.gruppe_kurzbz
UNION
SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
SELECT vw_student.uid, vorname, nachname, matrikelnr, vw_student.semester, vw_student.verband, vw_student.gruppe
FROM campus.vw_student, lehre.tbl_lehreinheitgruppe WHERE
tbl_lehreinheitgruppe.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_lehreinheitgruppe.studiengang_kz=vw_student.studiengang_kz AND
tbl_lehreinheitgruppe.semester = vw_student.semester AND
((tbl_lehreinheitgruppe.verband<>'' AND
@@ -435,12 +453,13 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
OR (tbl_lehreinheitgruppe.verband is null AND tbl_lehreinheitgruppe.gruppe is null)
)
ORDER BY nachname, vorname";
*/
}
else
die('Fehler bei der Parameteruebergabe');
$gruppe='';
}
if($result_stud = $db->db_query($qry_stud))
{
$zeile=3;
@@ -463,10 +482,11 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
$maxlength[$spalte]=strlen($row_stud->matrikelnr);
//Gruppe
/*
$worksheet->write($zeile,++$spalte,$row_stud->semester.$row_stud->verband.$row_stud->gruppe);
if(strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row_stud->semester.$row_stud->verband.$row_stud->gruppe);
*/
foreach($beispiel_obj->beispiele as $row_bsp)
{
$studentbeispiel_obj = new beispiel();
@@ -484,7 +504,8 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
$worksheet->write($zeile,++$spalte,$punkte_heute);
//mitarbeit heute
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id' AND student_uid='$row_stud->uid'";
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($row_stud->uid);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
@@ -495,9 +516,9 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
//punkte insgesamt
$qry = "SELECT sum(tbl_beispiel.punkte) AS gesamt_ohne_mitarbeit FROM campus.tbl_uebung, campus.tbl_beispiel, campus.tbl_studentbeispiel WHERE
tbl_studentbeispiel.student_uid='$row_stud->uid' AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($row_stud->uid)." AND
tbl_studentbeispiel.vorbereitet=true AND
tbl_uebung.lehreinheit_id='$uebung_obj->lehreinheit_id' AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($uebung_obj->lehreinheit_id, FHC_INTEGER)." AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_beispiel.beispiel_id=tbl_studentbeispiel.beispiel_id
";
@@ -510,7 +531,8 @@ if(isset($_GET['output']) && $_GET['output']=='xls')
$worksheet->write($zeile,++$spalte,'failed');
//mitarbeit insgesamt
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) WHERE student_uid='$row_stud->uid' AND lehreinheit_id='$lehreinheit_id'";
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeit_heute FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE student_uid=".$db->db_add_param($row_stud->uid)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
$worksheet->write($zeile,++$spalte,($row->mitarbeit_heute!=''?$row->mitarbeit_heute:'0'));
@@ -655,7 +677,7 @@ function addUser(student_uid)
if(isset($_GET['gruppe']) && $_GET['gruppe']!='')
{
$gruppe = $_GET['gruppe'];
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id='$gruppe'";
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($gruppe);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -663,16 +685,18 @@ function addUser(student_uid)
if($row->gruppe_kurzbz!='')
{
$gruppe_bez = 'Gruppe '.$row->gruppe_kurzbz;
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname";
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid)
WHERE gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz)." AND studiensemester_kurzbz = ".$db->db_add_param($stsem)."
ORDER BY nachname, vorname";
}
else
{
$gruppe_bez = 'Gruppe '.$row->verband.$row->gruppe;
$qry_stud = "SELECT uid, vorname, nachname FROM campus.vw_student
WHERE studiengang_kz='$row->studiengang_kz'
AND semester='$row->semester' ".
($row->verband!=''?" AND verband='$row->verband'":'').
($row->gruppe!=''?" AND gruppe='$row->gruppe'":'').
WHERE studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester).
($row->verband!=''?" AND verband=".$db->db_add_param($row->verband):'').
($row->gruppe!=''?" AND gruppe=".$db->db_add_param($row->gruppe):'').
" ORDER BY nachname, vorname";
}
@@ -689,10 +713,11 @@ function addUser(student_uid)
if(isset($_GET['lehreinheit_id']) && $_GET['lehreinheit_id']!='')
{
$lehreinheit_id = $_GET['lehreinheit_id'];
$gruppe_bez = 'Alle Studienrende';
$gruppe_bez = 'Alle Studierende';
//Alle Studenten die dieser lehreinheit zugeordnet sind
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname";
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid)
WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." AND lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
/*
$qry_stud = "SELECT vw_student.uid, vorname, nachname FROM campus.vw_student, public.tbl_benutzergruppe, lehre.tbl_lehreinheitgruppe
WHERE tbl_lehreinheitgruppe.lehreinheit_id='$lehreinheit_id' AND
@@ -732,7 +757,7 @@ function addUser(student_uid)
<table width='100%'>
<tr>
<td><font class='headline'>$lehrveranstaltung_obj->semester.Semester</font></td>
<td align='center'><font class='headline'>$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez</font></td>
<td align='center'><font class='headline'>$stg_obj->kuerzel - $lehrveranstaltung_obj->bezeichnung - $uebung_obj->bezeichnung - $gruppe_bez - $gruppen</font></td>
<td align='right'><font class='headline'>".date('d.m.Y')."</font></td>
</tr>
</table>
@@ -376,7 +376,7 @@ echo "<h3><u>$uebung_obj->bezeichnung</u></h3>";
echo '<table width="100%"><tr><td>';
echo "<ul><li><a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'>".$p->t('benotungstool/alleStudierenden')."</a>&nbsp;";
if ($show_excel_link)
echo "<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id'><img src='../../../../skin/images/excel.gif' width=16 height=16></a>";
echo "<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem'><img src='../../../../skin/images/excel.gif' width=16 height=16></a>";
echo "</li>";
echo '</ul>';
echo "</td><!--<td valign='top'>
@@ -173,7 +173,10 @@ foreach($noten_obj->result as $row)
function saveLVNote(uid)
{
note = document.getElementById(uid).note.value;
note_label = document.getElementById(uid).note.label;
if(document.getElementById(uid).note)
note_label = document.getElementById(uid).note.label;
else
note_label='';
if(note=='')
{
alert('Bitte wählen Sie eine Note aus');
@@ -285,7 +288,10 @@ foreach($noten_obj->result as $row)
function pruefungSpeichern()
{
var note = document.nachpruefung_form.note.value;
var punkte = document.nachpruefung_form.punkte.value;
if(document.nachpruefung_form.punkte)
var punkte = document.nachpruefung_form.punkte.value;
else
var punkte='';
var datum = document.nachpruefung_form.datum.value;
var datum_test = datum.split(".");
if (datum_test[0].length != 2 || datum_test[1].length != 2 || datum_test[2].length!=4 || isNaN(datum_test[2]) || datum_test[1]>12 || datum_test[1]<1 || datum_test[0]>31 || datum_test[0]<1)
@@ -316,7 +322,10 @@ foreach($noten_obj->result as $row)
var anlegendiv = document.getElementById("nachpruefung_div");
var datum = document.nachpruefung_form.datum.value;
var note = document.nachpruefung_form.note.value;
var punkte = document.nachpruefung_form.punkte.value;
if(document.nachpruefung_form.punkte)
var punkte = document.nachpruefung_form.punkte.value;
else
var punkte='';
var uid = document.nachpruefung_form.uid.value;
var lehreinheit_id = document.nachpruefung_form.le_id.value;
var resp = result;
+44 -39
View File
@@ -654,56 +654,61 @@ function getLastStundeByDatum(Array $array, $filterDatum)
$lehreinheit = new lehreinheit();
$studiensemester = new studiensemester();
$lehreinheit->load_lehreinheiten($lv, $studiensemester->getaktorNext());
if (CIS_LVINFO_TERMINE_ANZEIGEN == true)
{
if(!empty($lehreinheit->lehreinheiten))
{
$lehrstunde = new lehrstunde();
$lehrstunde->load_lehrstunden_le($lehreinheit->lehreinheiten[0]->lehreinheit_id);
$i = 1;
echo "<h2>Termine</h2><table><tr><td><ul>";
$result = $lehrstunde->lehrstunden;
$last = "";
$bis = "";
usort($result, "cmp");
$datum = new datum();
$std_von = new stunde();
$std_bis = new stunde();
foreach($result as $key=>$stunde)
echo "<h2>Termine</h2><table>";
foreach($lehreinheit->lehreinheiten as $lehreinheit_temp)
{
if($last !== $stunde->datum)
$lehrstunde = new lehrstunde();
$lehrstunde->load_lehrstunden_le($lehreinheit_temp->lehreinheit_id);
$i = 1;
echo "<tr><td><ul>";
$result = $lehrstunde->lehrstunden;
$last = "";
$bis = "";
usort($result, "cmp");
$datum = new datum();
$std_von = new stunde();
$std_bis = new stunde();
foreach($result as $key=>$stunde)
{
$temp = array_values(getLastStundeByDatum($result, $stunde->datum));
$size = count($temp);
if($size != 0)
if($last !== $stunde->datum)
{
$std_von->load($temp[0]->stunde);
$std_bis->load($temp[$size-1]->stunde);
echo "<li>".$datum->formatDatum($temp[0]->datum,"d.m.Y")." von ".mb_substr($std_von->beginn,0,5)." bis ".mb_substr($std_bis->ende,0,5)."</li>";
$temp = array_values(getLastStundeByDatum($result, $stunde->datum));
$size = count($temp);
if($size != 0)
{
$std_von->load($temp[0]->stunde);
$std_bis->load($temp[$size-1]->stunde);
echo "<li>".$datum->formatDatum($temp[0]->datum,"d.m.Y")." von ".mb_substr($std_von->beginn,0,5)." bis ".mb_substr($std_bis->ende,0,5)."</li>";
}
$i++;
}
$i++;
elseif($last == "")
{
$temp = getLastStundeByDatum($result, $stunde->datum);
var_dump($temp);
}
else
{
$bis = $stunde->stunde;
}
if($i % 5 === 0)
{
// echo "</ul></td><td><ul>";
// $i++;
}
$last = $stunde->datum;
}
elseif($last == "")
{
$temp = getLastStundeByDatum($result, $stunde->datum);
var_dump($temp);
}
else
{
$bis = $stunde->stunde;
}
if($i % 5 === 0)
{
// echo "</ul></td><td><ul>";
// $i++;
}
$last = $stunde->datum;
echo "</ul></td></tr>";
}
echo "</ul></td></tr></table>";
echo "</table>";
}
}
+73 -46
View File
@@ -15,13 +15,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authors: Robert Hofer <robert.hofer@technikum-wien.at>
* Authors: Robert Hofer <robert.hofer@technikum-wien.at>,
* Andreas Oestereicher <oesi@technikum-wien.at>
*/
/*
* Zeigt die bisherige Anwesenheit eines Studenten im aktuellen Semester bei LVAs
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../config/global.config.inc.php');
require_once('../../../include/basis_db.class.php');
@@ -32,11 +32,22 @@ require_once('../../../include/studiensemester.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/prestudent.class.php');
require_once('../../../include/stundenplan.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$datum_obj = new datum();
$uid = get_uid();
//$uid = 'if14b001';
//$uid = 'wi13b120';
//$uid = 'ia06b172';
$uidchange=false;
if(isset($_GET['uid']))
{
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$uidchange=true;
}
}
$benutzer = new benutzer();
if(!$benutzer->load($uid))
@@ -45,7 +56,7 @@ if(!$benutzer->load($uid))
}
$p = new phrasen(getSprache());
$db = new basis_db();
$student = new student;
$stundenplan = new stundenplan('stundenplan');
$anwesenheit = new anwesenheit;
@@ -66,71 +77,87 @@ $student->get_lv($uid, $semester);
<!DOCTYPE html>
<html>
<head>
<title><?php echo $p->t('lvaliste/anwesenheit') ?></title>
<title><?php echo $p->t('anwesenheitsliste/anwesenheit') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.min.1.11.1.js"></script>
</head>
<body class="anwesenheit">
<?php if($student->result): ?>
<form id="anwesenheitAuswahl" method="GET">
<select name="semester" id="semester">
<?php foreach($alle_semester as $kurzbz => $sem): ?>
<option value="<?php echo $kurzbz ?>" <?php echo $kurzbz === $semester ? 'selected' : '' ?>><?php echo $sem ?></option>
<?php endforeach; ?>
<?php
echo '<h1>'.$p->t('anwesenheitsliste/anwesenheit').' - '.$db->convert_html_chars($benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost).'</h1>';
echo '<form id="anwesenheitAuswahl" method="GET">';
if($uidchange)
echo '<input type="hidden" name="uid" value="'.$db->convert_html_chars($uid).'" />';
echo '
<select name="semester" id="semester">';
foreach($alle_semester as $kurzbz => $sem)
{
echo '<option value="'.$kurzbz.'" '.($kurzbz === $semester ? 'selected' : '').'>'.$sem.'</option>';
}
echo '
</select>
</form>
</form>';
<?php foreach($student->result as $lv):
if($student->result)
{
foreach($student->result as $lv)
{
$stunden_gesamt = $stundenplan->getStunden($lv->lehreinheit_id);
if(!$stunden_gesamt)
{
continue;
}
$fehlstunden = $anwesenheit->getAnwesenheit($uid, $lv->lehreinheit_id);
$le_erledigt = $fehlstunden + $anwesenheit->getAnwesenheit($uid, $lv->lehreinheit_id, true);
$anwesenheit_relativ = ($stunden_gesamt - $fehlstunden) / $stunden_gesamt * 100;
?>
echo '
<div class="lv">
<div>
<?php echo $lv->bezeichnung ?>
(<?php echo $lv->lehrform_kurzbz ?>)
'.$db->convert_html_chars($lv->bezeichnung).' ('.$lv->lehrform_kurzbz.')
</div>
<div>
<div class="progress-wrapper">
<div class="progress <?php echo $anwesenheit->getAmpel($anwesenheit_relativ) ?>" style="width: <?php echo (int) round($anwesenheit_relativ) ?>%;"></div>
</div>
<?php echo round($anwesenheit_relativ, 1) ?>%
LE abgeschlossen: [<?php echo $le_erledigt ?>/<?php echo $stunden_gesamt ?>]
<?php if($fehlstunden): ?>
<span class="fehlstunden-details" title="eingetragene Fehlstunden">&gt;&gt;</span>
<div style="display: none;">
<?php $abwesend_termine = $anwesenheit->getAbwesendTermine($uid, $lv->lehreinheit_id); ?>
<table>
<?php foreach($abwesend_termine as $termin): ?>
<tr>
<td><?php echo $termin->datum ?></td>
<td><?php echo $termin->einheiten ?></td>
</tr>
<?php endforeach; ?>
</table>
<div class="progress '.$anwesenheit->getAmpel($anwesenheit_relativ).'" style="width: '.round($anwesenheit_relativ).'%;">
</div>
</div>'.round($anwesenheit_relativ, 1).'%
'.$p->t('anwesenheitsliste/leAbgeschlossen').' ['.$le_erledigt.'/'.$stunden_gesamt.']';
<?php endif; ?>
if($fehlstunden)
{
echo '
<span class="fehlstunden-details" title="'.$p->t('anwesenheitsliste/fehlstunden').'">&gt;&gt;</span>
<div style="display: none;">
<table><tr><td>'.$p->t('global/datum').'</td><td>'.$p->t('anwesenheitsliste/fehlstunden').'</td></tr>';
$abwesend_termine = $anwesenheit->getAbwesendTermine($uid, $lv->lehreinheit_id);
foreach($abwesend_termine as $termin)
{
echo ' <tr>
<td>'.$datum_obj->formatDatum($termin->datum,'d.m.Y').'</td>
<td>'.(float)$termin->einheiten.'</td>
</tr>';
}
echo '
</table>
</div>';
}
echo '
</div>
</div>
<?php endforeach; ?>
<?php else: ?>
Es konnten keine Lehrveranstaltungen gefunden werden.
<?php endif; ?>
</div>';
}
}
else
{
echo $p->t('anwesenheitsliste/keineLVsGefunden');
}
?>
<script type="text/javascript">
$('span.fehlstunden-details').on('click', function() {
$(this).next().toggle();
+109 -70
View File
@@ -17,11 +17,9 @@
*
* Authors: Robert Hofer <robert.hofer@technikum-wien.at>
*/
/*
* Zeigt die bisherige Anwesenheit eines Studenten im aktuellen Semester bei LVAs
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../config/global.config.inc.php');
require_once('../../../include/basis_db.class.php');
@@ -32,20 +30,34 @@ require_once('../../../include/lehreinheit.class.php');
require_once('../../../include/lehreinheitmitarbeiter.class.php');
require_once('../../../include/stundenplan.class.php');
require_once('../../../include/anwesenheit.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$uid = get_uid();
//$uid = 'himmel';
$uidchange=false;
if(isset($_GET['uid']))
{
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$uidchange=true;
}
}
$benutzer = new benutzer();
if(!$benutzer->load($uid) || !check_lektor($uid))
{
die('nicht berechtigt');
die('Sie haben keine Berechtigung fuer diese Seite');
}
$db = new basis_db();
$datum_obj= new datum();
$p = new phrasen(getSprache());
$lehreinheitObj = new lehreinheit;
$lema = new lehreinheitmitarbeiter;
$lehreinheitObj = new lehreinheit();
$lema = new lehreinheitmitarbeiter();
$stundenplan = new stundenplan('stundenplan');
$anwesenheit = new anwesenheit;
$alle_semester = $lema->getSemesterZuLektor($uid);
@@ -74,7 +86,7 @@ if($lehreinheit_id)
<!DOCTYPE html>
<html>
<head>
<title><?php echo $p->t('lvaliste/anwesenheit/studenten') ?></title>
<title><?php echo $p->t('anwesenheitsliste/anwesenheit') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
@@ -83,95 +95,122 @@ if($lehreinheit_id)
<body class="anwesenheit">
<?php if(!count($alle_semester)): ?>
<?php
Keine Lehreinheiten gefunden.
echo '<h1>'.$p->t('anwesenheitsliste/anwesenheit').' - '.$db->convert_html_chars($benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost).'</h1>';
<?php else: ?>
if(!count($alle_semester))
{
echo $p->t('anwesenheitsliste/keinEintraegeGefunden');
}
else
{
<form id="anwesenheitAuswahl" method="GET">
<select name="semester" id="semester">
<?php foreach($alle_semester as $kurzbz => $sem): ?>
<option value="<?php echo $kurzbz ?>" <?php echo $kurzbz === $semester ? 'selected' : '' ?>>
<?php echo $sem ?>
</option>
<?php endforeach; ?>
echo '<form id="anwesenheitAuswahl" method="GET">';
if($uidchange)
echo '<input type="hidden" name="uid" value="'.$db->convert_html_chars($uid).'" />';
echo '
<select name="semester" id="semester">';
foreach($alle_semester as $kurzbz => $sem)
{
echo '<option value="'.$kurzbz.'" '.($kurzbz === $semester ? 'selected' : '').'>'.$sem.'</option>';
}
echo '
</select>
<select name="lehreinheit" id="lehreinheit">
<option value=""></option>
<?php foreach($lehreinheiten as $le): ?>
<option value="<?php echo $le->lehreinheit_id ?>" <?php echo $le->lehreinheit_id === $lehreinheit_id ? 'selected' : '' ?>>
<?php echo $le->lv_bezeichnung ?>
(<?php echo ($le->lv_lehrform_kurzbz ? $le->lv_lehrform_kurzbz . ', ' : '') . $le->unr ?>)
</option>
<?php endforeach ?>
<option value=""></option>';
foreach($lehreinheiten as $le)
{
echo '<option value="'.$le->lehreinheit_id.'" '.($le->lehreinheit_id === $lehreinheit_id ? 'selected' : '').'>
'.$le->stg_kurzbzlang.' '.$le->lv_semester.' '.$le->lv_bezeichnung.' ('.($le->lv_lehrform_kurzbz ? $le->lv_lehrform_kurzbz . ', ' : '') . $le->lehreinheit_id.')
</option>';
}
echo '
</select>
</form>
<?php
</form>';
if($lehreinheit_id)
{
$stunden_gesamt = $stundenplan->getStunden($lehreinheit_id);
}
if(!$lehreinheit_id): ?>
Bitte LV auswählen.
<?php elseif(!$stunden_gesamt): ?>
Keine Stunden eingetragen.
<?php else:
foreach($studenten as $student):
if(!$lehreinheit_id)
{
echo $p->t('anwesenheitsliste/waehleLV');
}
elseif(!$stunden_gesamt)
{
echo $p->t('anwesenheitsliste/keineStundenvorhanden');
}
else
{
foreach($studenten as $student)
{
$fehlstunden = $anwesenheit->getAnwesenheit($student->uid, $lehreinheit_id);
$le_erledigt = $fehlstunden + $anwesenheit->getAnwesenheit($student->uid, $lehreinheit_id, true);
$anwesenheit_relativ = ($stunden_gesamt - $fehlstunden) / $stunden_gesamt * 100;
?>
echo '
<div class="lv">
<div>
<?php echo $student->nachname ?>
<?php echo $student->vorname ?>
'.$db->convert_html_chars($student->nachname).'
'.$db->convert_html_chars($student->vorname).'
</div>
<div>
<div class="progress-wrapper">
<div class="progress <?php echo $anwesenheit->getAmpel($anwesenheit_relativ) ?>" style="width: <?php echo (int) round($anwesenheit_relativ) ?>%;"></div>
<div class="progress '.$anwesenheit->getAmpel($anwesenheit_relativ).'" style="width: '.(int) round($anwesenheit_relativ).'%;"></div>
</div>
<?php echo round($anwesenheit_relativ, 1) ?>%
LE abgeschlossen: [<?php echo $le_erledigt ?>/<?php echo $stunden_gesamt ?>]
'.round($anwesenheit_relativ, 1).'%
'.$p->t('anwesenheitsliste/leAbgeschlossen').': ['.$le_erledigt.'/'.$stunden_gesamt.']';
<?php if($fehlstunden): ?>
<span class="fehlstunden-details" title="eingetragene Fehlstunden">&gt;&gt;</span>
if($fehlstunden)
{
echo '<span class="fehlstunden-details" title="'.$p->t('anwesenheitsliste/fehlstunden').'">&gt;&gt;</span>
<div style="display: none;">
<?php $abwesend_termine = $anwesenheit->getAbwesendTermine($uid, $lv->lehreinheit_id); ?>
<table>
<?php foreach($abwesend_termine as $termin): ?>
<tr>
<td><?php echo $termin->datum ?></td>
<td><?php echo $termin->einheiten ?></td>
</tr>
<?php endforeach; ?>
</table>
</div>
<tr><td>'.$p->t('global/datum').'</td><td>'.$p->t('anwesenheitsliste/fehlstunden').'</td></tr>';
$abwesend_termine = $anwesenheit->getAbwesendTermine($student->uid, $le->lehreinheit_id);
<?php endif; ?>
</div>
</div>
<?php
endforeach;
endif; ?>
<script type="text/javascript">
$('#anwesenheitAuswahl > *').on('change', function() {
if(this.id === 'semester') {
$('#lehreinheit').val('');
foreach($abwesend_termine as $termin)
{
echo ' <tr>
<td>'.$datum_obj->formatDatum($termin->datum,'d.m.Y').'</td>
<td>'.(float)$termin->einheiten.'</td>
</tr>';
}
echo ' </table>
</div>';
}
$('#anwesenheitAuswahl').trigger('submit');
echo '
</div>
</div>';
}
}
echo '
<script type="text/javascript">
$("span.fehlstunden-details").on("click", function() {
$(this).next().toggle();
});
$("#anwesenheitAuswahl > *").on("change", function() {
if(this.id === "semester") {
$("#lehreinheit").val("");
}
$("#anwesenheitAuswahl").trigger("submit");
});
</script>
<?php endif; ?>
';
}
echo '
</body>
</html>
</html>';
?>
+5
View File
@@ -141,4 +141,9 @@ define('CIS_SAALPLAN_ALLERAEUME_OPTION', false);
//Legt fest ob Bestätigungsmails über eine Anmelung zu einer Prüfung an eine einzelne Person erfolgt oder an den jeweiligen Lektor. (Leerstring für jeweiligen Lektro);
define('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG',"p.vondrak");
// Username fuer STIP Schnittstelle
define('STIP_USER_NAME','stipendienstelle');
// Passwort fuer STIP Schnittstelle
define('STIP_USER_PASSWORD','password');
?>
+6
View File
@@ -128,6 +128,12 @@ if(isset($_GET['von']))
$params.='&von='.urlencode($_GET['von']);
if(isset($_GET['bis']))
$params.='&bis='.urlencode($_GET['bis']);
if(isset($_GET['stundevon']))
$params.='&stundevon='.urlencode($_GET['stundevon']);
if(isset($_GET['stundebis']))
$params.='&stundebis='.urlencode($_GET['stundebis']);
if(isset($_GET['sem']))
$params.='&sem='.urlencode($_GET['sem']);
if(isset($_GET['lehreinheit']))
$params.='&lehreinheit='.urlencode($_GET['lehreinheit']);
if(isset($_GET['mitarbeiter_uid']))
+12
View File
@@ -644,6 +644,18 @@ if(!$error)
$student->verband='B';
$student->gruppe='';
}
// noch nicht eingetragene Noten ergänzen
$noten = new zeugnisnote();
$noten->getZeugnisnoten(null, $uid, $semester_aktuell);
foreach($noten->result as $obj)
{
if($obj->note == '')
{
$obj->note = 9;
$obj->save(true);
}
}
//Nachschauen ob dieser Lehrverband schon existiert, falls nicht dann anlegen
$lehrverband = new lehrverband();
-1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -471,7 +471,7 @@ class lehreinheitmitarbeiter extends basis_db
*/
public function getLehreinheiten($mitarbeiter_uid, $studiensemester_kurzbz)
{
$qry = 'SELECT DISTINCT lehreinheit_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz '
$qry = 'SELECT DISTINCT lehreinheit_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz, stg_kurzbzlang, lv_semester '
. 'FROM campus.vw_lehreinheit '
. 'WHERE mitarbeiter_uid = ' . $this->db_add_param($mitarbeiter_uid)
. ' AND studiensemester_kurzbz = ' . $this->db_add_param($studiensemester_kurzbz)
+9 -1
View File
@@ -7,4 +7,12 @@ $this->phrasen['anwesenheitsliste/keineStudentenVorhanden']='Derzeit sind in die
$this->phrasen['anwesenheitsliste/erstellenDerListeKlicken']='Zum Erstellen der Liste klicken Sie bitte auf die gewünschte Gruppe!';
$this->phrasen['anwesenheitsliste/gesamtliste']='Gesamtliste';
$this->phrasen['anwesenheitsliste/fehlerhafteParameteruebergabe']='Fehlerhafte Parameteruebergabe. Bitte versuchen Sie es erneut';
?>
$this->phrasen['anwesenheitsliste/anwesenheit']='Anwesenheit';
$this->phrasen['anwesenheitsliste/leAbgeschlossen']='LE abgeschlossen';
$this->phrasen['anwesenheitsliste/fehlstunden']='Fehlstunden';
$this->phrasen['anwesenheitsliste/keineLVsGefunden']='Es konnten keine Lehrveranstaltungen gefunden werden';
$this->phrasen['anwesenheitsliste/waehleLV']='Bitte wählen Sie eine Lehrveranstaltung aus';
$this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Derzeit sind keine Stunden eingetragen';
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='Es wurden keine Einträge gefunden';
?>
-2
View File
@@ -1,7 +1,5 @@
<?php
$this->phrasen['lvaliste/titel']='Lehrveranstaltungsübersicht';
$this->phrasen['lvaliste/anwesenheit']='Anwesenheit';
$this->phrasen['lvaliste/anwesenheit/studenten']='Anwesenheit der Studenten';
$this->phrasen['lvaliste/hilfeText']='Erklärung\n\nStg-Sem: Studiengang-Semester\nGruppen: Teilnehmende Gruppen\nBlock: Blockung (1->Einzelstunden; 2->Doppelstunden; ...)\nWR: Wochenrhythmus (1->jede Woche; 2->jede 2. Woche; ...)\nStd: gesamte Semesterstunden\nKW: Kalenderwoche in der die Lehrveranstaltung startet';
$this->phrasen['lvaliste/hilfeAnzeigen']='Hilfe anzeigen';
+9 -1
View File
@@ -7,4 +7,12 @@ $this->phrasen['anwesenheitsliste/keineStudentenVorhanden']='There are currently
$this->phrasen['anwesenheitsliste/erstellenDerListeKlicken']='To create the list, please click on the desired group!';
$this->phrasen['anwesenheitsliste/gesamtliste']='Complete List';
$this->phrasen['anwesenheitsliste/fehlerhafteParameteruebergabe']='Incorrect parameter transfer. Please try again.';
?>
$this->phrasen['anwesenheitsliste/anwesenheit']='Attendance List';
$this->phrasen['anwesenheitsliste/leAbgeschlossen']='LE completed';
$this->phrasen['anwesenheitsliste/fehlstunden']='Fehlstunden';
$this->phrasen['anwesenheitsliste/keineLVsGefunden']='Es konnten keine Lehrveranstaltungen gefunden werden';
$this->phrasen['anwesenheitsliste/waehleLV']='Bitte wählen Sie eine Lehrveranstaltung aus';
$this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Derzeit sind keine Stunden eingetragen';
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='Es wurden keine Einträge gefunden';
?>
+1
View File
@@ -7,6 +7,7 @@ setup:
test:
codeception:
config: "tests"
lint:
php_loc:
php_docblock_checker:
allowed_warnings: -1
+7 -2
View File
@@ -30,8 +30,10 @@ require_once('../include/ean13.function.php');
// Optionen abfragen
isset($_GET['von']) ? $von = date('Y-m-d', strtotime($_GET['von'])) : $von = NULL;
isset($_GET['bis']) ? $bis = date('Y-m-d', strtotime($_GET['bis'])) : $bis = $von;
isset($_GET['stundevon']) ? $stundevon = $_GET['stundevon'] : $stundevon = null;
isset($_GET['stundebis']) ? $stundebis = $_GET['stundebis'] : $stundebis = null;
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
isset($_GET['ss']) ? $semester = $_GET['ss'] : $semester = NULL;
isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL;
if($von)
@@ -60,7 +62,10 @@ if($semester)
$qry .= " AND lv.semester = " . $db->db_add_param($semester);
if($von)
$qry .= " AND (sp.datum >= " . $db->db_add_param($von) . "::DATE AND sp.datum <= " . $db->db_add_param($bis) . "::DATE) ";
if(!is_null($stundevon))
$qry.=" AND stu.stunde>=".$db->db_add_param($stundevon);
if(!is_null($stundebis))
$qry.=" AND stu.stunde<=".$db->db_add_param($stundebis);
$qry .= " ORDER BY datum, beginn";
if($db->db_query($qry))
+7 -4
View File
@@ -1029,10 +1029,13 @@ body.anwesenheit {
body.anwesenheit div.lv {
margin: 10px;
padding-top: 10px;
padding-left: 10px;
background-color: #f2f8ff;
border: 1px solid #2353b2;
}
body.anwesenheit div.lv + div.lv {
border-top: 1px dashed rgb(193,193,193);
/* border-top: 1px dashed rgb(193,193,193);*/
}
body.anwesenheit div.lv > div {
@@ -1050,15 +1053,15 @@ body.anwesenheit div.progress {
}
body.anwesenheit div.progress.green {
background-color: lightgreen;
background-color: #008000;
}
body.anwesenheit div.progress.yellow {
background-color: yellow;
background-color: #ffa500;
}
body.anwesenheit div.progress.red {
background-color: red;
background-color: #dc143c;
}
body.anwesenheit span.fehlstunden-details {
+73 -69
View File
@@ -57,19 +57,19 @@ class stip extends basis_db
*/
function validateStipDaten($ErhKz, $Anfragedaten, $Bezieher)
{
if(strlen($ErhKz)!=3 || !is_numeric($ErhKz))
if(mb_strlen($ErhKz)!=3 || !is_numeric($ErhKz))
{
$this->errormsg = "Kein gültiger Wert für ErhKz";
return false;
}
if(strlen($Bezieher->Semester)!=2 || ($Bezieher->Semester != "ws" && $Bezieher->Semester != "ss" && $Bezieher->Semester != "WS" && $Bezieher->Semester != "SS"))
if(mb_strlen($Bezieher->Semester)!=2 || ($Bezieher->Semester != "ws" && $Bezieher->Semester != "ss" && $Bezieher->Semester != "WS" && $Bezieher->Semester != "SS"))
{
$this->errormsg = "Kein gültiger Wert für Semester";
return false;
}
if(strlen($Bezieher->Studienjahr) != 7)
if(mb_strlen($Bezieher->Studienjahr) != 7)
{
$this->errormsg = "Kein gültiger Wert für Studienjahr";
return false;
@@ -79,13 +79,13 @@ class stip extends basis_db
if($Bezieher->PersKz != null && strlen($Bezieher->PersKz) != 10)
{
$this->errormsg = "Kein gültiger Wert für PersKz";
// return false;
//return false;
}
if(mb_strlen($Bezieher->SVNR) != 10 || !is_numeric($Bezieher->SVNR))
{
$this->errormsg = "Kein gültiger Wert für SVNR";
// return false;
// return false;
}
// preg_match funktioniert noch nicht || preg_match_all('[^0-9]*',$Bezieher->Familienname)>0
@@ -98,7 +98,7 @@ class stip extends basis_db
if(mb_strlen($Bezieher->Vorname) > 255 || $Bezieher->Vorname == null || mb_strlen($Bezieher->Vorname) <2)
{
$this->errormsg = "Kein gültiger Wert für Vorname";
// return false;
// return false;
}
if(mb_strlen($Bezieher->Typ) != 2 || ($Bezieher->Typ != "ag" && $Bezieher->Typ != "as" && $Bezieher->Typ != "AG" && $Bezieher->Typ != "AS"))
@@ -107,7 +107,7 @@ class stip extends basis_db
return false;
}
return true;
return true;
}
@@ -118,10 +118,13 @@ class stip extends basis_db
*/
function searchPersonKz($PersonKz)
{
$qry = "Select prestudent_id, vorname, nachname, svnr, matrikelnr from public.tbl_student student
join public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
join public.tbl_person person using(person_id)
where student.matrikelnr = '".addslashes($PersonKz)."';";
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
JOIN public.tbl_person person using(person_id)
WHERE student.matrikelnr = ".$this->db_add_param($PersonKz).";";
if($this->db_query($qry))
{
@@ -153,10 +156,13 @@ class stip extends basis_db
*/
function searchSvnr($Svnr)
{
$qry = "Select prestudent_id, vorname, nachname, svnr, matrikelnr from public.tbl_student student
join public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
join public.tbl_person person using(person_id)
where person.svnr = '".addslashes($Svnr)."';";
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
JOIN public.tbl_person person using(person_id)
WHERE person.svnr = ".$this->db_add_param($Svnr).";";
if($this->db_query($qry))
{
@@ -199,11 +205,15 @@ class stip extends basis_db
*/
function searchVorNachname($Vorname, $Nachname)
{
$qry = "Select prestudent_id, vorname, nachname, svnr, matrikelnr from public.tbl_student student
join public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
join public.tbl_person person using(person_id)
where person.vorname = '".addslashes($Vorname)."'
and person.nachname = '".addslashes($Nachname)."';";
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr
FROM
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
JOIN public.tbl_person person using(person_id)
WHERE
person.vorname = ".$this->db_add_param($Vorname)."
AND person.nachname = ".$this->db_add_param($Nachname).";";
if($this->db_query($qry))
{
@@ -240,27 +250,6 @@ class stip extends basis_db
}
/**
*
* Gibt Erhalter_Kz für Technikum Wien zurück
*/
function getErhalterKz()
{
$qry = "Select erhalter_kz from public.tbl_erhalter where kurzbz = 'TW';";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->erhalter_kz;
}
else
return false;
}
else
return false;
}
/**
*
* Gibt den orgform_code zurück für übergebene StudentUID und Semester
@@ -273,17 +262,20 @@ class stip extends basis_db
{
// hole mischform von studenten
$qry_mischform = "select studiengang.mischform
from public.tbl_studiengang studiengang
join public.tbl_student student using(studiengang_kz)
join public.tbl_prestudent prestudent using(prestudent_id)
where student_uid='$studentUID'";
$qry_mischform = "
SELECT
studiengang.mischform
FROM
public.tbl_studiengang studiengang
JOIN public.tbl_student student using(studiengang_kz)
JOIN public.tbl_prestudent prestudent using(prestudent_id)
WHERE student_uid=".$this->db_add_param($studentUID);
if($this->db_query($qry_mischform))
{
if($row= $this->db_fetch_object())
{
$mischform = ($row->mischform=='t'?true:false);
$mischform = $this->db_parse_bool($row->mischform);
}
}
@@ -292,13 +284,18 @@ class stip extends basis_db
if($mischform == false)
{
$qry = "select orgform.code, studiengang.orgform_kurzbz as studorgkz, student.student_uid, student.studiengang_kz studiengang
from public.tbl_studiengang studiengang
join public.tbl_student student using(studiengang_kz)
join public.tbl_prestudent prestudent using(prestudent_id)
join public.tbl_prestudentstatus status using(prestudent_id)
join bis.tbl_orgform orgform on(orgform.orgform_kurzbz = studiengang.orgform_kurzbz) where student_uid='$studentUID'
and status.studiensemester_kurzbz ='$studSemester';";
$qry = "
SELECT
orgform.code, studiengang.orgform_kurzbz as studorgkz, student.student_uid, student.studiengang_kz studiengang
FROM
public.tbl_studiengang studiengang
JOIN public.tbl_student student using(studiengang_kz)
JOIN public.tbl_prestudent prestudent using(prestudent_id)
JOIN public.tbl_prestudentstatus status using(prestudent_id)
JOIN bis.tbl_orgform orgform on(orgform.orgform_kurzbz = studiengang.orgform_kurzbz)
WHERE
student_uid=".$this->db_add_param($studentUID)."
AND status.studiensemester_kurzbz =".$this->db_add_param($studSemester);
// Wenn kein Status gefunden wurde -> null
if($this->db_query($qry))
@@ -341,7 +338,7 @@ class stip extends basis_db
*/
function getOrgFormCodeFromKurzbz($orgform_kurzbz)
{
$qry = "SELECT code FROM bis.tbl_orgform WHERE orgform_kurzbz = '".addslashes($orgform_kurzbz)."';";
$qry = "SELECT code FROM bis.tbl_orgform WHERE orgform_kurzbz = ".$this->db_add_param($orgform_kurzbz).";";
if($this->db_query($qry))
{
@@ -369,10 +366,10 @@ class stip extends basis_db
FROM
public.tbl_prestudentstatus
WHERE
prestudent_id='$prestudent_id'
AND studiensemester_kurzbz='$studiensemester_kurzbz'";
prestudent_id=".$this->db_add_param($prestudent_id)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if(!is_null($bisdatum))
$qrystatus.=" AND (tbl_prestudentstatus.datum<'$bisdatum')";
$qrystatus.=" AND (tbl_prestudentstatus.datum<".$this->db_add_param($bisdatum).")";
$qrystatus.=" ORDER BY datum desc, insertamum desc, ext_id desc;";
@@ -388,10 +385,10 @@ class stip extends basis_db
FROM
public.tbl_prestudentstatus
WHERE
prestudent_id='$prestudent_id'
AND studiensemester_kurzbz='$psem'";
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($psem)."'";
if(!is_null($bisdatum))
$qrystatus.=" AND (tbl_prestudentstatus.datum<'$bisdatum') ";
$qrystatus.=" AND (tbl_prestudentstatus.datum<".$this->db_add_param($bisdatum).") ";
$qrystatus.=" ORDER BY datum desc, insertamum desc, ext_id desc;";
if(!$resultstatus = $this->db_query($qrystatus))
@@ -441,10 +438,10 @@ class stip extends basis_db
FROM
public.tbl_prestudentstatus
WHERE
prestudent_id='$prestudent_id'
AND studiensemester_kurzbz='$studiensemester_kurzbz'";
prestudent_id=".$this->db_add_param($prestudent_id)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if(!is_null($bisdatum))
$qrystatus.=" AND (tbl_prestudentstatus.datum<'$bisdatum')";
$qrystatus.=" AND (tbl_prestudentstatus.datum<".$this->db_add_param($bisdatum).")";
$qrystatus.=" ORDER BY datum desc, insertamum desc, ext_id desc;";
@@ -456,10 +453,10 @@ class stip extends basis_db
$qry1="
SELECT count(*) AS dipl FROM public.tbl_prestudentstatus
WHERE
prestudent_id='$prestudent_id'
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
AND status_kurzbz='Diplomand'";
if(!is_null($bisdatum))
$qry1.=" AND (tbl_prestudentstatus.datum<'$bisdatum') ";
$qry1.=" AND (tbl_prestudentstatus.datum<".$this->db_add_param($bisdatum).") ";
if($result1 = $this->db_query($qry1))
{
@@ -493,14 +490,21 @@ class stip extends basis_db
$student = new student();
$uid = $student->getUid($prestudent_id);
$noten = new note();
$noten->getAll();
$noten_arr = array();
foreach($noten->result as $row_noten)
$noten_arr[$row_noten->note]['positiv']=$row_noten->positiv;
$obj = new zeugnisnote();
$ects=0;
if(!$obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid, $studiensemester_kurzbz=null))
die('Fehler beim Laden der Noten:'.$obj->errormsg);
foreach($obj->result as $row)
{
//Note darf nicht teilnote(0), negativ(5), noch nicht eingetragen(7), nicht beurteilt (9), nicht erfolgreich absolviert (13), angerechnet(6) sein
if($row->zeugnis && $row->note!=0 && $row->note!=5 && $row->note!=7 && $row->note!=9 && $row->note!=13 && $row->note!=6)
//Note darf nicht negativ oder angerechnet(6) sein
if($row->zeugnis && $row->note!=6 && isset($noten_arr[$row->note]) && $noten_arr[$row->note]['positiv'])
{
$ects += $row->ects;
}
@@ -519,4 +523,4 @@ class error
public $ErrorText;
}
?>
?>
+50 -8
View File
@@ -18,7 +18,8 @@
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
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');
@@ -28,6 +29,7 @@ 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");
@@ -58,6 +60,22 @@ function GetStipendienbezieherStip($parameters)
$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;
@@ -170,7 +188,8 @@ function GetStipendienbezieherStip($parameters)
$StipBezieherAntwort[$i] = $StipBezieher;
$i++;
}else if($StipBezieher->AntwortStatusCode == 2)
}
else if($StipBezieher->AntwortStatusCode == 2)
{
// Student wurde nicht gefunden
$StipBezieher->PersKz_Antwort = null;
@@ -189,10 +208,31 @@ function GetStipendienbezieherStip($parameters)
$i++;
}
}else
return new SoapFault("Server", $StipBezieher->errormsg);
}
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;
}
@@ -212,10 +252,12 @@ function SendStipendienbezieherStipError($parameters)
$log->beschreibung = "Stip Error";
$log->save(true);
$mail = new mail('burkhart@technikum-wien.at', 'vilesci.technikum-wien.at', 'STIP - Error', $xmlData);
$mail->send();
//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();
}
}
?>
+1 -1
View File
@@ -168,7 +168,7 @@ echo "<?xml version='1.0' encoding='utf-8' ?>";
</wsdl:binding>
<wsdl:service name="STIPServiceDecentralized">
<wsdl:port name="STIPServiceDecentralizedSoap" binding="tns:STIPServiceDecentralizedSoap">
<soap:address location="<?php echo APP_ROOT."/soap/stip.soap.php?".microtime();?>"/>
<soap:address location="<?php echo APP_ROOT."/soap/stip.soap.php?".microtime(true);?>"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
+25 -103
View File
@@ -28,17 +28,25 @@ $db = new basis_db();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="../include/js/jqSOAPClient.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<title>STIP-Client</title>
</head>
<body>
<h1>Testclient für Webservice Stipendienstelle</h1>
<a href="stip.wsdl.php">Show WSDL</a>
<a href="stip.wsdl.php">Show WSDL</a> <br>
<a href="stip_client_error.php">Error Tester</a>
<br><br>
<form action="stip_client.php" method="post">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Username:</td>
<td><input name="username" type="text" size="30" maxlength="50" value="<?php echo $db->convert_html_chars((isset($_REQUEST['username']) ? $_REQUEST['username'] : ""));?>"></td>
</tr>
<tr>
<td align="right">Passwort:</td>
<td><input name="password" type="password" size="30" maxlength="50" value=""></td>
</tr>
<tr>
<td align="right">ErhKz:</td>
<td><input name="ErhKz" type="text" size="30" maxlength="3" value="<?php echo $db->convert_html_chars((isset($_REQUEST['ErhKz']) ? $_REQUEST['ErhKz'] : ""));?>"></td>
@@ -49,7 +57,7 @@ $db = new basis_db();
</tr>
<tr>
<td align="right">Semester:</td>
<td><input name="Semester" type="text" size="30" maxlength="2" value="<?php echo $db->convert_html_chars((isset($_REQUEST['Semester']) ? $_REQUEST['Semester'] : ""));?>"></td>
<td><input name="Semester" type="text" size="30" maxlength="2" value="<?php echo $db->convert_html_chars((isset($_REQUEST['Semester']) ? $_REQUEST['Semester'] : ""));?>"> WS | SS</td>
</tr>
<tr>
<td align="right">Studienjahr:</td>
@@ -73,13 +81,12 @@ $db = new basis_db();
</tr>
<tr>
<td align="right">Typ:</td>
<td><input name="Typ" type="text" size="30" maxlength="2" value="<?php echo $db->convert_html_chars((isset($_REQUEST['Typ']) ? $_REQUEST['Typ'] : ""));?>"></td>
<td><input name="Typ" type="text" size="30" maxlength="2" value="<?php echo $db->convert_html_chars((isset($_REQUEST['Typ']) ? $_REQUEST['Typ'] : ""));?>"> AS | AG</td>
</tr>
<tr>
<td align="right"></td>
<td>
<input type="submit" value=" Absenden " name="submit">
<input type="button" onclick="sendSoap();" value="send Soap">
</td>
</tr>
</table>
@@ -92,8 +99,8 @@ if(isset($_REQUEST['submit']))
{
$client = new SoapClient(APP_ROOT."/soap/stip.wsdl.php?".microtime());
$username = "test";
$passwort = "foo";
$username = $_REQUEST['username'];
$passwort = $_REQUEST['password'];
$ErhKz = $_REQUEST['ErhKz'];
$AnfragedatenID = $_REQUEST['AnfragedatenID'];
@@ -114,31 +121,15 @@ if(isset($_REQUEST['submit']))
$bezieher1->Familienname= $_REQUEST['Familienname'];
$bezieher1->Vorname= $_REQUEST['Vorname'];
$bezieher1->Typ = $_REQUEST['Typ'];
$arrayBezieher = array($bezieher, $bezieher1);
$stipbezieher = array($ErhKz, $AnfragedatenID, $arrayBezieher);
class foo {};
$obj = new foo();
$obj->ErrorNumber = "errornumber";
$obj->KeyAttribute = "keyattribute";
$obj->KeyValues = "keyvalues";
$obj->CheckAttribute ="checkattribute";
$obj->CheckValue ="checkvalue";
$obj->ErrorText = "errortext";
try
{
//$response = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher, $bezieher1))));
{
$response_stip = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher))));
var_dump($response_stip->GetStipendienbezieherStipResult);
echo '<hr>';
//var_dump($response_stip->Stipendiumsbezieher->StipendiumsbezieherAntwort);
// $response_error = $client->SendStipendienbezieherStipError(array("userName"=>"abc", "passWord"=>"test", "errorReport"=>array("ErhKz"=>"erhkz", "StateCode"=>"statecode", "StateMessage"=>"statemessage", "ErrorStatusCode"=>"errorstatuscode", "JobID"=>"jobid", "ErrorContent"=>array($obj))));
// var_dump($response_error);
echo '<h2>Single Request Result</h2>';
echo '<pre>'.print_r($response_stip->GetStipendienbezieherStipResult,true).'</pre>';
echo '<h2>Multiple Request Result</h2>';
$response_stip = $client->GetStipendienbezieherStip(array("userName"=>$username,"passWord"=>$passwort,"anfrageDaten"=>array("ErhKz"=>$ErhKz, "AnfragedatenID"=>$AnfragedatenID,"Stipendiumsbezieher"=>array($bezieher, $bezieher1))));
echo '<pre>'.print_r($response_stip->GetStipendienbezieherStipResult, true).'</pre>';
}
catch(SoapFault $fault)
{
@@ -148,77 +139,8 @@ if(isset($_REQUEST['submit']))
}
?>
<script type="text/javascript">
function gettimestamp()
{
var now = new Date();
var ret = now.getHours()*60*60*60;
ret = ret + now.getMinutes()*60*60;
ret = ret + now.getSeconds()*60;
ret = ret + now.getMilliseconds();
return ret;
}
function sendSoap()
{
var soapBody = new SOAPObject("ns1:GetStipendienbezieherStip");
soapBody.appendChild(new SOAPObject("ns1:userName")).val('joe');
soapBody.appendChild(new SOAPObject("ns1:passWord")).val('waschl');
//soapBody.ns = Array();
//soapBody.ns['name']='ns1';
//soapBody.ns['uri']='http://www.fhr.ac.at/BISWS/STIP/WebServices/Services/STIPServiceDecentralized';
var anfrageDaten = new SOAPObject("ns1:anfrageDaten");
anfrageDaten.appendChild(new SOAPObject("ns1:ErhKz")).val('005');
anfrageDaten.appendChild(new SOAPObject("ns1:AnfragedatenID")).val('100');
var stipendiumsbezieher = new SOAPObject("ns1:Stipendiumsbezieher");
var stipendiumsbezieherAnfrage = new SOAPObject("ns1:StipendiumsbezieherAnfrage");
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Semester")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Studienjahr")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:PersKz")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Svnr")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Familienname")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Vorname")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Typ")).val('');
stipendiumsbezieher.appendChild(stipendiumsbezieherAnfrage);
/*
var stipendiumsbezieherAnfrage = new SOAPObject("ns1:StipendiumsbezieherAnfrage");
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Semester")).val('WS');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Studienjahr")).val('2010/11');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:PersKz")).val('2222222222');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Svnr")).val('2222222222');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Familienname")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Vorname")).val('');
stipendiumsbezieherAnfrage.appendChild(new SOAPObject("ns1:Typ")).val('as');
stipendiumsbezieher.appendChild(stipendiumsbezieherAnfrage);
*/
anfrageDaten.appendChild(stipendiumsbezieher);
soapBody.appendChild(anfrageDaten);
var sr = new SOAPRequest("GetStipendienbezieherStip",soapBody);
sr.addNamespace('ns1','http://www.fhr.ac.at/BISWS/STIP/WebServices/Services/STIPServiceDecentralized');
SOAPClient.Proxy="https://cis.technikum-wien.at/soap/stip.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjektphase);
}
function clb_saveProjektphase(respObj)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var msg = respObj.Body[0].saveProjektphaseResponse[0].message[0].Text;
window.opener.ProjektphaseTreeRefresh();
window.close();
}
catch(e)
{
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert('Fehler: '+fehler);
}
}
</script>
Legende:<br>
Antwortstatuscode: 1=gefunden; 2=nicht gefunden<br>
StudStatusCode: 1=aktiver Student; 2=Unterbrecher; 3=Absolvent; 4=Abbrecher<br>
</body>
</html>
+123
View File
@@ -0,0 +1,123 @@
<?php
/* Copyright (C) 2015 fhcomplete.org
*
* 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: Andreas Oesterreicher <oesi@technikum-wien.at>.
*/
/**
* Testclient um STIP Error Meldungen zu simulieren
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/basis_db.class.php');
require_once('stip.class.php');
$getuid=get_uid();
if(!check_lektor($getuid))
die('Sie haben keine Berechtigung für diese Seite.');
$db = new basis_db();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<title>STIP-Client</title>
</head>
<body>
<h1>Testclient für Webservice Stipendienstelle Error</h1>
<a href="stip.wsdl.php">Show WSDL</a>
<br><br>
<form action="stip_client_error.php" method="post">
<table border="0" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0">
<tr>
<td align="right">Username:</td>
<td><input name="username" type="text" size="30" maxlength="50" value="<?php echo $db->convert_html_chars((isset($_REQUEST['username']) ? $_REQUEST['username'] : ""));?>"></td>
</tr>
<tr>
<td align="right">Passwort:</td>
<td><input name="password" type="password" size="30" maxlength="50" value=""></td>
</tr>
<tr>
<td align="right">ErhKz:</td>
<td><input name="ErhKz" type="text" size="30" maxlength="3" value="<?php echo $db->convert_html_chars((isset($_REQUEST['ErhKz']) ? $_REQUEST['ErhKz'] : ""));?>"></td>
</tr>
<tr>
<td align="right">StateCode:</td>
<td>
<select name="statecode">
<option value="1" <?php echo (isset($_REQUEST['statecode']) && $_REQUEST['statecode']==1?'selected':'');?> >1 - in progress</option>
<option value="2" <?php echo (isset($_REQUEST['statecode']) && $_REQUEST['statecode']==2?'selected':'');?> >2 - completed</option>
</select>
</td>
</tr>
<tr>
<td align="right">StateMessage:</td>
<td><input name="statemessage" type="text" size="30" maxlength="50" value="<?php echo $db->convert_html_chars((isset($_REQUEST['statemessage']) ? $_REQUEST['statemessage'] : ""));?>"></td>
</tr>
<tr>
<td align="right">ErrorStatusCode:</td>
<td>
<select name="errorstatuscode">
<option value="1" <?php echo (isset($_REQUEST['errorstatuscode']) && $_REQUEST['errorstatuscode']==1?'selected':'');?> >1 - successfull</option>
<option value="2" <?php echo (isset($_REQUEST['errorstatuscode']) && $_REQUEST['errorstatuscode']==2?'selected':'');?> >2 - incomplete xml</option>
<option value="3" <?php echo (isset($_REQUEST['errorstatuscode']) && $_REQUEST['errorstatuscode']==3?'selected':'');?> >3 - incomplete processing</option>
<option value="4" <?php echo (isset($_REQUEST['errorstatuscode']) && $_REQUEST['errorstatuscode']==4?'selected':'');?> >4 - system error</option>
</select>
</td>
</tr>
<tr>
<td align="right">JobID:</td>
<td><input name="jobid" type="text" size="30" maxlength="30" value="<?php echo $db->convert_html_chars((isset($_REQUEST['jobid']) ? $_REQUEST['jobid'] : ""));?>"></td>
</tr>
<tr>
<td align="right"></td>
<td>
<input type="submit" value=" Absenden " name="submit">
</td>
</tr>
</table>
</form>
<?php
if(isset($_REQUEST['submit']))
{
$client = new SoapClient(APP_ROOT."/soap/stip.wsdl.php?".microtime());
$username = $_REQUEST['username'];
$passwort = $_REQUEST['password'];
$ErhKz = $_REQUEST['ErhKz'];
$statecode = $_REQUEST['statecode'];
$jobid = $_REQUEST['jobid'];
$statemessage = $_REQUEST['statemessage'];
$errorstatuscode = $_REQUEST['errorstatuscode'];
try
{
$response_stip = $client->SendStipendienbezieherStipError(array("userName"=>$username,"passWord"=>$passwort,"errorReport"=>array("ErhKz"=>$ErhKz, "StateCode"=>$statecode,"StateMessage"=>$statemessage,"ErrorStatusCode"=>$errorstatuscode,"JobID"=>$jobid)));
echo '<h2>Error Request Result sent</h2>';
}
catch(SoapFault $fault)
{
echo "SOAP Fault: (faultcode: ".$fault->faultcode.", faultstring: ".$fault->faultstring.")", E_USER_ERROR;
}
}
?>
</body>
</html>
+202 -3
View File
@@ -30,6 +30,8 @@ require_once('../../include/datum.class.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/anwesenheit.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
if (!$uid = get_uid())
die('Keine UID gefunden!');
@@ -43,12 +45,74 @@ $datum_obj = new datum();
if(!$rechte->isBerechtigt('basis/person', null, 'suid'))
die('Sie haben keine Berechtigung für diese Seite');
if(isset($_REQUEST['work']))
$work = $_REQUEST['work'];
else
$work='';
if($work=='getTermine')
{
$stg = $_POST['stg'];
$sem = $_POST['sem'];
$stsem = $_POST['stsem'];
$lv = $_POST['lv'];
// Daten der Lehreinheiten ermitteln
$qry = "SELECT
le.lehreinheit_id, sp.ort_kurzbz, datum
FROM
lehre.tbl_lehreinheit le
JOIN lehre.tbl_lehrveranstaltung lv ON lv.lehrveranstaltung_id = le.lehrveranstaltung_id
JOIN lehre.tbl_stundenplan sp ON (sp.lehreinheit_id=le.lehreinheit_id)
WHERE lv.studiengang_kz = " . $db->db_add_param($stg)."
AND lv.lehrveranstaltung_id = " . $db->db_add_param($lv)."
AND lv.semester = " . $db->db_add_param($sem)."
AND le.studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY datum, stunde";
$data = array();
$lektoren=array();
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$paddedLehreinheitId = str_pad($row->lehreinheit_id, 6, "0", STR_PAD_LEFT);
$id = date('ymd', strtotime($row->datum)) . $paddedLehreinheitId;
if(!isset($lektoren[$row->lehreinheit_id]))
{
$le_obj = new lehreinheitmitarbeiter();
$le_obj->getLehreinheitmitarbeiter($row->lehreinheit_id);
$lektoren[$row->lehreinheit_id]='';
foreach($le_obj->lehreinheitmitarbeiter as $row_lem)
{
$lektoren[$row->lehreinheit_id].=$row_lem->mitarbeiter_uid.' ';
}
}
$data[$id]=$datum_obj->formatDatum($row->datum,'d.m.Y').' '.$lektoren[$row->lehreinheit_id];
}
}
echo json_encode($data);
exit;
}
if($work=='getLVs')
{
$stg = $_POST['stg'];
$sem = $_POST['sem'];
$stsem = $_POST['stsem'];
$lv = new lehrveranstaltung();
$lv->load_lva_le($stg, $stsem, $sem);
$data = array();
foreach($lv->lehrveranstaltungen as $row)
{
$data[$row->lehrveranstaltung_id]=$row->bezeichnung;
}
echo json_encode($data);
exit;
}
echo '<!DOCTYPE HTML>
<html>
<head>
@@ -72,7 +136,7 @@ echo '<!DOCTYPE HTML>
{
$("#t1").tablesorter(
{
sortList: [[4,1]],
sortList: [[4,0]],
widgets: ["zebra"]
});
});
@@ -276,7 +340,142 @@ if($work=='')
Bitte scannen Sie den Lehreinheiten Barcode<br>
<input type="text" id="lvcode" name="lvcode" value="" size="13"/>
<input type="hidden" name="work" value="loadAnwesenheit" />
</form>';
</form>
';
$studiengang_kz='';
$semester='';
$studiensemester_kurzbz='';
$lv_id='';
echo '<br><hr><br>
<form name="sendform" action="'.$_SERVER["PHP_SELF"].'" method="post">
<input type="hidden" name="work" value="loadAnwesenheit" />';
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz');
echo 'Studiengang <select name="studiengang" id="studiengang" style="width:250px" onchange="loadListe()">';
foreach($studiengang->result as $row)
{
if($studiengang_kz=='')
$studiengang_kz=$row->studiengang_kz;
echo '<option value="'.$row->studiengang_kz.'">'.$row->kuerzel.' -'.$row->bezeichnung.'</option>';
}
echo '</select>';
echo 'Semester <select name="semester" id="semester" onchange="loadListe()">';
for($i=1;$i<=10;$i++)
{
if($semester=='')
$semester = $i;
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '</select>';
$stsem = new studiensemester();
$akt = $stsem->getAktOrNext();
$stsem->getAll();
echo 'Studiensemester <select name="stsem" id="stsem" onchange="loadListe()">';
foreach($stsem->studiensemester as $row)
{
if($studiensemester_kurzbz=='')
$studiensemester_kurzbz=$row->studiensemester_kurzbz;
if($row->studiensemester_kurzbz==$akt)
$selected='selected';
else
$selected='';
echo '<option value="'.$row->studiensemester_kurzbz.'" '.$selected.'>'.$row->studiensemester_kurzbz.'</option>';
}
echo '</select>';
$lv = new lehrveranstaltung();
$lv->load_lva_le($studiengang_kz, $studiensemester_kurzbz, $semester);
echo 'LV <select name="lv" id="lv" onchange="loadListe(\'lv\')">
<option value="">--Auswahl--</option>';
foreach($lv->lehrveranstaltungen as $row)
{
if($lv_id=='')
$lv_id=$row->lehrveranstaltung_id;
echo '<option value="'.$row->lehrveranstaltung_id.'">'.$row->bezeichnung.'</option>';
}
echo '</select>';
echo 'Termin <select name="lvcode" id="termine" >';
echo '</select>
<input type="submit" />';
echo '<script>
function loadListe(action)
{
var stg = $("#studiengang").val();
var sem = $("#semester").val();
var stsem = $("#stsem").val();
var lv = $("#lv").val();
if(action=="lv" && lv!="")
{
// Termine holen
data = {
stg: stg,
sem: sem,
stsem: stsem,
lv: lv,
work: "getTermine"
};
$.ajax({
url: "anwesenheit.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
$("#termine").empty();
$("#termine").append(\'<option value="">-- Auswahl --</option>\');
$.each(data, function(i, entry){
$("#termine").append(\'<option value="\'+i+\'">\'+entry+\'</option>\');
});
},
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
});
}
else
{
// LV holen
data = {
stg: stg,
sem: sem,
stsem: stsem,
work: "getLVs"
};
$.ajax({
url: "anwesenheit.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
$("#lv").empty();
$("#lv").append(\'<option value="">-- Auswahl --</option>\');
$.each(data, function(i, entry){
$("#lv").append(\'<option value="\'+i+\'">\'+entry+\'</option>\');
});
},
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
});
}
}
</script>';
}
echo '
</body>
@@ -21,6 +21,7 @@
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/stunde.class.php');
$studiengang = new studiengang;
$studiengang->getAll("typ, kurzbz");
@@ -77,8 +78,8 @@ $studiengang->getAll("typ, kurzbz");
<body class="Background_main">
<h2>Anwesenheitslisten mit Barcodes</h2>
<p id="error" style="display: none; font-weight: bold; color: red;">Die gewählte Zeitspanne darf nicht größer als 14 Tage sein!</p>
<form method="get" action="../../content/pdfExport.php?xsl=AnwListBarcode&output=pdf" onsubmit="return checkDates();">
<a href="anwesenheit.php">Listen erfassen</a>
<form method="get" action="../../content/pdfExport.php" onsubmit="return checkDates();">
<input type="hidden" name="xsl" value="AnwListBarcode" />
<input type="hidden" name="output" value="pdf" />
<input type="hidden" name="xml" value="anwesenheitsliste.xml.php" />
@@ -86,12 +87,37 @@ $studiengang->getAll("typ, kurzbz");
<table>
<tbody>
<tr>
<td>von</td>
<td><input type="text" name="von" class="datepicker" id="von" autocomplete="off" /></td>
<td>Von</td>
<td><input type="text" name="von" class="datepicker" id="von" size="10" autocomplete="off" />
<select name="stundevon">
<?php
$stunde = new stunde();
$stunde->loadAll();
foreach($stunde->stunden as $row)
{
echo '<option value="'.$row->stunde.'">'.$row->stunde.'. Stunde '.$row->beginn->format('H:i').' - '.$row->ende->format('H:i').'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td>bis</td>
<td><input type="text" name="bis" class="datepicker" id="bis" autocomplete="off" /></td>
<td>Bis</td>
<td><input type="text" name="bis" class="datepicker" id="bis" size="10" autocomplete="off" />
<select id="stundebis" name="stundebis">
<?php
foreach($stunde->stunden as $row)
{
echo '<option value="'.$row->stunde.'">'.$row->stunde.'. Stunde '.$row->beginn->format('H:i').' - '.$row->ende->format('H:i').'</option>';
}
?>
</select>
<script>
$(document).ready(function() {
$('#stundebis option:last-child').attr('selected', 'selected');
});
</script>
</td>
</tr>
<tr>
<td>Studiengang</td>
@@ -104,7 +130,8 @@ $studiengang->getAll("typ, kurzbz");
<tr>
<td>Ausbildungssemester</td>
<td>
<select name="ss">
<select name="sem">
<option value=''>-- Alle --</option>
<?php for($x = 1; $x <= 10; $x++) echo "<option value='$x'>$x</option>\n"; ?>
</select>
</td>
@@ -117,4 +144,4 @@ $studiengang->getAll("typ, kurzbz");
</table>
</form>
</body>
</html>
</html>
+2 -2
View File
@@ -660,11 +660,11 @@ if($aktion=='update')
$selected='';
$anzahl=0;
$anzahl = $rechnung->count($row->bestellung_id);
if(!$row->freigegeben)
$class='rechnung_nichtfreigegeben';
else
{
$anzahl = $rechnung->count($row->bestellung_id);
if($anzahl>0)
$class='rechnung_freigegebenvorhanden';
else
@@ -998,4 +998,4 @@ function getBetragRow($i, $rechnungsbetrag_id='', $bezeichnung='', $betrag='', $
}
?>
</body>
</html>
</html>