This commit is contained in:
Rudolf Hangl
2009-05-26 12:32:14 +00:00
parent 04ae565a0b
commit b172c93ff8
4 changed files with 859 additions and 0 deletions
+168
View File
@@ -0,0 +1,168 @@
<?php
/* Copyright (C) 2009 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 >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*******************************************************************************************************
* abgabe_assistenz
* abgabe_assistenz ist die Assistenzoberfläche des Abgabesystems
* für Diplom- und Bachelorarbeiten
*******************************************************************************************************/
require_once('../../cis/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/datum.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/mitarbeiter.class.php');
//DB Verbindung herstellen
if (!$conn = @pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$getuid=get_uid();
$htmlstr = "";
$erstbegutachter='';
$zweitbegutachter='';
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
else
$stg_kz='';
if(!is_numeric($stg_kz) && $stg_kz!='')
$stg_kz='0';
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($getuid);
if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', null, 'suid', $fachbereich_kurzbz))
die('Sie haben keine Berechtigung für diesen Studiengang');
$sql_query = "SELECT *
FROM (SELECT DISTINCT ON(tbl_projektarbeit.projektarbeit_id) * FROM lehre.tbl_projektarbeit
LEFT JOIN public.tbl_benutzer on(uid=student_uid)
LEFT JOIN public.tbl_person on(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit using(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung using(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang using(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
AND lehre.tbl_projektarbeit.note IS NULL
AND public.tbl_studiengang.studiengang_kz='$stg_kz'
ORDER BY tbl_projektarbeit.projektarbeit_id desc) as xy
ORDER BY nachname";
if(!$erg=pg_query($conn, $sql_query))
{
$errormsg='Fehler beim Laden der Betreuungen';
}
else
{
//$htmlstr .= "<form name='formular'><input type='hidden' name='check' value=''></form>";
$htmlstr .= "<form name='multitermin' action='abgabe_assistenz_multitermin.php' title='Serientermin' target='al_detail' method='POST'>";
$htmlstr .= "<table id='t1' class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'>\n";
$htmlstr .= "<thead><tr class='liste'>\n";
$htmlstr .= "<th></th><th class='table-sortable:default'>UID</th>
<th>Email</th>
<th class='table-sortable:default'>Vorname</th>
<th class='table-sortable:alphanumeric'>Nachname</th>";
$htmlstr .= "<th>Typ</th>
<th>Titel</th>
<th>1.Betreuer</th>
<th>2.Betreuer</th>";
$htmlstr .= "</tr></thead><tbody>\n";
$i = 0;
while($row=pg_fetch_object($erg))
{
//Betreuer suchen
$qry_betr="SELECT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first, '' as second
FROM public.tbl_person, lehre.tbl_projektbetreuer
WHERE projektarbeit_id='$row->projektarbeit_id'
AND lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id
AND (tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Betreuer')
UNION
SELECT '' as first,trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as second
FROM public.tbl_person, lehre.tbl_projektbetreuer
WHERE projektarbeit_id='$row->projektarbeit_id'
AND lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id
AND tbl_projektbetreuer.betreuerart_kurzbz='Zweitbegutachter'
";
if(!$betr=pg_query($conn, $qry_betr))
{
$errormsg='Fehler beim Laden der Betreuer';
}
else
{
while($row_betr=pg_fetch_object($betr))
{
if($row_betr->first!='')
$erstbegutachter=$row_betr->first;
if($row_betr->second!='')
$zweitbegutachter=$row_betr->second;
}
}
$htmlstr .= " <tr class='liste".($i%2)."'>\n";
$htmlstr .= " <td><input type='checkbox' name='mc_".$row->projektarbeit_id."' ></td>";
$htmlstr .= " <td><a href='abgabe_assistenz_details.php?uid=".$row->uid."&projektarbeit_id=".$row->projektarbeit_id."&titel=".$row->titel."' target='al_detail' title='Details anzeigen'>".$row->uid."</a></td>\n";
$htmlstr .= " <td align= center><a href='mailto:$row->uid@".DOMAIN."?subject=".$row->projekttyp_kurzbz."arbeitsbetreuung'><img src='../../skin/images/email.png' alt='email' title='Email an Studenten'></a></td>";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td>".$row->nachname."</td>\n";
$htmlstr .= " <td>".$row->projekttyp_kurzbz."</td>\n";
$htmlstr .= " <td>".$row->titel."</td>\n";
$htmlstr .= " <td>".$erstbegutachter."</td>\n";
$htmlstr .= " <td>".$zweitbegutachter."</td>\n";
$htmlstr .= " </tr>\n";
$i++;
}
$htmlstr .= "</tbody></table>\n";
$htmlstr .= "<table><tr><td rowspan=3><input type='submit' name='multi' value='Terminserie anlegen' title='Termin f&uuml;r mehrere Personen anlegen.'></td></tr></table>\n";
$htmlstr .= "</form>";
}
?>
<html>
<head>
<title>Abgabesystem_Assistenzsicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../skin/vilesci.css" 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>
<script language="JavaScript">
function confdel()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
return true;
return false;
}
</script>
</head>
<body class="background_main">
<?php
echo "<h2>Bachelor-/Diplomarbeitsbetreuungen (Studiengang $stg_kz)</h2>";
echo $htmlstr;
?>
</body>
</html>
+489
View File
@@ -0,0 +1,489 @@
<?php
/* Copyright (C) 2009 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 >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*******************************************************************************************************
* abgabe_lektor
* abgabe_lektor ist die Lektorenmaske des Abgabesystems
* für Diplom- und Bachelorarbeiten
*******************************************************************************************************/
//echo Test($_REQUEST);
require_once('../../cis/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/mail.class.php');
$fixtermin=false;
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
if(!isset($_POST['uid']))
{
$uid = (isset($_GET['uid'])?$_GET['uid']:'-1');
$projektarbeit_id = (isset($_GET['projektarbeit_id'])?$_GET['projektarbeit_id']:'-1');
$titel = (isset($_GET['titel'])?$_GET['titel']:'-1');
$command = '';
$paabgabe_id = '';
$fixtermin = false;
$datum = '';
$kurzbz = '';
}
else
{
$uid = (isset($_POST['uid'])?$_POST['uid']:'-1');
$projektarbeit_id = (isset($_POST['projektarbeit_id'])?$_POST['projektarbeit_id']:'-1');
$titel = (isset($_POST['titel'])?$_POST['titel']:'');
$command = (isset($_POST['command'])?$_POST['command']:'-1');
$paabgabe_id = (isset($_POST['paabgabe_id'])?$_POST['paabgabe_id']:'-1');
$fixtermin = (isset($_POST['fixtermin'])?1:0);
$datum = (isset($_POST['datum'])?$_POST['datum']:'');
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:'');
}
$user = get_uid();
$datum_obj = new datum();
$stg_arr = array();
$error = false;
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
$htmlstr='';
$datum = $datum_obj->formatDatum($datum, $format='Y-m-d');
if($uid==-1 && $projektarbeit_id==-1&& $titel==-1)
{
//echo "Fehler bei der Daten&uuml;bergabe";
exit;
}
if(isset($_GET['id']) && isset($_GET['uid']))
{
if(!is_numeric($_GET['id']) || $_GET['id']=='')
die('Fehler bei Parameteruebergabe');
$file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
$filename = PAABGABE_PATH.$file;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
}
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Abgabe Lektor Details</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<script language="Javascript">
function confdel()
{
return confirm("Wollen Sie diesen Eintrag wirklich loeschen");
}
</script>
</head>
<body class="Background_main" style="background-color:#eeeeee;">
<h3>Abgabe Lektorenbereich</h3>';
// Speichern eines Termines
if(isset($_POST["schick"]))
{
if($datum)
{
$qry_std="SELECT * FROM campus.vw_benutzer where uid='$uid'";
if(!$result_std=pg_query($conn, $qry_std))
{
echo "<font color=\"#FF0000\">Student konnte nicht gefunden werden!</font><br>&nbsp;";
}
else
{
$row_std=@pg_fetch_object($result_std);
if($command=='insert')
{
$qrychk="SELECT * FROM campus.tbl_paabgabe
WHERE projektarbeit_id='$projektarbeit_id' AND paabgabetyp_kurzbz='$paabgabetyp_kurzbz' AND fixtermin=".($fixtermin==1?'true':'false')." AND datum='$datum' AND kurzbz='$kurzbz'";
if($result=pg_query($conn, $qrychk))
{
if(pg_num_rows($result)>0)
{
//Datensatz bereits vorhanden
}
else
{
//neuer Termin
$qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz, fixtermin, datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum)
VALUES ('$projektarbeit_id', '$paabgabetyp_kurzbz', ".($fixtermin==1?'true':'false').", '$datum', '$kurzbz', NULL, '$user', now(), NULL, NULL)";
//echo $qry;
if(!$result=pg_query($conn, $qry))
{
echo "<font color=\"#FF0000\">Termin konnte nicht eingetragen werden!</font><br>&nbsp;";
}
else
{
$row=@pg_fetch_object($result);
$qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='".$paabgabetyp_kurzbz."'";
if($result_typ=pg_query($conn, $qry_typ))
{
$row_typ=@pg_fetch_object($result_typ);
}
else
{
$row_typ->bezeichnung='';
}
//$mail = new mail($uid."@".DOMAIN, "vilesci@".DOMAIN, "Neuer Termin Bachelor-/Diplomarbeitsbetreuung",
//"Sehr geehrte".($row_std->anrede=="Herr"?"r":"")." ".$row_std->anrede." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."!\n\nIhr(e) Betreuer(in) hat einen neuen Termin angelegt:\n".$datum_obj->formatDatum($datum,'d.m.Y').", ".$row_typ->bezeichnung.", ".$kurzbz."\n\nMfG\nIhr(e) Betreuer(in)\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Diplomarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Diplomarbeitsabgabe\n--------------------------------------------------------------------------");
}
$command='';
}
}
else
{
echo "Datenbank-Zugriffsfehler!";
}
}
if($command=='update')
{
//Terminänderung
//Ermittlung der alten Daten
$qry_old="SELECT * FROM campus.tbl_paabgabe WHERE paabgabe_id='".$paabgabe_id."' AND insertvon='$user'";
if(!$result_old=pg_query($conn, $qry_old))
{
echo "<font color=\"#FF0000\">Termin konnte nicht gefunden werden!</font><br>&nbsp;";
}
else
{
$row_old=@pg_fetch_object($result_old);
//Abgabetyp
$qry_told="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='".$row_old->paabgabetyp_kurzbz."'";
if($result_told=pg_query($conn, $qry_told))
{
$row_told=@pg_fetch_object($result_told);
}
else
{
$row_told->bezeichnung='';
}
//Termin updaten
$qry="UPDATE campus.tbl_paabgabe SET
projektarbeit_id = '".$projektarbeit_id."',
paabgabetyp_kurzbz = '".$paabgabetyp_kurzbz."',
fixtermin = ".($fixtermin==1?'true':'false').",
datum = '".$datum."',
kurzbz = '".$kurzbz."',
updatevon = '".$user."',
updateamum = now()
WHERE paabgabe_id='".$paabgabe_id."' AND insertvon='$user'";
//echo $qry;
if(!$result=pg_query($conn, $qry))
{
echo "<font color=\"#FF0000\">Termin&auml;nderung konnte nicht eingetragen werden!</font><br>&nbsp;";
}
else
{
//Abgabetyp
$qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='".$paabgabetyp_kurzbz."'";
if(!$result=pg_query($conn, $qry))
{
$row_typ=@pg_fetch_object($result_typ);
}
else
{
$row_typ->bezeichnung='';
}
//$mail = new mail($uid."@".DOMAIN, "vilesci@".DOMAIN, "Terminänderung Bachelor-/Diplomarbeitsbetreuung",
//"Sehr geehrte".($row_std->anrede=="Herr"?"r":"")." ".$row_std->anrede." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."!\n\nIhr(e) Betreuer(in) hat einen Termin geändert:\nVon: ".$datum_obj->formatDatum($row_old->datum,'d.m.Y').", ".$row_told->bezeichnung.", ".$row_old->kurzbz."\nAuf: ".$datum_obj->formatDatum($datum,'d.m.Y').", ".$row_typ->bezeichnung." ".$kurzbz."\n\nMfG\nIhr(e) Betreuer(in)\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Diplomarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Diplomarbeitsabgabe\n--------------------------------------------------------------------------");
}
}
$command='';
}
//if(isset($mail))
//{
// $mail->setReplyTo($user."@".DOMAIN);
// if(!$mail->send())
// {
// echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails!</font><br>&nbsp;";
// }
//}
}
}
else
{
echo "<font color=\"#FF0000\">Datumseingabe ung&uuml;ltig!</font><br>&nbsp;";
}
unset($_POST["schick"]);
}
//Löschen eines Termines
if(isset($_POST["del"]))
{
if($datum)
{
//Ermittlung der alten Daten
$qry_old="SELECT * FROM campus.tbl_paabgabe WHERE paabgabe_id='".$paabgabe_id."' AND insertvon='$user'";
if(!$result_old=pg_query($conn, $qry_old))
{
echo "<font color=\"#FF0000\">Termin konnte nicht gefunden werden!</font><br>&nbsp;";
}
else
{
$row_old=@pg_fetch_object($result_old);
$qry_std="SELECT * FROM campus.vw_benutzer where uid='$uid'";
if(!$result_std=pg_query($conn, $qry_std))
{
echo "<font color=\"#FF0000\">Student konnte nicht gefunden werden!</font><br>&nbsp;";
}
else
{
$row_std=@pg_fetch_object($result_std);
$qry="DELETE FROM campus.tbl_paabgabe WHERE paabgabe_id='".$paabgabe_id."' AND insertvon='$user'";
if(!$result=pg_query($conn, $qry))
{
echo "<font color=\"#FF0000\">Fehler beim Löschen des Termins!</font><br>&nbsp;";
}
else
{
//$mail = new mail($uid."@".DOMAIN, "vilesci@".DOMAIN, "Termin Bachelor-/Diplomarbeitsbetreuung",
//"Sehr geehrte".($row_std->anrede=="Herr"?"r":"")." ".$row_std->anrede." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."!\n\nIhr(e) Betreuer(in) hat einen Termin entfernt:\n".$datum_obj->formatDatum($row_old->datum,'d.m.Y').", ".$row_old->kurzbz."\n\nMfG\nIhr(e) Betreuer(in)\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Diplomarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Diplomarbeitsabgabe\n--------------------------------------------------------------------------");
//$mail->setReplyTo($user."@".DOMAIN);
//if(!$mail->send())
//{
// echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails!</font><br>&nbsp;";
//}
}
}
}
}
else
{
echo "<font color=\"#FF0000\">Datumseingabe ung&uuml;ltig!</font><br>&nbsp;";
}
unset($_POST["del"]);
}
$qry="SELECT * FROM campus.tbl_paabgabe WHERE projektarbeit_id='".$projektarbeit_id."' ORDER BY datum;";
$htmlstr .= "<table width=100%>\n";
$htmlstr .= "<tr><td style='font-size:16px'>Student: <b>".$uid."</b></td></tr>";
$htmlstr .= "<tr><td style='font-size:16px'>Titel: <b>".$titel."<b><br>";
$htmlstr .= "</tr>\n";
$htmlstr .= "</table>\n";
$htmlstr .= "<br><b>Termine:</b>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;' >\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibung der Abgabe</td><td>abgegeben am</td><td></td><td></td><td></td></tr>\n";
$result=@pg_query($conn, $qry);
while ($row=@pg_fetch_object($result))
{
$htmlstr .= "<form action='$PHP_SELF' method='POST' name='".$row->projektarbeit_id."'>\n";
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$row->projektarbeit_id."'>\n";
$htmlstr .= "<input type='hidden' name='paabgabe_id' value='".$row->paabgabe_id."'>\n";
$htmlstr .= "<input type='hidden' name='titel' value='".$titel."'>\n";
$htmlstr .= "<input type='hidden' name='uid' value='".$uid."'>\n";
$htmlstr .= "<input type='hidden' name='command' value='update'>\n";
$htmlstr .= "<tr id='".$row->projektarbeit_id."'>\n";
if(!$row->abgabedatum)
{
if ($row->datum<=date('Y-m-d'))
{
$bgcol='#FF0000';
}
elseif (($row->datum>date('Y-m-d')) && ($row->datum<date('Y-m-d',mktime(0, 0, 0, date("m") , date("d")+11, date("Y")))))
{
$bgcol='#FFFF00';
}
else
{
$bgcol='#FFFFFF';
}
}
else
{
$bgcol='#00FF00';
}
$htmlstr .= "<td><input type='checkbox' name='fixtermin' ".($row->fixtermin=='t'?'checked=\"checked\"':'')." >";
$htmlstr .= " </td>\n";
$htmlstr .= " <td><input type='text' name='datum' style='background-color:".$bgcol."' value='".$datum_obj->formatDatum($row->datum,'d.m.Y')."' size='10' maxlegth='10'></td>\n";
$htmlstr .= " <td><select name='paabgabetyp_kurzbz'>\n";
$htmlstr .= " <option value=''>&nbsp;</option>";
$qry_typ="SELECT * FROM campus.tbl_paabgabetyp";
$result_typ=@pg_query($conn, $qry_typ);
while ($row_typ=@pg_fetch_object($result_typ))
{
if($row->paabgabetyp_kurzbz==$row_typ->paabgabetyp_kurzbz)
{
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."' selected>$row_typ->bezeichnung</option>";
}
else
{
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."'>$row_typ->bezeichnung</option>";
}
}
$htmlstr .= " </select></td>\n";
$htmlstr .= " <td><input type='text' name='kurzbz' value='".$row->kurzbz."' size='60' maxlegth='256'></td>\n";
$htmlstr .= " <td>".($row->abgabedatum==''?'&nbsp;':$datum_obj->formatDatum($row->abgabedatum,'d.m.Y'))."</td>\n";
if($user==$row->insertvon)
{
$htmlstr .= " <td><input type='submit' name='schick' value='speichern' title='Termin&auml;nderung speichern'></td>";
if(!$row->abgabedatum)
{
$htmlstr .= " <td><input type='submit' name='del' value='l&ouml;schen' onclick='return confdel()' title='Termin l&ouml;schen'></td>";
}
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
}
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
if(file_exists(PAABGABE_PATH.$row->paabgabe_id.'_'.$uid.'.pdf'))
{
$htmlstr .= " <td><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&uid=$uid' target='_blank'><img src='../../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
}
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
if($row->abgabedatum && $row->paabgabetyp_kurzbz=="end")
{
$htmlstr .= " <td><a href='abgabe_lektor_zusatz.php?paabgabe_id=".$row->paabgabe_id."&uid=$uid&projektarbeit_id=$projektarbeit_id' target='_blank'><img src='../../../skin/images/folder.gif' alt='zusätzliche Daten' title='Kontrolle der Zusatzdaten' border=0></a></td>";
}
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
$htmlstr .= " </tr>\n";
$htmlstr .= "</form>\n";
}
//Eingabezeile für neuen Termin
$htmlstr .= "<form action='$PHP_SELF' method='POST' name='".$projektarbeit_id."'>\n";
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$projektarbeit_id."'>\n";
$htmlstr .= "<input type='hidden' name='paabgabe_id' value='".$paabgabe_id."'>\n";
$htmlstr .= "<input type='hidden' name='titel' value='".$titel."'>\n";
$htmlstr .= "<input type='hidden' name='uid' value='".$uid."'>\n";
$htmlstr .= "<input type='hidden' name='command' value='insert'>\n";
$htmlstr .= "<tr id='".$projektarbeit_id."'>\n";
$htmlstr .= "<td><input type='checkbox' name='fixtermin'></td>";
$htmlstr .= " <td><input type='text' name='datum' size='10' maxlegth='10'></td>\n";
$htmlstr .= " <td><select name='paabgabetyp_kurzbz'>\n";
$qry_typ = "SELECT * FROM campus.tbl_paabgabetyp";
$result_typ=pg_query($conn, $qry_typ);
while ($row_typ=pg_fetch_object($result_typ))
{
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."'>".$row_typ->bezeichnung."</option>";
}
$htmlstr .= " </select></td>\n";
$htmlstr .= " <td><input type='text' name='kurzbz' size='60' maxlegth='256'></td>\n";
$htmlstr .= " <td>&nbsp;</td>\n";
$htmlstr .= " <td><input type='submit' name='schick' value='speichern' title='neuen Termin speichern'></td>";
$htmlstr .= "</tr>\n";
$htmlstr .= "</form>\n";
$htmlstr .= "</table>\n";
$htmlstr .= "</body></html>\n";
echo $htmlstr;
function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false )
{
$tmpArrayString='';
if (!is_array($arr) && !is_object($arr)) return $arr;
if (is_array($arr) && count($arr)<1 && $displayShow) return '';
if (is_array($arr) && count($arr)<1 && $displayShow) return "<br><b>function Test (???)</b><br>";
$lfdnr=$lfd + 1;
$tmpAnzeigeStufe='';
for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="=";
$tmpAnzeigeStufe.="=>";
while (list( $tmp_key, $tmp_value ) = each($arr) )
{
if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0)
{
$tmpArrayString.="<br>$tmpAnzeigeStufe <b>$tmp_key</b>".Test($tmp_value,$lfdnr);
} else if ( (is_array($tmp_value) || is_object($tmp_value)) )
{
$tmpArrayString.="<br>$tmpAnzeigeStufe <b>$tmp_key -- 0 Records</b>";
} else if ($tmp_value!='')
{
$tmpArrayString.="<br>$tmpAnzeigeStufe $tmp_key :== ".$tmp_value;
} else {
$tmpArrayString.="<br>$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)";
}
}
if ($lfd!='') { return $tmpArrayString; }
if (!$displayShow) { return $tmpArrayString; }
$tmpArrayString.="<br>";
$tmpArrayString="<br><hr><br>******* START *******<br>".$tmpArrayString."<br>******* ENDE *******<br><hr><br>";
$tmpArrayString.="<br>Server:: ".$_SERVER['PHP_SELF']."<br>";
return "$tmpArrayString";
}
//===========================================================================================
?>
@@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html lang="de_AT">
<head>
<title>Bachelor-/Diplomarbeitsabgabe - Assistenz</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
</head>
<?php
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
else
$stg_kz=297;
if(!is_numeric($stg_kz) && $stg_kz!='')
$stg_kz='0';
echo "
<frameset rows='400,*'>
<frame src='abgabe_assistenz.php?stg_kz=".$stg_kz."' id='uebersicht' name='uebersicht' frameborder='0' />
<frame src='abgabe_assistenz_details.php' id='al_detail' name='al_detail' frameborder='0' />
<noframes>
<body bgcolor='#FFFFFF'>
This application works only with a frames-enabled browser.<br />
<a href='main.php'>Use without frames</a>
</body>
</noframes>
</frameset>";
?>
</html>
@@ -0,0 +1,173 @@
<?php
/* Copyright (C) 2009 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 >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/*******************************************************************************************************
* abgabe_assistenz
* abgabe_assistenz ist die Assistenzoberfläche des Abgabesystems
* für Diplom- und Bachelorarbeiten
*******************************************************************************************************/
require_once('../../cis/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/mail.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$i=0;
$irgendwas='';
foreach($_POST as $key=>$value)
{
if(stristr($key, "mc_"))
{
$irgendwas.=substr($key, 3).";";
//echo $irgendwas."<br>";
$i++;
}
}
$irgendwas = (isset($_POST['irgendwas'])?$_POST['irgendwas']:$irgendwas);
$projektarbeit_id = (isset($_POST['projektarbeit_id'])?$_POST['projektarbeit_id']:'-1');
$titel = (isset($_POST['titel'])?$_POST['titel']:'');
$command = (isset($_POST['command'])?$_POST['command']:'-1');
$paabgabe_id = (isset($_POST['paabgabe_id'])?$_POST['paabgabe_id']:'-1');
$fixtermin = (isset($_POST['fixtermin'])?1:0);
$datum = (isset($_POST['datum'])?$_POST['datum']:'');
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:'');
$user = get_uid();
$datum_obj = new datum();
$error='';
$neu = (isset($_GET['neu'])?true:false);
$stg_arr = array();
$error = false;
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
//echo $irgendwas."<br>";
if(isset($_POST["schick"]))
{
$termine=explode(";",$irgendwas);
//var_dump($termine);
for($j=0;$j<count($termine)-1;$j++)
{
$qrychk="SELECT * FROM campus.tbl_paabgabe
WHERE projektarbeit_id='".$termine[$j]."' AND paabgabetyp_kurzbz='$paabgabetyp_kurzbz'
AND fixtermin=".($fixtermin==1?'true':'false')." AND datum='$datum' AND kurzbz='$kurzbz'";
//echo $qrychk;
if($result=pg_query($conn, $qrychk))
{
if(pg_num_rows($result)>0)
{
echo "Datensatz bereits vorhanden";
}
else
{
//echo "neuer Termin";
$qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz, fixtermin, datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum)
VALUES ('".$termine[$j]."', '$paabgabetyp_kurzbz', ".($fixtermin==1?'true':'false').", '$datum', '$kurzbz', NULL, '$user', now(), NULL, NULL)";
//echo $qry;
if(!$result=pg_query($conn, $qry))
{
echo "<font color=\"#FF0000\">Termin konnte nicht eingetragen werden!</font><br>&nbsp;";
}
else
{
$row=@pg_fetch_object($result);
$qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='".$paabgabetyp_kurzbz."'";
if($result_typ=pg_query($conn, $qry_typ))
{
$row_typ=@pg_fetch_object($result_typ);
}
else
{
$row_typ->bezeichnung='';
}
//Student zu projektarbeit_id suchen
$qry_std="SELECT * FROM campus.vw_student WHERE uid IN(SELECT student_uid FROM lehre.tbl_projektarbeit WHERE projektarbeit_id=$termine[$j])";
if($result_std=pg_query($conn, $qry_std))
{
$row_std=@pg_fetch_object($result_std);
//$mail = new mail($row_std->uid."@".DOMAIN, "vilesci@".DOMAIN, "Neuer Termin Bachelor-/Diplomarbeitsbetreuung",
//"Sehr geehrte".($row_std->anrede=="Herr"?"r":"")." ".$row_std->anrede." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."!\n\nIhr(e) Betreuer(in) hat einen neuen Termin angelegt:\n".$datum_obj->formatDatum($datum,'d.m.Y').", ".$row_typ->bezeichnung.", ".$kurzbz."\n\nMfG\nIhr(e) Betreuer(in)\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Diplomarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Diplomarbeitsabgabe\n--------------------------------------------------------------------------");
}
}
$command='';
}
}
else
{
echo "Datenbank-Zugriffsfehler!";
}
}
}
$htmlstr='';
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mehrfachtermin PA-Abgabe</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9" />
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main" style="background-color:#eeeeee;">
<h3>Eingabe eines Termins f&uuml;r mehrere Personen</h3>';
//Eingabezeile für neuen Termin
$htmlstr .= "<br><b>Abgabetermin:</b>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;' >\n";
$htmlstr .= "<form action='$PHP_SELF' method='POST' name='multitermin'>\n";
$htmlstr .= "<input type='hidden' name='irgendwas' value='".$irgendwas."'>\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibung der Abgabe</td></tr>\n";
$htmlstr .= "<tr id='termin'>\n";
$htmlstr .= "<td><input type='checkbox' name='fixtermin'></td>";
$htmlstr .= " <td><input type='text' name='datum' size='10' maxlegth='10'></td>\n";
$htmlstr .= " <td><select name='paabgabetyp_kurzbz'>\n";
$qry_typ = "SELECT * FROM campus.tbl_paabgabetyp";
$result_typ=pg_query($conn, $qry_typ);
while ($row_typ=pg_fetch_object($result_typ))
{
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."'>".$row_typ->bezeichnung."</option>";
}
$htmlstr .= " </select></td>\n";
$htmlstr .= " <td><input type='text' name='kurzbz' size='60' maxlegth='256'></td>\n";
$htmlstr .= " <td>&nbsp;</td>\n";
$htmlstr .= " <td><input type='submit' name='schick' value='speichern' title='neuen Termin speichern'></td>";
$htmlstr .= "</tr>\n";
$htmlstr .= "</form>\n";
$htmlstr .= "</table>\n";
$htmlstr .= "</body></html>\n";
echo $htmlstr;
echo '</body></html>';
?>