<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 10/2012
*
* UPDATE(/DELETE) Raum-Verantwortliche
*/
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("ddr",$_SESSION["recht"]) && !in_array("dde",$_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>Aktualisieren Raum-Verantwortliche</title>
</head>
<body>
<script type="text/javascript">
<!--
var counter = 0;
var limit = 99;
var arr = new Array();
function addInput(divName){
if (counter == limit) {
alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
}
else {
var newdiv = document.createElement('div');
var count;
var opt="<option value='-1'></option>";
for (var key in arr)
{
opt = opt.concat("<option value='",key,"'>",arr[key],"</option>\n" );
}
opt += "</select>\n";
newdiv.innerHTML += "<select name='raum[ma][]'>"+opt;
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
function delInput(divId){
var kn = document.getElementById(divId);
while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SELECT" && kn.lastChild.nodeName != "A")
{
// alert ("vor "+kn.lastChild.nodeName+", nodetyp = "+ kn.lastChild.nodeType);
var knc = kn.lastChild;
document.getElementById(divId).removeChild(knc);
}
if (kn.lastChild.nodeName == "SELECT") document.getElementById(divId).removeChild(kn.lastChild);
}
//-->
</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 bearbeiten\" title=\"Raumdaten bearbeiten\"/></div>\n";
include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
$dbc = new dbconnection();
$rid = $_GET["i"];
if (!$rid) $rid=1;
$zeil = $_GET["z"];
$start = $_GET["st"];
$geb = $_GET["b"];
$ok = $_POST["ok"];
$sub = $_POST["sub"];
$raum = $_POST["raum"];
// print_r($raum);
// echo "<br><br>\n";
echo "<div align=\"center\"><h3>Raum - Verantwortliche editieren</h3></div>\n";
$liste="?st=$start&z=$zeil&s=2&f=2&b=$geb"; //Link fuer Raumliste
if (!$sub || !isset($raum) || !$ok )
{
if (!$sub && !isset($raum))
{
$sql = "SELECT persknr FROM Raum_MA WHERE raum_ID = $rid";
if ($res = $dbc ->queryObjectArray($sql))
{
foreach ($res as $row)
$raum["ma"][] = $row->persknr;
}
}
$sql = "SELECT raum_ID,raum_nr,raum_name,geb_ID,raumtyp_ID,raum_flaeche,raum_file
FROM fhiiqm.Raum WHERE raum_ID = $rid";
if ($result = $dbc ->queryObjectArray($sql))
{
foreach ($result as $row)
{
$raum['rnum'] = $row->raum_nr;
$raum['rbez'] = $row->raum_name;
$raum['geb'] = $row->geb_ID;
$raum['rtyp'] = $row->raumtyp_ID;
$raum['rflae'] = str_replace(".",",",$row->raum_flaeche);
$raum['rfname'] = $row->raum_file;
}
}
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_info" target="_self">
<div align="center">
<table width="30%" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>Haus</td>
<td bgcolor="#D6E6E6"><?php echo $raum['geb']; ?>
</td>
</tr>
<tr>
<td>Raum-Nummer</td>
<td bgcolor="#D6E6E6"><?php echo $raum['rnum']; ?>
</td>
</tr>
<tr>
<td>Raum-Bezeichnung</td>
<td bgcolor="#D6E6E6"><?php echo $raum['rbez']; ?>
</td>
</tr>
<tr>
<td>Raum-Typ</td>
<td bgcolor="#D6E6E6"><?php echo $raum['rtyp']; ?>
</td>
</tr>
<tr>
<td>Raum-Fläche (m<sup>2</sup>)</td>
<td bgcolor="#D6E6E6"><?php echo $raum['rflae']; ?>
</tr>
<tr>
<td>Raumplan</td>
<td bgcolor="#D6E6E6"><?php if ($raum['rfname']>='!' && file_exists("raeume/".$raum['rfname']))
echo "<a href='raeume/" . $raum['rfname'] ."'>" . substr($raum['rfname'],strpos($raum['rfname'],"_")+1) . "</a>";
?>
</td>
</tr>
<tr>
<td>Verantwortliche *
<br /> leeres Feld = Löschen
</td>
<td bgcolor="#D6E6E6">
<div id="add">
<select name="raum[ma][]" size="1">
<?php
$select = null;
$select = ( "-1"==$ap['gf'][0] ) ? ' selected' : null;
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT persknr, CONCAT (nachname, ', ',vorname, ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE 'inaktiv' END, ')') as ma
FROM fhiiqm.Mitarbeiter m LEFT OUTER JOIN fhiiqm.Abteilung a ON m.abt_tel=a.abt_ID
WHERE aktiv < 2
ORDER BY 2";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $row)
{
$select = ( $row->persknr===$raum['ma'][0] ) ? ' selected' : null;
echo "<option $select value=\"$row->persknr\">$row->ma</option>\n";
$sgf .= "'".$row->persknr."':'".$row->ma."',";
}
}
$sgf = substr($sgf,0,strlen($sgf)-1);
?>
</select>
<script type="text/javascript">
<!--
arr = {<?php echo ($sgf); ?>}; // Ergebnis: {'key':'value','key':'value',...}
//-->
</script>
<a href="<?php echo "javascript:addInput('add');" ?>" title="weiterer Verantwortlicher"><img src="/fhiiqm/img/add.png" /></a>
<a href="<?php echo "javascript:delInput('add');" ?>" title="löschen letzten Verantwortlichen"><img src="/fhiiqm/img/delete.png" /></a><br />
<?php
if ($rid || ($sub && isset($raum) && !$ok))
{
if (count($raum['ma'])>1)
{
$i=0;
foreach ($raum['ma'] as $mae)
{
if ($i>0)
{
echo "<select name=\"raum[ma][]\" size=\"1\">";
$select = ( "-1" == $mae ) ? ' selected' : null;
echo "<option $select value=\"-1\"></option>\n";
foreach ($result as $row)
{
$select = ( $row->persknr === $mae ) ? ' selected' : null;
echo "<option $select value=\"$row->persknr\">$row->ma</option>\n";
}
echo "</select><br/>\n";
}
$i++;
}
}
}
?>
</div>
</td>
</tr>
<?php
if ($sub)
{
$frage = "Alle Angaben ok?";
echo "<tr>
<td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
<td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
if ($ok) echo "checked";
echo " /></td>\n</tr>\n";
}
if (!is_null($_SESSION["recht"]) && in_array("dde", $_SESSION["recht"]))
{
echo "<tr>\n";
echo "
<td> </td>
<td><input class=\"button\" type=\"submit\" value=\"ändern\" name=\"sub\" title=\"update\" /></td>\n";
echo "</tr>\n";
}
echo "</table>\n";
echo "</div>\n";
echo "<p class='sc'> <a href=\"raum_vma_flist.php$liste\" target=\"_self\" title=\"Raumliste\">« zur Raumliste</a></p>\n";
echo "</form>\n";
}
elseif ($ok && $sub)
{
echo "<div align='center'>\n";
//daten speichern
//UPDATE Raum
if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
$stmt = $dbc -> stmtinit();
if (is_object($stmt))
{
$retd = 1;
if ($rid && is_array($raum['ma']))
{ //UPDATE
// Loeschen alte Raumverantwortliche
$retd = $dbc -> execute("DELETE FROM Raum_MA WHERE raum_ID = ". $rid);
}
if ($retd && is_array($raum['ma']))
{
$retv = 1;
$stmt -> prepare("INSERT INTO Raum_MA (raum_ID,persknr) VALUES(?,?)");
for ($k=0; $k<count($raum["ma"]); $k++)
{
if ($raum["ma"][$k] && $raum["ma"][$k] != -1)
{
$stmt -> bind_param('ii',$rid,$raum["ma"][$k]);
$retv = $stmt -> execute();
if (!$retv) $retv = false;
}
}
if (!$retv) echo "error INSERT Raumverantwortliche: $stmt->error<br />\n";
}
}
// echo "UPDATE-sql = $sql<br />\n";
if ($retv)
{//Eingabe Daten erfolgreich
echo "<p class='green'><b>Raumverantwortliche zu ID '$rid' wurden erfolgreich gespeichert.</b></p>\n";
echo "<br />\n";
// Anzeigen gespeicherter Verantwortlichen
echo "<table>";
$sql = "SELECT r.raum_ID,geb_ID, raum_nr, raum_name,
CONCAT (nachname, ', ',vorname, ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE 'inaktiv' END, ')') as ma
FROM Raum r LEFT OUTER JOIN Raum_MA rm ON r.raum_ID=rm.raum_ID
LEFT OUTER JOIN fhiiqm.Mitarbeiter m ON rm.persknr=m.persknr
LEFT OUTER JOIN fhiiqm.Abteilung a ON m.abt_tel=a.abt_ID
WHERE r.raum_ID = $rid
ORDER BY 5";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $row)
{
if (!$first && $row->raum_ID != $vrid)
{
echo "<tr><td>Haus: </td><td>$row->geb_ID</td></tr>\n";
echo "<tr><td>Raum: </td><td>$row->raum_nr, $row->raum_name</td></tr>\n";
echo "<tr><td>Verantwortliche(r): </td><td>$row->ma";
$first=1;
}
elseif ($row->raum_ID == $vrid && $row->ma >"")
echo "<br />$row->ma";
$vrid = $row->raum_ID;
}
}
echo "</td></tr></table>\n";
}
}
if ($ok && ($sub))
{
// Raumliste filtern mit zuletzt eingegeben Haus
echo "</div><br /><br />\n";
echo "<p class='sc'> <a href=\"raum_vma_flist.php$liste\" target=\"_self\" title=\"Raumliste\">Zurück zur Raumliste</a></p>\n";
}
?>
</body>
</html>