fhiiqm/ma_tel_ed.php
changeset 40 6f4b105daa24
parent 34 fc60ef80a7ad
child 41 9c668cd391fa
--- a/fhiiqm/ma_tel_ed.php	Wed Jul 31 15:10:48 2013 +0200
+++ b/fhiiqm/ma_tel_ed.php	Thu Sep 12 09:04:56 2013 +0200
@@ -1,409 +1,429 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 12/2012
- * 
- * INSERT/UPDATE/(DELETE) Mitarbeiter
- * 
- */
-
-
-    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("mtr",$_SESSION["recht"]) && !in_array("mte",$_SESSION["recht"])))
-    {
-        header("Location: start.php");
-        exit;
-    }    
-
-	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
-	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-
-    $sub = $_POST["eintragen"];
-    $del = $_POST["del"];
-    $ma  = $_POST["ma"];
-    $okn = $_POST["okn"];
-    $ok  = $_POST["ok"];
-    if (!$okn) $ok=0;
-    $pid = $_GET["i"]; // persknr
-
-	$sort   = $_GET["s"];   // Sortierung nach Spalte
-    $dir    = $_GET["d"];   // Sortierrichtung
-    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
-    $filter =  $_GET["b"];  // Filterbegriff 
-    $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter"; // Parameter Listenanzeige
-    
-//    print_r ($ma); echo "<br />sub = $sub<br /><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"/> 
-	<title>MA/O bearbeiten</title>
-
-    <script type="text/javascript">
-    <!--
-    var counter = 0;
-    var limit = 99;
-    var arr = new Array();
-    var arra = new Array();
-    var arrg = new Array();
-    function addInput(divName){
-         if (counter == limit)  {
-              alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
-         }
-         else 
-         {
-            if (divName == 'addtel')
-            {            
-              var newdiv = document.createElement('div');
-              var opt="<option value='-1'></option>";
-              var i;
-              for (var key in arr)  
-              {
-                opt = opt.concat("<option value='",key,"'>",arr[key],"</option>\n" );
-              }
-              opt += "</select>\n";
-              newdiv.innerHTML = "<span></span><select name='ma[tel][]'>"+opt;
-              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;oder neu&nbsp;&nbsp;&nbsp;<input type='text' name='ma[ntel][]' size='20' maxlength='20' />";
-              opt = "<option value='-1'></option>";
-              for (i=1; i<10; i++)
-              {
-                opt = opt.concat("<option value=",i,">",i,"</option>\n");
-              }
-              opt += "</select>\n";
-              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;Priorit&auml;t&nbsp;&nbsp;&nbsp;<select name='ma[so][]'>"+opt;
-              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&ouml;ffentlich&nbsp;&nbsp;&nbsp;<input type='checkbox' name='ma[pub][" + (counter+1) + "]' value='1' />\n";
-              document.getElementById(divName).appendChild(newdiv);
-              counter++;
-            }
-            else
-            {
-              var newdiv = document.createElement('div');
-              var opt="";
-              var optg="<option value='-1'></option>";
-              for (var key in arra)  
-              {
-                opt = opt.concat("<option value='",key,"'>",arra[key],"</option>\n" );
-              }
-              opt += "</select>\n";
-              newdiv.innerHTML = "<span></span><select name='ma[abt][]'>"+opt;
-              for (var key in arrg)  
-              {
-                optg = optg.concat("<option value='",key,"'>",arrg[key],"</option>\n" );
-              }
-              optg += "</select>\n";
-              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;Arbeitsgruppe&nbsp;&nbsp;&nbsp;&nbsp;<select name='ma[rag][]'>"+optg;                
-              document.getElementById(divName).appendChild(newdiv);
-              counter++;
-            }  
-         }
-    }
-    function delInput(divId){
-            var kn = document.getElementById(divId); 
-            while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SPAN" && 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);
-            if (kn.lastChild.nodeName == "SPAN") document.getElementById(divId).removeChild(kn.lastChild);
-    }
-    //-->
-    </script>
-
-</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/group.png\" border=\"0\" alt=\"Mitarbeiter bearbeiten\" title=\"Mitarbeiter bearbeiten\"/></div>\n";
-
-    if ($pid) $text = "editieren"; else $text = "erfassen";
-    echo "<div align=\"center\">";
-    echo "<h3>Mitarbeiter/Objekte $text</h3>";
-    echo "</div>\n";
-    if ((!$sub && !$del) || !isset($ma) || !$ok) 
-    {
-        
-        if ($pid && (!$sub || !$del) && !isset($ma))
-        {
-            $sql = "SELECT nachname,vorname,titel,abt_tel,email,aktiv FROM Mitarbeiter WHERE persknr=$pid";
-            if ($result = $dbc -> queryObjectArray($sql))
-            {
-                foreach ($result as $row)
-                {
-                    $ma['name']     = $row->nachname;
-                    $ma['vname']    = $row->vorname;
-                    $ma['titel']    = $row->titel;
-                    $ma['abtm']     = $row->abt_tel;
-                    $ma['email']    = $row->email;
-                    $ma['fhi']      = ($row->aktiv == 1)? 1 : 0;
-                }    
-            }
-            // Arbeitsgruppe, Abteilung
-            $sql = "SELECT mr.rag_ID, abt_ID FROM fhiiqm.MA_RaumArbGruppe mr INNER JOIN RaumArb_Gruppe r ON mr.rag_ID=r.rag_ID 
-                    WHERE  persknr=$pid";
-            if ($result = $dbc -> queryObjectArray($sql))
-            {
-                foreach ($result as $row)
-                {
-                   $ma['abt'][] = $row->abt_ID;  
-                   $ma['rag'][] = $row->rag_ID;  
-                }
-            }
-            if (count($ma['abt']) == 0) $ma['abt'][] = $ma['abtm']; 
-            // Haus,Raum
-            $sql = "SELECT ma.raum_ID, geb_ID FROM Mitarbeiter_Raum ma INNER JOIN Raum r ON ma.raum_ID=r.raum_ID 
-                    WHERE persknr=$pid ORDER BY raum_ID"; 
-            if ($result = $dbc -> queryObjectArray($sql))
-            {
-                foreach ($result as $row)
-                {
-                   $ma['geb'] = $row->geb_ID;  
-                   $ma['raum'] = $row->raum_ID;  
-                }
-            }
-            // Telefon
-            $sql = "SELECT m.telefon_nr,public,sort
-                    FROM fhiiqm.MA_Telefon m INNER JOIN Telefon t ON m.telefon_nr=t.telefon_nr 
-                    WHERE persknr = $pid ORDER BY IFNULL(sort,99)" ;
-            if ($result = $dbc -> queryObjectArray($sql))
-            {
-                foreach ($result as $row)
-                {
-                    $ma['tel'][] = $row->telefon_nr;
-                    $ma['pub'][] = ($row->public)? 1 : 0;
-                    $ma['so'][]  = $row->sort;   
-                }
-            }
-        }
-        include ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/ma_ed_form.inc.php");
-        
-	  	if ($sub || $del)
-        {
-		  	if ($sub)
-                $frage = "Alle Angaben ok?";
-            elseif ($del)
-                $frage = "Mitarbeiter 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=\"checked\""; 
-			echo " /></td>\n</tr>\n";
-        }
-        if (!is_null($_SESSION["recht"]) && in_array("mte",$_SESSION["recht"]))
-        {
-            echo "
-           	<tr><td>&nbsp;</td>\n
-            	<td><input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"  eintragen  \" />";
-            if ($pid)
-            {
-                echo "&nbsp;&nbsp;&nbsp;<input class=\"buttonr\" type=\"submit\" value=\"l&ouml;schen\" name=\"del\" title=\"delete\" />";
-//                echo "&nbsp;&nbsp;&nbsp;<input class=\"button\" type=\"submit\" value=\"duplizieren\" name=\"dup\" title=\"delete\" />";
-            }    
-           	echo "</td></tr>\n";
-        }
-        echo "</table>\n";
-        echo "</div>\n";
-    echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"ma_tel_flist.php?e=1$getp\" target=\"_self\" title=\"Telefon-Liste\">&laquo; zur Telefon-Liste</a></p>\n"; 
-    echo "</form>\n";
-    }
-    else
-    {
-        echo "<div align='center'>\n";
-        
-        if ($del)
-        {   
-            if ($ma["fhi"])
-            {
-                // nur aktiv auf 0 setzen
-                $sql = "UPDATE Mitarbeiter SET aktiv=0 WHERE persknr = $pid";
-                $retdi = $dbc -> execute($sql);
-                $sql = "DELETE FROM Mitarbeiter_Raum WHERE persknr = $pid";
-                $retdi = $dbc -> execute($sql);
-                $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid";
-                $retdi = $dbc -> execute($sql);
-                $sql = "DELETE FROM MA_RaumArbGruppe WHERE persknr = $pid";
-                $retdi = $dbc -> execute($sql);
-            }
-            else
-            {
-                $sql = "DELETE FROM Mitarbeiter WHERE persknr = $pid";
-                $retdi = $dbc -> execute($sql);
-            }
-            if ($retdi)
-            {
-                echo "<p class='green'><b>DELETE: Daten  zu '".$ma["name"]. ", ". $ma['vname'] ."' wurden erfolgreich gel&ouml;scht.</b></p>\n";
-            }                
-            else
-            {
-                echo "<p class='red'><b>DELETE: Daten  zu '".$ma["name"]. ", ". $ma['vname'] ."' konnten nicht gel&ouml;scht werden!</b></p>\n";
-                echo "sql = $sql<br />";
-                echo "error DELETE: " . $dbc->error . "<br />";
-            }
-            include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/ma_tel_dat_show.inc.php");
-        }
-        else //INSERT oder UPDATE
-        {
-            $stmt = $dbc -> stmtinit();
-            if (is_object($stmt))
-            {
-                if ($ma['fhi']) $aktiv = 1; else $aktiv = 2;
-                if ($ma['email'])
-                {
-                    if (strpos($ma['email'],"@") > 0) $ma['email'] = $ma['email']; else $ma['email'] = $ma['email'] . "@fhi-berlin.mpg.de";
-                } 
-                foreach ($ma as &$elem) if (!$elem) $elem = null;  // NULL-Eintrag in Leerfelder  
-                if ($pid) //UPDATE
-                {
-                    // Abt. alt in aktualisierten Abteilungen?
-                    if (!in_array($ma['abtm'],$ma['abt'])) $ma['abtm'] = $ma['abt'][0];
-                    $stmt -> prepare("UPDATE Mitarbeiter SET 
-                                        nachname = ?,
-                                        vorname = ?,
-                                        titel = ?,
-                                        email = ?,
-                                        abt_tel = ?,
-                                        aktiv = ?
-                                        WHERE persknr = $pid");
-                    $stmt -> bind_param('ssssii',$ma['name'],$ma['vname'],$ma['titel'],$ma['email'],$ma['abtm'], $aktiv);
-//                    echo "UPDATE: ". var_dump($stmt);
-                    $result = $stmt -> execute();
-                    if ($stmt->error) echo "error UPDATE Mitarbeiter: " . $stmt->error . "<br><br>\n";
-                }
-                else
-                {
-                    $sql = "SELECT MAX(persknr) FROM Mitarbeiter WHERE persknr < 9500";
-                    $pid = $dbc -> querySingleItem($sql) + 1;
-                    $stmt -> prepare ("INSERT INTO Mitarbeiter (persknr, nachname, vorname, titel,email,abt_tel,aktiv) VALUES (?,?,?,?,?,?,?)"); 
-                    $stmt -> bind_param('issssii',$pid,$ma['name'],$ma['vname'],$ma['titel'],$ma['email'],$ma['abt'][0], $aktiv);
-                    $result = $stmt -> execute();
-                    if ($stmt->error) echo "error INSERT Mitarbeiter: " . $stmt->error . "<br><br>\n";
-                    $ma['abtm'] = $ma['abt'][0];
-                }
-                if ($result)
-                {
-                    $ret = 1;
-                    // raum
-                    if ($ma["raum"] > "-1")
-                    {
-                        $sql = "DELETE FROM Mitarbeiter_Raum WHERE persknr=$pid";
-                        $redr = $dbc -> execute($sql);
-                        if ($redr)
-                        {
-                            $sql = "INSERT INTO Mitarbeiter_Raum (persknr, raum_ID) VALUES ($pid, " . $ma["raum"] . ")";
-                            $ret = $dbc -> execute($sql);
-                        } 
-                    }
-                    if (is_array($ma["rag"]) && count($ma["rag"])>0)
-                    {
-                        $sql = "DELETE FROM MA_RaumArbGruppe WHERE persknr=$pid";
-                        $redr = $dbc -> execute($sql);
-                        if ($redr)
-                        {
-                            foreach ($ma['rag'] as $rag)
-                            {
-                                if ($rag > 0)
-                                {
-                                    $sql = "INSERT INTO MA_RaumArbGruppe (persknr, rag_ID) VALUES ($pid, $rag)";
-                                    $retn = $dbc -> execute($sql);
-                                    if ($retn && $ret) $ret = 1; else $ret = 0;
-                                }
-                            }    
-                        } 
-                    }
-                    if (is_array($ma['ntel']))
-                    {
-                        foreach ($ma['ntel'] as $tel)
-                        {
-                            if ($tel > "!")
-                            {
-                                $sql = "SELECT COUNT(*) FROM Telefon WHERE telefon_nr ='$tel'";
-                                $anz = $dbc -> querySingleItem($sql);
-                                if ( $anz == 0)
-                                {
-                                    $sql = "INSERT INTO Telefon (telefon_nr) VALUES('$tel')";
-                                    $rest = $dbc -> execute($sql);
-                                    if ($rest && $ret) $ret = 1; else $ret = 0;
-                                }
-                            }    
-                        }
-                    }
-                    if ($ret)
-                    {
-                        foreach ($ma['so'] as &$prio)
-                            if ($prio == '-1') $prio = null; 
-                        $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid";
-                        $redmt = $dbc -> execute($sql);
-                        if ($redmt)
-                        {
-                            $i=0;        
-                            foreach ($ma['tel'] as $tel)
-                            {
-                                if ($tel >"!" && $tel != "-1")
-                                {
-                                    if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL';
-                                    if (!isset($ma['so'][$i])) $ma['so'][$i] = 'NULL';
-                                    $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public, sort) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ",". $ma['so'][$i] . ")";
-                                    $rest = $dbc -> execute($sql);
-                                    if ($rest && $ret) $ret = 1; else $ret = 0;
-                                }
-                                $i++;
-                            }
-                            $i=0;        
-                            foreach ($ma['ntel'] as $tel)
-                            {
-                                if ($tel >"!")
-                                {
-                                    if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL';
-                                    if (!isset($ma['so'][$i])) $ma['so'][$i] = 'NULL';
-                                    $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public, sort) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ",". $ma['so'][$i] . ")";
-                                    $rest = $dbc -> execute($sql);
-                                    if ($rest && $ret) $ret = 1; else $ret = 0;
-                                }
-                                $i++;
-                            }
-                        }
-                    }
-                }
-            }
-            if ($result && $redmt && $ret) // INSERT/UPDATE Info
-            {
-                //Eingabe Daten erfolgreich 
-                    echo "<p class='green'><b>Mitarbeiterdaten zu " . $ma['name']. ", ". $ma['vname'] . " wurden erfolgreich gespeichert.</b></p>\n";
-                    echo "<br /><br />\n";
-            }
-            else
-            {
-                    echo "<p class='red'><b>Mitarbeiterdaten zu " . $ma['name']. ", ". $ma['vname'] . " wurden nicht oder nur teilweise gespeichert.</b></p>\n";
-                    echo "error: ". $dbc -> error;    
-                    echo "<br /><br />\n";                
-            }
-            include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/ma_tel_dat_show.inc.php");
-        }
-        echo "</div>";
-        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"ma_tel_flist.php?e=1$getp\" target=\"_self\" title=\"Telefonliste\">&laquo; zur Telefon-Liste</a></p>\n"; 
-        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Mitarbeiter erfassen\">Neuen Mitarbeiter erfassen</a></p>\n";    
-    }
-?>
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 12/2012
+ * 
+ * INSERT/UPDATE/(DELETE) Mitarbeiter
+ * 
+ */
+
+
+    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("mtr",$_SESSION["recht"]) && !in_array("mte",$_SESSION["recht"])))
+    {
+        header("Location: start.php");
+        exit;
+    }    
+
+	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+    $sub = $_POST["eintragen"];
+    $del = $_POST["del"];
+    $ma  = $_POST["ma"];
+    $okn = $_POST["okn"];
+    $ok  = $_POST["ok"];
+    if (!$okn) $ok=0;
+    $pid = $_GET["i"]; // persknr
+
+	$sort   = $_GET["s"];   // Sortierung nach Spalte
+    $dir    = $_GET["d"];   // Sortierrichtung
+    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
+    $filter =  $_GET["b"];  // Filterbegriff 
+    $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter"; // Parameter Listenanzeige
+    
+//    print_r ($ma); echo "<br />sub = $sub<br /><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>MA/O bearbeiten</title>
+
+    <script type="text/javascript">
+    <!--
+    var counter = 0;
+    var limit = 99;
+    var arr = new Array();
+    var arra = new Array();
+    var arrg = new Array();
+    function addInput(divName){
+         if (counter == limit)  {
+              alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
+         }
+         else 
+         {
+            if (divName == 'addtel')
+            {            
+              var newdiv = document.createElement('div');
+              var opt="<option value='-1'></option>";
+              var i;
+              for (var key in arr)  
+              {
+                opt = opt.concat("<option value='",key,"'>",arr[key],"</option>\n" );
+              }
+              opt += "</select>\n";
+              newdiv.innerHTML = "<span></span><select name='ma[tel][]'>"+opt;
+              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;oder neu&nbsp;&nbsp;&nbsp;<input type='text' name='ma[ntel][]' size='20' maxlength='20' />";
+              opt = "<option value='-1'></option>";
+              for (i=1; i<10; i++)
+              {
+                opt = opt.concat("<option value=",i,">",i,"</option>\n");
+              }
+              opt += "</select>\n";
+              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;Priorit&auml;t&nbsp;&nbsp;&nbsp;<select name='ma[so][]'>"+opt;
+              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&ouml;ffentlich&nbsp;&nbsp;&nbsp;<input type='checkbox' name='ma[pub][" + (counter+1) + "]' value='1' />\n";
+              document.getElementById(divName).appendChild(newdiv);
+              counter++;
+            }
+            else
+            {
+              var newdiv = document.createElement('div');
+              var opt="";
+              var optg="<option value='-1'></option>";
+              for (var key in arra)  
+              {
+                opt = opt.concat("<option value='",key,"'>",arra[key],"</option>\n" );
+              }
+              opt += "</select>\n";
+              newdiv.innerHTML = "<span></span><select name='ma[abt][]'>"+opt;
+              for (var key in arrg)  
+              {
+                optg = optg.concat("<option value='",key,"'>",arrg[key],"</option>\n" );
+              }
+              optg += "</select>\n";
+              newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;Arbeitsgruppe&nbsp;&nbsp;&nbsp;&nbsp;<select name='ma[rag][]'>"+optg;                
+              document.getElementById(divName).appendChild(newdiv);
+              counter++;
+            }  
+         }
+    }
+    function delInput(divId){
+            var kn = document.getElementById(divId); 
+            while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SPAN" && 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);
+            if (kn.lastChild.nodeName == "SPAN") document.getElementById(divId).removeChild(kn.lastChild);
+    }
+    //-->
+    </script>
+
+</head>
+
+<body>
+    <script type="text/javascript">
+    <!--
+      $(document).ready(function() {
+        $("#fhi").focus();
+        $("#nname").autocomplete({
+                source: "/fhiiqm/inc/ma_ldap_ac.inc.php",
+    			minLength: 2,
+                select: function(event,ui){// $("#nname").val(ui.item.id);
+                                           $("#vname").val(ui.item.id2); 
+                                           $("#email").val(ui.item.id3); }
+    		});
+        });
+    //-->
+    </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/group.png\" border=\"0\" alt=\"Mitarbeiter bearbeiten\" title=\"Mitarbeiter bearbeiten\"/></div>\n";
+
+    if ($pid) $text = "editieren"; else $text = "erfassen";
+    echo "<div align=\"center\">";
+    echo "<h3>Mitarbeiter/Objekte $text</h3>";
+    echo "</div>\n";
+    if ((!$sub && !$del) || !isset($ma) || !$ok) 
+    {
+        
+        if ($pid && (!$sub || !$del) && !isset($ma))
+        {
+            $sql = "SELECT nachname,vorname,titel,abt_tel,email,aktiv,timestamp,userid FROM Mitarbeiter WHERE persknr=$pid";
+            if ($result = $dbc -> queryObjectArray($sql))
+            {
+                foreach ($result as $row)
+                {
+                    $ma['name']     = $row->nachname;
+                    $ma['vname']    = $row->vorname;
+                    $ma['titel']    = $row->titel;
+                    $ma['abtm']     = $row->abt_tel;
+                    $ma['email']    = $row->email;
+                    $ma['fhi']      = ($row->aktiv == 1)? 1 : 0;
+                    $ma["tstmp"]    = $row->timestamp;
+                    $ma["uid"]      = $row->userid;
+                }    
+            }
+            // Arbeitsgruppe, Abteilung
+            $sql = "SELECT mr.rag_ID, abt_ID FROM fhiiqm.MA_RaumArbGruppe mr INNER JOIN RaumArb_Gruppe r ON mr.rag_ID=r.rag_ID 
+                    WHERE  persknr=$pid";
+            if ($result = $dbc -> queryObjectArray($sql))
+            {
+                foreach ($result as $row)
+                {
+                   $ma['abt'][] = $row->abt_ID;  
+                   $ma['rag'][] = $row->rag_ID;  
+                }
+            }
+            if (count($ma['abt']) == 0) $ma['abt'][] = $ma['abtm']; 
+            // Haus,Raum
+            $sql = "SELECT ma.raum_ID, geb_ID FROM Mitarbeiter_Raum ma INNER JOIN Raum r ON ma.raum_ID=r.raum_ID 
+                    WHERE persknr=$pid ORDER BY raum_ID"; 
+            if ($result = $dbc -> queryObjectArray($sql))
+            {
+                foreach ($result as $row)
+                {
+                   $ma['geb'] = $row->geb_ID;  
+                   $ma['raum'] = $row->raum_ID;  
+                }
+            }
+            // Telefon
+            $sql = "SELECT m.telefon_nr,public,sort
+                    FROM fhiiqm.MA_Telefon m INNER JOIN Telefon t ON m.telefon_nr=t.telefon_nr 
+                    WHERE persknr = $pid ORDER BY IFNULL(sort,99)" ;
+            if ($result = $dbc -> queryObjectArray($sql))
+            {
+                foreach ($result as $row)
+                {
+                    $ma['tel'][] = $row->telefon_nr;
+                    $ma['pub'][] = ($row->public)? 1 : 0;
+                    $ma['so'][]  = $row->sort;   
+                }
+            }
+        }
+        include ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/ma_ed_form.inc.php");
+        
+	  	if ($sub || $del)
+        {
+		  	if ($sub)
+                $frage = "Alle Angaben ok?";
+            elseif ($del)
+                $frage = "Mitarbeiter 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=\"checked\""; 
+			echo " /></td>\n</tr>\n";
+        }
+        if (!is_null($_SESSION["recht"]) && in_array("mte",$_SESSION["recht"]))
+        {
+            echo "
+           	<tr><td>&nbsp;</td>\n
+            	<td><input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"  eintragen  \" />";
+            if ($pid)
+            {
+                echo "&nbsp;&nbsp;&nbsp;<input class=\"buttonr\" type=\"submit\" value=\"l&ouml;schen\" name=\"del\" title=\"delete\" />";
+//                echo "&nbsp;&nbsp;&nbsp;<input class=\"button\" type=\"submit\" value=\"duplizieren\" name=\"dup\" title=\"delete\" />";
+            }    
+           	echo "</td></tr>\n";
+        }
+        echo "</table>\n";
+        echo "</div>\n";
+    echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"ma_tel_flist.php?e=1$getp\" target=\"_self\" title=\"Telefon-Liste\">&laquo; zur Telefon-Liste</a></p>\n"; 
+    echo "</form>\n";
+    }
+    else
+    {
+        echo "<div align='center'>\n";
+        $userid = $_SESSION["userid"];
+        if ($del)
+        {   
+            if ($ma["fhi"])
+            {
+                // nur aktiv auf 0 setzen
+                $sql = "UPDATE Mitarbeiter SET aktiv=0, userid=$userid WHERE persknr = $pid";
+                $retdi = $dbc -> execute($sql);
+                $sql = "DELETE FROM Mitarbeiter_Raum WHERE persknr = $pid";
+                $retdi = $dbc -> execute($sql);
+                $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid";
+                $retdi = $dbc -> execute($sql);
+                $sql = "DELETE FROM MA_RaumArbGruppe WHERE persknr = $pid";
+                $retdi = $dbc -> execute($sql);
+            }
+            else
+            {
+                $sql = "DELETE FROM Mitarbeiter WHERE persknr = $pid";
+                $retdi = $dbc -> execute($sql);
+            }
+            if ($retdi)
+            {
+                echo "<p class='green'><b>DELETE: Daten  zu '".$ma["name"]. ", ". $ma['vname'] ."' wurden erfolgreich gel&ouml;scht.</b></p>\n";
+            }                
+            else
+            {
+                echo "<p class='red'><b>DELETE: Daten  zu '".$ma["name"]. ", ". $ma['vname'] ."' konnten nicht gel&ouml;scht werden!</b></p>\n";
+                echo "sql = $sql<br />";
+                echo "error DELETE: " . $dbc->error . "<br />";
+            }
+            include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/ma_tel_dat_show.inc.php");
+        }
+        else //INSERT oder UPDATE
+        {
+            $stmt = $dbc -> stmtinit();
+            if (is_object($stmt))
+            {
+                if ($ma['fhi']) $aktiv = 1; else $aktiv = 2;
+                if ($ma['email'])
+                {
+                    if (strpos($ma['email'],"@") > 0) $ma['email'] = $ma['email']; else $ma['email'] = $ma['email'] . "@fhi-berlin.mpg.de";
+                } 
+                foreach ($ma as &$elem) if (!$elem) $elem = null;  // NULL-Eintrag in Leerfelder  
+                if ($pid) //UPDATE
+                {
+                    // Abt. alt in aktualisierten Abteilungen?
+                    if (!in_array($ma['abtm'],$ma['abt'])) $ma['abtm'] = $ma['abt'][0];
+                    $stmt -> prepare("UPDATE Mitarbeiter SET 
+                                        nachname = ?,
+                                        vorname = ?,
+                                        titel = ?,
+                                        email = ?,
+                                        abt_tel = ?,
+                                        aktiv = ?,
+                                        userid = ?
+                                        WHERE persknr = $pid");
+                    $stmt -> bind_param('ssssiis',$ma['name'],$ma['vname'],$ma['titel'],$ma['email'],$ma['abtm'], $aktiv, $userid);
+//                    echo "UPDATE: ". var_dump($stmt);
+                    $result = $stmt -> execute();
+                    if ($stmt->error) echo "error UPDATE Mitarbeiter: " . $stmt->error . "<br><br>\n";
+                }
+                else
+                {
+                    $sql = "SELECT MAX(persknr) FROM Mitarbeiter WHERE persknr < 9500";
+                    $pid = $dbc -> querySingleItem($sql) + 1;
+                    $stmt -> prepare ("INSERT INTO Mitarbeiter (persknr, nachname, vorname, titel,email,abt_tel,aktiv,userid) VALUES (?,?,?,?,?,?,?,?)"); 
+                    $stmt -> bind_param('issssiis',$pid,$ma['name'],$ma['vname'],$ma['titel'],$ma['email'],$ma['abt'][0], $aktiv, $userid);
+                    $result = $stmt -> execute();
+                    if ($stmt->error) echo "error INSERT Mitarbeiter: " . $stmt->error . "<br><br>\n";
+                    $ma['abtm'] = $ma['abt'][0];
+                }
+                if ($result)
+                {
+                    $ret = 1;
+                    // raum
+                    if ($ma["raum"] > "-1")
+                    {
+                        $sql = "DELETE FROM Mitarbeiter_Raum WHERE persknr=$pid";
+                        $redr = $dbc -> execute($sql);
+                        if ($redr)
+                        {
+                            $sql = "INSERT INTO Mitarbeiter_Raum (persknr, raum_ID) VALUES ($pid, " . $ma["raum"] . ")";
+                            $ret = $dbc -> execute($sql);
+                        } 
+                    }
+                    if (is_array($ma["rag"]) && count($ma["rag"])>0)
+                    {
+                        $sql = "DELETE FROM MA_RaumArbGruppe WHERE persknr=$pid";
+                        $redr = $dbc -> execute($sql);
+                        if ($redr)
+                        {
+                            foreach ($ma['rag'] as $rag)
+                            {
+                                if ($rag > 0)
+                                {
+                                    $sql = "INSERT INTO MA_RaumArbGruppe (persknr, rag_ID) VALUES ($pid, $rag)";
+                                    $retn = $dbc -> execute($sql);
+                                    if ($retn && $ret) $ret = 1; else $ret = 0;
+                                }
+                            }    
+                        } 
+                    }
+                    if (is_array($ma['ntel']))
+                    {
+                        foreach ($ma['ntel'] as $tel)
+                        {
+                            if ($tel > "!")
+                            {
+                                $sql = "SELECT COUNT(*) FROM Telefon WHERE telefon_nr ='$tel'";
+                                $anz = $dbc -> querySingleItem($sql);
+                                if ( $anz == 0)
+                                {
+                                    $sql = "INSERT INTO Telefon (telefon_nr) VALUES('$tel')";
+                                    $rest = $dbc -> execute($sql);
+                                    if ($rest && $ret) $ret = 1; else $ret = 0;
+                                }
+                            }    
+                        }
+                    }
+                    if ($ret)
+                    {
+                        foreach ($ma['so'] as &$prio)
+                            if ($prio == '-1') $prio = null; 
+                        $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid";
+                        $redmt = $dbc -> execute($sql);
+                        if ($redmt)
+                        {
+                            $i=0;        
+                            foreach ($ma['tel'] as $tel)
+                            {
+                                if ($tel >"!" && $tel != "-1")
+                                {
+                                    if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL';
+                                    if (!isset($ma['so'][$i])) $ma['so'][$i] = 'NULL';
+                                    $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public, sort) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ",". $ma['so'][$i] . ")";
+                                    $rest = $dbc -> execute($sql);
+                                    if ($rest && $ret) $ret = 1; else $ret = 0;
+                                }
+                                $i++;
+                            }
+                            $i=0;        
+                            foreach ($ma['ntel'] as $tel)
+                            {
+                                if ($tel >"!")
+                                {
+                                    if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL';
+                                    if (!isset($ma['so'][$i])) $ma['so'][$i] = 'NULL';
+                                    $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public, sort) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ",". $ma['so'][$i] . ")";
+                                    $rest = $dbc -> execute($sql);
+                                    if ($rest && $ret) $ret = 1; else $ret = 0;
+                                }
+                                $i++;
+                            }
+                        }
+                    }
+                }
+            }
+            if ($result && $redmt && $ret) // INSERT/UPDATE Info
+            {
+                //Eingabe Daten erfolgreich 
+                    echo "<p class='green'><b>Mitarbeiterdaten zu " . $ma['name']. ", ". $ma['vname'] . " wurden erfolgreich gespeichert.</b></p>\n";
+                    echo "<br /><br />\n";
+            }
+            else
+            {
+                    echo "<p class='red'><b>Mitarbeiterdaten zu " . $ma['name']. ", ". $ma['vname'] . " wurden nicht oder nur teilweise gespeichert.</b></p>\n";
+                    echo "error: ". $dbc -> error;    
+                    echo "<br /><br />\n";                
+            }
+            include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/ma_tel_dat_show.inc.php");
+        }
+        echo "</div>";
+        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"ma_tel_flist.php?e=1$getp\" target=\"_self\" title=\"Telefonliste\">&laquo; zur Telefon-Liste</a></p>\n"; 
+        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Mitarbeiter erfassen\">Neuen Mitarbeiter erfassen</a></p>\n";    
+    }
+?>
+</body>
 </html>
\ No newline at end of file