fhiiqm/raum_upd.php
author schwarzer@hyperion.rz-berlin.mpg.de
Mon, 01 Jul 2013 14:36:18 +0200
changeset 38 45c139f74ea4
parent 34 fc60ef80a7ad
permissions -rw-r--r--
+ Laborinfo; Keytyp-Verwaltung

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 07/2011
 *
 * UPDATE(/DELETE) Raumdaten   
 */

    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>Aktualisieren Raumdaten</title>
</head>

<body> 
    
<?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 bearbeiten\" title=\"Raumdaten bearbeiten\"/></div>\n";
    
	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
	$dbc = new dbconnection();
    
    $rid    = $_GET["uid"];
    $start  = $_GET["st"];
    $zeil   = $_GET["z"];
	$sort   = $_GET["s"];   // Sortierung nach Spalte
    $dir    = $_GET["d"];   // Sortierrichtung
    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
    $filter = $_GET["b"];   // Filterbegriff
    // $_GET-Parameter zurück zur Raumliste mit den selben Einstellungen wie zuvor
    $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";

    if (!$rid) $rid=1;
	$ok		= $_POST["ok"];
	$upd	= $_POST["upd"];
    $del    = $_POST["del"];
    $raum    = $_POST["raum"];
    if (!$raum['okn']) $ok=false;
    
//    print_r($raum);
//    echo "<br><br>\n";
//    echo "Vertragsbezeichnung: " . $raum['cname'] ."<br><br>\n";
    
    if ($_FILES["rfile"]["error"] == 1 || $_FILES["rfile"]["error"] == 2)
    {
        if ($_FILES["rfile"]["error"] == 2)
            echo "<p class='red'><b>Uploadfile zu ID '$rid' > 10 MByte!</b></p>\n";
        $ok = 0;
    }
    if ((!$ok && ((!$upd && !$del) || $upd || $del)) || ($upd && is_uploaded_file($_FILES["rfile"]["tmp_name"]) && $raum['rfname']<'!'))
    {
        if (!$upd && !$del)
        {
            $sql = "SELECT raum_ID,raum_nr,raum_name,geb_ID,raumtyp_ID,reinigung_typ_ID,raum_flaeche,raum_file,
                    reinigung_kat,reinigung_turnus_ID,boden_typ_ID,raum_bem 
                    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['reityp']     = $row->reinigung_typ_ID;
                    $raum['rflae']      = str_replace(".",",",$row->raum_flaeche);
                    $raum['rfname']     = $row->raum_file;
                    $raum['reikat']     = $row->reinigung_kat;
                    $raum['reitur']     = $row->reinigung_turnus_ID;
                    $raum['boden']      = $row->boden_typ_ID;
//                    $raum['bem']        = $row->raum_bem;
                }  
            }
        }

        include_once("form/raum_form.inc.php");
        
        if ($upd)
		{
            echo            
            "<tr>
        		<td>Upload Raumplan </td>
        		<td><input type=\"file\" name=\"rfile\" size=\"50\" maxlength=\"50\" value=\"" .
            $_FILES["rfile"]["name"] . "\"/></td>
            </tr>";
    
		}
	  	if ($upd || $del)
        {
            if ($upd)
              $frage = "Alle Angaben ok?<br>
              erst wenn Haken gesetzt, Upload-File w&auml;hlen!";
            elseif ($del)
                $frage = "Raum wirklich l&ouml;schen?";
    		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("re", $_SESSION["recht"]))
        {
    		echo "<tr>\n";
    		echo "
    		  <td>&nbsp;</td>
    		  <td><input class=\"button\" type=\"submit\" value=\"&auml;ndern\" name=\"upd\" title=\"update\" />
    		  &nbsp;&nbsp;&nbsp;<input class=\"buttonr\" type=\"submit\" value=\"l&ouml;schen\" name=\"del\" title=\"delete\" /></td>\n";
    		echo "</tr>\n";
        }
        echo "</table>\n";
        echo "</div>\n";
