This commit is contained in:
Christian Paminger
2007-09-17 13:37:57 +00:00
parent dbb2fc5394
commit f3b4584d16
6 changed files with 121 additions and 50 deletions
+1
View File
@@ -161,6 +161,7 @@ function MM_jumpMenu(targ,selObj,restore){ //v3.0
<option value="0" selected>*</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
<TD valign="bottom">
+1 -1
View File
@@ -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)))
+2 -2
View File
@@ -255,7 +255,7 @@ elseif ($aktion=='lva_single_set')
//$error_msg.='Blockung'.$lva[$i]->stundenblockung.var_dump($lva);
//$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))
if (!$lva[$i]->save_stpl($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table,$uid))
$error_msg.='Error: '.$lva[$i]->errormsg;
//else die('test');
}
@@ -488,7 +488,7 @@ while ($begin<=$ende)
<script type="application/x-javascript">
<?php
if ($error_msg!='')
if ($error_msg!='')
echo "alert('".str_replace("'",'"',$error_msg)."');";
?>
top.document.getElementById("statusbarpanel-text").setAttribute("label","<?php echo htmlspecialchars($PHP_SELF.$error_msg); ?>");
+28 -19
View File
@@ -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))
{
+8 -4
View File
@@ -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);
+81 -24
View File
@@ -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.'<BR>';
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.'<BR>';
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.="<SELECT name='stg_kz'>";
foreach ($studiengang as $stg)
{
$outp.="<OPTION onclick=\"window.location.href = '".$_SERVER['PHP_SELF']."?stg_kz=$stg->studiengang_kz&semester=$semester'\" ".($stg->studiengang_kz==$stg_kz?'selected':'').">$stg->kuerzel - $stg->bezeichnung</OPTION>";
//$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg->studiengang_kz.'&semester='.$semester.'">'.$stg->kuerzel.'</A> - ';
//$outp.= '<A href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg->studiengang_kz.'&sem='.$semester.'">'.$stg->kuerzel.'</A> - ';
$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
$s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
}
@@ -126,19 +180,22 @@ echo "<h3>&Uuml;bersicht</h3>
if ($result_lv!=0)
{
$num_rows=pg_num_rows($result_lv);
echo "<th class='table-sortable:default'>ID</th><th class='table-sortable:default'>Kurzbz</th><th class='table-sortable:default'>Bezeichnung</th><th class='table-sortable:default'>ECTS</th><th class='table-sortable:default'>Lehre</th><th class='table-sortable:default'>LehreVz</th><th class='table-sortable:default'>Aktiv</th><th class='table-sortable:numeric'>Sort</th><th class='table-sortable:default'>Zeugnis</th>\n";
// raumtyp raumtypalternativ stundenblockung wochenrythmus semesterstunden start_kw anmerkung
echo "<th class='table-sortable:default'>LE-ID</th><th class='table-sortable:default'>UNR</th><th class='table-sortable:default'>Lehrfach</th><th class='table-sortable:default'>Lektor</th>
<th class='table-sortable:default'>Lehrverband</th><th class='table-sortable:default'>Gruppe</th><th class='table-sortable:default'>SS</th><th class='table-sortable:numeric'>planstunden</th><th class='table-sortable:default'>Verplant</th>\n";
echo "</tr></thead>";
echo "<tbody>";
for($i=0;$i<$num_rows;$i++)
{
$row=pg_fetch_object($result_lv);
echo "<tr>";
echo "<td align='right'>$row->lehrveranstaltung_id</td><td>$row->kurzbz</td><td><a href='lehrveranstaltung_details.php?lv_id=$row->lehrveranstaltung_id' target='detail'>$row->bezeichnung</a></td><td>$row->ects</td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&lehre=$row->lehre'><img src='../../skin/images/".($row->lehre=='t'?'true.gif':'false.gif')."'></a></td>";
echo "<td><form action='?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester' method='POST'><input type='text' value='$row->lehreverzeichnis' size='4' name='lehrevz'><input type='submit' value='ok'></form></td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&aktiv=$row->aktiv'><img src='../../skin/images/".($row->aktiv=='t'?'true.gif':'false.gif')."'></a></td>";
echo "<td>$row->sort</td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?lvid=$row->lehrveranstaltung_id&stg_kz=$stg_kz&semester=$semester&zeugnis=$row->zeugnis'><img src='../../skin/images/".($row->zeugnis=='t'?'true.gif':'false.gif')."'></a></td>";
echo "<td align='right'>$row->lehreinheit_id</td><td>$row->unr</td><td>$row->lehrfach-$row->lehrform - $row->lehrfach_bez</td><td>$row->lektor</td>";
echo "<td>$row->studiengang-$row->semester$row->verband$row->gruppe</td><td>$row->gruppe_kurzbz</td>";
echo "<td>$row->studiensemester_kurzbz</td>";
echo "<td>$row->planstunden</td>";
echo "<td>$row->verplant</td>";
echo "<td><a href='?insert=true&leid=$row->lehreinheit_id&unr=$row->unr&lektor_uid=$row->lektor_uid&studiengang_kz=$row->studiengang_kz&semester=$row->semester&verband=$row->verband&gruppe=$row->gruppe&gruppe_kurzbz=$row->gruppe_kurzbz&stg_kz=$stg_kz&sem=$sem'>Hinzufuegen</a></td>";
echo "</tr>\n";
}