fhiiqm/raum_vma_ed.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Fri, 16 Nov 2012 10:40:03 +0100
changeset 32 c2d325791e24
child 33 f1a8785434e4
permissions -rw-r--r--
+ Mitarbeiter - Telefon

<?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 "&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["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&auml;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 />&nbsp;&nbsp;&nbsp;leeres Feld = L&ouml;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>
    
                &nbsp;&nbsp;&nbsp;<a href="<?php echo "javascript:addInput('add');" ?>" title="weiterer Verantwortlicher"><img src="/fhiiqm/img/add.png" /></a>
                &nbsp;&nbsp;&nbsp;<a href="<?php echo "javascript:delInput('add');" ?>" title="l&ouml;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>&nbsp;</td>
    		  <td><input class=\"button\" type=\"submit\" value=\"&auml;ndern\" name=\"sub\" title=\"update\" /></td>\n";
    		echo "</tr>\n";
        }
        echo "</table>\n";
        echo "</div>\n";
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"raum_vma_flist.php$liste\" target=\"_self\" title=\"Raumliste\">&laquo; 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'>&nbsp;&nbsp;&nbsp;<a href=\"raum_vma_flist.php$liste\" target=\"_self\" title=\"Raumliste\">Zur&uuml;ck zur Raumliste</a></p>\n";    
    }
    
?>

</body>
</html>