0 ORDER BY kurzbz";
//echo $sql_query." ";
$result_stg=pg_exec($conn, $sql_query);
if(!$result_stg)
error ("studiengang not found!");
$sql_query="SELECT lehrfach_nr, kurzbz,bezeichnung FROM tbl_lehrfach where aktiv=true or aktiv is null ORDER BY kurzbz";
$result_lehrf=pg_exec($conn, $sql_query);
if(!$result_lehrf)
error ("lehrfach not found!");
$sql_query="SELECT tbl_person.uid, kurzbz FROM tbl_person join tbl_mitarbeiter using(uid) where lektor=true ORDER BY kurzbz";
$result_lektor=pg_exec($conn, $sql_query);
if(!$result_lektor)
error ("lektor not found!");
$sql_query="SELECT ort_kurzbz FROM tbl_ort ORDER BY ort_kurzbz";
$result_ort=pg_exec($conn, $sql_query);
$sql_query="SELECT einheit_kurzbz,bezeichnung FROM tbl_einheit ORDER BY einheit_kurzbz";
$result_einheit=pg_exec($conn, $sql_query);
if(!$result_einheit) error("Einheit not found!");
if(!$result_ort)
error ("ort not found!");
$sql_query="SELECT lehrform_kurzbz,bezeichnung FROM tbl_lehrform where verplanen=true ORDER BY lehrform_kurzbz";
$result_lehrform=pg_exec($conn, $sql_query);
if(!$result_lehrform) error("Lehrform not found!");
if (!isset($stgid))
$stgid=1;
if (!isset($lektorid))
$lektorid=1;
if (!isset($semester))
$semester=0;
if (!isset($verband))
$verband='0';
if (!isset($gruppe))
$gruppe=0;
if (!isset($tag))
$tag=1;
if (!isset($monat))
$monat=1;
if (!isset($jahr))
$jahr=2002;
if (!isset($stdbegin))
$stdbegin=1;
if (!isset($stdblock))
$stdblock=1;
if (!isset($stdsemester))
$stdsemester=1;
if (!isset($lehrformid))
$lehrformid='';
?>
Stundenplan Check
Eingabe in Stundenplan
";
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[mday].".".$date[mon].".".$date[year];
}
$sql_query="set datestyle to german;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=pg_exec($conn, $sql_query);
if($result && (pg_numrows($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[mday].".".$date[mon].".".$date[year];
}
$sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND uid='".$_POST['$lektorid']."'";
$result=pg_exec($conn, $sql_query);
if($result && (pg_numrows($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[mday].".".$date[mon].".".$date[year];
}
$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=pg_exec($conn, $sql_query);
if($result && (pg_numrows($result)>0))
{
$row=pg_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=$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[mday].".".$date[mon].".".$date[year];
}
// todo: unr als string?
$sql_query="INSERT INTO tbl_stundenplandev (studiengang_kz, semester, verband, gruppe, lehrfach_nr, uid, ort_kurzbz, datum, stunde,einheit_kurzbz,unr,updateamum,updatevon, lehrform_kurzbz) ".
"VALUES ('".$_POST['stgid']."', '".$_POST['semester']."', '".$_POST['verband']."', '".$_POST['gruppe']."', '".$_POST['lehrfachid']."', '".$_POST['lektorid']."', '".$_POST['ortid']."', '$datum', $std,".($_POST['einheit_kurzbz']==-1?'NULL':"'".$_POST['einheit_kurzbz']."'").",".($_POST['unr']==-1?'NULL':$_POST['unr']).",now(),'".$_SERVER['PHP_AUTH_USER']."','".$_POST['lehrformid']."')";
echo $sql_query;
$result=pg_exec($conn, $sql_query);
if(!$result)
{
echo pg_errormessage()." ";
$error=true;
}
else
echo "Studiengang_ID: ".$_POST['stgid']." - Semester: ".$_POST['semester']." - Verband: ".$_POST['verband']." - Gruppe: ".$_POST['gruppe']." - Lehrfach_Nr: ".$_POST['lehrfachid']." - Lektor_ID: ".$_POST['lektorid']." - Lehrform: ".$_POST['lehrformid']." - Ort_ID: ".$_POST['ortid']." - Datum: $datum - Stunde: $std -- Eingefuegt! ";
}
if (!$error)
echo "Einfuegen erfolgreich abgeschlossen! ";
else
echo "Es ist ein Fehler aufgetreten! ";
}
}
?>