fhiiqm/keydepot_user_ed.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Wed, 31 Jul 2013 15:10:48 +0200
changeset 39 4ce411ed28b6
permissions -rw-r--r--
+ Keytyp: delDepot, userVW; Korrekturen

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 07/2013
 * 
 * Liste User - Keytyp_Depot
 * 
 */

    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("kr",$_SESSION["recht"]) && !in_array("ke",$_SESSION["recht"])))
    {
        header("Location: start.php");
        exit;
    }    

	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
    
    // userid: Depot 'FHI', 'edit' = 1 -> Keytyp bearbeitbar
    $redit = 0;
    $uid = $_SESSION["userid"];
    $sql = "SELECT edit FROM KeyDepot_userweb WHERE depot_ID = 'FHI' AND userid = '$uid'";
    $redit = $dbc -> querySingleItem($sql);   

    $sub = $_POST["eintragen"];
    $ky  = $_POST["ky"];
    $okn = $ky["okn"];
    $ok  = $_POST["ok"];
//    if (!$okn) $ok=0;
    
    $udid = $_GET["u"]; // user Depot
    if ($ky["userid"]) $udid = $ky["userid"];
//print_r($ky); echo "udid=$udid, sub=$sub<br />";

?>
<!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="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/> 
   	<link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/> 
    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />	
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
	<title>Keytyp-user bearbeiten</title>
</head>

