diff --git a/cis/private/lvplan/index.php b/cis/private/lvplan/index.php
index 34c71f875..3adec3d4c 100644
--- a/cis/private/lvplan/index.php
+++ b/cis/private/lvplan/index.php
@@ -161,6 +161,7 @@ function MM_jumpMenu(targ,selObj,restore){ //v3.0
+
diff --git a/cis/testtool/auswertung.php b/cis/testtool/auswertung.php
index 00ceab6ae..cf340e01a 100644
--- a/cis/testtool/auswertung.php
+++ b/cis/testtool/auswertung.php
@@ -73,7 +73,7 @@ while ($row=pg_fetch_object($result))
// Ergebnisse laden
$sql_query="SELECT vw_auswertung.* FROM testtool.vw_auswertung";
if (isset($_POST['reihungstest']))
- $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id) WHERE reihungstest_id='.$_POST['reihungstest'];
+ $sql_query.=' JOIN public.tbl_prestudent USING (prestudent_id) WHERE 1 OR reihungstest_id='.$_POST['reihungstest'];
//echo $sql_query;
if(!($result=pg_query($conn, $sql_query)))
diff --git a/content/lvplanung/timetable-week.xul.php b/content/lvplanung/timetable-week.xul.php
index b7c43a0c6..7d0532de5 100644
--- a/content/lvplanung/timetable-week.xul.php
+++ b/content/lvplanung/timetable-week.xul.php
@@ -255,7 +255,7 @@ elseif ($aktion=='lva_single_set')
//$error_msg.='Datum:'.$new_datum.' Std:'.($new_stunde+$j).$new_ort.$db_stpl_table.$uid;
for ($j=0;$j<$lva[$i]->stundenblockung;$j++)
if (!$lva[$i]->save_stpl($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table,$uid))
- $error_msg.='fehler'.$lva[$i]->errormsg;
+ $error_msg.='Error: '.$lva[$i]->errormsg;
//else die('test');
}
//$error_msg.='test';
@@ -488,7 +488,7 @@ while ($begin<=$ende)
diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php
index 7dd77a715..6a272e196 100644
--- a/include/lehreinheit.class.php
+++ b/include/lehreinheit.class.php
@@ -475,7 +475,7 @@ class lehreinheit
* @param integer stunde gewuenschte Stunde
* @param string ort gewuenschter Ort
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
- * @return boolean true=ok, false=fehler
+ * @return boolean true=ok, false=error
*************************************************************************/
function check_lva($datum,$stunde,$ort,$stpl_table)
{
@@ -499,11 +499,12 @@ class lehreinheit
// Datenbank abfragen
$sql_query="SELECT $stpl_id FROM $stpl_table
WHERE datum='$datum' AND stunde=$stunde
- AND ((ort_kurzbz='$ort' OR $sql_lkt)
- AND unr!=$this->unr)"; //AND lehrveranstaltung_id!=$this->lehrveranstaltung_id
+ AND (ort_kurzbz='$ort' OR $sql_lkt)";
+ if (is_numeric($this->unr))
+ $sql_query.=" AND unr!=$this->unr";
if (! $erg_stpl=pg_query($this->conn, $sql_query))
{
- die($sql_query.pg_last_error($this->conn));
+ //die($sql_query.pg_last_error($this->conn));
$this->errormsg=pg_last_error($this->conn);
return false;
}
@@ -527,7 +528,7 @@ class lehreinheit
* @param string ort gewuenschter Ort
* @param string db_stpl_table Tabllenname des Stundenplans im DBMS
* @param string user UID des aktuellen Bentzers
- * @return boolean true=ok, false=fehler
+ * @return boolean true=ok, false=error
*************************************************************************/
function save_stpl($datum,$stunde,$ort,$stpl_table,$user)
{
@@ -536,6 +537,14 @@ class lehreinheit
$stpl_id=$stpl_table.TABLE_ID;
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
+ // Variablen pruefen
+ if (!is_numeric($this->unr))
+ {
+ $this->errormsg='Error: UNR ist nicht vorhanden!';
+ return false;
+ }
+
+
for ($i=0;$i<$this->anz;$i++)
{
// Datenbank INSERT
@@ -552,7 +561,7 @@ class lehreinheit
$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);
+ //die(pg_last_error($this->conn).$sql_query);
$this->errormsg=pg_last_error($this->conn);
return false;
}
@@ -683,68 +692,68 @@ class lehreinheit
else
{
pg_query($this->conn, 'BEGIN');
-
+
//UNDO Befehl zusammenbauen
$undosql='';
-
+
//LehreinheitMitarbeiter
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
- $undosql.=" INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid, lehrfunktion_kurzbz, planstunden, stundensatz, faktor, anmerkung, bismelden, updateamum, updatevon, insertamum, insertvon, semesterstunden)
+ $undosql.=" INSERT INTO lehre.tbl_lehreinheitmitarbeiter(lehreinheit_id, mitarbeiter_uid, lehrfunktion_kurzbz, planstunden, stundensatz, faktor, anmerkung, bismelden, updateamum, updatevon, insertamum, insertvon, semesterstunden)
VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->mitarbeiter_uid).",".$this->addslashes($row->lehrfunktion_kurzbz).",".$this->addslashes($row->planstunden).",".$this->addslashes($row->stundensatz).",".$this->addslashes($row->faktor).",".
$this->addslashes($row->anmerkung).",".($row->bismelden=='t'?'true':'false').",".$this->addslashes($row->updateamum).",".$this->addslashes($row->updatevon).",".$this->addslashes($row->insertamum).",".$this->addslashes($row->insertvon).",".$this->addslashes($row->semesterstunden).");";
}
}
-
- //LehreinheitGruppe
+
+ //LehreinheitGruppe
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
- $undosql.=" INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
+ $undosql.=" INSERT INTO lehre.tbl_lehreinheitgruppe(lehreinheitgruppe_id, lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon)
VALUES(".$this->addslashes($row->lehreinheitgruppe_id).",".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->studiengang_kz).",'".addslashes($row->semester)."','".addslashes($row->verband)."','".addslashes($row->gruppe)."',".
$this->addslashes($row->gruppe_kurzbz).",".$this->addslashes($row->updateamum).",".$this->addslashes($row->updatevon).",".$this->addslashes($row->insertamum).",".$this->addslashes($row->insertvon).");";
}
}
-
+
//Lehreinheit
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
- $undosql.=" INSERT INTO lehre.tbl_lehreinheit(lehreinheit_id, lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon)
+ $undosql.=" INSERT INTO lehre.tbl_lehreinheit(lehreinheit_id, lehrveranstaltung_id, studiensemester_kurzbz, lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus, start_kw, raumtyp, raumtypalternativ, sprache, lehre, anmerkung, unr, lvnr, updateamum, updatevon, insertamum, insertvon)
VALUES(".$this->addslashes($row->lehreinheit_id).",".$this->addslashes($row->lehrveranstaltung_id).",".$this->addslashes($row->studiensemester_kurzbz).",".$this->addslashes($row->lehrfach_id).",".$this->addslashes($row->lehrform_kurzbz).",".$this->addslashes($row->stundenblockung).",".
$this->addslashes($row->wochenrythmus).",".$this->addslashes($row->startkw).",".$this->addslashes($row->raumtyp).",".$this->addslashes($row->raumtypalternativ).",".$this->addslashes($row->sprache).",".($row->wochenrythmus=='t'?'true':'false').",".
$this->addslashes($row->anmerkung).",".$this->addslashes($row->unr).",".$this->addslashes($row->lvnr).",".$this->addslashes($row->updateamum).",".$this->addslashes($row->updatevon).",".$this->addslashes($row->insertamum).",".$this->addslashes($row->insertvon).");";
}
}
-
+
$log = new log($this->conn);
-
+
//Gruppenzuteilung, Mitarbeiterzuteilung und Lehreinheit loeschen
$qry = "DELETE FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='$lehreinheit_id';
DELETE FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id';
DELETE FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='$lehreinheit_id';";
-
+
$log->new = true;
$log->sql = $qry;
$log->sqlundo = $undosql;
$log->executetime = date('Y-m-d H:i:s');
$log->mitarbeiter_uid = get_uid();
$log->beschreibung = "Lehreinheit loeschen - $lehreinheit_id";
-
+
if(!$log->save())
{
$this->errormsg = 'Fehler beim Schreiben des Log-Eintrages';
pg_query($this->conn, 'ROLLBACK');
return false;
}
- else
+ else
{
if(pg_query($this->conn, $qry))
{
diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php
index 57c93268f..295e1d556 100644
--- a/include/wochenplan.class.php
+++ b/include/wochenplan.class.php
@@ -1370,13 +1370,15 @@ class wochenplan
// Stundenplanabfrage bauen (Wo ist Kollision?)
$sql_query="SELECT DISTINCT datum, stunde FROM $stpl_table
WHERE datum>='$datum_begin' AND datum<'$datum_end' AND
- ($lkt $gruppen OR ($lvb) ) AND unr!=$unr";
+ ($lkt $gruppen OR ($lvb) )";
+ if (is_numeric($unr))
+ $sql_query.=" AND unr!=$unr";
//$this->errormsg.=htmlspecialchars($sql_query);
//return false;
if(!$result_kollision=pg_query($this->conn, $sql_query))
{
//die(pg_last_error($this->conn));
- $this->errormsg=pg_last_error($this->conn);
+ $this->errormsg=pg_last_error($this->conn).$sql_query;
return false;
}
$num_k=pg_numrows($result_kollision);
@@ -1395,11 +1397,13 @@ class wochenplan
$sql_query="SELECT DISTINCT datum, stunde, ort_kurzbz FROM $stpl_view
JOIN public.tbl_ortraumtyp USING (ort_kurzbz)
WHERE datum>='$datum_begin' AND datum<'$datum_end' AND
- ($rtype) AND unr!=$unr"; //
+ ($rtype)";
+ if (is_numeric($unr))
+ $sql_query.=" AND unr!=$unr";
//echo $sql_query;
if(!$result_besetzt=pg_query($this->conn, $sql_query))
{
- $this->errormsg=pg_last_error($this->conn);
+ $this->errormsg=pg_last_error($this->conn).$sql_query;
return false;
}
$num_b=pg_numrows($result_besetzt);
diff --git a/vilesci/lehre/lvplanwartung.php b/vilesci/lehre/lvplanwartung.php
index 83f388998..430f88983 100644
--- a/vilesci/lehre/lvplanwartung.php
+++ b/vilesci/lehre/lvplanwartung.php
@@ -37,24 +37,77 @@ echo loadVariables($conn,$user);
// Bezeichnungen fuer Tabellen und Views
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
-
-$where=" studiensemester_kurzbz='WS2007'";
- if ($sem>0)
- $where.=" AND semester=$sem";
- if (strlen($ver)>0 && $ver!=' ')
- $where.=" AND verband='$ver'";
- if (strlen($grp)>0 && $grp!=' ')
- $where.=" AND gruppe='$grp' ";
- }
+$stpl_table=TABLE_BEGIN.$db_stpl_table;
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
else
$stg_kz=0;
-if (isset($_GET['semester']) || isset($_POST['semester']))
- $semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']);
+if (isset($_GET['sem']) || isset($_POST['sem']))
+ $sem=(isset($_GET['sem'])?$_GET['sem']:$_POST['sem']);
else
- $semester=0;
+ $sem=0;
+
+//*************** im Stundenplan hinzufuegen *************************
+if (isset($_GET['insert']))
+ if ($_GET['insert']=='true')
+ {
+ // Variablen checken
+ if (isset($_GET['studiengang_kz']))
+ $studiengang_kz=$_GET['studiengang_kz'];
+ if (isset($_GET['semester']))
+ $semester=$_GET['semester'];
+ if (isset($_GET['verband']))
+ $verband=$_GET['verband'];
+ else
+ $verband=' ';
+ if ($verband=='')
+ $verband=' ';
+ if (isset($_GET['gruppe']))
+ $gruppe=$_GET['gruppe'];
+ else
+ $gruppe=' ';
+ if ($gruppe=='')
+ $gruppe=' ';
+ if (isset($_GET['gruppe_kurzbz']))
+ $gruppe_kurzbz=$_GET['gruppe_kurzbz'];
+ else
+ $gruppe_kurzbz='';
+ if (isset($_GET['leid']))
+ $leid=$_GET['leid'];
+ else
+ $leid=0;
+ // Termine holen
+ $qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=$leid";
+ //echo $qry.' ';
+ if(!$result=pg_query($conn, $qry))
+ die ($qry);
+ while ($row=pg_fetch_object($result))
+ {
+ $qry = "SELECT DISTINCT ort_kurzbz FROM lehre.$stpl_table
+ WHERE lehreinheit_id=$leid AND datum='$row->datum' AND stunde=$row->stunde;";
+ if(!$result_ort=pg_query($conn, $qry))
+ die ($qry);
+ while ($row_ort=pg_fetch_object($result_ort))
+ {
+ $qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, insertvon)
+ VALUES ('$row->datum', $row->stunde,'$row_ort->ort_kurzbz',$unr,'$lektor_uid',$studiengang_kz,$semester,'$verband','$gruppe',";
+ if ($gruppe_kurzbz!='')
+ $qry.="'$gruppe_kurzbz',$leid,'LVPlanCheck');";
+ else
+ $qry.="NULL,$leid,'LVPlanCheck');";
+ echo $qry.' ';
+ if(!$result_insert=pg_query($conn, $qry))
+ die ($qry);
+ }
+ }
+ }
+
+$where=" studiensemester_kurzbz='WS2007'";
+if ($semester>0)
+ $where.=" AND semester=$semester";
+if ($stg_kz>0)
+ $where.=" AND studiengang_kz='$stg_kz'";
if(!is_numeric($stg_kz))
$stg_kz=0;
@@ -76,12 +129,13 @@ if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
}
}
-$where=1;
$sql_query="SELECT *, planstunden-verplant::smallint AS offenestunden
- FROM lehre.'.$lva_stpl_view.' JOIN lehre.tbl_lehrform ON '.$lva_stpl_view.'.lehrform=tbl_lehrform.lehrform_kurzbz
- WHERE '.$where.' AND verplanen ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
+ FROM lehre.$lva_stpl_view JOIN lehre.tbl_lehrform ON $lva_stpl_view.lehrform=tbl_lehrform.lehrform_kurzbz
+ WHERE $where AND verplant=0 AND planstunden>0 AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.$stpl_table)
+ ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
//echo $sql_query;
-$result_lv=pg_query($conn, $sql_query);
+if(!$result_lv=pg_query($conn, $sql_query))
+ die ($sql_query);
if(!$result_lv) error("Lehrveranstaltung not found!");
$outp='';
$s=array();
@@ -89,7 +143,7 @@ $outp.=" |