fhiiqm/raum_flist_ed.php
changeset 23 a382de56a8e4
child 24 15f33315f045
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/raum_flist_ed.php	Mon Feb 06 13:44:00 2012 +0100
@@ -0,0 +1,289 @@
+<?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>Raumliste edit</title>
+</head>
+
+<body onload="document.ffilter.filter.focus();">
+    
+<?php
+    echo "&nbsp;";  
+    echo "<div class=\"float-br smaller\" valign='top'>";
+    echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
+    echo "&nbsp;&nbsp;&nbsp;<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");
+
+    $zeil = $_GET["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 - Reinigungstyp speichern
+    {
+            $stmt = $dbc -> stmtinit();
+            if (is_object($stmt))
+            {
+                if ($raum['reityp']== -1) $raum['reityp'] = null;
+                // reinigung_typ_ID aendern
+                $stmt -> prepare("UPDATE fhiiqm.Raum SET reinigung_typ_ID = ? WHERE raum_ID=?");
+                $stmt -> bind_param('si',$raum['reityp'],$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&auml;ume</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&ouml;glicht das Filtern nach ausgew&auml;hlten Spalten der Liste</td></tr>
+            <tr><td>&nbsp;</td></tr>
+            <tr><td class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten des Reinigungs-Typs</td></tr>\n";
+        echo "</table>\n";
+
+        $ranz = $dbc -> querySingleItem("SELECT @anz");
+        printf ("<p>Es wurden %s R&auml;ume gefunden.</p>", $ranz);
+
+        if (isset($fnum) && $fnum>1 && !$filter && !$subf)
+        {
+            // Formular anzeigen fuer Filterbegriff
+            $text = $fields[$fnum];
+            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=\"30%\" 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><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr></table>\n";
+            echo "</form>\n";
+            echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
+        }
+        echo "<table>\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(6,"Fl&auml;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>&nbsp;</th></tr>\n";
+        
+//        echo "<tr bgcolor='#68ACBF'><th>Raum-Nr.</th><th>Bezeichnung</th><th>Haus</th><th>Typ</th><th>Fl&auml;che (m<sup>2</sup>)</th><th>Raumplan</th><th>&nbsp;</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, nur Reinigungstyp-Eintrag
+                $okn = true;
+                if (!$raum['reityp']) $raum['reityp'] = $row->reinigung_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]'>";
+                if ($raum['reityp'] == -1) $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'>";
+                echo "<input type='hidden' name='d' value='$dir'>";
+                echo "<input type='hidden' name='f' value='$fnum'>";
+                echo "<input type='hidden' name='filter' value='$filter'>";
+                echo "<input type='hidden' name='st' value='$start'>";
+                echo "<input type='hidden' name='subf' value='finden'>";
+              	if ($sub)
+                {
+                    $frage = "Alle Angaben ok?";
+                	echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
+                	        if ($ok)  echo "checked=\"checked\"";
+                    echo "/>&nbsp;&nbsp;&nbsp;"; 
+                }
+                echo "<input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";    
+                echo "</form>\n";
+            }
+            else
+            {
+                if ($row->reinigung_typ_ID)
+                    echo "<td>$row->reinigung_typ_ID: $row->reinigung_typ_bez</td>";
+                else echo "<td>&nbsp;</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>&nbsp;</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'>
+                    <img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td></tr>\n";
+        }
+        echo "</table></div>\n";
+
+        echo "<br />&nbsp;&nbsp;&nbsp;";
+        
+        // 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'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!</p><br />";
+            echo "&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Raumliste\">Raumliste</a></p>\n";
+        }
+        
+    }
+    $dbc -> close();
+
+    if (!is_null($_SESSION["recht"]) && in_array("re",$_SESSION["recht"]))
+        echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"raum_ins.php\" target=\"_self\" title=\"Raum erfassen\" class=\"sc\">Weiteren Raum erfassen</a></p>\n";    
+
+?>
+</body>
+</html>
\ No newline at end of file