From b186525fafdb042d9d66e542187d2334d4f05acf Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 4 Nov 2011 12:24:18 +0000 Subject: [PATCH] =?UTF-8?q?Skript=20zum=20einf=C3=BCgen=20von=20Reservieru?= =?UTF-8?q?ngen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tw/vilesci_menu_main.inc.php | 1 + vilesci/lehre/reservierung_insert.php | 329 ++++++++++++++++++++++++++ 2 files changed, 330 insertions(+) create mode 100644 vilesci/lehre/reservierung_insert.php diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 3659a5cdf..06b1e6c1c 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -46,6 +46,7 @@ $menu=array //'Zeitwuensche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main'), 'LVPlanSync'=>array('name'=>'Sync', 'link'=>'lehre/lvplan_custom_sync.php', 'target'=>'main'), 'Ueberbuchungen'=>array('name'=>'Überbuchungen', 'link'=>'lehre/check/ueberbuchung.php', 'target'=>'main'), + 'Reservierungen einfuegen'=>array('name'=>'Reserv. einfügen', 'link'=>'lehre/reservierung_insert.php', 'target'=>'main'), ), 'Raummitteilung'=>array('name'=>'Raummitteilung', 'link'=>'lehre/raummitteilung.php', 'target'=>'main'), diff --git a/vilesci/lehre/reservierung_insert.php b/vilesci/lehre/reservierung_insert.php new file mode 100644 index 000000000..36d030f9d --- /dev/null +++ b/vilesci/lehre/reservierung_insert.php @@ -0,0 +1,329 @@ + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Manfred Kindl < manfred.kindl@technikum-wien.at > + */ + + /** + * @updated 04.11.2011 (WM) + * + */ + require_once('../../config/vilesci.config.inc.php'); + require_once('../../include/basis_db.class.php'); + if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + + + + $sql_query="SELECT studiengang_kz, UPPER(oe_kurzbz) AS oe_kurzbz, bezeichnung FROM public.tbl_studiengang WHERE studiengang_kz>=0 ORDER BY oe_kurzbz"; + //echo $sql_query."
"; + $result_stg=$db->db_query($sql_query); + if(!$result_stg) + die("studiengang not found! ".$db->db_last_error()); + + $sql_query="SELECT uid, person_id, kurzbz FROM campus.vw_mitarbeiter WHERE aktiv=true ORDER BY kurzbz"; + $result_lektor=$db->db_query($sql_query); + if(!$result_lektor) + die("lehre.lektor not found! ".$db->db_last_error()); + + $sql_query="SELECT ort_kurzbz FROM tbl_ort WHERE aktiv=true ORDER BY ort_kurzbz"; + $result_ort=$db->db_query($sql_query); + if(!$result_ort) + die("ort not found! ".$db->db_last_error()); + + + + $stgid=(isset($_REQUEST['stgid'])?$_REQUEST['stgid']:0); + $lektorid=(isset($_REQUEST['lektorid'])?$_REQUEST['lektorid']:1); + $semester=(isset($_REQUEST['semester'])?$_REQUEST['semester']:''); + $verband=(isset($_REQUEST['verband'])?$_REQUEST['verband']:0); + $gruppe=(isset($_REQUEST['gruppe'])?$_REQUEST['gruppe']:0); + $tag=(isset($_REQUEST['tag'])?$_REQUEST['tag']:date('d')); + $monat=(isset($_REQUEST['monat'])?$_REQUEST['monat']:date('m')); + $jahr=(isset($_REQUEST['jahr'])?$_REQUEST['jahr']:date('Y')); + $titel=(isset($_REQUEST['titel'])?$_REQUEST['titel']:''); + $beschreibung=(isset($_REQUEST['beschreibung'])?$_REQUEST['beschreibung']:''); + $type=(isset($_REQUEST['type'])?$_REQUEST['type']:''); + + $stdbegin=(isset($_REQUEST['stdbegin'])?$_REQUEST['stdbegin']:1); + $stdblock=(isset($_REQUEST['stdblock'])?$_REQUEST['stdblock']:2); + //$stdsemester=(isset($_REQUEST['stdsemester'])?$_REQUEST['stdsemester']:$stdblock); + +?> + + + +Insert Reservierungen + + + + +

Reservierungen einfügen

+
+
+

Studiengang +

+

Semester + + Verband + + Gruppe + +

+

+ + Titel + + Beschreibung + + + Lektor + + +

+

+ Ort + + + + Tag + + Monat + + Jahr + +

+

+ Einheit Beginn + + Anzahl Einheiten + + +

+

+ + +

