fhiiqm: achilleus -> db2, Korrekturen default tip
authorBettina Schwarzer
Fri, 05 Feb 2016 14:03:40 +0100
changeset 44 d652bbba2d43
parent 43 70cea8f0e807
fhiiqm: achilleus -> db2, Korrekturen
Thumbs.db
fhiiqm/form/info_form2.inc.php
fhiiqm/inc/conf.inc.php
fhiiqm/inc/func_lib.inc.php
fhiiqm/inc/ma_list_ac.inc.php
fhiiqm/inc/menu.inc.php
fhiiqm/keytyp_dep_bem_ed.php
fhiiqm/keytyp_ma_search.php
fhiiqm/laser_log_flist_ed.php
fhiiqm/ldap_mod_uid.php
fhiiqm/logout.php
fhiiqm/ma_fkt_flist.php
fhiiqm/ma_tel_ed.php
fhiiqm/ma_tel_flist.php
fhiiqm/partner_ins.php
fhiiqm/partner_upd.php
fhiiqm/recht_ed.php
fhiiqm/report/keytyp_bestand_all_report.php
fhiiqm/report/rag_gf_msn_vs_report.php
fhiiqm/report/vtr_kuend_emaila.php
fhiiqm/start.php
Binary file Thumbs.db has changed
--- a/fhiiqm/form/info_form2.inc.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/form/info_form2.inc.php	Fri Feb 05 14:03:40 2016 +0100
@@ -18,7 +18,7 @@
 <!-- <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_svc"> -->	
 <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="form_info" target="_self"> 	
 <div align="center"> 
-<table width="60%" border="0" cellspacing="3" cellpadding="3">
+<table width="70%" border="0" cellspacing="3" cellpadding="3">
 <?php 
 //    if ($inf["ityp"] != 6 && $ityp != 6)
 //    {