//        if (!is_null($_SESSION["recht"]) && !in_array("re", $_SESSION["recht"]))
//            echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"raum_flist.php$liste\" target=\"_self\" title=\"Raumliste\">&laquo; zur Raumliste</a></p>\n";    
            echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"raum_flist.php$getp\" target=\"_self\" title=\"Raumliste\">&laquo; zur Raumliste</a></p>\n";    
        echo "</form>\n";	

    }
    elseif ($ok && $upd)
    {
        echo "<div align='center'>\n";
        //daten speichern
        
        //UPDATE Raum
        $raum['rbez'] = substr($raum['rbez'],0,50);
        $raum['rnum'] = substr($raum['rnum'],0,10);
//        $raum['bem']  = substr($raum['bem'],0,800);
//        if (!isset($raum['bem']) || $raum['bem']<'!') $raum['bem'] = null;
        if ($raum['rtyp']== -1) $raum['rtyp'] = null;
        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;
        // Filename Vertrag
        $raum['rfname'] = substr($raum['rfname'],0,50);
        if (isset($raum['rflae']) && $raum['rflae']>"0")
            $raum['rflae'] = str_replace(",",".",$raum['rflae']);
        else
            $raum['rflae'] = null;

        if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
        
        // alter Name Raumfile
        $sql = "SELECT raum_file FROM Raum WHERE raum_ID = $rid";
        $rfile_old = $dbc -> querySingleItem($sql);

        
        // upload File, wenn vorhanden
        if (is_uploaded_file($_FILES["rfile"]["tmp_name"]) && isset($_FILES["rfile"]["name"]) && $_FILES["rfile"]["name"] )
        {
            include_once ("inc/file_upload.inc.php");
            $fname  = gen_filename($raum['rfname'],"rfile",$rid);           // Dateinamen generieren
            $retdf  = mod_file("/var/www/fhiiqm/raeume",$rid,"","del");     // Loeschen alte Datei
            $retf   = upload("rfile", $fname, $rid, "raeume");              // Datei prüfen und in Dokumentenverzeichnis verschieben
        }
        else
        {   
            // nur Aenderung Dateiname
            include_once ("inc/file_upload.inc.php");
            if ($raum['rfname'] != $rfile_old)
            {
                if ($raum['rfname']>"!")
                {
                    $fname = gen_filename($raum['rfname'],$rfile_old,$rid,0);
                    $len = strlen($rid)+1;
                    if (substr($fname,0,$len) != "$rid" . "_") $fname = $rid . "_" . $fname;
                    $retf  = mod_file("/var/www/fhiiqm/raeume",$rid,$fname,"upd");  // Umbenennen alte Datei
                }
                else
                {   // Dateiname nicht angegeben
                    $retf=1; 
                    if ($rfile_old)
                    {    // Loeschen alte Datei
                        $retf  = mod_file("/var/www/fhiiqm/raeume",$rid,"","del");
                    }
                    $fname = null;    
                }
            }
            else
            {
                //kein Upload, keine Dateinamenaenderung
                $fname = $raum['rfname'];
                $retf=1;
            }    
        }    
        $len = strlen($rid)+1;
        if (isset($fname) && $fname && $retf && (substr($fname,0,$len) != "$rid" . "_")) $rfile = $rid . "_" . $fname; else $rfile = $fname;
/*        
        if ($raum['rtyp']== -1) $rtyp = "NULL"; else $rtyp = "'" . $raum['rtyp'] . "'"; 
        if (isset($raum['rflae']) && $raum['rflae']>"0")
            $raum['rflae'] = str_replace(",",".",$raum['rflae']);
        else
            $raum['rflae'] = "NULL";
        if (isset($fname) && $retf) $rfile = "raum_file = '" . $rid . "_" . $fname . "' "; else $rfile = "raum_file = '" . $raum['rfname'] . "'";
        $sql = "UPDATE fhiiqm.Raum SET
                        raum_nr ='" . $raum['rnum'] ."', 
                        raum_name ='" . $raum['rbez'] ."', 
                        geb_ID = '" . $raum['geb'] . "', 
                        raumtyp_ID = " . $rtyp . ", 
                        raum_flaeche = " . $raum['rflae'] . ", " .
                        $rfile .  
                        " WHERE raum_ID = $rid" ;
        $retr = $dbc -> execute($sql);
*/
        $stmt = $dbc -> stmtinit();        
        if (is_object($stmt))
        {
            $stmt -> prepare("UPDATE fhiiqm.Raum SET 
                                raum_nr = ?, 
                                raum_name = ?, 
                                geb_ID = ?, 
                                raumtyp_ID = ?, 
                                reinigung_typ_ID = ?,
                                raum_flaeche = ?, 
                                raum_file = ?, 
                                reinigung_kat = ?,
                                reinigung_turnus_ID = ?,
                                boden_typ_ID = ? 
                                WHERE raum_ID = $rid");
                                
            $stmt -> bind_param('sssssdssdi',$raum["rnum"],$raum["rbez"],$raum["geb"],$raum["rtyp"],$raum["reityp"],$raum["rflae"],$rfile,
                                $raum["reikat"],$raum["reitur"],$raum["boden"]);        
            $retr = $stmt -> execute();
         }       
//        echo "UPDATE-sql = $sql<br />\n";
        if (!$retr) echo "error update" . $stmt -> error ."<br />\n";
        if ($retr)
        {//Eingabe Daten, Upload File erfolgreich 
            echo "<p class='green'><b>Raumdaten zu ID '$rid' wurden erfolgreich gespeichert.</b></p>\n";
            echo "<br /><br />\n";

            // Anzeigen gespeicherte Vertragsdaten
            include ("inc/raum_dat_show.inc.php");
        }
    }

    elseif ($ok && $del)
    {
        // DELETE aus Tab Vertrag und abhaengigen Tabellen
        echo "<div align='center'>\n";

        $sql = "DELETE FROM Raum WHERE raum_ID = $rid";
        $retrd = $dbc -> execute($sql);
        if ($retrd)
        {
            echo "<p class='green'><b>Raum " . $raum['rnum'] . " (ID '$rid') wurde gel&ouml;scht.</b></p>\n";
            include ("inc/file_upload.inc.php");
            $retdf  = mod_file("/var/www/fhiiqm/raeume",$rid,"","del");  // Loeschen Dokument
            if ($retdf) echo "<p class='green'><b>Raumplan zu ID '$rid' wurde gel&ouml;scht.</b></p>\n";
            echo "<br /><br />\n";

            // Anzeigen geloeschter Vertragsdaten
            if ($fname)
                $rfile = $rid . "_" . $fname;
            else
                $rfile = $raum['rfname'];
            include ("inc/raum_dat_show.inc.php");
        }
        else
        {
            echo "<p class='red'><b>DELETE: Raum '".$raum["rnum"]." - ".$raum["rbez"]."', Haus '". $raum["geb"] ."' konnte nicht gel&ouml;scht werden!</b></p>\n";
            echo "error DELETE" . $dbc -> error ."<br />\n";
            
        } 
    }

    if ($ok && ($upd || $del))
    {
        // Raumliste filtern mit zuletzt eingegeben Haus
        echo "</div><br /><br />\n";
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"raum_flist.php$getp\" target=\"_self\" title=\"Raumliste\">Zur&uuml;ck zur Raumliste</a></p>\n";    
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"raum_ins.php$getp\" target=\"_self\" title=\"Raum erfassen\">Weiteren Raum erfassen</a></p>\n";    
    }
    
?>

</body>
</html>