+
+
+"; +// echo "Kontrolle auf Doppelbelegungen! ... "; + +/* // checken auf Ort + $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; + $datum=$tag.".".$monat.".".$jahr; + for ($i=0; ($i<$stdsemester)&&!$error; $i++) + { + $std=$stunde+($i % $stdblock); + if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) + { + $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); + $date=getdate($time+(604800*$_POST['rythmus'])); + $datum=$date[year]."-".$date[mon]."-".$date[mday]; + } + + $sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND ort_kurzbz='".$_POST['ortid']."'"; + if ($_POST['unr']=='') + $sql_query.=" AND unr IS NOT NULL"; + else + $sql_query.=" AND unr!=".$_POST['unr']; + echo $sql_query; + $result=$db->db_query($sql_query); + if($result && ($db->db_num_rows($result)>0)) + { + echo "error!
Doppelbelegung gefunden auf Ort=".$_POST['ortid']." Datum=$datum Stunde=$stunde!
"; + $error=true; + } + } + + // checken auf Lektor im Stundenplan + $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; + $datum=$tag.".".$monat.".".$jahr; + for ($i=0; ($i<$stdsemester)&&!$error; $i++) + { + $std=$stunde+($i % $stdblock); + if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) + { + $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); + $date=getdate($time+(604800*$_POST['rythmus'])); + $datum=$date[year]."-".$date[mon]."-".$date[mday]; + } + $sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND uid='".$_POST['$lektorid']."'"; + $result=$db->db_query($sql_query); + if($result && ($db->db_num_rows($result)>0)) + { + echo "error!
Doppelbelegung gefunden auf Lektor=".$_POST['$lektorid']." Datum=$datum Stunde=$stunde!
"; + $error=true; + } + } + + // checken auf Verband + $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; + $datum=$tag.".".$monat.".".$jahr; + for ($i=0; ($i<$stdsemester)&&!$error; $i++) + { + $std=$stunde+($i % $stdblock); + if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) + { + $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); + $date=getdate($time+(604800*$_POST['rythmus'])); + $datum=$date[year]."-".$date[mon]."-".$date[mday]; + } + $sql_query="SELECT semester, verband, gruppe, tbl_stundenplandev.studiengang_kz,tbl_studiengang.kurzbz FROM tbl_stundenplandev JOIN tbl_studiengang using(studiengang_kz) WHERE datum='$datum' AND stunde='$std' AND studiengang_kz='".$_POST['stgid']."' AND semester='$semester' AND (verband='".$_POST['verband']."' OR verband=NULL) AND (gruppe='".$_POST['gruppe']."' OR gruppe=NULL)"; + $result=$db->db_query($sql_query); + if($result && ($db->db_num_rows($result)>0)) + { + $row=$db->db_fetch_object($result,0); + echo "error!
Doppelbelegung gefunden auf Datum=$datum - Stunde=$stunde - Studiengang=$row->kurzbz - Semester=$row->semester Verband=$row->verband Gruppe=$row->gruppe!
"; + $error=true; + } + } +*/ + //Einfuegen in die Datenbank + if (!$error) + { + echo "OK!

"; + $date['mday']=$_POST['tag']; $date['mon']=$_POST['monat']; $date['year']=$_POST['jahr']; + $datum=$jahr."-".$monat."-".$tag; + for ($i=0; ($i<$stdblock)&&!$error; $i++) + { + $std=$stdbegin+($i % $stdblock); + if ( ($std==$stdbegin) && (($i>0)||($stdblock==1)) ) + { + $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); + $date=getdate($time+(604800*$_POST['rythmus'])); + $datum=$date[year]."-".$date[mon]."-".$date[mday]; + } + $sql_query="INSERT INTO campus.tbl_reservierung(ort_kurzbz,studiengang_kz,uid,stunde,datum,titel,beschreibung,semester,verband,gruppe,insertamum,insertvon) ". + "VALUES ( + '".$_POST['ortid']."', + '".$_POST['stgid']."', + '".$_POST['lektorid']."', + $std, + '$datum', + '".$_POST['titel']."', + '".$_POST['beschreibung']."', + ".$_POST['semester'].", + ".$_POST['verband'].", + ".$_POST['gruppe'].", + now(), + '".$_SERVER['PHP_AUTH_USER']."')"; + //echo $sql_query; + $result=$db->db_query($sql_query); + if(!$result) + { + echo $db->db_last_error()."
"; + $error=true; + } + else + echo "Ort: ".$_POST['ortid']." - Studiengang_Kz: ".$_POST['stgid']." - Semester: ".$_POST['semester']." - Verband: ".$_POST['verband']." - Gruppe: ".$_POST['gruppe']." - Lektor: ".$_POST['lektorid']." - Titel: ".$_POST['titel']." - Beschreibung: ".$_POST['beschreibung']." - Datum: $datum - Stunde: $std -- Eingefügt!
"; + + } + if (!$error) + echo "
Einfügen erfolgreich abgeschlossen!
"; + else + echo "
Es ist ein Fehler aufgetreten!
"; + } +} +?> + +