--- a/fhiiqm/inc/conf.inc.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/inc/conf.inc.php	Fri Feb 05 14:03:40 2016 +0100
@@ -9,8 +9,9 @@
 
 $config = array(
 // DB Verbindung
-        "server"=>"achilleus",
+//        "server"=>"achilleus",
 //        "server"=>"localhost",
+        "server" => "db2",  // ab 05.02.2016
         "user"=>"www",
         "passwort"=>"fhiiqm",
         "dbname"=>"fhiiqm",
--- a/fhiiqm/inc/func_lib.inc.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/inc/func_lib.inc.php	Fri Feb 05 14:03:40 2016 +0100
@@ -273,7 +273,7 @@
                     if ($ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappwd))
                     {
                         ldap_close($ldapconn);
-                        if (!isset($_SESSION['user'])) $_SESSION = array();  // zerstoert alle Session-Variablen,wenn keine Anmeldung an apartvw
+                        if (!isset($_SESSION['user']) && !isset($_SESSION['useridz'])) $_SESSION = array();  // zerstoert alle Session-Variablen,wenn keine Anmeldung an apartvw oder timerec
                         $_SESSION["userid"] = $userid;
 
                         // Recht
@@ -510,7 +510,7 @@
                 }        
                 if (is_array($ag) && $ag)
                 {
-                    $entry3["physicalDeliveryOfficeName"] = array();
+                    $entry2["physicalDeliveryOfficeName"] = array();
                     $result = ldap_mod_del($ldapconn, $dn, $entry3);
                     if (!$result)
                     {
@@ -578,7 +578,7 @@
     } 
     function ldap_search_uid($sn,$gn)
     {
-        /** Suchrt uid des gegebenen Nutzers
+        /** Sucht uid des gegebenen Nutzers
          * 
          * Parameter
          * $sn
@@ -605,16 +605,14 @@
             $snr = str_replace($su,$rp,$sn); 
             $gnu = utf8_encode($gn);
             $snu = utf8_encode($sn);
-            if (!ldap_count_entries($ldapconn,$search))
-            {
-                if ($gn && $sn)
-                    $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$gn*)(mail=$sn*))";
-                if ($sn && !$gn)
-                    $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$sn*))";
-                if (!$sn && $gn)
-                    $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$gn*))";
-                $search=@ldap_search($ldapconn,$base,$filter,$afields);
-            }
+            $search = null;
+            if ($gn && $sn)
+                $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$gn*)(mail=$sn*))";
+            if ($sn && !$gn)
+                $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$sn*))";
+            if (!$sn && $gn)
+                $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$gn*))";
+            $search=@ldap_search($ldapconn,$base,$filter,$afields);
             if (!ldap_count_entries($ldapconn,$search))
             {
                 if ($gn && $sn)
--- a/fhiiqm/inc/ma_list_ac.inc.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/inc/ma_list_ac.inc.php	Fri Feb 05 14:03:40 2016 +0100
@@ -34,7 +34,7 @@
     if (isset($gast) && $gast) $aktiv = ""; else $aktiv = "aktiv>=0 AND ";    
     $sql = "SELECT CONCAT (nachname, IF (vorname>'',CONCAT(', ',vorname), ''), ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE (CASE aktiv WHEN -1 THEN 'Gast' ELSE 'inaktiv' END) END, ')') as label, 
             CONCAT (nachname, IF (vorname>'',CONCAT(', ',vorname), ''), ', ' , IFNULL(abt_name,''), ' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE (CASE aktiv WHEN -1 THEN 'Gast' ELSE 'inaktiv' END) END, ')') as val,
-            persknr as id, nachname as sn, vorname as gn 
+            persknr as id, nachname as sn, vorname as gn,lower(substring_index(email,'@',1)) as username 
             FROM fhiiqm.Mitarbeiter m LEFT OUTER JOIN fhiiqm.Abteilung a ON m.abt_tel=a.abt_ID
             WHERE $aktiv aktiv<2 AND nachname LIKE '%".$q."%' COLLATE latin1_general_ci 
             ORDER BY ". $ord ."1";
@@ -43,7 +43,7 @@
     {
         foreach ($result as $row)
         {
- 			$clist[] = "{\"label\": \"" . $row->label . "\",\"value\": \"" . $row->val . "\",\"id\": " . $row->id . ",\"sn\": \"" . $row->sn . "\",\"gn\": \"" . $row->gn ."\"}";
+ 			$clist[] = "{\"label\": \"" . $row->label . "\",\"value\": \"" . $row->val . "\",\"id\": " . $row->id . ",\"sn\": \"" . $row->sn . "\",\"gn\": \"" . $row->gn ."\",\"username\": \"" . $row->username ."\"}";
 		}
         echo "[" . implode(", ", $clist) . "]"; // Format, das jquery source erwartet
     }
--- a/fhiiqm/inc/menu.inc.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/inc/menu.inc.php	Fri Feb 05 14:03:40 2016 +0100
@@ -220,7 +220,10 @@
                     echo "<li><a href=\"/fhiiqm/tel_ed.php\" target=\"_blank\" title=\"Telefon\">Telefon erfassen</a></li>\n";
                 }
           if (in_array("mtr",$_SESSION["recht"]) || in_array("mte",$_SESSION["recht"]))
+          {
+                    echo "<li><a href=\"/fhiiqm/ma_tel_flist.php?e=1\" target=\"_blank\" title=\"MA-Telefonliste\">Mitarbeiter - Telefon sortieren, filtern</a></li>\n";
                     echo "<li><a href=\"/fhiiqm/ma_obj_report.php\" target=\"_blank\" title=\"Report Mitarbeiter\">Berichte Mitarbeiter - Telefon</a></li>\n";
+          }
           else
             echo "<li><a href=\"/fhiiqm/ma_tel_flist.php\" target=\"_blank\" title=\"MA-Telefonliste\">Mitarbeiter - Telefon sortieren, filtern</a></li>\n";
     	  echo "   </ul>\n
--- a/fhiiqm/keytyp_dep_bem_ed.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/keytyp_dep_bem_ed.php	Fri Feb 05 14:03:40 2016 +0100
@@ -55,6 +55,7 @@
 
     // Korrektur Bemerkung
     $t = $_POST["t"];
+//    print_r ($t); echo "<br />";
     $save = $_POST["save"];
     $kt = $_GET["kt"];
     $dp = $_GET["dp"];
@@ -63,7 +64,7 @@
     $ky    = $_POST["ky"];    // Parameter aus SearchForm
     $search = $_POST["search"];
     if (!$search) $search =  $_GET["s"];
-    if (!$search) $search =  $t[s];
+    if (!$search) $search =  $t["s"];
     $zeil = $ky["z"];
     if (!$zeil) $zeil = $_GET["z"];
     if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
@@ -77,17 +78,15 @@
         $ky["bind"]    = $_GET["b"];
         $ky["sort1"]   = $_GET["s1"];
         $ky["sort2"]   = $_GET["s2"];
-        $ky["sort3"]   = $_GET["s3"];
     }
     $_GET["d"] = $ky["dep"];
     $_GET["k"] = $ky["kt"];
     $_GET["b"] = $ky["bind"];
     $_GET["s1"]= $ky["sort1"];
     $_GET["s2"]= $ky["sort2"];
-    $_GET["s3"]= $ky["sort3"];
     $_GET["z"]  = $zeil;
     
-    $ps="d=".$ky["dep"]."&k=".$ky["kt"]."&b=".$ky["bind"]."&s1=".$ky["sort1"]."&s2=".$ky["sort2"]."&s3=".$ky["sort3"];
+    $ps="d=".$ky["dep"]."&k=".$ky["kt"]."&b=".$ky["bind"]."&s1=".$ky["sort1"]."&s2=".$ky["sort2"];
 
     if ($save)
     {
@@ -293,7 +292,7 @@
                     echo "<input type='hidden' name='t[dd]' value='".$row->depot_date."' />";
                     echo "<input type='hidden' name='ky[kt]' value='".$ky["kt"]."' />";
                     echo "<input type='hidden' name='ky[dep]' value='".$ky["dep"]."' />";
-                    echo "<input type='hidden' name='ky[bind]' value='".$ky["dep"]."' />";
+                    echo "<input type='hidden' name='ky[bind]' value='".$ky["bind"]."' />";
                     echo "<input type='hidden' name='ky[sort1]' value='".$ky["sort1"]."' />";
                     echo "<input type='hidden' name='ky[sort2]' value='".$ky["sort2"]."' />";
                     echo "<input type='hidden' name='ky[sort3]' value='".$ky["sort3"]."' />";
@@ -304,6 +303,7 @@
                 else
                 {
                     echo "<td>$row->depot_bem</td>"; 
+//                    echo "<td><a href='".$_SERVER["PHP_SELF"]."?dd=$row->depot_date&s=1&$ps'>
                     echo "<td><a href='".$_SERVER["PHP_SELF"]."?kt=$row->keytyp_ID&dp=$row->depot_ID&dd=$row->depot_date&s=1&$ps'>
                     <img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
                 }    
--- a/fhiiqm/keytyp_ma_search.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/keytyp_ma_search.php	Fri Feb 05 14:03:40 2016 +0100
@@ -143,7 +143,7 @@
         else
         {
             $sql = "SELECT km.keytyp_ID, key_level, pers_anz AS anzahl,pers_date, pers_bem, depot_ID, 
-                    CONCAT (nachname, ', ',vorname, ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 0 THEN 'inaktiv' ELSE 'aktiv' END, ')') AS nvname,  
+                    CONCAT (nachname, IFNULL(CONCAT(', ',vorname),''), ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 0 THEN 'inaktiv' ELSE 'aktiv' END, ')') AS nvname,  
                 	(CASE WHEN pers_action = 'get' THEN 'erhalten' WHEN  pers_action = 'out' THEN 'zurück' ELSE 'verloren'  END) AS status
                 	FROM fhiiqm.Mitarbeiter m 
                 	INNER JOIN Keytyp_MA km ON m.persknr=km.persknr
--- a/fhiiqm/laser_log_flist_ed.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/laser_log_flist_ed.php	Fri Feb 05 14:03:40 2016 +0100
@@ -1,380 +1,380 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 01/2012
- * 
- * Laser-Logbuch-Liste & Form
- */
-
-    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("lr",$_SESSION["recht"]) && !in_array("le",$_SESSION["recht"])))
-    {
-        header("Location: start.php");
-        exit;
-    }    
-    
-    include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
-    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-    include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
-
-?>
-
-<!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 type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>	
-    <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>	
-    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />	
-    <link type="text/css" href="/fhiiqm/css/jquery/jquery-ui-timepicker-addon.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>
-    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-timepicker-addon-1.0.1.js"></script>
-    <title>Laser-Logbuch</title>
- </head>
- 
- <body>
-
-    <script>
-      $(document).ready(function() {
-        $("#lid").focus();
-        $("#ldat").datetimepicker({
-            dateFormat: 'yy-mm-dd', 
-            timeFormat: 'hh:mm:ss', //damit kann auch Uhrzeit angegeben werden
-            yearRange: '2000:2020',
-            changeMonth: true,
-			changeYear: true,
-            firstDay: 1,
-            dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
-            monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
-            timeText: 'Uhrzeit',
-            hourText: 'Stunde',
-            currentText: 'Jetzt',
-            closeText: 'OK'   
-        });
-//        $("input[id='ldat']").addClass("long10");
-        });
-    </script>
-
-<?php
-    // Eingabeformular
-    $la     = $_POST["la"];
-    $laid   = $_GET["i"];
-    if (!$laid) $laid = $_POST["i"];
-    if (!$laid) $laid=0;
-    $sub    = $_POST["eintragen"]; // submit Log-Form
-	$ok		= $_POST["ok"];
-    if (!$la['okn']) $ok=false;
-    
-    $ldat    = urldecode($_GET["ld"]);  // Log-Datum aus edit
-    if (!$ldat) $ldat = $_POST["ld"];
-    if (!$ldat) $ldat = "0";
-//    echo "ldat: $ldat, " . urlencode($ldat) . ", ". urldecode($ldat). "<br />";
-    
-    $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 Laserliste mit den selben Einstellungen wie zuvor
-    $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
-
-    // Felder, nach denen gefiltert werden kann
-    $fields = array(2=>"Laser-ID",3=>"Laser",4=>"Log-Datum");
-
-    // Anzahl der gezeigten Zeilen, Start ab Zeile    
-    $zeil = $_GET["z"];
-    if (!$zeil) $zeil = $_POST["z"];
-    if (!$zeil) $zeil = 10;
-    $start = $_GET["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 Filter
-    
-    if (!isset($fnum) || !$fnum) $fnum = 1;
-    if (!isset($filter) || !$filter) $filter = "";
-    if (!isset($sort) || !$sort) $sort = 2;
-    if (!isset($dir) || !$dir)  $dir = "";
-
-
-    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/laser.png\" border=\"0\" alt=\"Laser\" title=\"Laser\"/></div>\n";
-    
-    if ($ok && $sub) // Daten Laser-Logbuch speichern
-    {
-        if (!$ldat)
-        {
-            try 
-            {
-                $logdate = new DateTime($la["ldat"]); 
-                $ok=1;
-            }     
-            catch(Exception $e) 
-            { 
-                echo "<p class='red'>fehlerhaftes Datum-Zeit-Feld: ".$e->getMessage(). "</p>";                
-                $la["ldat"] = null; 
-                $ok=0;
-            }
-        }
-        if ($ok)
-        {
-            $la["bem"] = substr($la["bem"],0,500);
-            $stmt = $dbc -> stmtinit();
-            if (is_object($stmt))
-            {
-                if (!$ldat)
-                {   // neuer Eintrag
-                    $stmt -> prepare("INSERT INTO fhiiqm.Laser_Logbuch (las_ID,log_date,log_bem) VALUES (?,?,?)");
-                    $stmt -> bind_param('iss',$la["lid"],$la["ldat"],$la["bem"]);        
-                    $res = $stmt -> execute();
-                    //                        print_r($stmt); echo "<br /><br />";
-                    if ($stmt->error) echo "INSERT Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
-                }
-                else
-                {   // log-bem aendern
-                    $stmt -> prepare("UPDATE fhiiqm.Laser_Logbuch SET log_bem = ? WHERE las_ID=? AND log_date=?");
-                    $stmt -> bind_param('sis',$la["bem"],$laid,$ldat);        
-                    $res = $stmt -> execute();
-                    if ($stmt->error) echo "UPDATE Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
-                }
-                $stmt -> free_result(); // wegen weiterer query
-                if (!$la["lid"])
-                { 
-                    $la["lid"]=$laid;
-                    $savetxt = "UPDATE";
-                    $ldat = "0"; // neue Eingabe ermoeglichen
-                }
-                else $savetxt = "INSERT";    
-                $sql = "SELECT las_bez FROM fhiiqm.Laser WHERE las_ID = " . $la["lid"];
-                $lbez = $dbc -> querySingleItem($sql);
-                if ($res)
-                {
-                    echo "<p class='green'><b>$savetxt: Daten  zu '".$lbez."' wurden erfolgreich gespeichert.</b></p>\n";
-                    unset($la);
-                    $sub = 0;
-                }   
-                else
-                    echo "<p class='red'><b>$savetxt: Daten  zu '".$lbez."' konnten nicht gespeichert werden!</b></p>\n";
-            }
-        }
-    }
-    
-    // Log-Eintraege holen 
-    $sql = "CALL laser_log_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,$laid,@anz);"; 
-    // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Startsatz(0), Anzahl zu liefernde DS, Laser-ID, Anzahl gefundener Laser
-    // liefert: las_ID, las_ID,las_bez, log_date,log_bem
-/*    $sql = "SELECT b.las_ID,las_bez, log_date,log_bem 
-            FROM `fhiiqm`.`Laser_Logbuch` b INNER JOIN Laser l
-            ON b.las_ID=l.las_ID";
-*/
-    $result = $dbc ->queryObjectArray($sql);
-    if ($dbc -> error)  
-        echo "error: " . $dbc -> error . "<br />\n";
-    
-    if (!$result)
-    {
-            echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!<br />";
-    }
-
-	$bg1 = "#F8F8F8";
-	$bg2 = "#DEDFE1";
-	$bg = "#FFFFFF";
- 
-    echo "<div align='center'>\n";
-    echo "<p><b>Laser - Logbuch</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 relevanten Spalten 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>\n";
-    echo "</table>\n";
-
-    if ($result) $anz = $dbc -> querySingleItem("SELECT @anz"); else $anz = 0;
-    if ($dbc -> error)  echo "error Anzahl: " . $dbc -> error . "<br />\n";
-    if ($laid) $laser = " f&uuml;r Laser-ID=$laid"; else $laser = "";
-    printf ("<p>Anzahl Logbucheintr&auml;ge$laser: %s</p>", $anz);    
-    
-    if (isset($fnum) && $fnum>1 && !$filter && !$subf)
-    {
-        // Formular anzeigen fuer Filterbegriff
-        $text = $fields[$fnum];
-        $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
-        if ($fnum == 4) $tip = "vollständiges Datum in der Form 'yyyy-mm-tt' angeben"; else $tip = "";
-        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 "<input type='hidden' name='i' value='$laid'>"; // nur gewaehlte Laser-ID
-        echo "<table width=\"30%\" border=\"0\">\n";
-        echo "<tr><td>filtern nach $text: </td>";
-        echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/>";
-        echo "<td>Zeilen/Seite?   <select name='z'>\n";
-        foreach ($azeil as $key=>$val)
-        {
-            if ($key == $zeil) $select = "selected"; else $select = "";
-            echo "<option $select value='$key'>$val</option>\n";
-        }
-        echo "</select></td>\n";
-        echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr>";
-        echo "<tr><td colspan='3'>$tip</td></tr></table>\n";
-        echo "</form>\n";
-        echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
-    }
-        
-    echo "<table width='60%'>\n";
-        
-    if ($filter>'!') echo "<tr><td class='bigger' colspan='5'>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
-
-    // Listenkopf generieren
-    echo "<tr bgcolor='#68ACBF'>";
-    tab_column(2,"Las-ID",$sort,$dir,2,$fnum,$filter,$start,$zeil,$laid);
-    tab_column(3,"Laser",$sort,$dir,3,$fnum,$filter,$start,$zeil,$laid);
-    tab_column(4,"Log-Datum",$sort,$dir,4,$fnum,$filter,$start,$zeil,$laid);
-    echo "<th width='60%'>Eintrag</th>";
-    echo "<th>&nbsp;</th></tr>\n";
-
-    if ($result)
-    {
-        // Logdaten anzeigen
-        foreach ($result as $row)
-        {
-			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
-            if ($laid == $row->las_ID && $ldat == $row->log_date) $bg = "#D6E6E6";
-            echo "<tr bgcolor='" . $bg . "'><td class='right'>$row->las_ID&nbsp;</td>";
-            echo "<td>$row->las_bez</td>";
-            if ($row->log_date)
-            {
-                $ld = new DateTime($row->log_date);    
-                echo "<td>" . $ld->format('d.m.Y H:i:s')."</td>";
-            }
-            if ($laid == $row->las_ID && $ldat == $row->log_date)
-            {   //Aenderungsform, nur Log-Eintrag
-                $okn = true;
-                if (!$la['bem']) $la['bem'] = $row->log_bem; 
-                echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
-                echo "<td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
-                echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
-                echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
-                echo "<input type=\"hidden\" name=\"ld\" value=\"$ldat\"/>";
-                echo "<input type=\"hidden\" name=\"st\" value=\"$start\"/>";
-                echo "<input type=\"hidden\" name=\"z\" value=\"$zeil\"/>";
-              	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";
-                echo "<td>&nbsp;</td>";
-            }
-            else
-            {
-                echo "<td>".nl2br($row->log_bem)."</td>";
-                if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
-                    echo "<td><a href='" . $_SERVER["PHP_SELF"]."?i=$row->las_ID&s=$start&z=$zeil&ld=" . urlencode($row->log_date) . // &f=$fnum&b=$filter&s=$sort&d=$dir&st=$st&z=$zeil
-                    "'><img src=\"/fhiiqm/img/edit.gif\" alt='edit Log-Eintrag' title='edit Log-Eintrag' border='0'/></a></td>";
-                else echo "<td>&nbsp;</td>";
-            }    
-            echo "</tr>\n";
-        }
-//    $dbc->result->free();
-    }
-
-    if ((!$ok || !$sub) && !$ldat && !is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
-    {
-        // Eingabe neuer Logbuch-Eintrag
-        $okn = true;
-        echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
-        echo "<tr bgcolor='#D6E6E6'><td>&nbsp</td><td>";
-        echo "<select name=\"la[lid]\" id='lid'>";
-        if ($laid) $wher = " WHERE las_ID = $laid "; else $wher = "";
-        $sql = "SELECT las_ID, las_bez FROM Laser $wher ORDER BY 2";
-        if ($res = $dbc -> queryObjectArray($sql))
-        {
-            $select = "";
-            foreach ($res as $row)
-            {
-                if ($row->las_ID == $la['lid']) $select="selected"; else $select="";
-                echo "<option $select value='$row->las_ID'>$row->las_ID - $row->las_bez</option>\n";
-            }
-        }
-        if ($dbc->error) echo "error Laserliste: ".$dbc -> error."</br>";
-        echo "</td><td valign=\"top\"><input class=\"long10\" type=\"text\" name=\"la[ldat]\" id=\"ldat\" value=\"" . $la['ldat']. "\"/>";
-        echo "<br />Uhrzeitangabe notwendig, falls f&uuml;r LaserID Eintrag am selben Tag vorhanden.";
-        if (isset($la['ldat']) && $la['ldat']< "!")
-        { 
-            echo "<br><span class=\"red\">Log-Datum ist erforderlich!</span>\n";
-            $okn = false;
-        }    
-        echo "</td><td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
-        echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
-        echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
-      	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 "<td>&nbsp;</td></tr>\n";
-        echo "</form>\n";
-    }
-
-    echo "</table>\n";
-    echo "</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,$anz,$liste);
-    
-    $dbc -> close();
-    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Laser-Log\" class=\"sc\">Log-Buch alle Laser</a></p>\n";
-    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/laser_flist.php$getp\" target=\"_self\" title=\"Laserliste\" class=\"sc\">Laserliste</a></p>\n";
-
-
-?>
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 01/2012
+ * 
+ * Laser-Logbuch-Liste & Form
+ */
+
+    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("lr",$_SESSION["recht"]) && !in_array("le",$_SESSION["recht"])))
+    {
+        header("Location: start.php");
+        exit;
+    }    
+    
+    include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
+    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+    include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+?>
+
+<!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 type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>	
+    <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>	
+    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />	
+    <link type="text/css" href="/fhiiqm/css/jquery/jquery-ui-timepicker-addon.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>
+    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-timepicker-addon-1.0.1.js"></script>
+    <title>Laser-Logbuch</title>
+ </head>
+ 
+ <body>
+
+    <script>
+      $(document).ready(function() {
+        $("#lid").focus();
+        $("#ldat").datetimepicker({
+            dateFormat: 'yy-mm-dd', 
+            timeFormat: 'hh:mm:ss', //damit kann auch Uhrzeit angegeben werden
+            yearRange: '2000:2020',
+            changeMonth: true,
+			changeYear: true,
+            firstDay: 1,
+            dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
+            monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
+            timeText: 'Uhrzeit',
+            hourText: 'Stunde',
+            currentText: 'Jetzt',
+            closeText: 'OK'   
+        });
+//        $("input[id='ldat']").addClass("long10");
+        });
+    </script>
+
+<?php
+    // Eingabeformular
+    $la     = $_POST["la"];
+    $laid   = $_GET["i"];
+    if (!$laid) $laid = $_POST["i"];
+    if (!$laid) $laid=0;
+    $sub    = $_POST["eintragen"]; // submit Log-Form
+	$ok		= $_POST["ok"];
+    if (!$la['okn']) $ok=false;
+    
+    $ldat    = urldecode($_GET["ld"]);  // Log-Datum aus edit
+    if (!$ldat) $ldat = $_POST["ld"];
+    if (!$ldat) $ldat = "0";
+//    echo "ldat: $ldat, " . urlencode($ldat) . ", ". urldecode($ldat). "<br />";
+    
+    $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 Laserliste mit den selben Einstellungen wie zuvor
+    $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
+
+    // Felder, nach denen gefiltert werden kann
+    $fields = array(2=>"Laser-ID",3=>"Laser",4=>"Log-Datum");
+
+    // Anzahl der gezeigten Zeilen, Start ab Zeile    
+    $zeil = $_GET["z"];
+    if (!$zeil) $zeil = $_POST["z"];
+    if (!$zeil) $zeil = 10;
+    $start = $_GET["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 Filter
+    
+    if (!isset($fnum) || !$fnum) $fnum = 1;
+    if (!isset($filter) || !$filter) $filter = "";
+    if (!isset($sort) || !$sort) $sort = 2;
+    if (!isset($dir) || !$dir)  $dir = "";
+
+
+    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/laser.png\" border=\"0\" alt=\"Laser\" title=\"Laser\"/></div>\n";
+    
+    if ($ok && $sub) // Daten Laser-Logbuch speichern
+    {
+        if (!$ldat)
+        {
+            try 
+            {
+                $logdate = new DateTime($la["ldat"]); 
+                $ok=1;
+            }     
+            catch(Exception $e) 
+            { 
+                echo "<p class='red'>fehlerhaftes Datum-Zeit-Feld: ".$e->getMessage(). "</p>";                
+                $la["ldat"] = null; 
+                $ok=0;
+            }
+        }
+        if ($ok)
+        {
+            $la["bem"] = substr($la["bem"],0,500);
+            $stmt = $dbc -> stmtinit();
+            if (is_object($stmt))
+            {
+                if (!$ldat)
+                {   // neuer Eintrag
+                    $stmt -> prepare("INSERT INTO fhiiqm.Laser_Logbuch (las_ID,log_date,log_bem) VALUES (?,?,?)");
+                    $stmt -> bind_param('iss',$la["lid"],$la["ldat"],$la["bem"]);        
+                    $res = $stmt -> execute();
+                    //                        print_r($stmt); echo "<br /><br />";
+                    if ($stmt->error) echo "INSERT Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+                }
+                else
+                {   // log-bem aendern
+                    $stmt -> prepare("UPDATE fhiiqm.Laser_Logbuch SET log_bem = ? WHERE las_ID=? AND log_date=?");
+                    $stmt -> bind_param('sis',$la["bem"],$laid,$ldat);        
+                    $res = $stmt -> execute();
+                    if ($stmt->error) echo "UPDATE Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+                }
+                $stmt -> free_result(); // wegen weiterer query
+                if (!$la["lid"])
+                { 
+                    $la["lid"]=$laid;
+                    $savetxt = "UPDATE";
+                    $ldat = "0"; // neue Eingabe ermoeglichen
+                }
+                else $savetxt = "INSERT";    
+                $sql = "SELECT las_bez FROM fhiiqm.Laser WHERE las_ID = " . $la["lid"];
+                $lbez = $dbc -> querySingleItem($sql);
+                if ($res)
+                {
+                    echo "<p class='green'><b>$savetxt: Daten  zu '".$lbez."' wurden erfolgreich gespeichert.</b></p>\n";
+                    unset($la);
+                    $sub = 0;
+                }   
+                else
+                    echo "<p class='red'><b>$savetxt: Daten  zu '".$lbez."' konnten nicht gespeichert werden!</b></p>\n";
+            }
+        }
+    }
+    
+    // Log-Eintraege holen 
+    $sql = "CALL laser_log_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,$laid,@anz);"; 
+    // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Startsatz(0), Anzahl zu liefernde DS, Laser-ID, Anzahl gefundener Laser
+    // liefert: las_ID, las_ID,las_bez, log_date,log_bem
+/*    $sql = "SELECT b.las_ID,las_bez, log_date,log_bem 
+            FROM `fhiiqm`.`Laser_Logbuch` b INNER JOIN Laser l
+            ON b.las_ID=l.las_ID";
+*/
+    $result = $dbc ->queryObjectArray($sql);
+    if ($dbc -> error)  
+        echo "error: " . $dbc -> error . "<br />\n";
+    
+    if (!$result)
+    {
+            echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!<br />";
+    }
+
+	$bg1 = "#F8F8F8";
+	$bg2 = "#DEDFE1";
+	$bg = "#FFFFFF";
+ 
+    echo "<div align='center'>\n";
+    echo "<p><b>Laser - Logbuch</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 relevanten Spalten 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>\n";
+    echo "</table>\n";
+
+    if ($result) $anz = $dbc -> querySingleItem("SELECT @anz"); else $anz = 0;
+    if ($dbc -> error)  echo "error Anzahl: " . $dbc -> error . "<br />\n";
+    if ($laid) $laser = " f&uuml;r Laser-ID=$laid"; else $laser = "";
+    printf ("<p>Anzahl Logbucheintr&auml;ge$laser: %s</p>", $anz);    
+    
+    if (isset($fnum) && $fnum>1 && !$filter && !$subf)
+    {
+        // Formular anzeigen fuer Filterbegriff
+        $text = $fields[$fnum];
+        $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
+        if ($fnum == 4) $tip = "vollständiges Datum in der Form 'yyyy-mm-tt' angeben"; else $tip = "";
+        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 "<input type='hidden' name='i' value='$laid'>"; // nur gewaehlte Laser-ID
+        echo "<table width=\"30%\" border=\"0\">\n";
+        echo "<tr><td>filtern nach $text: </td>";
+        echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/>";
+        echo "<td>Zeilen/Seite?   <select name='z'>\n";
+        foreach ($azeil as $key=>$val)
+        {
+            if ($key == $zeil) $select = "selected"; else $select = "";
+            echo "<option $select value='$key'>$val</option>\n";
+        }
+        echo "</select></td>\n";
+        echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr>";
+        echo "<tr><td colspan='3'>$tip</td></tr></table>\n";
+        echo "</form>\n";
+        echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
+    }
+        
+    echo "<table width='70%'>\n";
+        
+    if ($filter>'!') echo "<tr><td class='bigger' colspan='5'>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
+
+    // Listenkopf generieren
+    echo "<tr bgcolor='#68ACBF'>";
+    tab_column(2,"Las-ID",$sort,$dir,2,$fnum,$filter,$start,$zeil,$laid);
+    tab_column(3,"Laser",$sort,$dir,3,$fnum,$filter,$start,$zeil,$laid);
+    tab_column(4,"Log-Datum",$sort,$dir,4,$fnum,$filter,$start,$zeil,$laid);
+    echo "<th width='60%'>Eintrag</th>";
+    echo "<th>&nbsp;</th></tr>\n";
+
+    if ($result)
+    {
+        // Logdaten anzeigen
+        foreach ($result as $row)
+        {
+			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+            if ($laid == $row->las_ID && $ldat == $row->log_date) $bg = "#D6E6E6";
+            echo "<tr bgcolor='" . $bg . "'><td class='right'>$row->las_ID&nbsp;</td>";
+            echo "<td>$row->las_bez</td>";
+            if ($row->log_date)
+            {
+                $ld = new DateTime($row->log_date);    
+                echo "<td>" . $ld->format('d.m.Y H:i:s')."</td>";
+            }
+            if ($laid == $row->las_ID && $ldat == $row->log_date)
+            {   //Aenderungsform, nur Log-Eintrag
+                $okn = true;
+                if (!$la['bem']) $la['bem'] = $row->log_bem; 
+                echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
+                echo "<td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
+                echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
+                echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
+                echo "<input type=\"hidden\" name=\"ld\" value=\"$ldat\"/>";
+                echo "<input type=\"hidden\" name=\"st\" value=\"$start\"/>";
+                echo "<input type=\"hidden\" name=\"z\" value=\"$zeil\"/>";
+              	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";
+                echo "<td>&nbsp;</td>";
+            }
+            else
+            {
+                echo "<td>".nl2br($row->log_bem)."</td>";
+                if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+                    echo "<td><a href='" . $_SERVER["PHP_SELF"]."?i=$row->las_ID&s=$start&z=$zeil&ld=" . urlencode($row->log_date) . // &f=$fnum&b=$filter&s=$sort&d=$dir&st=$st&z=$zeil
+                    "'><img src=\"/fhiiqm/img/edit.gif\" alt='edit Log-Eintrag' title='edit Log-Eintrag' border='0'/></a></td>";
+                else echo "<td>&nbsp;</td>";
+            }    
+            echo "</tr>\n";
+        }
+//    $dbc->result->free();
+    }
+
+    if ((!$ok || !$sub) && !$ldat && !is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+    {
+        // Eingabe neuer Logbuch-Eintrag
+        $okn = true;
+        echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n"; 
+        echo "<tr bgcolor='#D6E6E6'><td>&nbsp</td><td>";
+        echo "<select name=\"la[lid]\" id='lid'>";
+        if ($laid) $wher = " WHERE las_ID = $laid "; else $wher = "";
+        $sql = "SELECT las_ID, las_bez FROM Laser $wher ORDER BY 2";
+        if ($res = $dbc -> queryObjectArray($sql))
+        {
+            $select = "";
+            foreach ($res as $row)
+            {
+                if ($row->las_ID == $la['lid']) $select="selected"; else $select="";
+                echo "<option $select value='$row->las_ID'>$row->las_ID - $row->las_bez</option>\n";
+            }
+        }
+        if ($dbc->error) echo "error Laserliste: ".$dbc -> error."</br>";
+        echo "</td><td valign=\"top\"><input class=\"long10\" type=\"text\" name=\"la[ldat]\" id=\"ldat\" value=\"" . $la['ldat']. "\"/>";
+        echo "<br />Uhrzeitangabe notwendig, falls f&uuml;r LaserID Eintrag am selben Tag vorhanden.";
+        if (isset($la['ldat']) && $la['ldat']< "!")
+        { 
+            echo "<br><span class=\"red\">Log-Datum ist erforderlich!</span>\n";
+            $okn = false;
+        }    
+        echo "</td><td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
+        echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
+        echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
+      	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 "<td>&nbsp;</td></tr>\n";
+        echo "</form>\n";
+    }
+
+    echo "</table>\n";
+    echo "</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,$anz,$liste);
+    
+    $dbc -> close();
+    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Laser-Log\" class=\"sc\">Log-Buch alle Laser</a></p>\n";
+    echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/laser_flist.php$getp\" target=\"_self\" title=\"Laserliste\" class=\"sc\">Laserliste</a></p>\n";
+
+
+?>
+</body>
 </html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/ldap_mod_uid.php	Fri Feb 05 14:03:40 2016 +0100
@@ -0,0 +1,234 @@
+#!/usr/bin/php
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 11/2014
+ * 
+ * Uebertragen von Telefon-Nr. je Mitarbeiter nach LDAP
+ */
+
+    error_reporting(E_ALL ^ E_NOTICE);
+
+    function ldap_replace($sn,$gn,$mail,$tel)
+    {
+        /** ersetzt bestehende Eintraege von LDAP-Objektklassen
+         *  erstellt weiteres Attribut zu Telefon
+         * 
+         * Parameter
+         * $sn
+         * $gn      - givenName
+         * $tel[]   - telephonNumber
+         * */ 
+        global $ldapconn;
+        global $ldapbd;
+
+        if ($ldapbd)
+        {
+            $base="ou=people,dc=ppb,dc=rz-berlin,dc=mpg,dc=de";
+            $uid = ldap_search_uid($sn,$gn,$mail);
+            //Parameter abfragen
+            if ($uid)
+            {
+                $dn = "uid=".$uid .",ou=people,dc=ppb,dc=rz-berlin,dc=mpg,dc=de";
+/*
+                $su = array("ä","ö","ü","ß","Ä","Ö","Ü");
+                $rp = array("ae","oe","ue","ss","Ae","Oe","Ue");
+                $gn = str_replace($su,$rp,$gn);
+                $sn = str_replace($su,$rp,$sn); 
+                $entry["sn"] = $sn;
+                $entry["givenName"] = $gn;
+//                    print_r ($entry); echo "ldapconn=$ldapconn: single<br />";
+                $result1 = ldap_mod_replace($ldapconn, $dn, $entry);    
+                if (!$result1)
+                {
+                    printf("LDAP-Fehlernummer replace: %s<br>\n", ldap_errno($ldapconn));
+                    printf("LDAP-Fehler replace: %s<br>\n", ldap_error($ldapconn));
+                }
+*/
+                if (is_array($tel) && $tel)
+                {
+                    $entry2["telephoneNumber"] = array();
+                    $afields = array ("telephoneNumber");
+                    $searcht = @ldap_search($ldapconn,$dn,"(telephoneNumber=*)",$afields);
+//                    echo "anzahl telefonNumber=" . ldap_count_entries($ldapconn,$searcht)."<br />";
+                    if (ldap_count_entries($ldapconn,$searcht))
+                    {
+                        $result = ldap_mod_del($ldapconn, $dn, $entry2);
+                        if (!$result && ldap_errno($ldapconn) <> 16)
+                        {
+                            printf("LDAP-Fehlernummer del: %s<br>\n", ldap_errno($ldapconn));
+                            printf("LDAP-Fehler deltel: %s<br>\n", ldap_error($ldapconn));
+                        }
+                    }
+                    foreach ($tel as $telf)
+                    {
+                        if ($telf > "!") $entry2["telephoneNumber"][] = $telf;
+                    }    
+                }        
+                $result2 = ldap_mod_add($ldapconn, $dn, $entry2);    
+                if (!$result2)
+                {
+                    printf("LDAP-Fehlernummer add: %s<br>\n", ldap_errno($ldapconn));
+                    printf("LDAP-Fehler addtel: %s<br>\n", ldap_error($ldapconn));
+                    return 0;
+                }
+
+                return 1;
+            }
+            else
+            {
+                echo "Mitarbeiter '".$gn ." " . $sn ."' konnte nicht identifiziert werden.<br />";
+                return 1; 
+            }
+        }        
+    } 
+    function ldap_search_uid($sn,$gn,$mail)
+    {
+        /** Sucht uid des gegebenen Nutzers
+         * 
+         * Parameter
+         * $sn
+         * $gn      - givenName
+         * */ 
+        global $ldapconn;
+        global $ldapbd;
+    
+        if ($ldapbd)
+        {
+            $base="ou=people,dc=ppb,dc=rz-berlin,dc=mpg,dc=de";
+            $su = array("ä","ö","ü","ß","Ä","Ö","Ü","ó","é");
+            $rp = array("ae","oe","ue","ss","Ae","Oe","Ue","o","e");
+            $afields = array ("uid");
+//            $afields = array ("uid","cn","mail","sn");
+            if (strpos($sn,' ')) // Nachname mit Leerzeichen
+            {
+                $snt = substr(strstr($sn,' '),1); // 2. Teil Nachname
+                $sntr = str_replace($su,$rp,$snt);
+            }
+            $gnr = str_replace($su,$rp,$gn);
+            $snr = str_replace($su,$rp,$sn); 
+            $gnu = utf8_encode($gn);
+            $snu = utf8_encode($sn);
+            if (isset($mail) && $mail)
+            {
+                $filter = "(mail=$mail)";
+                $search=@ldap_search($ldapconn,$base,$filter,$afields);
+            }
+            if (!$mail || ($mail && !ldap_count_entries($ldapconn,$search)))
+            {
+                if ($gn && $sn)
+                    $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$gn*)(mail=$sn*))";
+                if ($sn && !$gn)
+                    $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$sn*))";
+                if (!$sn && $gn)
+                    $filter = "(|(&(sn=$sn*)(givenName=$gn*))(mail=$gn*))";
+                $search=@ldap_search($ldapconn,$base,$filter,$afields);
+            }
+            if (!ldap_count_entries($ldapconn,$search))
+            {
+                if ($gn && $sn)
+                    $filter = "(|(&(sn=$snr*)(givenName=$gnr*))(mail=$gnr*)(mail=$snr*))";
+                if ($sn && !$gn)
+                    $filter = "(|(&(sn=$snr*)(givenName=$gnr*))(mail=$snr*))";
+                if (!$sn && $gn)
+                    $filter = "(|(&(sn=$snr*)(givenName=$gnr*))(mail=$gnr*))";
+                $search=@ldap_search($ldapconn,$base,$filter,$afields);
+            }
+            if (!ldap_count_entries($ldapconn,$search))
+            {
+                if ($gn && $sn)
+                    $filter = "(|(&(sn=$snu*)(givenName=$gnu*))(mail=$gnu*)(mail=$snu*))";
+                if ($sn && !$gn)
+                    $filter = "(|(&(sn=$snu*)(givenName=$gnu*))(mail=$snu*))";
+                if (!$sn && $gn)
+                    $filter = "(|(&(sn=$snu*)(givenName=$gnu*))(mail=$gnu*))";
+                $search=@ldap_search($ldapconn,$base,$filter,$afields);
+            }
+            if (isset($snt)&& $snt && !ldap_count_entries($ldapconn,$search))
+            {
+                if ($gn && $snt)
+                    $filter = "(|(&(sn=$snt*)(givenName=$gn*))(mail=$gn*)(mail=$snt*))";
+                if ($snt && !$gn)
+                    $filter = "(|(&(sn=$snt*)(givenName=$gn*))(mail=$snt*))";
+                if (!$sn && $gn)
+                    $filter = "(|(&(sn=$snt*)(givenName=$gn*))(mail=$gn*))";
+                $search=@ldap_search($ldapconn,$base,$filter,$afields);
+            }
+            if (isset($snt) && $snt && !ldap_count_entries($ldapconn,$search))
+            {
+                if ($gn && $snt)
+                    $filter = "(|(&(sn=$sntr*)(givenName=$gnr*))(mail=$gnr*)(mail=$sntr*))";
+                if ($snt && !$gn)
+                    $filter = "(|(&(sn=$sntr*)(givenName=$gnr*))(mail=$sntr*))";
+                if (!$sn && $gn)
+                    $filter = "(|(&(sn=$sntr*)(givenName=$gnr*))(mail=$gnr*))";
+                $search=@ldap_search($ldapconn,$base,$filter,$afields);
+            }
+            if (ldap_count_entries($ldapconn,$search))
+            {
+                $info = ldap_get_entries($ldapconn, $search);
+                for ($i=0; $i<$info["count"]; $i++)
+                    $uid = $info[$i]["uid"][0];
+            }
+            return $uid;
+        }
+        else {return 0;}
+    }
+    
+	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+    $sql = "CALL fhiiqm.tel_list_comp('1','','','',@anz);"; 
+    $result = $dbc ->queryObjectArray($sql);
+    if ($result)
+    {
+        include($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/conf.inc.php");
+        $erfolg = 1;
+        $ldaphost = "a-rth-urp-hil-ipdenu.rz-berlin.mpg.de";  // Ihr ldap server
+//        $ldaphost = "ldaps://a-rth-urp-hil-ipdenu.rz-berlin.mpg.de";  // Ihr ssl-ldap server
+        $ldapport = 389;                 // StandardPortnummer ldap server
+//        $ldapport = 636;                 // SSL-Portnummer ldap server
+        
+        // Verbindung zu LDAP
+//        if (!$ldapconn) $ldapconn = ldap_connect( $ldaphost, $ldapport );
+//        ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7); // nur zur Fehlersuche
+        if (!$ldapconn) $ldapconn = ldap_connect( $ldaphost) 
+            or die( "Keine Verbindung zu $ldaphost möglich" );
+        ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
+        ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
+        if ($ldapconn && ldap_start_tls($ldapconn)) $ldapbd = @ldap_bind($ldapconn, $ldaprdn, $ldappwd);
+//        if ($ldapconn) $ldapbd = @ldap_bind($ldapconn, $ldaprdn, $ldappwd);
+        if (!$ldapbd) echo ldap_errno($ldapconn).": ".ldap_error($ldapconn)."<br/>";
+       
+        if ($ldapbd)
+        {
+            foreach ($result as $row) 
+            {
+                $sn = $row->name;
+                $gn = $row->vorname;
+                $tels = $row->tel;
+                $mail = $row->email;
+                $atel = explode("; ",$tels);
+                foreach ($atel as $key=>$tel)
+                {
+                    $pat = "/([^0-9\+\-\ \(\)\#\/])+/";
+                    if (preg_match($pat,$tel)) unset($atel[$key]);
+                    elseif (strlen($tel) > 4 && substr($tel,0,1) != 0 ) $atel[$key] = '0'.$tel;
+                    elseif (substr($tel,0,1) == '#')
+                    {
+                        $atel[$key] = substr($tel,1);
+                    } 
+                }
+                $atelf = array_filter($atel); //filtert alle 'falschen' Werte und damit key/value-Eintraege  aus $atel
+                if (isset($atel) && $atel && count($atelf) > 0)
+                {
+//                    print_r($atelf); echo "->$sn, $gn<br />";
+                    $erfolg =  $erfolg && ldap_replace($sn,$gn,$mail,$atelf);
+                }
+            }
+            if ($erfolg) $erfolg = "mit Erfolg"; else $erfolg = "nicht oder nur teilweise"; 
+            echo "LDAP wurde $erfolg aktualisiert<br />";
+            ldap_unbind($ldapconn);
+        }
+   }      
+?>
\ No newline at end of file
--- a/fhiiqm/logout.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/logout.php	Fri Feb 05 14:03:40 2016 +0100
@@ -7,6 +7,7 @@
  * Loeschen der Session
  */
 
+    error_reporting(E_ALL ^ E_NOTICE);
     session_start();
 /*    // session cookie loeschen, neuer leerer wird auf Server erstellt
     if (ini_get("session.use_cookies")) {
@@ -15,7 +16,7 @@
         $params["domain"], $params["secure"], $params["httponly"]
     );
     } */
-    if (isset($_SESSION['user']) && $_SESSION['user'])
+    if (isset($_SESSION['user']) || $_SESSION['useridz']) // apartvw oder timerec
     {
         unset($_SESSION['userid']);
         unset($_SESSION['recht']);
--- a/fhiiqm/ma_fkt_flist.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/ma_fkt_flist.php	Fri Feb 05 14:03:40 2016 +0100
@@ -1,213 +1,213 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 09/2011
- * 
- * Liste Mitarbeiter - Funktion
- */
-
-    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("fmr",$_SESSION["recht"]) && !in_array("fme",$_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>Liste Beauftragte</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/reseller_account_template.png\" border=\"0\" alt=\"Mitarbeiter-Funktion\" title=\"Mitarbeiter-Funktion\"/></div>\n";
-
-    // Felder, nach denen gefiltert werden kann
-    $fields = array(2=>"Name",4=>"Funktion",8=>"Abteilung");
-
-    $zeil = $_GET["z"];
-    if (!$zeil) $zeil = $_POST["z"];
-    if (!$zeil) $zeil = 25; // Anzahl der gezeigten Zeilen
-    $start = $_GET["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 = "";
-    $getp = "&st=$start&z=$zeil&s=$sort&d=$dir&f=$fnum&b=$filter"; //Link fuer Beauftragungenliste zurueck
-
-    include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
-	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
-	$dbc = new dbconnection();
-
-    $sql = "CALL ma_fkt_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,@anz);"; 
-    // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Anzahl gefundener Mitarbeiter
-    // liefert: persknr, mname, fkt_ID, fkt_bez, fkt_bereich, fkt_von, fkt_bis, fkt_bem
-//    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 Mitarbeiter - Funktion</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 relevanten Spalten 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 class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten der Zuordnung,  
-            '<img src='/fhiiqm/img/duplicate.gif' border='0' hight='11'>' - Duplizieren Mitarbeiter - Funktion</td></tr>
-            <tr><td class='bigger'>Das Klicken auf den Mitarbeiternamen löst das <em>Versenden einer E-Mail</em> an diesen aus.</td></tr>\n";
-        echo "</table>\n";
-
-        $panz = $dbc -> querySingleItem("SELECT @anz");
-        printf ("<p>Anzahl Zuordnungen Mitarbeiter - Funktion: %s</p>", $panz);
-        
-        if (isset($fnum) && $fnum>1 && !$filter && !$subf)
-        {
-            // Formular anzeigen fuer Filterbegriff
-            $text = $fields[$fnum];
-            $azeil = array(25=>'25',50=>'50',100=>'100',1000=>'alle');
-            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=\"40%\" border=\"0\">\n";
-            echo "<tr><td>filtern nach $text: </td>";
-            echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/></td>";
-            echo "<td>Zeilen/Seite?   <select name='z'>\n";
-            foreach ($azeil as $key=>$val)
-            {
-                if ($key == $zeil) $select = "selected"; else $select = "";
-                echo "<option $select value='$key'>$val</option>\n";
-            }
-            echo "</select></td>\n";
-            
-            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,"Mitarbeiter",$sort,$dir,2,$fnum,$filter,$start,$zeil);
-        tab_column(8,"Abt.",$sort,$dir,8,$fnum,$filter,$start,$zeil);
-        echo "<th>Tel.</th>";
-        tab_column(4,"Funktion",$sort,$dir,4,$fnum,$filter,$start,$zeil);
-        tab_column(5,"Geltungsbereich",$sort,$dir,0,$fnum,$filter,$start,$zeil);
-//        echo "<th>Geltungsbereich</th>";
-        tab_column(6,"Beginn",$sort,$dir,0,$fnum,$filter,$start,$zeil);
-        tab_column(7,"Ende",$sort,$dir,0,$fnum,$filter,$start,$zeil);
-        echo "<th>Bemerkung</th>";
-        echo "<th>&nbsp;</th>";
-        echo "<th>&nbsp;</th></tr>\n";
-        
-        foreach ($result as $row)
-        {
-			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
-            echo "<tr bgcolor='" . $bg . "'><td><a href='mailto:$row->email'>$row->mname</a></td>";
-            echo "<td>$row->abt_name</td>";    
-            echo "<td>$row->tel</td>";
-            echo "<td>$row->fkt_bez</td>";
-            echo "<td class=\"right\">$row->fkt_bereich</td>";
-            if ($row->fkt_von)
-            {
-                $fb = new DateTime($row->fkt_von);    
-                echo "<td>" . $fb->format('d.m.Y')."</td>";
-            }
-            else  echo "<td>&nbsp;</td>";       
-            if ($row->fkt_bis)
-            {
-                $fb = new DateTime($row->fkt_bis);    
-                echo "<td>" . $fb->format('d.m.Y')."</td>";
-            }
-            else  echo "<td>&nbsp;</td>";       
-            echo "<td>$row->fkt_bem</td>";
-//            $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
-//            echo "<td><a href='/fhiiqm/ma_fkt_ed.php?i=$row->mf_ID&p=$row->persknr&f=$row->fkt_ID'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
-            echo "<td><a href='/fhiiqm/ma_fkt_ed.php?i=$row->mf_ID&p=$row->persknr$getp'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
-            echo "<td><a href='/fhiiqm/ma_fkt_ed.php?i=$row->mf_ID&dp=1$getp'><img src=\"/fhiiqm/img/duplicate.gif\" alt='duplizieren' title='duplizieren' 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,$panz,$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=\"Funktionen\" class=\"sc\">Funktionen</a></p>\n";
-        }
-        
-    }
-    $dbc -> close();
-    if (!is_null($_SESSION["recht"]) && in_array("fme",$_SESSION["recht"]))
-        echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/ma_fkt_ed.php\" target=\"_self\" title=\"MA-Funktion erfassen\" class=\"sc\">Weiterem Mitarbeiter Funktion zuordnen</a></p>\n";    
-
-?>
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 09/2011
+ * 
+ * Liste Mitarbeiter - Funktion
+ */
+
+    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("fmr",$_SESSION["recht"]) && !in_array("fme",$_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>Liste Beauftragte</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/reseller_account_template.png\" border=\"0\" alt=\"Mitarbeiter-Funktion\" title=\"Mitarbeiter-Funktion\"/></div>\n";
+
+    // Felder, nach denen gefiltert werden kann
+    $fields = array(2=>"Name",4=>"Funktion",8=>"Abteilung");
+
+    $zeil = $_GET["z"];
+    if (!$zeil) $zeil = $_POST["z"];
+    if (!$zeil) $zeil = 25; // Anzahl der gezeigten Zeilen
+    $start = $_GET["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 = "";
+    $getp = "&st=$start&z=$zeil&s=$sort&d=$dir&f=$fnum&b=$filter"; //Link fuer Beauftragungenliste zurueck
+
+    include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+	$dbc = new dbconnection();
+
+    $sql = "CALL ma_fkt_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,@anz);"; 
+    // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Anzahl gefundener Mitarbeiter
+    // liefert: persknr, mname, fkt_ID, fkt_bez, fkt_bereich, fkt_von, fkt_bis, fkt_bem
+    $result = $dbc ->queryObjectArray($sql);
+//    echo "sql = $sql<br />";  
+    
+    if ($result)
+    {
+		$bg1 = "#F8F8F8";
+		$bg2 = "#DEDFE1";
+		$bg = "#FFFFFF";
+     
+        echo "<div align='center'>\n";
+        echo "<p><b>Liste Mitarbeiter - Funktion</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 relevanten Spalten 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 class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten der Zuordnung,  
+            '<img src='/fhiiqm/img/duplicate.gif' border='0' hight='11'>' - Duplizieren Mitarbeiter - Funktion</td></tr>
+            <tr><td class='bigger'>Das Klicken auf den Mitarbeiternamen löst das <em>Versenden einer E-Mail</em> an diesen aus.</td></tr>\n";
+        echo "</table>\n";
+
+        $panz = $dbc -> querySingleItem("SELECT @anz");
+        printf ("<p>Anzahl Zuordnungen Mitarbeiter - Funktion: %s</p>", $panz);
+        
+        if (isset($fnum) && $fnum>1 && !$filter && !$subf)
+        {
+            // Formular anzeigen fuer Filterbegriff
+            $text = $fields[$fnum];
+            $azeil = array(25=>'25',50=>'50',100=>'100',1000=>'alle');
+            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=\"40%\" border=\"0\">\n";
+            echo "<tr><td>filtern nach $text: </td>";
+            echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/></td>";
+            echo "<td>Zeilen/Seite?   <select name='z'>\n";
+            foreach ($azeil as $key=>$val)
+            {
+                if ($key == $zeil) $select = "selected"; else $select = "";
+                echo "<option $select value='$key'>$val</option>\n";
+            }
+            echo "</select></td>\n";
+            
+            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,"Mitarbeiter",$sort,$dir,2,$fnum,$filter,$start,$zeil);
+        tab_column(8,"Abt.",$sort,$dir,8,$fnum,$filter,$start,$zeil);
+        echo "<th>Tel.</th>";
+        tab_column(4,"Funktion",$sort,$dir,4,$fnum,$filter,$start,$zeil);
+        tab_column(5,"Geltungsbereich",$sort,$dir,0,$fnum,$filter,$start,$zeil);
+//        echo "<th>Geltungsbereich</th>";
+        tab_column(6,"Beginn",$sort,$dir,0,$fnum,$filter,$start,$zeil);
+        tab_column(7,"Ende",$sort,$dir,0,$fnum,$filter,$start,$zeil);
+        echo "<th>Bemerkung</th>";
+        echo "<th>&nbsp;</th>";
+        echo "<th>&nbsp;</th></tr>\n";
+        
+        foreach ($result as $row)
+        {
+			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+            echo "<tr bgcolor='" . $bg . "'><td><a href='mailto:$row->email'>$row->mname</a></td>";
+            echo "<td>$row->abt_name</td>";    
+            echo "<td>$row->tel</td>";
+            echo "<td>$row->fkt_bez</td>";
+            echo "<td class=\"right\">$row->fkt_bereich</td>";
+            if ($row->fkt_von)
+            {
+                $fb = new DateTime($row->fkt_von);    
+                echo "<td>" . $fb->format('d.m.Y')."</td>";
+            }
+            else  echo "<td>&nbsp;</td>";       
+            if ($row->fkt_bis)
+            {
+                $fb = new DateTime($row->fkt_bis);    
+                echo "<td>" . $fb->format('d.m.Y')."</td>";
+            }
+            else  echo "<td>&nbsp;</td>";       
+            echo "<td>$row->fkt_bem</td>";
+//            $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
+//            echo "<td><a href='/fhiiqm/ma_fkt_ed.php?i=$row->mf_ID&p=$row->persknr&f=$row->fkt_ID'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
+            echo "<td><a href='/fhiiqm/ma_fkt_ed.php?i=$row->mf_ID&p=$row->persknr$getp'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
+            echo "<td><a href='/fhiiqm/ma_fkt_ed.php?i=$row->mf_ID&dp=1$getp'><img src=\"/fhiiqm/img/duplicate.gif\" alt='duplizieren' title='duplizieren' 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,$panz,$liste);
+
+    }
+    else
+    {
+        if ($dbc -> error)  
+            echo "error (Telefon-Nr. Prioritaet 1 mehrfach): " . $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=\"Funktionen\" class=\"sc\">Funktionen</a></p>\n";
+        }
+        
+    }
+    $dbc -> close();
+    if (!is_null($_SESSION["recht"]) && in_array("fme",$_SESSION["recht"]))
+        echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/ma_fkt_ed.php\" target=\"_self\" title=\"MA-Funktion erfassen\" class=\"sc\">Weiterem Mitarbeiter Funktion zuordnen</a></p>\n";    
+
+?>
+</body>
 </html>
\ No newline at end of file
--- a/fhiiqm/ma_tel_ed.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/ma_tel_ed.php	Fri Feb 05 14:03:40 2016 +0100
@@ -364,7 +364,7 @@
                                 $anz = $dbc -> querySingleItem($sql);
                                 if ( $anz == 0)
                                 {
-                                    $sql = "INSERT INTO Telefon (telefon_nr) VALUES('$tel')";
+                                    $sql = "INSERT INTO Telefon (telefon_nr,telefon_typ) VALUES('$tel','fon')";
                                     $rest = $dbc -> execute($sql);
                                     if ($rest && $ret) $ret = 1; else $ret = 0;
                                 }
--- a/fhiiqm/ma_tel_flist.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/ma_tel_flist.php	Fri Feb 05 14:03:40 2016 +0100
@@ -57,9 +57,9 @@
     }
     
     // Felder, nach denen gefiltert werden kann
-    $fields = array(2=>"Name",3=>"Vorname",5=>"Abteilung",6=>"Arbeitsgruppe",7=>"Telefon/Fax",9=>"Haus", 10=>"Raum");
+    $fields = array(2=>"Name",3=>"Vorname",5=>"Abteilung",6=>"Arbeitsgruppe",7=>"Telefon/Fax",11=>"Haus", 12=>"Raum");
 //    $fieldf = array(2=>"trim(nachname)",3=>"vorname",5=>"abt_name",6=>"mt.telefon_nr",9=>"geb_ID", 10=>"raum_nr");
-    $fieldf = array(2=>"name",3=>"vorname",5=>"abt_name",6=>"ag",7=>"telefon_nr",9=>"geb_ID", 10=>"raum_nr");
+    $fieldf = array(2=>"name",3=>"vorname",5=>"abt_name",6=>"ag",7=>"telefon_nr",11=>"geb_ID", 12=>"raum_nr");
 
 	$sort   = $_GET["s"];   // Sortierung nach Spalte
     if (!isset($sort) && !$sort) $sort = $_POST["s"];      
@@ -206,8 +206,10 @@
         tab_column(3,"Vorname",$sort,$dir,3,$fnum,$filter,$start,$zeil,$edit);
         tab_column(5,"Abteilung",$sort,$dir,5,$fnum,$filter,$start,$zeil,$edit);
         tab_column(6,"Arbeitsgruppe",$sort,$dir,6,$fnum,$filter,$start,$zeil,$edit);
-        tab_column(9,"Haus",$sort,$dir,9,$fnum,$filter,$start,$zeil,$edit);
-        tab_column(10,"Raum",$sort,$dir,10,$fnum,$filter,$start,$zeil,$edit);
+//        tab_column(9,"Haus",$sort,$dir,9,$fnum,$filter,$start,$zeil,$edit);
+//        tab_column(10,"Raum",$sort,$dir,10,$fnum,$filter,$start,$zeil,$edit);
+        tab_column(11,"Haus",$sort,$dir,11,$fnum,$filter,$start,$zeil,$edit);
+        tab_column(12,"Raum",$sort,$dir,12,$fnum,$filter,$start,$zeil,$edit);
         tab_column(7,"Telefon/Fax +49 30 8413",$sort,$dir,7,$fnum,$filter,$start,$zeil,$edit);
         if ($edit && !is_null($_SESSION["recht"]) && in_array("mte", $_SESSION["recht"]))
             echo "<th>&nbsp</th>";
--- a/fhiiqm/partner_ins.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/partner_ins.php	Fri Feb 05 14:03:40 2016 +0100
@@ -1,140 +1,141 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 07/2011
- *
- * INSERT Partnerdaten   
- */
-
-    error_reporting(E_ALL ^ E_NOTICE);
-
-    session_start();
-    if (! isset($_SESSION["userid"]))
-    { 
-        include_once ("inc/func_lib.inc.php");	
-        login("partner_ins.php");
-        exit;
-    }
-    
-    if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("vpe",$_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>Eingabe Partner</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/group_gear.png\" border=\"0\" alt=\"Partnerdaten eingeben\" title=\"Partnerdaten eingeben\"/></div>\n";
-
-	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
-    
-	$ok		= $_POST["ok"];
-	$ins	= $_POST["ins"];
-    $part    = $_POST["part"];
-    if (!$part['okn']) $ok=false;
-    
-//    print_r($part);
-    
-    if (!$ok || !$ins )
-    {
-        $upd = $ins; // wegen filename-Pruefung bei Upload
-        include_once("form/partner_form.inc.php");
-
-        if ($ins == "eingeben" )
-		{
-    
-		  	$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"; 
-		}
-		
-		echo "<tr>\n";
-		echo "
-		  <td>&nbsp;</td>
-		  <td><input class=\"button\" type=\"submit\" value=\"eingeben\" name=\"ins\" title=\"insert\" /></td>\n";
-		echo "</tr>\n";
-        echo "</table>\n";
-        echo "</div>\n";
-        echo "</form>\n";	
-
-    }
-    else
-    {
-        echo "<div align='center'>\n";
-        //daten speichern
-    	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-        $part["firma"] = substr($part["firma"],0,50);
-        $part["nname"] = substr($part["nname"],0,30);
-        $part["vname"] = substr($part["vname"],0,30);
-        if ($part['anr']== -1) $part['anr']=null; 
-        $part["titel"] = substr($part["titel"],0,10);
-        $part["tel"] = substr($part["tel"],0,20);
-        $part["mobil"] = substr($part["motel"],0,20);
-        $part["fax"] = substr($part["fax"],0,20);
-        $part["email"] = substr($part["email"],0,20);
-        $part["ort"] = substr($part["ort"],0,50);
-        $part["str"] = substr($part["str"],0,50);
-        $part["plz"] = substr($part["plz"],0,10);
-        $part["bem"] = substr($part["bem"],0,500);
-        foreach ($part as $key=>$value)
-        {
-            // NULL - Eintrag in Tabelle
-			if (is_null($value) || $value < "!") $part["$key"] = null;
-        }    
-
-        // vermeiden von SQL-Injection
-        $stmt = $dbc -> stmtinit();
-        if (is_object($stmt))
-        {
-            $stmt -> prepare("INSERT INTO fhiiqm.Partner (part_firma,part_nachname,part_vorname,part_titel,part_anrede,     
-                            part_strasse,part_ort,part_plz,part_tel,part_fax,part_mobil,part_email,part_bemerkung) 
-                            VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
-            $stmt -> bind_param('sssssssssssss',$part["firma"],$part["nname"],$part["vname"],$part["titel"],$part['anr'],
-                            $part["str"],$part["ort"],$part["plz"],$part["tel"],$part["fax"],$part["motel"],$part["email"],$part["bem"]);
-            $result = $stmt -> execute();      
-        }
-        if ($dbc->error) echo "error: " . $dbc->error . "<br><br>\n";
-//        $result=1;
-        if ($result)
-        {
-            // INSERT o.k.
-            // part_ID ermitteln
-            $pid = $dbc -> insertId();
-            echo "<p class='green'><b>Partnerdaten zu ID '$pid' wurden erfolgreich gespeichert.</b></p>\n";
-            echo "<br /><br />\n";
-            
-            // Anzeigen gespeicherte Partnerdaten
-            include ("inc/partner_dat_show.inc.php");
-        }
-        else
-            echo "<p class='red'>Eingabe der Partnerdaten ist fehlgeschlagen!</p>\n";
-        $dbc -> close();
-        echo "</div>\n";
-        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"partner_flist.php\" target=\"_self\" title=\"Partnerliste\">Partnerliste</a></p>\n";    
-        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"partner_ins.php\" target=\"_self\" title=\"Partner erfassen\">Weiteren Partner erfassen</a></p>\n";    
-    }
-
-?>
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 07/2011
+ *
+ * INSERT Partnerdaten   
+ */
+
+    error_reporting(E_ALL ^ E_NOTICE);
+
+    session_start();
+    if (! isset($_SESSION["userid"]))
+    { 
+        include_once ("inc/func_lib.inc.php");	
+        login("partner_ins.php");
+        exit;
+    }
+    
+    if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("vpe",$_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>Eingabe Partner</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/group_gear.png\" border=\"0\" alt=\"Partnerdaten eingeben\" title=\"Partnerdaten eingeben\"/></div>\n";
+
+	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+    
+	$ok		= $_POST["ok"];
+	$ins	= $_POST["ins"];
+    $part    = $_POST["part"];
+    if (!$part['okn']) $ok=false;
+    
+//    print_r($part);
+    
+    if (!$ok || !$ins )
+    {
+        $upd = $ins; // wegen filename-Pruefung bei Upload
+        include_once("form/partner_form.inc.php");
+
+        if ($ins == "eingeben" )
+		{
+    
+		  	$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"; 
+		}
+		
+		echo "<tr>\n";
+		echo "
+		  <td>&nbsp;</td>
+		  <td><input class=\"button\" type=\"submit\" value=\"eingeben\" name=\"ins\" title=\"insert\" /></td>\n";
+		echo "</tr>\n";
+        echo "</table>\n";
+        echo "</div>\n";
+             echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"partner_flist.php\" target=\"_self\" title=\"Partnerliste\">&laquo; zur Partnerliste</a></p>\n";    
+       echo "</form>\n";	
+
+    }
+    else
+    {
+        echo "<div align='center'>\n";
+        //daten speichern
+    	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+        $part["firma"] = substr($part["firma"],0,50);
+        $part["nname"] = substr($part["nname"],0,30);
+        $part["vname"] = substr($part["vname"],0,30);
+        if ($part['anr']== -1) $part['anr']=null; 
+        $part["titel"] = substr($part["titel"],0,10);
+        $part["tel"] = substr($part["tel"],0,20);
+        $part["mobil"] = substr($part["motel"],0,20);
+        $part["fax"] = substr($part["fax"],0,20);
+        $part["email"] = substr($part["email"],0,20);
+        $part["ort"] = substr($part["ort"],0,50);
+        $part["str"] = substr($part["str"],0,50);
+        $part["plz"] = substr($part["plz"],0,10);
+        $part["bem"] = substr($part["bem"],0,500);
+        foreach ($part as $key=>$value)
+        {
+            // NULL - Eintrag in Tabelle
+			if (is_null($value) || $value < "!") $part["$key"] = null;
+        }    
+
+        // vermeiden von SQL-Injection
+        $stmt = $dbc -> stmtinit();
+        if (is_object($stmt))
+        {
+            $stmt -> prepare("INSERT INTO fhiiqm.Partner (part_firma,part_nachname,part_vorname,part_titel,part_anrede,     
+                            part_strasse,part_ort,part_plz,part_tel,part_fax,part_mobil,part_email,part_bemerkung) 
+                            VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
+            $stmt -> bind_param('sssssssssssss',$part["firma"],$part["nname"],$part["vname"],$part["titel"],$part['anr'],
+                            $part["str"],$part["ort"],$part["plz"],$part["tel"],$part["fax"],$part["motel"],$part["email"],$part["bem"]);
+            $result = $stmt -> execute();      
+        }
+        if ($dbc->error) echo "error: " . $dbc->error . "<br><br>\n";
+//        $result=1;
+        if ($result)
+        {
+            // INSERT o.k.
+            // part_ID ermitteln
+            $pid = $dbc -> insertId();
+            echo "<p class='green'><b>Partnerdaten zu ID '$pid' wurden erfolgreich gespeichert.</b></p>\n";
+            echo "<br /><br />\n";
+            
+            // Anzeigen gespeicherte Partnerdaten
+            include ("inc/partner_dat_show.inc.php");
+        }
+        else
+            echo "<p class='red'>Eingabe der Partnerdaten ist fehlgeschlagen!</p>\n";
+        $dbc -> close();
+        echo "</div>\n";
+        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"partner_flist.php\" target=\"_self\" title=\"Partnerliste\">Partnerliste</a></p>\n";    
+        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"partner_ins.php\" target=\"_self\" title=\"Partner erfassen\">Weiteren Partner erfassen</a></p>\n";    
+    }
+
+?>
+</body>
 </html>
\ No newline at end of file
--- a/fhiiqm/partner_upd.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/partner_upd.php	Fri Feb 05 14:03:40 2016 +0100
@@ -113,7 +113,7 @@
         }
         echo "</table>\n";
         echo "</div>\n";
-        if (!is_null($_SESSION["recht"]) && !in_array("vpe",$_SESSION["recht"]))
+//        if (!is_null($_SESSION["recht"]) && !in_array("vpe",$_SESSION["recht"]))
             echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"partner_flist.php\" target=\"_self\" title=\"Partnerliste\">&laquo; zur Partnerliste</a></p>\n";    
         echo "</form>\n";	
 
--- a/fhiiqm/recht_ed.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/recht_ed.php	Fri Feb 05 14:03:40 2016 +0100
@@ -192,13 +192,14 @@
         }    
         if ($del)
         {
+echo "userid=". $rt["userid"] . "<br />"; 
             // User loeschen
             $sql = "DELETE FROM fhiiqm.userweb WHERE userid ='" . $rt["userid"] . "'";
             $res = $dbc -> execute($sql);
             if ($res) 
                 echo "<p class='green'><b>User-ID '".$rt["userid"]."' und zugeordete Rechte wurden gel&ouml;scht.</b></p>\n";
             else
-                 echo "<p class='red'><b>L&ouml;schen von User-ID '".$rt["userid"]."' und zugeordeter Rechte ist fehlgeschlagen.</b></p>\n";
+                 echo "<p class='red'><b>L&ouml;schen von User-ID '".$rt["userid"]."' und zugeordeter Rechte ist fehlgeschlagen.</b><br />".$dbc->error."</p>\n";
             $erruid = 1;    // 
         }
         if (!$erruid)
--- a/fhiiqm/report/keytyp_bestand_all_report.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/report/keytyp_bestand_all_report.php	Fri Feb 05 14:03:40 2016 +0100
@@ -205,7 +205,7 @@
         }
          
         $sql = "SELECT h.keytyp_ID, key_level,  
-                    CONCAT (nachname, ', ',vorname, ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE (CASE aktiv WHEN -1 THEN 'Gast' ELSE 'inaktiv' END) END, ')') AS keyowner, IFNULL(abt_name,'') AS abt, h.depot_ID, 'ma' AS tab,  
+                    CONCAT (nachname, IFNULL(CONCAT(', ',vorname),''), ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE (CASE aktiv WHEN -1 THEN 'Gast' ELSE 'inaktiv' END) END, ')') AS keyowner, IFNULL(abt_name,'') AS abt, h.depot_ID, 'ma' AS tab,  
                 	SUM(CASE WHEN pers_action='get' THEN IFNULL(pers_anz,0) ELSE 0 END) - SUM(CASE WHEN pers_action='out' THEN IFNULL(pers_anz,0) ELSE 0 END) - SUM(CASE WHEN pers_action='lost' THEN IFNULL(pers_anz,0) ELSE 0 END) AS bestand,m.persknr
                 	FROM fhiiqm.Mitarbeiter m 
                 	INNER JOIN Keytyp_MA h ON m.persknr=h.persknr
--- a/fhiiqm/report/rag_gf_msn_vs_report.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/report/rag_gf_msn_vs_report.php	Fri Feb 05 14:03:40 2016 +0100
@@ -1,282 +1,282 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 07/2012
- * 
- * Report Gefaehrdungsanalye/Vorsorge Arbeitsbereiche (Raum-Arb.-Gruppen)
- *  
- */
-
-    error_reporting(E_ALL ^ E_NOTICE);
-    
-    if (!isset($_GET['s']) || $_GET['s'] != 2 )
-    {
-        session_start();
-        if (! isset($_SESSION["userid"]))
-        { 
-            include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");	
-            login($_SERVER["PHP_SELF"]);
-            exit;
-        }
-        
-        if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("asr",$_SESSION["recht"]) && !in_array("ase",$_SESSION["recht"])))
-        {
-            header("Location: start.php");
-            exit;
-        }
-    }    
-	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
-	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-
-?>
-<!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>Report Abt./AG Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</title>
-</head>
-
-<body>
-
-<?php    
-    echo "&nbsp;";  
-    if (!isset($_GET['s']) || $_GET['s'] != 2 )
-    {
-        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=\"/fhiiqm/img/role.png\" border=\"0\" alt=\"AG,Raum-Gefahr\" title=\"AG,Raum-Gefahr\"/></div>\n";
-    
-    $rag    = $_POST["rag"];    // Parameter aus Form
-    $search = $_POST["search"];
-    if (!$search) $search =  $_GET["s"];
-
-    $zeil = $rag["z"];
-    if (!$zeil) $zeil = $_GET["z"];
-    if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
-    $start = $_GET["st"];   // Start bei DS $start+1
-    if (!$start) $start=0;
-    
-
-    if (!is_array($rag))
-    {
-        $rag["geb"]     = $_GET["g"];
-        $rag["abt"]     = $_GET["a"];
-        $rag["ag"]     = $_GET["ag"];
-        $rag["rnum"]    = $_GET["r"];
-        $rag["ma"]      = $_GET["m"];
-        $rag["gf"]      = $_GET["f"];
-        $rag["vs"]      = $_GET["v"];
-        $rag["bind"]    = $_GET["b"];
-        $rag["sort1"]   = $_GET["s1"];
-        $rag["sort2"]   = $_GET["s2"];
-        $rag["sort3"]   = $_GET["s3"];
-        $rag["sort4"]   = $_GET["s4"];
-    }
-    $_GET["g"]  = $rag["geb"];
-    $_GET["r"]  = $rag["rnum"];
-    $_GET["a"]  = $rag["abt"];
-    $_GET["ag"]  = $rag["ag"];
-    $_GET["m"]  = $rag["ma"];
-    $_GET["f"]  = $rag["gf"];
-    $_GET["v"]  = $rag["vs"];
-    $_GET["b"]  = $rag["bind"];
-    $_GET["s1"] = $rag["sort1"];
-    $_GET["s2"] = $rag["sort2"];
-    $_GET["s3"] = $rag["sort3"];
-    $_GET["s4"] = $rag["sort4"];
-    $_GET["z"]  = $zeil;
-   
-    if ($search && $_GET['s'] != 2)
-    {    
-        echo "<span class='sc'>";
-        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/as_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a>";
-        echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Abt./AG-Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</a>\n";    
-        echo "</span>";
-    }
-    echo "<div align='center'>\n";
-    echo "<p><b>(8) Bericht Gef&auml;hrdungen: Ma&szlig;nahmen, Vorsorge in Arbeitsgruppen</b></p>\n";
-    echo "</div>\n";
-    
-    if (!$search)
-    {
-        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/form/rag_gv_search_form.inc.php");
-    }
-    else
-    {
-        echo "<div align='center'>\n";
-
-    	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
-        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
-    
-    	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-    
-        // Tabelle 'rag_gfmsnvs' aktualisieren
-        $sql = "CALL rag_ma_raum_gef_massn_vors(1,'',0, '',0,999,@anz);"; 
-        // liefert: rag_ID,rag_bez,abt_name,raeume,ma,gefahr-massnahmen,vorsorge, Dokumente Betriebsanweisung; loescht alten Inhalt, fuellt Tabelle 'rag_gfmsnvs'
-        $result = $dbc ->queryObjectArray($sql);
-        
-        $sql = "SELECT rag_ID, rag_bez, abt_name, ma, raeume, gefahr_msn, vorsorge, doc
-                FROM `fhiiqm`.`rag_gfmsnvs` ";
-        $lim = " LIMIT $start,$zeil";
-        
-        if (!$rag["bind"]) $bind = " AND "; else $bind = $rag["bind"];
-        
-        if ($rag["geb"]> -1) $where = " raeume LIKE '%$rag[geb]:%' ";
-        if ($rag["rnum"]) 
-            if ($where) $where .= "$bind raeume LIKE '%$rag[rnum]%' "; else $where = " raeume LIKE '%$rag[rnum]%' ";
-        if ($rag["abt"]> -1) 
-            if ($where) $where .= "$bind abt_name = '$rag[abt]' "; else $where = " abt_name = '$rag[abt]' ";
-        if ($rag["ag"]> -1) 
-            if ($where) $where .= "$bind rag_ID = $rag[ag] "; else $where = " rag_ID = $rag[ag] ";
-        if ($rag["ma"]) 
-            if ($where) $where .= "$bind ma LIKE '%$rag[ma]%' "; else $where = " ma LIKE '%$rag[ma]%' ";
-        if ($rag["gf"]> -1) 
-            if ($where) $where .= "$bind gefahr_msn LIKE '%$rag[gf]%' "; else $where = " gefahr_msn LIKE '%$rag[gf]%' ";
-        if ($rag["vs"]> -1) 
-            if ($where) $where .= "$bind vorsorge LIKE '%$rag[vs]%' "; else $where = " vorsorge LIKE '%$rag[vs]%' ";
-        if ($where) $where = " WHERE $where";
-        
-        if ($rag["sort1"]>0 || $rag["sort2"]>0 || $rag["sort3"]>0 || $rag["sort4"]>0 || $rag["sort5"]>0)
-        {
-            if ($rag["sort1"]>0) $ord  = "ORDER BY ".$rag["sort1"];
-            if ($rag["sort2"]>0) $ord .= ",".$rag["sort2"];
-            if ($rag["sort3"]>0) $ord .= ",".$rag["sort3"];
-            if ($rag["sort4"]>0) $ord .= ",".$rag["sort4"];
-            if ($rag["sort5"]>0) $ord .= ",".$rag["sort5"];
-        }
-        $sql .= $where . $ord . $lim;
-//        echo "sql = $sql<br />\n";
-        $result = $dbc ->queryObjectArray($sql);
-        
-        if ($rag["geb"] > -1) $krit = " [Geb&auml;ude = '" . $rag["geb"] ."']";
-        if ($krit) $bd = " ".$bind; else $bd = "";
-        if ($rag["rnum"]) $krit .= $bd. " [Raum-Nr. = '" . $rag['rnum'] ."']";
-        $bd = ($krit)? (" ".$bind) : " ";
-        if ($rag["abt"] > -1) $krit .= $bd. " [Abteilung = '" . $rag['abt'] ."']";
-        if ($rag["ag"] > -1)
-        {
-            $agbez = $dbc -> querySingleItem("SELECT rag_bez FROM fhiiqm.RaumArb_Gruppe WHERE rag_ID = ".$rag['ag']);
-            $bd = ($krit)? (" ".$bind) : " ";
-            $krit .= $bd. " [Arbeitsgruppe = '$agbez']";
-        } 
-        $bd = ($krit)? (" ".$bind) : " ";
-        if ($rag["ma"]) $krit .= $bd. " [Mitarbeiter wie '" . $rag['ma'] ."']";
-        $bd = ($krit)? (" ".$bind) : " ";
-        if ($rag["gf"] > -1) $krit .= $bd. " [Gefährdung = '" . $rag['gf'] ."']";
-        $bd = ($krit)? (" ".$bind) : " ";
-        if ($rag["vs"] > -1) $krit .= $bd. " [Vorsorge = '" . $rag['vs'] ."']";
-        if ($krit )echo "Suchergebnis f&uuml;r $krit"; else echo "Suchergebnis";
-
-        if ($result)
-        {
-    		$bg1 = "#F8F8F8";
-    		$bg2 = "#DEDFE1";
-    		$bg = "#FFFFFF";
-
-            $sqlc = "SELECT COUNT(*)
-                        FROM rag_gfmsnvs $where";
-            $ianz = $dbc -> querySingleItem($sqlc);
-
-            //$ianz = $dbc -> numrows($sql); //liefert nur $zeil!
-            printf ("<p>Anzahl gefundener Datensätze: %s</p>", $ianz);
-            
-            echo "<table width='99%' border='1' cellspacing='0' cellpadding='2'>\n";
-            $cols=7;
-            // Listenkopf
-            echo "<tr bgcolor='#68ACBF'>";
-            if ($rag["bind"]=="OR" || !$rag['abt'] || $rag['abt'] == -1)
-            { 
-                echo "<th>Abteilung</th>";
-                $cols +=1;
-            }
-            echo "<th>Arbeitsgruppe</th>";    
-            echo "<th>R&auml;ume</th>";
-            echo "<th>Mitarbeiter</th>";
-            echo "<th>Gef&auml;hrdung, Ma&szlig;nahmen</th>";
-            echo "<th>Vorsorge</th>";
-            echo "<th>Betriebsanweisung</th>";
-            echo "</tr>";
-
-            function doc_bez($val)
-            {   // Callback-Funktion fuer array_map
-                return substr($val,strpos($val,"_")+1);  
-            }
-            
-            foreach ($result as $row)
-            {
-        			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
-                    echo "<tr bgcolor='" . $bg . "'>"; 
-                    if ($rag["bind"]=="OR" || !$rag['abt'] || $rag['abt'] == -1) echo "<td>$row->abt_name</td>";
-                    if (strpos($row->rag_bez,"DynamiX")) $row->rag_bez = str_replace("X","&chi;",$row->rag_bez);
-                    echo "<td>$row->rag_bez</td>";
-                    echo "<td>".str_replace(";","<br />",$row->raeume)."</td>";
-                    if ($rag['ma'])
-                    { 
-                        $ma = str_replace(lcfirst($rag['ma']),"<b>".lcfirst($rag['ma'])."</b>",$row->ma);
-                        $ma = str_replace(ucfirst($rag['ma']),"<b>".ucfirst($rag['ma'])."</b>",$ma);
-                    } 
-                    else $ma = $row->ma;
-                    echo "<td>".str_replace(";","<br />",$ma)."</td>";
-                    echo "<td width='35%'>".str_replace(";","<br />",$row->gefahr_msn)."</td>";
-                    if (strpos($row->vorsorge,";")===0) $row->vorsorge = substr($row->vorsorge,1);   
-                    echo "<td>".str_replace(";","<br />",$row->vorsorge)."</td>";
-                    if ($row->doc > " ")
-                    { 
-                        echo "<td>";
-                        $docs = explode("; ",$row->doc);
-                        $docu = array_unique(array_map("doc_bez",$docs)); // array docs ohne 'id_' und ohne mehrfache values
-                        foreach ($docs as $key => $doc)
-                            if (array_key_exists($key,$docu))
-                                echo "<a href='/fhiiqm/infos/$doc'>".substr($doc,strpos($doc,"_")+1)."</a><br />";
-                        echo "</td>";
-                    }
-                    else echo "<td>&nbsp;</td>";
-                    echo "</tr>\n";
-            }   
-            echo "</table>\n";
-
-
-            echo "<p></p><table width=80%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
-                <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
-            echo "</div>\n";
-            
-            echo "<br />&nbsp;&nbsp;&nbsp;";
-            if ($search != 2) // Aufruf aus fhiiqm
-            {    
-                // Parameter aus $_GET fuer weitere Seiten
-                $_GET["s"] = 1; // bewirkt weitere Suche
-                foreach ($_GET as $key=>$val)
-                {
-                    if ($key != "st") $liste .= "&" . $key ."=".$val;
-                }    
-                // Links auf andere Seiten generieren
-                liste_links($start,$zeil,$ianz,$liste);
-            }
-        }
-        else
-        {
-            echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
-            echo "</div>\n";
-            echo "<br />&nbsp;&nbsp;&nbsp;";
-        }
-        if ($search != 2)
-        {    
-            echo "<span class='sc'>";
-            echo "<br /><br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/as_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a>";
-            echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Abt./AG-Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</a>\n";    
-            echo "</span>";
-        }
-        else
-            echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zur&uuml;ck'; return true;}\">&laquo; Zur&uuml;ck</a>";
-    }
-
-?>
-
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 07/2012
+ * 
+ * Report Gefaehrdungsanalye/Vorsorge Arbeitsbereiche (Raum-Arb.-Gruppen)
+ *  
+ */
+
+    error_reporting(E_ALL ^ E_NOTICE);
+    
+    if (!isset($_GET['s']) || $_GET['s'] != 2 )
+    {
+        session_start();
+        if (! isset($_SESSION["userid"]))
+        { 
+            include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");	
+            login($_SERVER["PHP_SELF"]);
+            exit;
+        }
+        
+        if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("asr",$_SESSION["recht"]) && !in_array("ase",$_SESSION["recht"])))
+        {
+            header("Location: start.php");
+            exit;
+        }
+    }    
+	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+?>
+<!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>Report Abt./AG Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</title>
+</head>
+
+<body>
+
+<?php    
+    echo "&nbsp;";  
+    if (!isset($_GET['s']) || $_GET['s'] != 2 )
+    {
+        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=\"/fhiiqm/img/role.png\" border=\"0\" alt=\"AG,Raum-Gefahr\" title=\"AG,Raum-Gefahr\"/></div>\n";
+    
+    $rag    = $_POST["rag"];    // Parameter aus Form
+    $search = $_POST["search"];
+    if (!$search) $search =  $_GET["s"];
+
+    $zeil = $rag["z"];
+    if (!$zeil) $zeil = $_GET["z"];
+    if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
+    $start = $_GET["st"];   // Start bei DS $start+1
+    if (!$start) $start=0;
+    
+
+    if (!is_array($rag))
+    {
+        $rag["geb"]     = $_GET["g"];
+        $rag["abt"]     = $_GET["a"];
+        $rag["ag"]     = $_GET["ag"];
+        $rag["rnum"]    = $_GET["r"];
+        $rag["ma"]      = $_GET["m"];
+        $rag["gf"]      = $_GET["f"];
+        $rag["vs"]      = $_GET["v"];
+        $rag["bind"]    = $_GET["b"];
+        $rag["sort1"]   = $_GET["s1"];
+        $rag["sort2"]   = $_GET["s2"];
+        $rag["sort3"]   = $_GET["s3"];
+        $rag["sort4"]   = $_GET["s4"];
+    }
+    $_GET["g"]  = $rag["geb"];
+    $_GET["r"]  = $rag["rnum"];
+    $_GET["a"]  = $rag["abt"];
+    $_GET["ag"]  = $rag["ag"];
+    $_GET["m"]  = $rag["ma"];
+    $_GET["f"]  = $rag["gf"];
+    $_GET["v"]  = $rag["vs"];
+    $_GET["b"]  = $rag["bind"];
+    $_GET["s1"] = $rag["sort1"];
+    $_GET["s2"] = $rag["sort2"];
+    $_GET["s3"] = $rag["sort3"];
+    $_GET["s4"] = $rag["sort4"];
+    $_GET["z"]  = $zeil;
+   
+    if ($search && $_GET['s'] != 2)
+    {    
+        echo "<span class='sc'>";
+        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/as_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a>";
+        echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Abt./AG-Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</a>\n";    
+        echo "</span>";
+    }
+    echo "<div align='center'>\n";
+    echo "<p><b>(8) Bericht Gef&auml;hrdungen: Ma&szlig;nahmen, Vorsorge in Arbeitsgruppen</b></p>\n";
+    echo "</div>\n";
+    
+    if (!$search)
+    {
+        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/form/rag_gv_search_form.inc.php");
+    }
+    else
+    {
+        echo "<div align='center'>\n";
+
+    	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+    
+    	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+    
+        // Tabelle 'rag_gfmsnvs' aktualisieren
+        $sql = "CALL rag_ma_raum_gef_massn_vors(1,'',0, '',0,999,@anz);"; 
+        // liefert: rag_ID,rag_bez,abt_name,raeume,ma,gefahr-massnahmen,vorsorge, Dokumente Betriebsanweisung; loescht alten Inhalt, fuellt Tabelle 'rag_gfmsnvs'
+        $result = $dbc ->queryObjectArray($sql);
+        
+        $sql = "SELECT rag_ID, rag_bez, abt_name, ma, raeume, gefahr_msn, vorsorge, doc
+                FROM `fhiiqm`.`rag_gfmsnvs` ";
+        $lim = " LIMIT $start,$zeil";
+        
+        if (!$rag["bind"]) $bind = " AND "; else $bind = $rag["bind"];
+        
+        if ($rag["geb"]> -1) $where = " raeume LIKE '%$rag[geb]:%' ";
+        if ($rag["rnum"]) 
+            if ($where) $where .= "$bind raeume LIKE '%$rag[rnum]%' "; else $where = " raeume LIKE '%$rag[rnum]%' ";
+        if ($rag["abt"]> -1) 
+            if ($where) $where .= "$bind abt_name = '$rag[abt]' "; else $where = " abt_name = '$rag[abt]' ";
+        if ($rag["ag"]> -1) 
+            if ($where) $where .= "$bind rag_ID = $rag[ag] "; else $where = " rag_ID = $rag[ag] ";
+        if ($rag["ma"]) 
+            if ($where) $where .= "$bind ma LIKE '%$rag[ma]%' "; else $where = " ma LIKE '%$rag[ma]%' ";
+        if ($rag["gf"]> -1) 
+            if ($where) $where .= "$bind gefahr_msn LIKE '%$rag[gf]%' "; else $where = " gefahr_msn LIKE '%$rag[gf]%' ";
+        if ($rag["vs"]> -1) 
+            if ($where) $where .= "$bind vorsorge LIKE '%$rag[vs]%' "; else $where = " vorsorge LIKE '%$rag[vs]%' ";
+        if ($where) $where = " WHERE $where";
+        
+        if ($rag["sort1"]>0 || $rag["sort2"]>0 || $rag["sort3"]>0 || $rag["sort4"]>0 || $rag["sort5"]>0)
+        {
+            if ($rag["sort1"]>0) $ord  = "ORDER BY ".$rag["sort1"];
+            if ($rag["sort2"]>0) $ord .= ",".$rag["sort2"];
+            if ($rag["sort3"]>0) $ord .= ",".$rag["sort3"];
+            if ($rag["sort4"]>0) $ord .= ",".$rag["sort4"];
+            if ($rag["sort5"]>0) $ord .= ",".$rag["sort5"];
+        }
+        $sql .= $where . $ord . $lim;
+//        echo "sql = $sql<br />\n";
+        $result = $dbc ->queryObjectArray($sql);
+        
+        if ($rag["geb"] > -1) $krit = " [Geb&auml;ude = '" . $rag["geb"] ."']";
+        if ($krit) $bd = " ".$bind; else $bd = "";
+        if ($rag["rnum"]) $krit .= $bd. " [Raum-Nr. = '" . $rag['rnum'] ."']";
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["abt"] > -1) $krit .= $bd. " [Abteilung = '" . $rag['abt'] ."']";
+        if ($rag["ag"] > -1)
+        {
+            $agbez = $dbc -> querySingleItem("SELECT rag_bez FROM fhiiqm.RaumArb_Gruppe WHERE rag_ID = ".$rag['ag']);
+            $bd = ($krit)? (" ".$bind) : " ";
+            $krit .= $bd. " [Arbeitsgruppe = '$agbez']";
+        } 
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["ma"]) $krit .= $bd. " [Mitarbeiter wie '" . $rag['ma'] ."']";
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["gf"] > -1) $krit .= $bd. " [Gefährdung = '" . $rag['gf'] ."']";
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["vs"] > -1) $krit .= $bd. " [Vorsorge = '" . $rag['vs'] ."']";
+        if ($krit )echo "Suchergebnis f&uuml;r $krit"; else echo "Suchergebnis";
+
+        if ($result)
+        {
+    		$bg1 = "#F8F8F8";
+    		$bg2 = "#DEDFE1";
+    		$bg = "#FFFFFF";
+
+            $sqlc = "SELECT COUNT(*)
+                        FROM rag_gfmsnvs $where";
+            $ianz = $dbc -> querySingleItem($sqlc);
+
+            //$ianz = $dbc -> numrows($sql); //liefert nur $zeil!
+            printf ("<p>Anzahl gefundener Datensätze: %s</p>", $ianz);
+            
+            echo "<table width='99%' border='1' cellspacing='0' cellpadding='2'>\n";
+            $cols=7;
+            // Listenkopf
+            echo "<tr bgcolor='#68ACBF'>";
+            if ($rag["bind"]=="OR" || !$rag['abt'] || $rag['abt'] == -1)
+            { 
+                echo "<th>Abteilung</th>";
+                $cols +=1;
+            }
+            echo "<th>Arbeitsgruppe</th>";    
+            echo "<th>R&auml;ume</th>";
+            echo "<th>Mitarbeiter</th>";
+            echo "<th>Gef&auml;hrdung: Ma&szlig;nahmen</th>";
+            echo "<th>Vorsorge</th>";
+            echo "<th>Betriebsanweisung</th>";
+            echo "</tr>";
+
+            function doc_bez($val)
+            {   // Callback-Funktion fuer array_map
+                return substr($val,strpos($val,"_")+1);  
+            }
+            
+            foreach ($result as $row)
+            {
+        			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+                    echo "<tr bgcolor='" . $bg . "'>"; 
+                    if ($rag["bind"]=="OR" || !$rag['abt'] || $rag['abt'] == -1) echo "<td>$row->abt_name</td>";
+                    if (strpos($row->rag_bez,"DynamiX")) $row->rag_bez = str_replace("X","&chi;",$row->rag_bez);
+                    echo "<td>$row->rag_bez</td>";
+                    echo "<td>".str_replace(";","<br />",$row->raeume)."</td>";
+                    if ($rag['ma'])
+                    { 
+                        $ma = str_replace(lcfirst($rag['ma']),"<b>".lcfirst($rag['ma'])."</b>",$row->ma);
+                        $ma = str_replace(ucfirst($rag['ma']),"<b>".ucfirst($rag['ma'])."</b>",$ma);
+                    } 
+                    else $ma = $row->ma;
+                    echo "<td>".str_replace(";","<br />",$ma)."</td>";
+                    echo "<td width='35%'>".str_replace(";","<br />",$row->gefahr_msn)."</td>";
+                    if (strpos($row->vorsorge,";")===0) $row->vorsorge = substr($row->vorsorge,1);   
+                    echo "<td>".str_replace(";","<br />",$row->vorsorge)."</td>";
+                    if ($row->doc > " ")
+                    { 
+                        echo "<td>";
+                        $docs = explode("; ",$row->doc);
+                        $docu = array_unique(array_map("doc_bez",$docs)); // array docs ohne 'id_' und ohne mehrfache values
+                        foreach ($docs as $key => $doc)
+                            if (array_key_exists($key,$docu))
+                                echo "<a href='/fhiiqm/infos/$doc'>".substr($doc,strpos($doc,"_")+1)."</a><br />";
+                        echo "</td>";
+                    }
+                    else echo "<td>&nbsp;</td>";
+                    echo "</tr>\n";
+            }   
+            echo "</table>\n";
+
+
+            echo "<p></p><table width=80%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
+                <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
+            echo "</div>\n";
+            
+            echo "<br />&nbsp;&nbsp;&nbsp;";
+            if ($search != 2) // Aufruf aus fhiiqm
+            {    
+                // Parameter aus $_GET fuer weitere Seiten
+                $_GET["s"] = 1; // bewirkt weitere Suche
+                foreach ($_GET as $key=>$val)
+                {
+                    if ($key != "st") $liste .= "&" . $key ."=".$val;
+                }    
+                // Links auf andere Seiten generieren
+                liste_links($start,$zeil,$ianz,$liste);
+            }
+        }
+        else
+        {
+            echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
+            echo "</div>\n";
+            echo "<br />&nbsp;&nbsp;&nbsp;";
+        }
+        if ($search != 2)
+        {    
+            echo "<span class='sc'>";
+            echo "<br /><br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/as_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a>";
+            echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Abt./AG-Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</a>\n";    
+            echo "</span>";
+        }
+        else
+            echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zur&uuml;ck'; return true;}\">&laquo; Zur&uuml;ck</a>";
+    }
+
+?>
+
+</body>
 </html>
