* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
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 * FROM tbl_studiengang WHERE studiengang_kz>0 ORDER BY kurzbz";
$result_stg=$db->db_query($sql_query);
if(!$result_stg)
die("studiengang not found! ".$db->db_last_error());
$type=(isset($_REQUEST['type'])?$_REQUEST['type']:'');
$mode=(isset($_REQUEST['mode'])?$_REQUEST['mode']:'');
$stg_kz=(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'0');
$tagv=(isset($_REQUEST['tagv'])?$_REQUEST['tagv']:'1');
$monatv=(isset($_REQUEST['monatv'])?$_REQUEST['monatv']:'1');
$jahrv=(isset($_REQUEST['jahrv'])?$_REQUEST['jahrv']:date('Y'));
$tagb=(isset($_REQUEST['tagb'])?$_REQUEST['tagb']:'31');
$monatb=(isset($_REQUEST['monatb'])?$_REQUEST['monatb']:'12');
$jahrb=(isset($_REQUEST['jahrb'])?$_REQUEST['jahrb']:date('Y'));
if ($mode=='del')
{
$sql_query="DELETE FROM lehre.tbl_stundenplan WHERE studiengang_kz=$stg_kz AND datum>='$jahrv-$monatv-$tagv' AND datum<='$jahrb-$monatb-$tagb'";
//echo $sql_query.'
';
if ($result=$db->db_query($sql_query))
$anz=$db->db_affected_rows($result);
else
$anz=0;
echo $anz.' Records deleted! '.$db->db_last_error().'
';
}
?>
Delete Stundenplan
Delete from Stundenplan
";
echo "Kontrolle auf Doppelbelegungen! ... ";
// checken auf Ort
$date[mday]=$tag; $date[mon]=$monat; $date[year]=$jahr;
$datum=$jahr."-".$monat."-".$tag;
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*$rythmus));
$datum=$date[year]."-".$date[mon]."-".$date[mday];
}
$sql_query="SELECT id FROM stundenplan WHERE datum='$datum' AND stunde_id='$std' AND ort_id='$ortid'";
$result=$db->db_query($sql_query);
if($result && ($db->db_num_rows($result)>0))
{
echo "error!
Doppelbelegung gefunden auf Ort=$ortid Datum=$datum Stunde=$stunde!
";
$error=true;
}
}
// checken auf Lehrfach
$date[mday]=$tag; $date[mon]=$monat; $date[year]=$jahr;
$datum=$jahr."-".$monat."-".$tag;
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*$rythmus));
$datum=$date[year]."-".$date[mon]."-".$date[mday];
}
$sql_query="SELECT id FROM stundenplan WHERE datum='$datum' AND stunde_id='$std' AND lehrfach_id='$lehrfachid'";
$result=$db->db_query($sql_query);
if($result && ($db->db_num_rows($result)>0))
{
echo "error!
Doppelbelegung gefunden auf Lehrfach=$lehrfachid Datum=$datum Stunde=$stunde!
";
$error=true;
}
}
// checken auf Verband
$date[mday]=$tag; $date[mon]=$monat; $date[year]=$jahr;
$datum=$jahr."-".$monat."-".$tag;
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*$rythmus));
$datum=$date[year]."-".$date[mon]."-".$date[mday];
}
$sql_query="SELECT semester, verband, gruppe, studiengang_kz FROM tbl_stundenplan WHERE datum='$datum' AND stunde_id='$std' AND studiengang_kz='$stg_kz' AND semester='$semester' AND (verband='$verband' OR verband=NULL) AND (gruppe='$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 - StudiengangID=$row->studiengang_id - Semester=$row->semester Verband=$row->verband Gruppe=$row->gruppe!
";
$error=true;
}
}
// checken auf Ort im Einheitenplan
$date[mday]=$tag; $date[mon]=$monat; $date[year]=$jahr;
$datum=$jahr."-".$monat."-".$tag;
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*$rythmus));
$datum=$date[year]."-".$date[mon]."-".$date[mday];
}
$sql_query="SELECT id FROM einheitenplan WHERE datum='$datum' AND stunde_id='$std' AND ort_id='$ortid'";
$result=$db->db_query($sql_query);
if($result && ($db->db_num_rows($result)>0))
{
echo "error!
Doppelbelegung gefunden im Einheitenplan auf Ort=$ortid Datum=$datum Stunde=$stunde!
";
$error=true;
}
}
// checken auf Lehrfach im Einheitenplan
$date[mday]=$tag; $date[mon]=$monat; $date[year]=$jahr;
$datum=$jahr."-".$monat."-".$tag;
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*$rythmus));
$datum=$date[year]."-".$date[mon]."-".$date[mday];
}
$sql_query="SELECT id FROM einheitenplan WHERE datum='$datum' AND stunde_id='$std' AND lehrfach_id='$lehrfachid'";
$result=$db->db_query($sql_query);
if($result && ($db->db_num_rows($result)>0))
{
echo "error!
Doppelbelegung gefunden im Einheitenplan auf Lehrfach=$lehrfachid Datum=$datum Stunde=$stunde!
";
$error=true;
}
}
//Einfügen in die Datenbank
if (!$error)
{
echo "OK!
";
$date[mday]=$tag; $date[mon]=$monat; $date[year]=$jahr;
$datum=$jahr."-".$monat."-".$tag;
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*$rythmus));
$datum=$date[year]."-".$date[mon]."-".$date[mday];
}
if (($verband=='0') && ($gruppe==0))
$sql_query="INSERT INTO stundenplan (studiengang_id, semester, verband, gruppe, lehrfach_id, ort_id, datum, stunde_id) VALUES ('$stgid', '$semester', NULL, NULL, '$lehrfachid', '$ortid', '$datum', '$std')";
elseif ($gruppe=0)
$sql_query="INSERT INTO stundenplan (studiengang_id, semester, verband, gruppe, lehrfach_id, ort_id, datum, stunde_id) VALUES ('$stgid', '$semester', '$verband', NULL, '$lehrfachid', '$ortid', '$datum', '$std')";
else
$sql_query="INSERT INTO stundenplan (studiengang_id, semester, verband, gruppe, lehrfach_id, ort_id, datum, stunde_id) VALUES ('$stgid', '$semester', '$verband', '$gruppe', '$lehrfachid', '$ortid', '$datum', '$std')";
//echo $sql_query;
$result=$db->db_query($sql_query);
if(!$result)
{
echo $db->db_last_error()."
";
$error=true;
}
else
echo "Studiengang_ID: $stgid - Semester: $semester - Verband: $verband - Gruppe: $gruppe - Lehrfach_ID: $lehrfachid - Ort_ID: $ortid - Datum: $datum - Stunde: $std -- Eingefuegt!
";
}
if (!$error)
echo "Einfügen erfolgreich abgeschlossen!
";
else
echo "Es ist ein Fehler aufgetreten!
";
}
}
?>