This commit is contained in:
Andreas Österreicher
2008-05-06 14:06:27 +00:00
parent bd162b6c72
commit 7283c01f89
2 changed files with 103 additions and 32 deletions
+91 -21
View File
@@ -41,6 +41,35 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Reservierungsliste</title>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script language="Javascript">
function checkdata()
{
if(document.getElementById("datum").value=="")
{
alert("Es muss ein Datum eingegeben werden");
return false;
}
datum = document.getElementById("datum").value
if(datum.length!=10)
{
alert("Das angegebene Datum ist ungueltig! Bitte geben Sie das Datum im Format dd.mm.YYYY (31.12.2008) ein");
return false;
}
if(document.getElementById("vonzeit").value=="")
{
alert("VON-Zeit muss eingegeben werden");
return false;
}
if(document.getElementById("biszeit").value=="")
{
alert("BIS-Zeit muss eingegeben werden");
return false;
}
return true;
}
</script>
</head>
<body id="inhalt">
<H2><table class="tabcontent">
@@ -52,10 +81,10 @@ echo '
</H2>
';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
Datum* <input type="text" name="datum" size="10" value="'.$datum.'">
Von* <input type="text" name="vonzeit" size="5" value="'.$vonzeit.'">
Bis* <input type="text" name="biszeit" size="5" value="'.$biszeit.'">
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST" onsubmit="return checkdata()">
Datum* <input type="text" name="datum" id="datum" size="10" value="'.$datum.'">
Von* <input type="text" name="vonzeit" id="vonzeit" size="5" value="'.$vonzeit.'">
Bis* <input type="text" name="biszeit" id="biszeit" size="5" value="'.$biszeit.'">
Raumtyp: <SELECT name="raumtyp">
<OPTION value="">Alle</OPTION>';
$raumtyp_obj = new raumtyp($conn);
@@ -76,24 +105,65 @@ echo ' </SELECT>
</form>';
if($sent)
{
$ort = new ort($conn);
$ort->search($datum, $vonzeit, $biszeit, $raumtyp, $anzahlpersonen, true);
echo '<br><table>';
echo '<tr class="liste"><td>Raum</td><td>Bezeichnung</td><td>Nummer</td><td>Personen</td><td>Reservieren</td></tr>';
$i=0;
$datum_sec = $datum_obj->mktime_datum($datum);
foreach ($ort->result as $row)
$error=false;
if($datum=='')
{
$i++;
echo '<tr class="liste'.($i%2).'">';
echo "<td>$row->ort_kurzbz</td>";
echo "<td>$row->bezeichnung</td>";
echo "<td>$row->planbezeichnung</td>";
echo "<td>$row->max_person</td>";
echo "<td><a href='stpl_week.php?type=ort&ort_kurzbz=$row->ort_kurzbz&datum=".$datum_sec."' class='Item'>Reservieren</a></td>";
echo '</tr>';
echo "<br>Es muss ein Datum angegeben werden";
$error = true;
}
if($vonzeit=='')
{
echo "<br>VON-Zeit muss angegeben werden";
$error = true;
}
if($biszeit=='')
{
echo "<br>BIS-Zeit muss angegeben werden";
$error = true;
}
if(!$error)
{
//Von Zeit pruefen
if(!preg_match('/^[1-9]{2}:[0-9]{2}$/', $vonzeit))
{
echo "<br>VON-Zeit muss im Format hh:mm (12:30) angegeben werden";
$error = true;
}
//Bis Zeit pruefen
if(!preg_match('/^[1-9]{2}:[0-9]{2}$/', $biszeit))
{
echo "<br>BIS-Zeit muss im Format hh:mm (12:30) angegeben werden";
$error = true;
}
//Datum pruefen
if(!preg_match('/^([0-9]){2}\.([0-9]){2}\.([0-9]){4}$/', $datum))
{
echo "<br>Das angegebene Datum ist ungueltig! Bitte geben Sie das Datum im Format dd.mm.YYYY (31.12.2008) ein";
$error = true;
}
}
if(!$error)
{
$ort = new ort($conn);
$ort->search($datum, $vonzeit, $biszeit, $raumtyp, $anzahlpersonen, true);
echo '<br><table>';
echo '<tr class="liste"><td>Raum</td><td>Bezeichnung</td><td>Nummer</td><td>Personen</td><td>Reservieren</td></tr>';
$i=0;
$datum_sec = $datum_obj->mktime_datum($datum);
foreach ($ort->result as $row)
{
$i++;
echo '<tr class="liste'.($i%2).'">';
echo "<td>$row->ort_kurzbz</td>";
echo "<td>$row->bezeichnung</td>";
echo "<td>$row->planbezeichnung</td>";
echo "<td>$row->max_person</td>";
echo "<td><a href='stpl_week.php?type=ort&ort_kurzbz=$row->ort_kurzbz&datum=".$datum_sec."' class='Item'>Reservieren</a></td>";
echo '</tr>';
}
echo '</table>';
}
echo '</table>';
}
?>
+12 -11
View File
@@ -311,9 +311,9 @@ class ort
//stundevon ermitteln
$qry = "SELECT stunde FROM (
SELECT stunde, extract(epoch from (beginn-('$zeit_von'::time))) AS delta FROM lehre.tbl_stunde
SELECT stunde, extract(epoch from (beginn-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
UNION
SELECT stunde, extract(epoch from (ende-('$zeit_von'::time))) AS delta FROM lehre.tbl_stunde
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_von)."'::time))) AS delta FROM lehre.tbl_stunde
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
if($result = pg_query($this->conn, $qry))
@@ -322,9 +322,9 @@ class ort
//stundebis ermitteln
$qry = "SELECT stunde FROM (
SELECT stunde, extract(epoch from (beginn-('$zeit_bis'::time))) AS delta FROM lehre.tbl_stunde
SELECT stunde, extract(epoch from (beginn-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
UNION
SELECT stunde, extract(epoch from (ende-('$zeit_bis'::time))) AS delta FROM lehre.tbl_stunde
SELECT stunde, extract(epoch from (ende-('".addslashes($zeit_bis)."'::time))) AS delta FROM lehre.tbl_stunde
) foo WHERE delta>=0 ORDER BY delta LIMIT 1;";
if($result = pg_query($this->conn, $qry))
@@ -338,21 +338,22 @@ class ort
public.tbl_ort JOIN public.tbl_ortraumtyp USING(ort_kurzbz)
WHERE
aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%'";
if($reservierung)
$qry.=" AND reservieren";
//derzeit noch nicht in verwendung
//if($reservierung)
// $qry.=" AND reservieren";
if($raumtyp!=null)
$qry.=" AND raumtyp_kurzbz='$raumtyp'";
$qry.=" AND raumtyp_kurzbz='".addslashes($raumtyp)."'";
if($anzpersonen!=null)
$qry.=" AND (max_person>='$anzpersonen' OR max_person is null)";
$qry.=" AND (max_person>='".addslashes($anzpersonen)."' OR max_person is null)";
$qry.=" AND ort_kurzbz NOT IN
(
SELECT ort_kurzbz FROM lehre.tbl_$db_table WHERE datum='$datum' AND stunde>='$stundevon' AND stunde<='$stundebis'
SELECT ort_kurzbz FROM lehre.tbl_$db_table WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
UNION
SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum='$datum' AND stunde>='$stundevon' AND stunde<='$stundebis'
SELECT ort_kurzbz FROM campus.tbl_reservierung WHERE datum='".addslashes($datum)."' AND stunde>='".addslashes($stundevon)."' AND stunde<='".addslashes($stundebis)."'
)
";
//echo $qry;
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))