\ No newline at end of file
--- a/fhiiqm/report/vtr_kuend_emaila.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/report/vtr_kuend_emaila.php	Fri Feb 05 14:03:40 2016 +0100
@@ -85,7 +85,7 @@
 //        					'Reply-To:  noreply@' .$_SERVER['SERVER_NAME'] . "\r\n" .
                             'Message-ID: <' .$trenn.'@achilleus.rz-berlin.mpg.de'.">\r\n" .
         				    'X-Mailer: PHP v' .phpversion() . "\r\n" .
-                            'Bcc: schwarzer@fhi-berlin.mpg.de' . "\r\n" .
+                            'Bcc: naedele@fhi-berlin.mpg.de' . "\r\n" .
                             'From: noreply@achilleus.rz-berlin.mpg.de'."\r\n" .
                             'MIME-Version: 1.0' . "\r\n" .
                             'Content-type: multipart/mixed;' . "\r\n" ;
--- a/fhiiqm/start.php	Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/start.php	Fri Feb 05 14:03:40 2016 +0100
@@ -44,12 +44,14 @@
         echo "<p>&nbsp;&nbsp;&nbsp;<a href='/fhiiqm/infos/251_fhiiqm_keytyp.pdf' title='Schl&uuml;sselverwaltung' target='_blank'>Schl&uuml;sselverwaltung</a></p>\n";
     if (in_array("ddr",$_SESSION["recht"]) || in_array("dde",$_SESSION["recht"]))
         echo "<p>&nbsp;&nbsp;&nbsp;<a href='/fhiiqm/infos/186_fhiiqm_raumverantw.pdf' title='Raumverantwortliche' target='_blank'>Raumverantwortliche erfassen</a></p>\n";
-    if (date("Y-m-d") < date("Y-m-d", mktime(0,0,0,12,25,2013)))
+    $heute = new DateTime();
+    $year = $heute->format('Y');
+    if (date("Y-m-d") < date("Y-m-d", mktime(0,0,0,12,25,$year)) && date("Y-m-d") > date("Y-m-d", mktime(23,59,59,11,30,$year)))
     {
         echo "<p>&nbsp;</p><p class='red'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
             <img src='/fhiiqm/img/weihnachtsmann.gif' height='75' />";
         $heute = new DateTime();
-        $weih = new DateTime('2013-12-24');
+        $weih = new DateTime("$year-12-24");
         $tage = $weih -> diff($heute)->days+1;
         if ($tage <2) $tag = "Tag"; else $tag="Tage";
         echo "<span class='valignt red bigger'>noch <b>$tage</b> $tag bis <em>Weihnachten</em>!</span></p>\n";