From 40ea945ae9ee96f3fbe1c14e5299ace0e0803aa1 Mon Sep 17 00:00:00 2001 From: Christian Paminger Date: Wed, 14 Feb 2007 11:33:23 +0000 Subject: [PATCH] --- admin/sync/sync_stpldev_stpl.php | 4 +- content/stpl-week-overlay.js.php | 28 ++-- content/stpl-week-overlay.xul.php | 4 +- content/timetable-week.xul.php | 24 ++-- include/ferien.class.php | 34 ++--- include/lehreinheit.class.php | 223 ++++++++++++++++-------------- include/lehrstunde.class.php | 10 +- include/wochenplan.class.php | 62 ++++----- rdf/lehreinheit-lvplan.rdf.php | 54 ++++---- 9 files changed, 234 insertions(+), 209 deletions(-) diff --git a/admin/sync/sync_stpldev_stpl.php b/admin/sync/sync_stpldev_stpl.php index 45cc1e670..010e672a7 100644 --- a/admin/sync/sync_stpldev_stpl.php +++ b/admin/sync/sync_stpldev_stpl.php @@ -7,7 +7,6 @@ unr,mitarbeiter_uid='$row->uid',datum='$row->datum',stunde=$row->stunde, - ort_kurzbz='$row->ort_kurzbz', lehrform_kurzbz='$row->lehrform', - studiengang_kz=$row->studiengang_kz,semester=$row->semester"; + ort_kurzbz='$row->ort_kurzbz',studiengang_kz=$row->studiengang_kz,semester=$row->semester"; if ($row->verband==null) $sql_query.=',verband=NULL'; else diff --git a/content/stpl-week-overlay.js.php b/content/stpl-week-overlay.js.php index cc22a434d..e27ef3e66 100644 --- a/content/stpl-week-overlay.js.php +++ b/content/stpl-week-overlay.js.php @@ -22,7 +22,7 @@ function onJumpNow() var sem=daten.getAttribute("sem"); var ver=daten.getAttribute("ver"); var grp=daten.getAttribute("grp"); - var einheit=daten.getAttribute("einheit"); + var gruppe=daten.getAttribute("gruppe"); var ort=daten.getAttribute("ort"); var pers_uid=daten.getAttribute("pers_uid"); @@ -31,7 +31,7 @@ function onJumpNow() //Aktuelles Datum ermitteln datum = ((d.getDate()+3)*60*60*24)+((d.getMonth())*31*24*60*60)+((d.getFullYear()-1970)*365*24*60*60); //alert(datum); - var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit; + var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; var url = "content/timetable-week.xul.php"; url+=attributes; if (url) @@ -48,14 +48,14 @@ function onJumpDate(wochen) var sem=daten.getAttribute("sem"); var ver=daten.getAttribute("ver"); var grp=daten.getAttribute("grp"); - var einheit=daten.getAttribute("einheit"); + var gruppe=daten.getAttribute("gruppe"); var ort=daten.getAttribute("ort"); var pers_uid=daten.getAttribute("pers_uid"); // neues Datum berechnen. Eine Woche sind 604800 Sekunden. datum+=(604800*wochen)+1; - var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit; + var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; var url = "content/timetable-week.xul.php"; url+=attributes; if (url) @@ -72,7 +72,7 @@ function onJumpDateRel(evt) var sem=daten.getAttribute("sem"); var ver=daten.getAttribute("ver"); var grp=daten.getAttribute("grp"); - var einheit=daten.getAttribute("einheit"); + var gruppe=daten.getAttribute("gruppe"); var ort=daten.getAttribute("ort"); var pers_uid=daten.getAttribute("pers_uid"); var kw=daten.getAttribute("kw"); @@ -82,7 +82,7 @@ function onJumpDateRel(evt) // neues Datum berechnen. Eine Woche sind 604800 Sekunden. datum+=(604800*wochen)+1; - var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit; + var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; var url = "content/timetable-week.xul.php"; url+=attributes; if (url) @@ -99,7 +99,7 @@ function onLVAdoStpl(evt) var sem=daten.getAttribute("sem"); var ver=daten.getAttribute("ver"); var grp=daten.getAttribute("grp"); - var einheit=daten.getAttribute("einheit"); + var gruppe=daten.getAttribute("gruppe"); var ort=daten.getAttribute("ort"); var pers_uid=daten.getAttribute("pers_uid"); var aktion=evt.target.getAttribute("aktion"); @@ -114,7 +114,7 @@ function onLVAdoStpl(evt) aktion+="_search"; var idList=evt.target.getAttribute("idList"); - var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit; + var attributes="?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; attributes+=idList+"&aktion="+aktion+"&time="+oneDate.getTime(); var url = "content/timetable-week.xul.php"; url+=attributes+"&bla="; @@ -136,14 +136,14 @@ function onStplSearchRoom(event) var sem=daten.getAttribute("sem"); var ver=daten.getAttribute("ver"); var grp=daten.getAttribute("grp"); - var einheit=daten.getAttribute("einheit"); + var gruppe=daten.getAttribute("gruppe"); var ort=daten.getAttribute("ort"); var pers_uid=daten.getAttribute("pers_uid"); var aktion=event.target.getAttribute("aktion"); aktion+="_single_search"; var idList=event.target.getAttribute("idList"); - var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&einheit="+einheit; + var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&gruppe="+gruppe; attributes+=idList+"&aktion="+aktion; var url = "content/timetable-week.xul.php"; url+=attributes; @@ -163,14 +163,14 @@ function onStplDelete(aktion) var sem=daten.getAttribute("sem"); var ver=daten.getAttribute("ver"); var grp=daten.getAttribute("grp"); - var einheit=daten.getAttribute("einheit"); + var gruppe=daten.getAttribute("gruppe"); var ort=daten.getAttribute("ort"); var pers_uid=daten.getAttribute("pers_uid"); var idList=document.popupNode.getAttribute("idList"); var doIt=true; doIt=confirm('Es werden die gewaehlten Eintraege aus dem Stundenplan geloescht!\nSind Sie sicher?') - var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&einheit="+einheit; + var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&gruppe="+gruppe; attributes+=idList+"&aktion="+aktion; var url = "content/timetable-week.xul.php"; url+=attributes; @@ -187,13 +187,13 @@ function onStplDetail(event) var sem=event.target.getAttribute("sem"); var ver=event.target.getAttribute("ver"); var grp=event.target.getAttribute("grp"); - var einheit=event.target.getAttribute("einheit"); + var gruppe=event.target.getAttribute("gruppe"); var datum=event.target.getAttribute("datum"); var stunde=event.target.getAttribute("stunde"); var pers_uid=event.target.getAttribute("pers_uid"); var ort_kurzbz=event.target.getAttribute("ort_kurzbz"); - var attributes="?type="+type+"&datum="+datum+"&stunde="+stunde+"&ort_kurzbz="+ort_kurzbz+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit+"&ort_kurzbz="+ort_kurzbz; + var attributes="?type="+type+"&datum="+datum+"&stunde="+stunde+"&ort_kurzbz="+ort_kurzbz+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&ort_kurzbz="+ort_kurzbz; attributes+=idList; var url = "content/lehrstunde.rdf.php"; url+=attributes; diff --git a/content/stpl-week-overlay.xul.php b/content/stpl-week-overlay.xul.php index 6ba0adaf9..393214c59 100644 --- a/content/stpl-week-overlay.xul.php +++ b/content/stpl-week-overlay.xul.php @@ -142,14 +142,14 @@ $num_rows_stunde=pg_numrows($result_stunde); onclick="onLVAdoStpl(event);" idList="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lva_ids" aktion="lva_stpl_del_single" - tooltiptext="Löschen SingleWeek" + tooltiptext="Löschen SingleWeek" /> diff --git a/content/timetable-week.xul.php b/content/timetable-week.xul.php index 944c5a83f..f67844917 100644 --- a/content/timetable-week.xul.php +++ b/content/timetable-week.xul.php @@ -23,8 +23,10 @@ $uid=$REMOTE_USER; $error_msg=''; if (!$conn = pg_pconnect(CONN_STRING)) $error_msg.='Es konnte keine Verbindung zum Server aufgebaut werden!'; + // Benutzerdefinierte Variablen laden $error_msg.=loadVariables($conn,$uid); + if (!isset($ignore_kollision)) $ignore_kollision=(boolean)false; elseif ($ignore_kollision=='false') @@ -264,11 +266,12 @@ elseif ($aktion=='lva_multi_set') $ferien->getAll(0); // Ende holen - $result_semester=@pg_query($conn,"SELECT start,ende FROM tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';"); + if (!$result_semester=pg_query($conn,"SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';")) + die (pg_last_error($conn)); if (pg_numrows($result_semester)>0) $ende=pg_result($result_semester,0,'ende'); else - $error_msg.='Fatal Error: Ende Datum ist nicht gesetzt!'; + $error_msg.="Fatal Error: Ende Datum ist nicht gesetzt ($semester_aktuell)!"; //echo ''; $ende=mktime(0,0,1,substr($ende,5,2),substr($ende,8,2),substr($ende,0,4)); $anz_lvas=count($lva_id); @@ -280,13 +283,13 @@ elseif ($aktion=='lva_multi_set') $semesterstunden=array(); $offenestunden=array(); // LVAs holen - $sql_query='SELECT * FROM '.$lva_stpl_view.' WHERE'; + $sql_query='SELECT * FROM lehre.'.$lva_stpl_view.' WHERE'; $lvas=''; foreach ($lva_id as $id) - $lvas.=' OR lehrveranstaltung_id='.$id; + $lvas.=' OR lehreinheit_id='.$id; $lvas=substr($lvas,3); $sql_query.=$lvas; - if(!$result_lva=pg_exec($conn, $sql_query)) + if(!$result_lva=pg_query($conn, $sql_query)) $error_msg.=pg_last_error($conn); $num_rows_lva=pg_numrows($result_lva); // Daten aufbereiten @@ -348,7 +351,8 @@ elseif ($aktion=='lva_multi_set') //LVAs holen und pruefen ob moeglich for ($i=0;$i<$anz_lvas;$i++) { - $lva[$i]=new lehrveranstaltung($conn,$lva_id[$i]); + $lva[$i]=new lehreinheit($conn); + $lva[$i]->loadLE($lva_id[$i]); for ($j=0;$j<$block;$j++) if (!$lva[$i]->check_lva($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table) && !$ignore_kollision) $error_msg.=$lva[$i]->errormsg; @@ -371,7 +375,7 @@ elseif ($aktion=='lva_multi_set') // Lehrveranstaltungen aus dem Stundenplan loeschen elseif ($aktion=='lva_stpl_del_multi' || $aktion=='lva_stpl_del_single') { - $result_semester=@pg_query($conn,"SELECT start,ende FROM tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';"); + $result_semester=pg_query($conn,"SELECT start,ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';"); if (pg_numrows($result_semester)>0) { $start=date('Y-m-d',$datum); @@ -381,9 +385,9 @@ elseif ($aktion=='lva_stpl_del_multi' || $aktion=='lva_stpl_del_single') $ende=date('Y-m-d',jump_week($datum,1)); $anz_lvas=count($lva_id); $sql_query_lvaid=''; - $sql_query='DELETE FROM '.TABLE_BEGIN.$db_stpl_table.' WHERE ('; + $sql_query='DELETE FROM lehre.'.TABLE_BEGIN.$db_stpl_table.' WHERE ('; for ($i=0;$i<$anz_lvas;$i++) - $sql_query_lvaid.=' OR lehrveranstaltung_id='.$lva_id[$i]; + $sql_query_lvaid.=' OR lehreinheit_id='.$lva_id[$i]; $sql_query_lvaid=substr($sql_query_lvaid,3); $sql_query.=$sql_query_lvaid; $sql_query.=") AND datum>='$start' AND datum<'$ende'"; @@ -407,7 +411,7 @@ if (!isset($semesterplan) || !$semesterplan) $begin=$ende=$datum; else { - $result_semester=@pg_query($conn,"SELECT start,ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';"); + $result_semester=pg_query($conn,"SELECT start,ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$semester_aktuell';"); if (pg_numrows($result_semester)>0) { $begin=strtotime(pg_result($result_semester,0,'start')); diff --git a/include/ferien.class.php b/include/ferien.class.php index acbeb3c80..fe8a94dcf 100644 --- a/include/ferien.class.php +++ b/include/ferien.class.php @@ -55,27 +55,29 @@ class ferien * Laedt alle verfuegbaren Feriendaten * @return true wenn ok, false im Fehlerfall */ - function getAll() + function getAll($stg_kz=0) { - $qry = 'SELECT * FROM lehre.tbl_ferien order by bezeichnung, studiengang_kz;'; - - if(!$res = pg_query($this->conn, $qry)) + $sql_query="SELECT * FROM lehre.tbl_ferien WHERE studiengang_kz=0 OR studiengang_kz=$stg_kz ORDER BY vondatum"; + if (!$result=pg_query($this->conn, $sql_query)) { - $this->errormsg = 'Fehler beim Laden der Datensaetze'; + $this->errormsg = pg_errormessage($this->conn); return false; } - - while($row = pg_fetch_object($res)) + //$num_rows=pg_numrows($result); + //for ($i=0; $i<$num_rows; $i++) + while ($row=pg_fetch_object($result)) { - $ferien_obj = new ferien($this->conn); - $ferien_obj->bezeichnung = $row->bezeichnung; - $ferien_obj->studiengang_kz = $row->studiengang_kz; - $ferien_obj->vondatum = $row->vondatum; - $ferien_obj->bisdatum = $row->bisdatum; - $ferien_obj->vontimestamp=mktime(0,0,0,substr($row->vondatum,5,2),substr($row->vondatum,8),substr($row->vondatum,0,4));; - $ferien_obj->bistimestamp=mktime(23,59,59,substr($row->bisdatum,5,2),substr($row->bisdatum,8),substr($row->bisdatum,0,4));; - - $this->ferien[] = $ferien_obj; + // Record holen + // Instanz erzeugen + $f = new ferien($this->conn); + $f->bezeichnung=$row->bezeichnung; + $f->studiengang_kz = $row->studiengang_kz; + $f->vondatum=$row->vondatum; + $f->bisdatum=$row->bisdatum; + $f->vontimestamp=mktime(0,0,0,substr($row->vondatum,5,2),substr($row->vondatum,8),substr($row->vondatum,0,4));; + $f->bistimestamp=mktime(23,59,59,substr($row->bisdatum,5,2),substr($row->bisdatum,8),substr($row->bisdatum,0,4));; + // in array speichern + $this->ferien[]=$f; } return true; } diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php index 0931bbc12..f72d1eedc 100644 --- a/include/lehreinheit.class.php +++ b/include/lehreinheit.class.php @@ -22,40 +22,45 @@ class lehreinheit { - var $conn; // resource DB-Handle - var $errormsg; // string - var $new; // boolean + var $conn; // resource DB-Handle + var $errormsg; // string + var $new; // boolean var $lehreinheiten = array(); // lehreinheit Objekt //Tabellenspalten var $lehreinheit_id; // integer var $lehrveranstaltung_id; // integer var $studiensemester_kurzbz; // varchar(16) - var $lehrfach_id; // integer - var $lehrform_kurzbz; // varchar(8) - var $stundenblockung; // smalint - var $wochenrythmus; // smalint - var $start_kw; // smalint - var $raumtyp; // varchar(8) - var $raumtypalternativ; // varchar(8) - var $lehre; // boolean - var $anmerkung; // varchar(255) - var $unr; // integer - var $lvnr; // bigint - var $insertamum; // timestamp - var $insertvon; // varchar(16) - var $updateamum; // timestamp - var $updatevon; // varchar(16) - var $sprache; // varchar(16) - var $ext_id; // bigint - var $mitarbeiter_uid; - var $studiengang_kz; - var $semester; - var $verband; - var $gruppe; - var $gruppe_kurzbz; - var $titel; - var $lehrform; + var $lehrfach_id; // integer + var $lf_kurzbz; + var $lf_bez; + var $lf_aktiv; + var $lehrform_kurzbz; // varchar(8) + var $stundenblockung; // smalint + var $wochenrythmus; // smalint + var $start_kw; // smalint + var $raumtyp; // varchar(8) + var $raumtypalternativ; // varchar(8) + var $lehre; // boolean + var $anmerkung; // varchar(255) + var $unr; // integer + var $lvnr; // bigint + var $insertamum; // timestamp + var $insertvon; // varchar(16) + var $updateamum; // timestamp + var $updatevon; // varchar(16) + var $sprache; // varchar(16) + var $ext_id; // bigint + + var $anz=0; //Zahler fuer erweiterte Attribute + var $mitarbeiter_uid=array(); + var $studiengang_kz=array(); + var $semester=array(); + var $verband=array(); + var $gruppe=array(); + var $gruppe_kurzbz=array(); + var $titel=array(); + var $lehrform=array(); // ************************************************************************* // * Konstruktor - Uebergibt die Connection und laedt optional eine LE @@ -143,8 +148,9 @@ class lehreinheit if($result = pg_query($this->conn, $qry)) { - if($row = pg_fetch_object($result)) - { + $this->anz=0; + while($row = pg_fetch_object($result)) + { // lehrfunktion_kurzbz fachbereich_kurzbz semesterstunden lv_semesterstunden planstunden stundensatz faktor lektor stg_kurzbz stg_kurzbzlang stg_bez stg_typ anmerkunglektor $this->lehreinheit_id = $row->lehreinheit_id; $this->lehrveranstaltung_id = $row->lehrveranstaltung_id; $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; @@ -155,24 +161,30 @@ class lehreinheit $this->start_kw = $row->start_kw; $this->raumtyp = $row->raumtyp; $this->raumtypalternativ = $row->raumtypalternativ; + $this->sprache = $row->sprache; $this->lehre = ($row->lehre=='t'?true:false); $this->anmerkung = $row->anmerkung; $this->unr = $row->unr; $this->lvnr = $row->lvnr; - $this->sprache = $row->sprache; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; - $this->ext_id = $row->ext_id; - $this->mitarbeiter_uid = $row->mitarbeiter_uid; - $this->studiengang_kz = $row->studiengang_kz; - $this->semester = $row->semester; - $this->verband = $row->verband; - $this->gruppe = $row->gruppe; - $this->gruppe_kurzbz = $row->gruppe_kurzbz; - $this->titel = $row->titel; - $this->lehrform = $row->lehrform; + //$this->ext_id = $row->ext_id; + $this->farbe = $row->farbe; + $this->lf_kurzbz= $row->lehrfach; + $this->lf_bez= $row->lehrfach_bez; + $this->lf_aktiv= $row->aktiv; + + $this->mitarbeiter_uid[$this->anz] = $row->mitarbeiter_uid; + $this->studiengang_kz[$this->anz] = $row->studiengang_kz; + $this->semester[$this->anz] = $row->semester; + $this->verband[$this->anz] = $row->verband; + $this->gruppe[$this->anz] = $row->gruppe; + $this->gruppe_kurzbz[$this->anz] = $row->gruppe_kurzbz; + $this->titel[$this->anz] = ''; + //$this->lehrform[$this->anz] = $row->lehrform; + $this->anz++; } } else @@ -435,15 +447,21 @@ class lehreinheit { return false; }*/ + //Lektoren SQL + $sql_lkt=''; + foreach ($this->mitarbeiter_uid as $lkt) + $sql_lkt.="OR mitarbeiter_uid='$lkt' "; + $sql_lkt=substr($sql_lkt,3); + $sql_lkt="(($sql_lkt) AND mitarbeiter_uid!='_DummyLektor')"; // Datenbank abfragen $sql_query="SELECT $stpl_id FROM $stpl_table WHERE datum='$datum' AND stunde=$stunde - AND ((ort_kurzbz='$ort' OR (mitarbeiter_uid='$this->lektor' AND mitarbeiter_uid!='_DummyLektor')) + AND ((ort_kurzbz='$ort' OR $sql_lkt) AND unr!=$this->unr)"; //AND lehrveranstaltung_id!=$this->lehrveranstaltung_id if (! $erg_stpl=pg_query($this->conn, $sql_query)) { - //die(pg_last_error($this->conn)); + die($sql_query.pg_last_error($this->conn)); $this->errormsg=pg_last_error($this->conn); return false; } @@ -460,7 +478,7 @@ class lehreinheit } /************************************************************************* - * Speichert die geladene Lehrveranstaltung im Stundenplan. + * Speichert die geladene Lehreinheit im Stundenplan. * Rueckgabewert 'false' und die Fehlermeldung steht in '$this->errormsg'. * @param string datum gewuenschtes Datum YYYY-MM-TT * @param integer stunde gewuenschte Stunde @@ -476,23 +494,26 @@ class lehreinheit $stpl_id=$stpl_table.TABLE_ID; $stpl_table='lehre.'.TABLE_BEGIN.$stpl_table; - // Datenbank abfragen - $sql_query="INSERT INTO $stpl_table - (unr,mitarbeiter_uid,datum, stunde, ort_kurzbz,lehreinheit_id,studiengang_kz,semester,verband, - gruppe, gruppe_kurzbz, titel, anmerkung, updatevon) - VALUES ($this->unr,'$this->mitarbeiter_uid','$datum',$stunde, - '$ort',$this->lehreinheit_id, $this->studiengang_kz,$this->semester, - '$this->verband','$this->gruppe'"; - if ($this->gruppe_kurzbz==null) - $sql_query.=',NULL'; - else - $sql_query.=",'$this->gruppe_kurzbz'"; - $sql_query.=",'$this->titel','$this->anmerkung','$user')"; - if (! $erg_stpl=pg_query($this->conn, $sql_query)) + for ($i=0;$i<$this->anz;$i++) { - //die(pg_last_error($this->conn).$sql_query); - $this->errormsg=pg_last_error($this->conn); - return false; + // Datenbank INSERT + $sql_query="INSERT INTO $stpl_table + (unr,mitarbeiter_uid,datum, stunde, ort_kurzbz,lehreinheit_id,studiengang_kz,semester,verband, + gruppe, gruppe_kurzbz, titel, anmerkung, updatevon) + VALUES ($this->unr,'".$this->mitarbeiter_uid[$i]."','$datum',$stunde, + '$ort',$this->lehreinheit_id, ".$this->studiengang_kz[$i].",".$this->semester[$i].", + '".$this->verband[$i]."','".$this->gruppe[$i]."'"; + if ($this->gruppe_kurzbz[$i]==null) + $sql_query.=',NULL'; + else + $sql_query.=",'".$this->gruppe_kurzbz[$i]."'"; + $sql_query.=",'".$this->titel[$i]."','$this->anmerkung','$user')"; + if (! $erg_stpl=pg_query($this->conn, $sql_query)) + { + die(pg_last_error($this->conn).$sql_query); + $this->errormsg=pg_last_error($this->conn); + return false; + } } return true; } @@ -514,15 +535,15 @@ class lehreinheit if (strlen($studiensemester)<=0) { - $this->errormsg='Ausbildungssemester ist nicht gesetzt!'; + $this->errormsg='Studiensemester ist nicht gesetzt!(lehreinheit.getLehreinheitLVPL)'; return false; } else $where=" studiensemester_kurzbz='$studiensemester'"; if ($type=='lektor') $where.=" AND lektor_uid='$lektor'"; - elseif ($type=='einheit') - $where.=" AND einheit='$einheit'"; + elseif ($type=='gruppe') + $where.=" AND gruppe_kurzbz='$gruppe'"; elseif ($type=='verband') { $where.=" AND studiengang_kz='$stg_kz'"; @@ -538,62 +559,62 @@ class lehreinheit WHERE '.$where.' AND verplanen ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;'; //$this->errormsg=$sql_query; //return false; - if(!($erg=@pg_exec($this->conn, $sql_query))) + if(!($erg=pg_query($this->conn, $sql_query))) { $this->errormsg=pg_errormessage($this->conn); return false; } $num_rows=pg_numrows($erg); - $l=array(); + //$l=array(); for($i=0;$i<$num_rows;$i++) { $row=pg_fetch_object($erg,$i); //$l[$row->unr]=new lehrveranstaltung(); - $l[$row->unr]->lehreinheit_id[]=$row->lehreinheit_id; - $l[$row->unr]->lvnr[]=$row->lvnr; - $l[$row->unr]->unr=$row->unr; - $l[$row->unr]->fachbereich=$row->fachbereich_kurzbz; - $l[$row->unr]->lehrfach_id=$row->lehrfach_id; - $l[$row->unr]->lehrfach[]=$row->lehrfach; - $l[$row->unr]->lehrfach_bez[]=$row->lehrfach_bez; - $l[$row->unr]->lehrfach_farbe[]=$row->lehrfach_farbe; - $l[$row->unr]->lehrform[]=$row->lehrform; - $l[$row->unr]->lektor_uid[]=$row->lektor_uid; - $l[$row->unr]->lektor[]=trim($row->lektor); - $l[$row->unr]->stg_kz[]=$row->studiengang_kz; - $l[$row->unr]->stg[]=$row->studiengang; - $l[$row->unr]->gruppe_kurzbz[]=$row->gruppe_kurzbz; - $l[$row->unr]->semester[]=$row->semester; - $l[$row->unr]->verband[]=$row->verband; - $l[$row->unr]->gruppe[]=$row->gruppe; - $l[$row->unr]->gruppe_kurzbz[]=$row->gruppe_kurzbz; - $l[$row->unr]->raumtyp=$row->raumtyp; - $l[$row->unr]->raumtypalternativ=$row->raumtypalternativ; - $l[$row->unr]->stundenblockung[]=$row->stundenblockung; - $l[$row->unr]->wochenrythmus[]=$row->wochenrythmus; - $l[$row->unr]->semesterstunden[]=$row->semesterstunden; - $l[$row->unr]->start_kw[]=$row->start_kw; - $l[$row->unr]->anmerkung[]=$row->anmerkung; - $l[$row->unr]->studiensemester_kurzbz=$row->studiensemester_kurzbz; - $l[$row->unr]->verplant[]=$row->verplant; - $l[$row->unr]->offenestunden[]=$row->offenestunden; - if (isset($l[$row->unr]->verplant_gesamt)) - $l[$row->unr]->verplant_gesamt+=$row->verplant; + $this->lehreinheiten[$row->unr]->lehreinheit_id[]=$row->lehreinheit_id; + $this->lehreinheiten[$row->unr]->lvnr[]=$row->lvnr; + $this->lehreinheiten[$row->unr]->unr=$row->unr; + $this->lehreinheiten[$row->unr]->fachbereich=$row->fachbereich_kurzbz; + $this->lehreinheiten[$row->unr]->lehrfach_id=$row->lehrfach_id; + $this->lehreinheiten[$row->unr]->lehrfach[]=$row->lehrfach; + $this->lehreinheiten[$row->unr]->lehrfach_bez[]=$row->lehrfach_bez; + $this->lehreinheiten[$row->unr]->lehrfach_farbe[]=$row->lehrfach_farbe; + $this->lehreinheiten[$row->unr]->lehrform[]=$row->lehrform; + $this->lehreinheiten[$row->unr]->lektor_uid[]=$row->lektor_uid; + $this->lehreinheiten[$row->unr]->lektor[]=trim($row->lektor); + $this->lehreinheiten[$row->unr]->stg_kz[]=$row->studiengang_kz; + $this->lehreinheiten[$row->unr]->stg[]=$row->studiengang; + $this->lehreinheiten[$row->unr]->gruppe_kurzbz[]=$row->gruppe_kurzbz; + $this->lehreinheiten[$row->unr]->semester[]=$row->semester; + $this->lehreinheiten[$row->unr]->verband[]=$row->verband; + $this->lehreinheiten[$row->unr]->gruppe[]=$row->gruppe; + $this->lehreinheiten[$row->unr]->gruppe_kurzbz[]=$row->gruppe_kurzbz; + $this->lehreinheiten[$row->unr]->raumtyp=$row->raumtyp; + $this->lehreinheiten[$row->unr]->raumtypalternativ=$row->raumtypalternativ; + $this->lehreinheiten[$row->unr]->stundenblockung[]=$row->stundenblockung; + $this->lehreinheiten[$row->unr]->wochenrythmus[]=$row->wochenrythmus; + $this->lehreinheiten[$row->unr]->semesterstunden[]=$row->semesterstunden; + $this->lehreinheiten[$row->unr]->start_kw[]=$row->start_kw; + $this->lehreinheiten[$row->unr]->anmerkung[]=$row->anmerkung; + $this->lehreinheiten[$row->unr]->studiensemester_kurzbz=$row->studiensemester_kurzbz; + $this->lehreinheiten[$row->unr]->verplant[]=$row->verplant; + $this->lehreinheiten[$row->unr]->offenestunden[]=$row->offenestunden; + if (isset($this->lehreinheiten[$row->unr]->verplant_gesamt)) + $this->lehreinheiten[$row->unr]->verplant_gesamt+=$row->verplant; else - $l[$row->unr]->verplant_gesamt=$row->verplant; + $this->lehreinheiten[$row->unr]->verplant_gesamt=$row->verplant; $lvb=$row->studiengang.'-'.$row->semester; if ($row->verband!='' && $row->verband!=' ' && $row->verband!='0' && $row->verband!=null) $lvb.=$row->verband; if ($row->gruppe!='' && $row->gruppe!=' ' && $row->gruppe!='0' && $row->gruppe!=null) $lvb.=$row->gruppe; if ($row->gruppe_kurzbz!='' && $row->gruppe_kurzbz!=null) - $l[$row->unr]->lehrverband[]=$row->gruppe_kurzbz; + $this->lehreinheiten[$row->unr]->lehrverband[]=$row->gruppe_kurzbz; else - $l[$row->unr]->lehrverband[]=$lvb; + $this->lehreinheiten[$row->unr]->lehrverband[]=$lvb; } - return $l; + return true; } - + // *************************** // * Loescht eine Lehreinheit // *************************** @@ -607,12 +628,12 @@ class lehreinheit $qry = "DELETE FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'"; if(pg_query($this->conn, $qry)) return true; - else + else { $this->errormsg = pg_last_error($conn); return false; } } - + } ?> \ No newline at end of file diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 053152e08..53b2d4342 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -39,7 +39,7 @@ class lehrstunde var $sem; // @brief Semester var $ver; // @brief Verband var $grp; // @brief Gruppe - var $gruppe_kurzbz; // @brief Kurzbezeichnung der Einheit + var $gruppe_kurzbz; // @brief Kurzbezeichnung der Gruppe var $titel; // @brief Titel der Unterrichtsstunde var $anmerkung; // @brief Anmerkungen zur Unterrichtsstunde var $fix; // @brief true wenn diese Stunde nicht mehr verschoben wird @@ -173,7 +173,7 @@ class lehrstunde // Parameter Checken // Bezeichnung der Stundenplan-Tabelle und des Keys $stpl_id=$stpl_table.TABLE_ID; - $stpl_table=TABLE_BEGIN.$stpl_table; + $stpl_table='lehre.'.TABLE_BEGIN.$stpl_table; // Delete SQL vorbereiten $sql_query='DELETE FROM '.$stpl_table; $sql_query.=" WHERE $stpl_id=$id"; @@ -234,10 +234,10 @@ class lehrstunde $this->errormsg='Fehler: Kurzbezeichnung des Orts ist nicht gesetzt'; return -1; } - // Einheit + // Gruppe if ($type=='gruppe' && $gruppe_kurzbz==NULL) { - $this->errormsg='Fehler: Kurzbezeichnung der Einheit ist nicht gesetzt'; + $this->errormsg='Fehler: Kurzbezeichnung der Gruppe ist nicht gesetzt'; return -1; } // Verband @@ -273,7 +273,7 @@ class lehrstunde $ver=$row->verband; $grp=$row->gruppe; - // Einheiten ermitteln + // Gruppen ermitteln $sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid='$uid'"; //echo $sql_query; if (! $result_einheit=pg_query($this->conn, $sql_query) ) diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 979575f68..0b12590b8 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -50,7 +50,7 @@ class wochenplan var $ort_bezeichnung; var $gruppe_kurzbz; - var $einheit_bezeichnung; + var $gruppe_bezeichnung; var $datum; // @brief Datum des Montags der zu zeichnenden Woche var $datum_nextweek; @@ -109,7 +109,7 @@ class wochenplan /////////////////////////////////////////////////////////////////////// // Parameter Checken // Typ des Stundenplans - if ($type=='student' || $type=='lektor' || $type=='verband' || $type=='einheit' || $type=='ort') + if ($type=='student' || $type=='lektor' || $type=='verband' || $type=='gruppe' || $type=='ort') $this->type=$type; else { @@ -151,13 +151,13 @@ class wochenplan } // Einheit - if ($type=='einheit' && $gruppe_kurzbz==NULL) + if ($type=='gruppe' && $gruppe==NULL) { - $this->errormsg='Fehler: Kurzbezeichnung der Einheit ist nicht gesetzt'; + $this->errormsg='Fehler: Kurzbezeichnung der Gruppe ist nicht gesetzt'; return false; } - elseif ($type=='einheit') - $this->gruppe_kurzbz=$gruppe_kurzbz; + elseif ($type=='gruppe') + $this->gruppe_kurzbz=$gruppe; /////////////////////////////////////////////////////////////////////// @@ -701,7 +701,7 @@ class wochenplan sem="'.$this->sem.'" ver="'.$this->ver.'" grp="'.$this->grp.'" - einheit="'.$this->gruppe_kurzbz.'" + gruppe="'.$this->gruppe_kurzbz.'" ort="'.$this->ort_kurzbz.'" pers_uid="'.$this->pers_uid.'" kw="'.$this->kalenderwoche.'" @@ -730,7 +730,7 @@ class wochenplan if ($this->type=='verband') $ferien->getAll($this->stg_kz); else - $ferien->getAll(0); + $ferien->getAll(); for ($i=1; $i<7; $i++) { $isferien=$ferien->isferien($datum); @@ -756,7 +756,7 @@ class wochenplan ondragexit="nsDragAndDrop.dragExit(event,boardObserver)" datum="'.date("Y-m-d",$datum).'" stunde="'.$j.'" stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'" - grp="'.$this->grp.'" einheit="'.$this->gruppe_kurzbz.'" + grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'" pers_uid="'.$this->pers_uid.'" stpltype="'.$this->type.'">'; if (isset($this->std_plan[$i][$j][0]->lehrfach)) @@ -921,7 +921,7 @@ class wochenplan elem="stundenplan'.$i.$j.'" idList="'.$paramList.'" stpltype="'.$this->type.'" stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'" - grp="'.$this->grp.'" einheit="'.$this->gruppe_kurzbz.'" + grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'" datum="'.date("Y-m-d",$datum).'" stunde="'.$j.'" pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.utf8_encode($this->ort_kurzbz).'">'; echo '