<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 02/2012
*
* Liste Raeume + Aenderungsform
*/
error_reporting(E_ALL ^ E_NOTICE);
session_start();
if (! isset($_SESSION["userid"]))
{
include_once ("inc/func_lib.inc.php");
login($_SERVER["PHP_SELF"]);
exit;
}
if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("rr",$_SESSION["recht"]) && !in_array("re",$_SESSION["recht"])))
{
header("Location: start.php");
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link href="css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
<link href="css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
<title>Reinigungsdaten edit</title>
</head>
<body onload="foc();">
<script>
function foc() {
if (document.getElementById('sub')) document.getElementById('sub').focus();
if (document.getElementById('filter')) document.getElementById('filter').focus();
// if (document.ffilter.filter.value > "") document.ffilter.filter.focus();
};
</script>
<?php
echo " ";
echo "<div class=\"float-br smaller\" valign='top'>";
echo " user: " . $_SESSION["userid"];
echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
echo "<div class=\"float-r\"><img src=\"img/house.png\" border=\"0\" alt=\"Raumdaten\" title=\"Raumdaten\"/></div>\n";
// Aenderungsformular
$raum = $_POST["raum"];
$rid = $_GET["i"];
if (!$rid) $rid = $_POST["i"];
if (!$rid) $rid=0;
$sub = $_POST["eintragen"]; // submit Raum-Form
$ok = $_POST["ok"];
if (!$raum['okn']) $ok=false;
// Felder, nach denen gefiltert werden kann
$fields = array(4=>"Gebäude",5=>"Raum-Typ",8=>"Reinigung-Typ",9=>"Reinigung-Kategorie",10=>"Reinigung-Turnus",11=>"Bodentyp");
$zeil = $_GET["z"];
if (!$zeil) $zeil = $_POST["z"];
if (!$zeil) $zeil = 25; // Anzahl der gezeigten Zeilen
$start = $_GET["st"];
if (!$start) $start = $_POST["st"];
if (!$start) $start=0;
$sort = $_GET["s"]; // Sortierung nach Spalte
if (!isset($sort) && !$sort) $sort = $_POST["s"];
$dir = $_GET["d"]; // Sortierrichtung
if (!isset($dir) && !$dir) $dir = $_POST["d"];
$fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
if (!isset($fnum) && !$fnum) $fnum = $_POST["f"];
$filter = $_POST["filter"];
if (!isset($filter) && !$filter) $filter = $_GET["b"];
$subf = $_POST["subf"]; // submit
if (!isset($fnum) || !$fnum) $fnum = 1;
if (!isset($filter) || !$filter) $filter = "";
if (!isset($sort) || !$sort) $sort = 2;
if (!isset($dir) || !$dir) $dir = "";
/*
$sql = "SELECT COUNT(*) AS anzr FROM fhiiqm.Raum";
$anz = $dbc -> querySingleItem($sql);
$sql = "SELECT raum_ID, raum_nr, raum_name, geb_ID, r.raumtyp_ID, raumtyp_bez, raum_flaeche, raum_file
FROM `fhiiqm`.`Raum` r LEFT OUTER JOIN fhiiqm.Raum_Typ t ON r.raumtyp_ID = t.raumtyp_ID
ORDER BY geb_ID, raum_nr LIMIT $start,20 ";
*/
include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
$dbc = new dbconnection();
if ($ok && $sub) // Daten Raum - Reinigung speichern
{
$stmt = $dbc -> stmtinit();
if (is_object($stmt))
{
if ($raum['reityp']== -1) $raum['reityp'] = null;
if ($raum['reikat']== -1) $raum['reikat'] = null;
if ($raum['reitur']== -1) $raum['reitur'] = null;
if ($raum['boden']== -1) $raum['boden'] = null;
// reinigung aendern
$stmt -> prepare("UPDATE fhiiqm.Raum SET
reinigung_typ_ID = ?,
reinigung_kat = ?,
reinigung_turnus_ID = ?,
boden_typ_ID = ?
WHERE raum_ID=?");
$stmt -> bind_param('ssdii',$raum['reityp'],$raum["reikat"],$raum["reitur"],$raum["boden"],$rid);
$res = $stmt -> execute();
if ($stmt->error) echo " UPDATE Raum, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
$stmt -> free_result(); // wegen weiterer query
$sql = "SELECT raum_nr, raum_name, geb_ID FROM fhiiqm.Raum WHERE raum_ID = " . $rid;
$result = $dbc -> queryObjectArray($sql);
foreach ($result as $ro)
{
if ($res)
{
echo "<p class='green'> <b>UPDATE: Daten zu Haus '".$ro->geb_ID.", ".$ro->raum_nr.", ".$ro->raum_name."' wurden erfolgreich gespeichert.</b></p>\n";
unset($raum);
$rid = 0;
$sub = 0;
}
else
echo "<p class='red'> <b>UPDATE: Daten zu Haus '".$ro->geb_ID.", ".$ro->raum_nr.", ".$ro->raum_name."' konnten nicht gespeichert werden!</b></p>\n";
}
}
}
// echo "sort=$sort, dir=$dir, fnum=$fnum, filter=$filter, start=$start, zeil=$zeil<br />";
$sql = "CALL raum_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,@anz);";
// Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, (StartNr DS) -1, Anzahl Zeilen=DS, Anzahl gefundener Raeume
// liefert: raum_ID, raum_nr, raum_name, geb_ID, raumtyp_bez, raum_flaeche, raum_file, reinigung_typ_ID, reinigung_typ_bez
// echo "sql = $sql<br />";
$result = $dbc ->queryObjectArray($sql);
if ($result)
{
$bg1 = "#F8F8F8";
$bg2 = "#DEDFE1";
$bg = "#FFFFFF";
echo "<div align='center'>\n";
echo "<p><b>Liste der erfassten Räume mit Reinigungsdaten</b></p>\n";
echo "<table border='0' cellspacing='0'>\n";
echo "<tr><td class='bigger'>Mittels '<img src='/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />'
können Sie nach jeder Spalte auf- bzw. absteigend sortieren</td></tr>
<tr><td class='bigger'>'<img src='/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' ermöglicht das Filtern nach ausgewählten Spalten der Liste</td></tr>
<tr><td> </td></tr>
<tr><td class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten der Reinigungs-Daten</td></tr>\n";
echo "</table>\n";
$ranz = $dbc -> querySingleItem("SELECT @anz");
printf ("<p>Es wurden %s Räume gefunden.</p>", $ranz);
if (isset($fnum) && $fnum>1 && !$filter && !$subf)
{
// Formular anzeigen fuer Filterbegriff
$text = $fields[$fnum];
$azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
echo "<form action=" . $_SERVER['PHP_SELF'] . " method='post' enctype='application/x-www-form-urlencoded' id='ffilter' name='ffilter' target='_self'>\n";
echo "<input type='hidden' name='s' value='$sort'>";
echo "<input type='hidden' name='d' value='$dir'>";
echo "<input type='hidden' name='f' value='$fnum'>";
echo "<table width=\"35%\" border=\"0\">\n";
echo "<tr><td>filtern nach $text: </td>";
echo "<td><input id='filter' name='filter' type=\"text\" size=\"30\" maxlength=\"30\" value=\"$filter\"/></td>";
echo "<td>Zeilen/Seite? <select name='z'>\n";
foreach ($azeil as $key=>$val)
{
if ($key == $zeil) $select = "selected"; else $select = "";
echo "<option $select value='$key'>$val</option>\n";
}
echo "</select></td>\n";
echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr></table>\n";
echo "</form>\n";
echo "<p> </p>\n";
}
echo "<table width='99%'>\n";
if ($filter>'!') echo "<tr><td class='bigger' colspan=6>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
// Listenkopf generieren
echo "<tr bgcolor='#68ACBF'>";
tab_column(2,"Raum-Nr.",$sort,$dir,0,$fnum,$filter,$start,$zeil);
tab_column(3,"Bezeichnung",$sort,$dir,0,$fnum,$filter,$start,$zeil);
tab_column(4,"Haus",$sort,$dir,4,$fnum,$filter,$start,$zeil);
tab_column(5,"Raum-Typ",$sort,$dir,5,$fnum,$filter,$start,$zeil);
tab_column(8,"Reinigungs-Typ",$sort,$dir,8,$fnum,$filter,$start,$zeil);
tab_column(9,"Reinig.-Kat.",$sort,$dir,9,$fnum,$filter,$start,$zeil);
tab_column(10,"Reinig.-Turn.",$sort,$dir,10,$fnum,$filter,$start,$zeil);
tab_column(11,"Boden-Typ",$sort,$dir,11,$fnum,$filter,$start,$zeil);
tab_column(12,"Reinig.Fl.(m<sup>2</sup>)",$sort,$dir,0,$fnum,$filter,$start,$zeil);
tab_column(6,"Fläche(m<sup>2</sup>)",$sort,$dir,0,$fnum,$filter,$start,$zeil);
tab_column(7,"Raumplan",$sort,$dir,0,$fnum,$filter,$start,$zeil);
echo "<th> </th></tr>\n";
// echo "<tr bgcolor='#68ACBF'><th>Raum-Nr.</th><th>Bezeichnung</th><th>Haus</th><th>Typ</th><th>Fläche (m<sup>2</sup>)</th><th>Raumplan</th><th> </th>
// </tr>\n";
foreach ($result as $row)
{
if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
if ($rid == $row->raum_ID) $bg = "#D6E6E6";
echo "<tr bgcolor='" . $bg . "'><td class='left'><b>$row->raum_nr</b></td>";
echo "<td>$row->raum_name</td>";
echo "<td>$row->geb_ID</td>";
echo "<td>$row->raumtyp_bez</td>";
if ($rid == $row->raum_ID)
{ //Aenderungsform
$okn = true;
if (!$raum['reityp']) $raum['reityp'] = $row->reinigung_typ_ID;
if (!$raum['reikat']) $raum['reikat'] = $row->reinigung_kat;
if (!$raum['reitur']) $raum['reitur'] = $row->reinigung_turnus_ID;
if (!$raum['boden']) $raum['boden'] = $row->boden_typ_ID;
echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='frr'>\n";
echo "<td class='red'><select name='raum[reityp]' id='rrtyp'>";
if (is_null($raum['reityp'])) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT reinigung_typ_ID, reinigung_typ_bez FROM fhiiqm.Reinigung_Typ ORDER BY 1";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $ro)
{
if ($ro->reinigung_typ_ID == $raum['reityp'])
echo "<option selected value=\"$ro->reinigung_typ_ID\">$ro->reinigung_typ_ID: $ro->reinigung_typ_bez</option>\n";
else
echo "<option value=\"$ro->reinigung_typ_ID\">$ro->reinigung_typ_ID: $ro->reinigung_typ_bez</option>\n";
}
}
echo "</select><br />";
echo "<input type=\"hidden\" name=\"raum[okn]\" value=\"$okn\"/>\n";
echo "<input type=\"hidden\" name=\"i\" value=\"$rid\"/>\n"; // nur gewaehlte Raum-ID
echo "<input type='hidden' name='s' value='$sort'>\n";
echo "<input type='hidden' name='d' value='$dir'>\n";
echo "<input type='hidden' name='f' value='$fnum'>\n";
echo "<input type='hidden' name='filter' value='$filter'>\n";
echo "<input type='hidden' name='st' value='$start'>\n";
echo "<input type='hidden' name='z' value='$zeil'>\n";
echo "<input type='hidden' name='subf' value='finden'>\n";
if ($sub)
{
$frage = "Alle Angaben ok?";
echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
if ($ok) echo "checked=\"checked\"";
echo "/> ";
}
echo "<input class=\"button\" type=\"submit\" name=\"eintragen\" id=\"sub\" value=\"eintragen\" /></td>";
}
else
{
if ($row->reinigung_typ_ID)
echo "<td>$row->reinigung_typ_ID: $row->reinigung_typ_bez</td>";
else echo "<td> </td>";
}
if ($rid == $row->raum_ID)
{ //Aenderungsform
echo "<td><select name='raum[reikat]'>";
if (is_null($raum['reikat'])) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SHOW COLUMNS FROM Raum WHERE Field = 'reinigung_kat'";
if ($result = $dbc->queryRow($sql))
{
foreach ($result as $ro)
$arr=explode("','",preg_replace("/(enum|set)\('(.+?)'\)/","\\2",$ro[1]));
foreach ($arr as $kat)
{
if ($kat == $raum["reikat"])
echo "<option selected value=\"$kat\">$kat</option>\n";
else
echo "<option value=\"$kat\">$kat</option>\n";
}
}
echo "</select></td>";
}
else
{
if ($row->reinigung_kat)
echo "<td>$row->reinigung_kat</td>";
else echo "<td> </td>";
}
if ($rid == $row->raum_ID)
{
echo "<td><select name='raum[reitur]'>";
if (is_null($raum['reitur'] == -1)) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT reinigung_turnus_ID, reinigung_turnus_bez FROM fhiiqm.Reinigung_Turnus ORDER BY 1";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $ro)
{
if ($ro->reinigung_turnus_ID == $raum['reitur'])
echo "<option selected value=\"$ro->reinigung_turnus_ID\">$ro->reinigung_turnus_bez</option>\n";
else
echo "<option value=\"$ro->reinigung_turnus_ID\">$ro->reinigung_turnus_bez</option>\n";
}
}
echo "</select></td>";
}
else
{
if ($row->reinigung_turnus_bez)
echo "<td>$row->reinigung_turnus_bez</td>";
else echo "<td> </td>";
}
if ($rid == $row->raum_ID)
{
echo "<td><select name='raum[boden]'>";
if (is_null($raum['boden'])) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT boden_typ_ID, boden_typ_bez FROM fhiiqm.Boden_Typ ORDER BY 2";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $ro)
{
if ($ro->boden_typ_ID == $raum['boden'])
echo "<option selected value=\"$ro->boden_typ_ID\">$ro->boden_typ_bez</option>\n";
else
echo "<option value=\"$ro->boden_typ_ID\">$ro->boden_typ_bez</option>\n";
}
}
echo "</select></td>";
echo "</form>\n";
}
else
{
if ($row->boden_typ_bez)
echo "<td>$row->boden_typ_bez</td>";
else echo "<td> </td>";
}
if ($row->reinigung_flaeche)
echo "<td class='right'>" . number_format($row->reinigung_flaeche,2,',','') . "</td>";
else echo "<td> </td>";
echo "<td class='right'>" . str_replace(".",",",$row->raum_flaeche) . "</td>";
if (file_exists("raeume/".$row->raum_file))
{
$raum_file = substr($row->raum_file,strpos($row->raum_file,"_")+1);
echo "<td><a href=\"raeume/$row->raum_file\">$raum_file</td>";
}
else
echo "<td>$row->raum_file</td>";
if ($rid == $row->raum_ID)
echo "<td> </td></tr>\n";
else
echo "<td><a href='".$_SERVER["PHP_SELF"]."?i=$row->raum_ID&s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil'>
<img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td></tr>\n";
}
echo "</table></div>\n";
echo "<br /> ";
// Sortierung und Filter aus $_GET fuer weitere Seiten
foreach ($_GET as $key=>$val)
{
if ($key != "st") $liste .= "&" . $key ."=".$val;
}
// Sortierung und Filter aus $_POST fuer weitere Seiten
if ($subf)
foreach ($_POST as $key=>$val)
{
if ($key != "st" && $key != "subf" && $key != "filter") $liste .= "&" . $key ."=".$val;
if ($key == "filter") $liste .= "&b=" . $val;
}
// Links auf andere Seiten generieren
liste_links($start,$zeil,$ranz,$liste);
}
else
{
if ($dbc -> error)
echo "error: " . $dbc -> error . "<br />\n";
else
{
echo "<p class='red'> Leider nichts gefunden für ". $fields["$fnum"] . " wie '$filter'!</p><br />";
echo " <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Raumliste\">Raumliste</a></p>\n";
}
}
$dbc -> close();
// echo "<br />rid = $rid, row[raum_ID] = $row->raum_ID<br />";
if (!is_null($_SESSION["recht"]) && in_array("re",$_SESSION["recht"]))
echo "<p> <a href=\"raum_ins.php\" target=\"_self\" title=\"Raum erfassen\" class=\"sc\">Weiteren Raum erfassen</a></p>\n";
?>
</body>
</html>