<body>
    <script>
    //<--
        var counter = 0;
        var adep = new Array();
        function addInput(divId,anz){
                var newdiv = document.createElement('div');
                var opt = "";
                var i;
                for (var key in adep)  
                {
                opt = opt.concat("<option value='",key,"'>",adep[key],"</option>\n" );
                }
                opt += "</select>\n";
                newdiv.innerHTML = "<span></span><select name='ky[dep][]'>"+opt;
                newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;Korrektur/Transfer&nbsp;&nbsp;&nbsp;<input type='checkbox' name='ky[ed][" + (counter+1) + "]' value='1' />";
                newdiv.innerHTML += "<span id='cbl'>&nbsp;&nbsp;&nbsp;<input type='checkbox' id='del' name='ky[del][]' value='1'/>";
                newdiv.innerHTML += "<label id='lb' for='del'>&nbsp;<i>l&ouml;schen</i></label></span>\n";
                document.getElementById(divId).appendChild(newdiv);
                var delcb = document.getElementById('del');
                delcb.id = "del_" + anz;
                delcb.style.display = 'none';
                var lcb = document.getElementById('lb');
                lcb.id = "lb_" + anz;
                lcb.setAttribute("for", delcb.id);
                lcb.style.display = 'none';
                  counter++;
        }
        function markdelInput(divId,anz){
            for (i=1; i<anz; i++)
            {
                var id = "del_" + i;
                var delcb = document.getElementById(id);
                delcb.style.display = 'inline';
                var idl = "lb_" + i;
                var lcb = document.getElementById(idl);
                lcb.style.display = 'inline';
            }
        }
    //-->
    </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/key.png\" border=\"0\" alt=\"Keytyp-user bearbeiten\" title=\"Schl&uuml;sseltyp-Nutzer bearbeiten\"/></div>\n";

    if ($redit)
        if ($udid) $text = "editieren"; else $text = "erfassen";
    else $text = "Ansicht";
    echo "<div align=\"center\">";
    echo "<h3>Schl&uuml;sseltyp-Depot Verwalter und Rechte $text</h3>";
    echo "</div>\n";

    if (!$sub || !isset($ky) || !$ok) 
    {
        if ($udid && !$sub)
        {
            if (!$ky["userid"]) $ky["userid"] = $udid;
            $ky["dep"] = null; $ky["ed"] = null;
            $sql = "SELECT depot_ID,edit FROM KeyDepot_userweb WHERE userid = '$udid'";
            $result = $dbc -> queryObjectArray($sql);
            foreach ($result as $row)
            {
                $ky["dep"][] = $row->depot_ID;
                $ky["ed"][] = $row->edit;
            }    
        }
?>
        <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_depotma" id="f_depotma" target="_self">	
        <div align="center">
        <table width="50%" border="0" cellspacing="3" cellpadding="3">
            <tr>
                <td>Mitarbeiter</td>
                <td><select name="ky[userid]" size="1" <?php if (!$sub) echo "onchange=\"this.form.submit();\""; ?>>
                
                <?php 
                    $okn = true;    
                    $select = ( "-1"==$ky['userid'] ) ? " selected='selected'" : "";
                    echo "<option $select value=\"-1\"></option>\n";
                    $sql = "SELECT u.userid, CONCAT (nachname, ', ',vorname, ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 0 THEN 'inaktiv' ELSE 'aktiv' END, ')') AS nvname 
                                FROM userweb u
                                INNER JOIN Mitarbeiter m ON u.persknr=m.persknr
                                LEFT OUTER JOIN user_recht r ON u.userid=r.userid
                                LEFT OUTER JOIN Abteilung a ON m.abt_tel=a.abt_ID
                                WHERE recht_ID = 'ke'";                
                    if ($result = $dbc->queryObjectArray($sql))
                    {
                        foreach ($result as $row)
                        {
//                            if (!$ky['userid'] && !$beg)  $ky['userid'] = $row->userid;
                            if ($row->userid == $ky['userid'])
        					   echo "<option selected='selected' value=\"$row->userid\">$row->nvname</option>\n";
        				    else
        					   echo "<option value=\"$row->userid\">$row->nvname</option>\n";
//                            $beg = 1;
                        }
                    }
                    echo "</select>\n";
/*
                    if (isset($ky['userid']) && $ky['userid']== "-1")
                    {
                        echo "<br><span class=\"red\">Mitarbeiter ist erforderlich!</span>\n";
                        $okn = false;
                    }
*/
                ?>
                </td>
            </tr>
            <tr><td>Depot</td>
                <td valign="top">
                    <div id="adddep">
                        <select name="ky[dep][]">
                        <?php
                                if (isset($ky['dep'])) $anzdep = count($ky['dep']); else $anzdep = 1;
                                $select = ( "-1"==$ky['dep'][0] ) ? " selected='selected'" : "";
                                echo "<option $select value=\"-1\"></option>\n";
                                $sql = "SELECT * FROM fhiiqm.KeyDepot";
                                if ($res = $dbc -> queryObjectArray($sql))
                                    foreach ($res as $row)
                                    {
                                       if ($row->depot_ID == $ky['dep'][0]) $select = "selected='selected'"; else $select = "";
            					       echo "<option $select value=\"$row->depot_ID\">$row->depot_ID: $row->depot_bez</option>\n";
                                       $adep .= "'".$row->depot_ID."':'".$row->depot_ID.": ".$row->depot_bez."',";
                                    }
                                    $adep = substr($adep,0,strlen($adep)-1);
                        ?>                    
                        </select>
                        <script type="text/javascript">
                        <!--
                            adep = {<?php echo ($adep); ?>}; // Ergebnis: {key:'value',key:'value',...} 
                        //-->
                        </script>
                        &nbsp;&nbsp;&nbsp;Korrektur/Transfer&nbsp;&nbsp;&nbsp;<input name="ky[ed][]" type="checkbox" value="1" <?php if ($ky['ed'][0]) echo "checked='checked'"; ?> />
                        &nbsp;&nbsp;&nbsp;<a href="<?php echo "javascript:addInput('adddep',$anzdep);" ?>" title="weiteres Depot"><img src="/fhiiqm/img/add.png" border="0"/></a>
                        &nbsp;&nbsp;&nbsp;<a href="<?php echo "javascript:markdelInput('adddep',$anzdep);" ?>" title="l&ouml;schen letztes Depot"><img src="/fhiiqm/img/delete.png" border="0" /></a><br />
                        <?php
                            if (isset($ky) && (!$ok || $sub))
                            {
                                if (count($ky['dep'])>1 || count($ky['ed'])>1)
                                {
                                    $i=0;
                                    foreach ($ky['dep'] as $edep)
                                    {
                                        if ($i>0)
                                        {
                                            echo "<span></span><select name=\"ky[dep][]\" size=\"1\">";
                            
                                            foreach ($res as $row)
                                            {
                                                $select = ( $row->depot_ID == $edep ) ? " selected='selected'" : null;
                            					echo "<option $select value=\"$row->depot_ID\">$row->depot_ID: $row->depot_bez</option>\n";
                                            }
                                            echo "</select>";
                                            echo "&nbsp;&nbsp;&nbsp;&nbsp;Korrektur/Transfer&nbsp;&nbsp;&nbsp;";
                                            echo "<input name=\"ky[ed][$i]\" type=\"checkbox\" value=\"1\""; 
                                            $check = ($ky['ed'][$i]) ? " checked='checked'" : "" ;
                                            echo "$check />";
                                            if (isset($ky['del'])) $cls = "dispil"; else $cls = "pr";
                                            if (isset($ky['del'][$i])) $chk = "checked = ' checked'"; else $chk ="";
                                            echo "<span id='cbl_$i'>&nbsp;&nbsp;&nbsp;<input class='$cls' type='checkbox' id='del_$i' name='ky[del][$i]' value='1'$chk /></span>
                                                <span id='lb_$i' class='$cls'>&nbsp;<i>l&ouml;schen?</i></span><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=\"checked\""; 
			echo " /></td>\n</tr>\n";
        }
        if (!is_null($_SESSION["recht"]) && in_array("ke",$_SESSION["recht"]) && $redit)
        {
            echo "
           	<tr><td>&nbsp;</td>\n
            	<td><input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"  eintragen  \" />";
           	echo "</td></tr>\n";
        }
        echo "</table>\n";
        echo "</div>\n";
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"keydepot_user_list.php\" target=\"_self\" title=\"User-Liste\">&laquo; zur Schl&uuml;sseltyp-Depot Verwalter-Liste</a></p>\n"; 
        echo "</form>\n";
    }
    else
    {
//print_r($ky); 
        echo "<div align='center'>\n";
        if ($ky["dep"][0] == -1) $ky["dep"][0] = null;
        if ($ky["userid"] == -1) $ky["userid"] = "";
        if ($ky["userid"] > "!" && count($ky["dep"]) > 0 && $ky["dep"][0] > "!")
        {
            $sql = "DELETE FROM KeyDepot_userweb WHERE userid = '" . $ky["userid"] ."'";           
            $retd = $dbc -> execute($sql);
            if ($retd)
            {
                $ret = 1;
                $stmt = $dbc -> stmtinit();
                if (is_object($stmt))
                {
                    $stmt -> prepare("INSERT INTO KeyDepot_userweb (Depot_ID,userid,edit) VALUES (?,?,?)");   
                    for ($k=0; $k<count($ky["dep"]); $k++)
                    {
                        if ($ky["dep"][$k] && !$ky["del"][$k]) 
                        {
                            if (is_null($ky["ed"][$k])) $ky["ed"][$k] = 0;
                            $stmt -> bind_param('ssi',$ky["dep"][$k],$ky["userid"],$ky["ed"][$k]);   
                            $ret = $ret && $stmt -> execute();                       
                        }
                    }
                    if (!$ret) echo "error INSERT Depot-Rechte: $stmt->error<br />\n";
                    else echo "<p class='green'>Depot-Rechte für Nutzer '".$ky["userid"]. "' wurden erfolgreich gespeichert.</p>\n";
                }
            }    
            else echo "error INSERT Depot-Rechte: $dbc->error<br />\n";                   
        }
        else
        {
            $sql = "SELECT COUNT(*) as anz FROM KeyDepot_userweb WHERE userid = '" . $ky["userid"] ."'";
            $anz = $dbc -> querySingleItem($sql);
            if ($anz >0)
            {
                $sql = "DELETE FROM KeyDepot_userweb WHERE userid = '" . $ky["userid"] ."'";           
                $retd = $dbc -> execute($sql);
                if ($retd)
                    echo "<p class='green'>Depot-Rechte für Nutzer '".$ky["userid"]. "' wurden erfolgreich gelöscht.</p>\n";
            }
            else echo "<p class='red'>Es wurden keine Depot-Rechte für Nutzer '".$ky["userid"]. "' vergeben!</p>\n";
        }
        echo "</div>";
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"keydepot_user_list.php\" target=\"_self\" title=\"User-Liste\">&laquo; zur Schl&uuml;sseltyp-Depot Verwalter-Liste</a></p>\n"; 
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Depotrechte edit\">weitere Schl&uuml;sseltyp-Depotrechte bearbeiten</a></p>\n";    
    }
?>
</body>
</html>