fhiiqm/ma_tel_flist.php
changeset 33 f1a8785434e4
parent 32 c2d325791e24
child 34 fc60ef80a7ad
equal deleted inserted replaced
32:c2d325791e24 33:f1a8785434e4
    13     error_reporting(E_ALL ^ E_NOTICE);
    13     error_reporting(E_ALL ^ E_NOTICE);
    14     
    14     
    15     if (isset($_GET["i"]) && $_GET["i"]) $edit = $_GET["i"]; // wegen tab_column, "i" als "e" missbraucht -> editieren ermoeglichen
    15     if (isset($_GET["i"]) && $_GET["i"]) $edit = $_GET["i"]; // wegen tab_column, "i" als "e" missbraucht -> editieren ermoeglichen
    16     if (!$edit) $edit = $_GET["e"];
    16     if (!$edit) $edit = $_GET["e"];
    17     if (!$edit) $edit = $_POST["e"];
    17     if (!$edit) $edit = $_POST["e"];
    18     if (isset($edit))
    18     if (isset($edit) && $edit)
    19     {
    19     {
    20         session_start();
    20         session_start();
    21         if (! isset($_SESSION["userid"]))
    21         if (! isset($_SESSION["userid"]))
    22         { 
    22         { 
    23             include_once ("inc/func_lib.inc.php");	
    23             include_once ("inc/func_lib.inc.php");	
    24             login($_SERVER["PHP_SELF"]);
    24             login($_SERVER["PHP_SELF"]);
    25             exit;
    25             exit;
    26         }
    26         }
    27         
    27         
    28         if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("fmr",$_SESSION["recht"]) && !in_array("fme",$_SESSION["recht"])
    28         if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("mtr",$_SESSION["recht"]) && !in_array("mte",$_SESSION["recht"])))
    29              && !in_array("ddr",$_SESSION["recht"]) && !in_array("dde",$_SESSION["recht"])))
       
    30         {
    29         {
    31             header("Location: start.php");
    30             header("Location: start.php");
    32             exit;
    31             exit;
    33         }
    32         }
    34     }    
    33     }    
    39 <head>
    38 <head>
    40 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    39 	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    41    	<link href="http://achilleus.rz-berlin.mpg.de/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/> 
    40    	<link href="http://achilleus.rz-berlin.mpg.de/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/> 
    42    	<link href="http://achilleus.rz-berlin.mpg.de/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/> 
    41    	<link href="http://achilleus.rz-berlin.mpg.de/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/> 
    43 
    42 
    44 	<title>MA-Telefonliste</title>
    43 	<title>MA/O-Telefonliste</title>
    45 </head>
    44 </head>
    46 
    45 
    47 <body onload="document.ffilter.filter.focus();">
    46 <body onload="document.ffilter.filter.focus();">
    48     
    47     
    49 <?php
    48 <?php
    50     if (isset($edit))
    49     if (isset($edit) && $edit)
    51     {
    50     {
    52         echo "&nbsp;";  
    51         echo "&nbsp;";  
    53         echo "<div class=\"float-br smaller\" valign='top'>";
    52         echo "<div class=\"float-br smaller\" valign='top'>";
    54         echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
    53         echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
    55         echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
    54         echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
    56         echo "<div class=\"float-r\"><img src=\"img/group.png\" border=\"0\" alt=\"Telefonliste\" title=\"Telefonliste\"/></div>\n";
    55         echo "<div class=\"float-r\"><img src=\"img/group.png\" border=\"0\" alt=\"Telefonliste\" title=\"Telefonliste\"/></div>\n";
    57     }
    56     }
    58 
    57     
    59     // Felder, nach denen gefiltert werden kann
    58     // Felder, nach denen gefiltert werden kann
    60     $fields = array(2=>"Name",3=>"Vorname",5=>"Abteilung",6=>"Telefon/Fax",9=>"Haus", 10=>"Raum");
    59     $fields = array(2=>"Name",3=>"Vorname",5=>"Abteilung",6=>"Telefon/Fax",9=>"Haus", 10=>"Raum");
    61 //    $fieldf = array(2=>"trim(nachname)",3=>"vorname",5=>"abt_name",6=>"mt.telefon_nr",9=>"geb_ID", 10=>"raum_nr");
    60 //    $fieldf = array(2=>"trim(nachname)",3=>"vorname",5=>"abt_name",6=>"mt.telefon_nr",9=>"geb_ID", 10=>"raum_nr");
    62     $fieldf = array(2=>"name",3=>"vorname",5=>"abt_name",6=>"telefon_nr",9=>"geb_ID", 10=>"raum_nr");
    61     $fieldf = array(2=>"name",3=>"vorname",5=>"abt_name",6=>"telefon_nr",9=>"geb_ID", 10=>"raum_nr");
    63 
    62 
    86 	$dbc = new dbconnection();
    85 	$dbc = new dbconnection();
    87 /*    
    86 /*    
    88     $sql = "SELECT m.persknr, TRIM(nachname) as name, vorname, titel, abt_name, mt.telefon_nr, telefon_typ, public, geb_ID, raum_nr, email
    87     $sql = "SELECT m.persknr, TRIM(nachname) as name, vorname, titel, abt_name, mt.telefon_nr, telefon_typ, public, geb_ID, raum_nr, email
    89             FROM Mitarbeiter m LEFT OUTER JOIN 
    88             FROM Mitarbeiter m LEFT OUTER JOIN 
    90             Abteilung a ON m.abt_tel=a.abt_ID LEFT OUTER JOIN 
    89             Abteilung a ON m.abt_tel=a.abt_ID LEFT OUTER JOIN 
    91             MA_Telefon mt ON m.persknr=mt.persknr INNER JOIN 
    90             MA_Telefon mt ON m.persknr=mt.persknr LEFT OUTER JOIN 
    92             Telefon t ON mt.telefon_nr=t.telefon_nr LEFT OUTER JOIN
    91             Telefon t ON mt.telefon_nr=t.telefon_nr LEFT OUTER JOIN
    93             Raum r ON t.raum_ID = r.raum_ID
    92             Raum r ON t.raum_ID = r.raum_ID
    94             WHERE aktiv>0 AND (m.abt_tel <> 7)
    93             WHERE aktiv>0 AND (m.abt_tel <> 7 OR m.abt_tel IS NULL)
    95             UNION
    94             UNION
    96             SELECT m.persknr, TRIM(nachname) as name, vorname, titel, IFNULL(rag_bez,'INF') as abt_name, mt.telefon_nr, telefon_typ, public, geb_ID, raum_nr, email
    95             SELECT m.persknr, TRIM(nachname) as name, vorname, titel, IFNULL(rag_bez,'INF') as abt_name, mt.telefon_nr, telefon_typ, public, geb_ID, raum_nr, email
    97             FROM Mitarbeiter m LEFT OUTER JOIN 
    96             FROM Mitarbeiter m LEFT OUTER JOIN 
    98             MA_Telefon mt ON m.persknr=mt.persknr INNER JOIN 
    97             MA_Telefon mt ON m.persknr=mt.persknr INNER JOIN 
    99             Telefon t ON mt.telefon_nr=t.telefon_nr LEFT OUTER JOIN
    98             Telefon t ON mt.telefon_nr=t.telefon_nr LEFT OUTER JOIN
   100             Raum r ON t.raum_ID = r.raum_ID LEFT OUTER JOIN
    99             Raum r ON t.raum_ID = r.raum_ID LEFT OUTER JOIN
   101             MA_RaumArbGruppe ma ON m.persknr=ma.persknr LEFT OUTER JOIN 
   100             MA_RaumArbGruppe ma ON m.persknr=ma.persknr LEFT OUTER JOIN 
   102             RaumArb_Gruppe rag ON ma.rag_ID=rag.rag_ID
   101             RaumArb_Gruppe rag ON ma.rag_ID=rag.rag_ID
   103             WHERE aktiv>0 AND m.abt_tel=7";
   102             WHERE aktiv>0 AND m.abt_tel=7";
   104 */
   103 */
   105     $sql = "SELECT persknr, name, vorname, titel, abt_name, telefon_nr, telefon_typ, public, geb_ID, raum_nr, email FROM v_tel_list";
   104 //    $sql = "SELECT persknr, name, vorname, titel, abt_name, telefon_nr, telefon_typ, public, geb_ID, raum_nr, email FROM v_tel_list";
   106     if ($filter) $wher = " WHERE " . $fieldf[$fnum] . " LIKE " . "'%$filter%'"; else $wher = "";
   105 //  Raum zu Mitarbeiter und nicht zu Telefon
   107     if ($sort == 2) $sort = "2, 3, 5";
   106     $sql = "SELECT persknr, name, vorname, titel, abt_name, telefon_nr, telefon_typ, public, geb_ID, raum_nr, email FROM v_tel_list_ma_raum";
   108     if ($sort == 5) $sort = "5, 2, 3";
   107     if ($filter)
   109     if ($sort) $ord = " ORDER BY $sort, 6"; // immer nach Telefon-Nr als 2.
   108     {
       
   109         if ($fnum > 3)
       
   110             $wher = " WHERE " . $fieldf[$fnum] . " LIKE " . "'%$filter%'"; 
       
   111         else
       
   112             $wher = " WHERE " . $fieldf[$fnum] . " LIKE " . "'$filter%'"; 
       
   113     }
       
   114     else $wher = ""; 
       
   115 
       
   116     if ($sort == 2) $so = "name COLLATE latin1_general_ci $dir, 3, 5";
       
   117 //    if ($sort == 2) $sort = "2, 3, 5";
       
   118     elseif ($sort == 5) $so = "5 $dir, name COLLATE latin1_general_ci, 3";
       
   119 //    if ($sort == 5) $sort = "5, 2, 3";
       
   120     else $so = "$sort $dir ";
       
   121     if ($so) $ord = " ORDER BY $so, 6 "; // immer nach Telefon-Nr als 2.
       
   122 
   110     $sql .= $wher . $ord;
   123     $sql .= $wher . $ord;
   111 //    echo "sql = $sql<br /><br />";
   124 //    echo "sql = $sql<br /><br />";
   112     $result = $dbc ->queryObjectArray($sql);
   125     $result = $dbc ->queryObjectArray($sql);
   113     
   126     
   114     if ($result)
   127     if ($result)
   117 		$bg2 = "#DEDFE1";
   130 		$bg2 = "#DEDFE1";
   118 		$bg = "#FFFFFF";
   131 		$bg = "#FFFFFF";
   119         $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter"; // Parameter Listenanzeige
   132         $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter"; // Parameter Listenanzeige
   120      
   133      
   121         echo "<div align='center'>\n";
   134         echo "<div align='center'>\n";
   122         echo "<p><b>Mitarbeiter - Telefonliste</b></p>\n";
   135         echo "<p><b>Mitarbeiter/Objekte - Telefonliste</b></p>\n";
   123         
   136         
   124         echo "<table border='0' cellspacing='0'>\n";
   137         echo "<table border='0' cellspacing='0'>\n";
   125         echo "<tr><td class='bigger'>Mittels '<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />' 
   138         echo "<tr><td class='bigger'>Mittels '<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />' 
   126             können Sie nach bestimmten Spalten auf- bzw. absteigend sortieren</td></tr>
   139             können Sie nach bestimmten Spalten auf- bzw. absteigend sortieren</td></tr>
   127             <tr><td class='bigger'>'<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' erm&ouml;glicht das Filtern nach ausgew&auml;hlten Spalten der Liste</td></tr>
   140             <tr><td class='bigger'>'<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' erm&ouml;glicht das Filtern nach ausgew&auml;hlten Spalten der Liste</td></tr>
   128             <tr><td class='bigger'>Rote Telefon-/Fax-Nummern sind nur intern erreichbar</td></tr>";
   141             <tr><td class='bigger'>Rote Telefon-/Fax-Nummern sind nur intern erreichbar</td></tr>";
   129         if ($edit)
   142         if ($edit)
   130             echo "<tr><td class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten der Angaben</tr>";
   143             echo "<tr><td class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten der Angaben</tr>";
   131  
   144  
   132         echo "</table><br />\n";
   145         echo "</table>\n";
   133 
   146 
       
   147         echo "</div><p>&nbsp;&nbsp;&nbsp;<a href=/fhiiqm/ma_tel_pdf.php?e=$edit$getp>PDF erstellen</a></p>\n<div align='center'>\n";
   134         if (isset($fnum) && $fnum>1 && !$filter && !$subf)
   148         if (isset($fnum) && $fnum>1 && !$filter && !$subf)
   135         {
   149         {
   136             // Formular anzeigen fuer Filterbegriff
   150             // Formular anzeigen fuer Filterbegriff
   137             $text = $fields[$fnum];
   151             $text = $fields[$fnum];
   138             $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
   152             $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
   155 */
   169 */
   156             echo "<td><input class=\"button\" type=\"hidden\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr></table>\n";
   170             echo "<td><input class=\"button\" type=\"hidden\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr></table>\n";
   157             echo "</form>\n";
   171             echo "</form>\n";
   158             echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
   172             echo "<p>&nbsp;&nbsp;&nbsp;</p>\n";
   159         }
   173         }
       
   174         
       
   175         // Schnellsuche Namen
       
   176         echo "<p>";
       
   177         for ($j=65; $j<91; $j++)
       
   178         {
       
   179             echo "<a href='". $_SERVER["PHP_SELF"] . "?e=$edit&f=2&b=". chr($j)."' target=\"_self\" title=\"Telefonliste\" class=\"sc\">".chr($j)."&nbsp;&nbsp;&nbsp;</a>"; 
       
   180         }
       
   181         echo "</p>\n";
   160         echo "<table width='55%'>\n";
   182         echo "<table width='55%'>\n";
   161         
   183         
   162         if ($filter>'!') echo "<tr><td class='bigger' colspan=6>Filter: ". $fields["$fnum"] . " wie '$filter'</td></tr>\n";
   184         if ($filter>'!') echo "<tr><td class='bigger' colspan=6>Filter: ". $fields["$fnum"] . " wie '$filter'</td></tr>\n";
   163 
   185 
   164         // Listenkopf generieren
   186         // Listenkopf generieren
   165         echo "<tr bgcolor='#68ACBF'>";
   187         echo "<tr bgcolor='#68ACBF'>";
   166         tab_column(2,"Name",$sort,$dir,2,$fnum,$filter,$start,$zeil,$edit);
   188         tab_column(2,"Name",$sort,$dir,2,$fnum,$filter,$start,$zeil,$edit);
   167         tab_column(3,"Vorname",$sort,$dir,3,$fnum,$filter,$start,$zeil,$edit);
   189         tab_column(3,"Vorname",$sort,$dir,3,$fnum,$filter,$start,$zeil,$edit);
   168         tab_column(5,"Abteilung",$sort,$dir,5,$fnum,$filter,$start,$zeil,$edit);
   190         tab_column(5,"Abteilung",$sort,$dir,5,$fnum,$filter,$start,$zeil,$edit);
   169         tab_column(6,"Telefon/Fax",$sort,$dir,6,$fnum,$filter,$start,$zeil,$edit);
       
   170         tab_column(9,"Haus",$sort,$dir,9,$fnum,$filter,$start,$zeil,$edit);
   191         tab_column(9,"Haus",$sort,$dir,9,$fnum,$filter,$start,$zeil,$edit);
   171         tab_column(10,"Raum",$sort,$dir,10,$fnum,$filter,$start,$zeil,$edit);
   192         tab_column(10,"Raum",$sort,$dir,10,$fnum,$filter,$start,$zeil,$edit);
   172         if ($edit && !is_null($_SESSION["recht"]) && in_array("fme", $_SESSION["recht"]))
   193         tab_column(6,"Telefon/Fax",$sort,$dir,6,$fnum,$filter,$start,$zeil,$edit);
       
   194         if ($edit && !is_null($_SESSION["recht"]) && in_array("mte", $_SESSION["recht"]))
   173             echo "<th>&nbsp</th>";
   195             echo "<th>&nbsp</th>";
   174         echo "</tr>\n";
   196         echo "</tr>\n";
   175         foreach ($result as $row)
   197         foreach ($result as $row)
   176         {
   198         {
   177 			if ($row->persknr != $vpnr)
   199 			if ($row->persknr != $vpnr)
   183                 echo "<td>$row->vorname</td>";
   205                 echo "<td>$row->vorname</td>";
   184                 echo "<td>$row->abt_name</td>";
   206                 echo "<td>$row->abt_name</td>";
   185     //            echo "<td class=\"left\">$row->telnr " . ($row->telefon_typ == 'fax')? ", " . strtoupper($row->telefon_typ) : "" . "</td>";
   207     //            echo "<td class=\"left\">$row->telnr " . ($row->telefon_typ == 'fax')? ", " . strtoupper($row->telefon_typ) : "" . "</td>";
   186                 $ttyp = ($row->telefon_typ == 'fax')? " " . strtoupper($row->telefon_typ) : "";
   208                 $ttyp = ($row->telefon_typ == 'fax')? " " . strtoupper($row->telefon_typ) : "";
   187                 $rot = ($row->public)? "" : " class=\"red\"";
   209                 $rot = ($row->public)? "" : " class=\"red\"";
   188                 echo "<td$rot>$row->telefon_nr $ttyp</td>";
       
   189                 echo "<td>$row->geb_ID</td>";
   210                 echo "<td>$row->geb_ID</td>";
   190                 echo "<td>$row->raum_nr</td>";
   211                 echo "<td>$row->raum_nr</td>";
   191                 if ($edit && !is_null($_SESSION["recht"]) && in_array("fme", $_SESSION["recht"]))
   212                 echo "<td$rot>$row->telefon_nr $ttyp</td>";
       
   213                 if ($edit && !is_null($_SESSION["recht"]) && in_array("mte", $_SESSION["recht"]))
   192                     echo "<td><a href='/fhiiqm/ma_tel_ed.php?i=$row->persknr$getp'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
   214                     echo "<td><a href='/fhiiqm/ma_tel_ed.php?i=$row->persknr$getp'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
   193                 echo "</tr>\n";
   215                 echo "</tr>\n";
   194             }
   216             }
   195             else
   217             else
   196             {
   218             {
   197                 echo "<tr bgcolor='" . $bg . "'><td colspan='3'>&nbsp;</td>";    
   219                 if ($vabt != $row->abt_name) $abt = $row->abt_name;
       
   220                 else $abt = '&nbsp';    
       
   221                 echo "<tr bgcolor='" . $bg . "'><td colspan='2'>&nbsp;</td>";    
   198                 $ttyp = ($row->telefon_typ == 'fax')? " " . strtoupper($row->telefon_typ) : "";
   222                 $ttyp = ($row->telefon_typ == 'fax')? " " . strtoupper($row->telefon_typ) : "";
   199                 $rot = ($row->public)? "" : " class=\"red\"";
   223                 $rot = ($row->public)? "" : " class=\"red\"";
       
   224                 echo "<td>$abt</td>";
       
   225                 echo "<td>&nbsp;</td>";
       
   226                 echo "<td>&nbsp;</td>";
   200                 echo "<td$rot>$row->telefon_nr $ttyp</td>";
   227                 echo "<td$rot>$row->telefon_nr $ttyp</td>";
   201                 echo "<td>$row->geb_ID</td>";
   228                 if ($edit && !is_null($_SESSION["recht"]) && in_array("mte", $_SESSION["recht"]))
   202                 echo "<td>$row->raum_nr</td>";
       
   203                 if ($edit && !is_null($_SESSION["recht"]) && in_array("fme", $_SESSION["recht"]))
       
   204                     echo "<td>&nbsp;</td>";                
   229                     echo "<td>&nbsp;</td>";                
   205                 echo "</tr>\n";
   230                 echo "</tr>\n";
   206             }
   231             }
   207             $vpnr = $row->persknr;
   232             $vpnr = $row->persknr;
       
   233             $vabt = $row->abt_name;
   208         }
   234         }
   209         echo "</table></div>\n";
   235         echo "</table></div>\n";
       
   236         echo "<p>&nbsp;&nbsp;&nbsp;<a href=/fhiiqm/ma_tel_pdf.php?e=$edit$getp>PDF erstellen</a></p>\n";
   210 
   237 
   211     }
   238     }
   212     else
   239     else
   213     {
   240     {
   214         echo "<div align=center>";
   241         echo "<div align=center>";
   215         if ($dbc -> error)  
   242         if ($dbc -> error)  
   216             echo "error: " . $dbc -> error . "<br />\n";
   243             echo "error: " . $dbc -> error . "<br />\n";
   217         else
   244         else
   218         {
   245         {
   219             echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!</p><br />";
   246             echo "<p class='red'>&nbsp;&nbsp;&nbsp;Leider nichts gefunden f&uuml;r ". $fields["$fnum"] . " wie '$filter'!</p><br />";
   220             echo "&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "?$edit\" target=\"_self\" title=\"Telefonliste\" class=\"sc\">Telefonliste</a></p>\n";
   247             echo "&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "?e=$edit\" target=\"_self\" title=\"Telefonliste\" class=\"sc\">Telefonliste</a></p>\n";
   221         }
   248         }
   222         echo "</div>";
   249         echo "</div>";
   223     }
   250     }
   224     
   251     
   225 ?>
   252 ?>