--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/test/ma_tel_flist_mysql.php Fri Dec 21 15:31:50 2012 +0100
@@ -0,0 +1,248 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 11/2012
+ *
+ * Telefonliste für FHI-Seite nach aussen
+ *
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ function tab_column($colnum=2,$bez,$sort,$dir,$fcol=0,$fanr=0,$filtb="",$start="",$anzds="25",$id="",$g=0,$tab="",$adr="")
+ {
+ /** beliebige Tabellenspalte mit Sortier-/Filtersymbolen und Links generieren
+ * Parameter
+ * $colnum SpaltenNr. in SELECT-Statement
+ * $bez Spaltenbezeichnung
+ * $sort aktuelle SortspaltenNr.
+ * $dir Sortrichtung (ASC/DESC)
+ * $fcol SpaltenNr. Filter (=0, wenn nicht gefiltert werden soll)
+ * $fanr aktuelle FilterspaltenNr.
+ * $filtb Filterbegriff
+ * $start ab Datensatz $start+1
+ * $anzds Anzahl angezeigter Datensaetze
+ * $id fuer spezielle ID als zusaetzl. Filter (Laser-Log)
+ * $g Gesamtansicht (rag-gefahr-massnahmen-vorsorge)
+ * [$tab fuer tab-basierte Seite
+ * $adr wohin gehen (Teilseite)]
+ */
+
+ if ($colnum == $sort)
+ if ($dir == 'DESC')
+ {
+ $auf = "auf";
+ $ab = "ab_activ";
+ }
+ else
+ {
+ $auf = "auf_activ";
+ $ab = "ab";
+ }
+ else
+ {
+ $auf = "auf";
+ $ab = "ab";
+ }
+
+ if ($bez == "Haus") $tip = "Haus: A, B, BES, C, D, E, F, FAB, HAR, K, L, M, N, P, Q, R, S, T, U"; else $tip = "Filter";
+ if ($tab > "!")
+ {
+ $addr = $adr;
+ $ank = $tab;
+ }
+ else
+ {
+ $addr = $_SERVER['PHP_SELF'];
+ $ank = "";
+ }
+ if ($fcol>0 && $fanr>0) // Filtern nach Spalte moeglich
+ {
+ if ($fcol == $fanr) $filt = "filter_activ"; else $filt = "filter";
+ $filt = " <a href='".$addr."$ank?f=$fcol&s=$sort&d=$dir&st=$start&z=$anzds&i=$id&g=$g'><img src='http://achilleus/fhiiqm/img/$filt.gif' border='0' width='14' hight='11' alt='$tip' title='$tip'></a>";
+ }
+ else
+ $filt="";
+ if ($filtb>'!') $where = "&f=$fanr&b=$filtb&i=$id&g=$g"; else $where="&i=$id&g=$g";
+ echo "<th align='left'>$bez <a href='".$addr."$ank?s=$colnum$where&st=$start&z=$anzds'><img src='http://achilleus/fhiiqm/img/$auf.gif' border='0' width='11' hight='11' alt='sort aufsteigend' title='sort aufsteigend'></a>
+ <a href='".$addr."$ank?s=$colnum&d=DESC$where&st=$start&z=$anzds'><img src='http://achilleus/fhiiqm/img/$ab.gif' border='0' width='11' hight='11' alt='sort absteigend' title='sort absteigend'></a>$filt</th>\n";
+ }
+
+?>
+<!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="http://www.fhi-berlin.mpg.de/fhi.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+
+ <title>MA-Telefonliste</title>
+</head>
+
+<body onload="document.ffilter.filter.focus();">
+
+<?php
+ // Felder, nach denen gefiltert werden kann
+ $fields = array(2=>"Name",3=>"Vorname",5=>"Abteilung",6=>"Telefon/Fax",9=>"Haus", 10=>"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=>"telefon_nr",9=>"geb_ID", 10=>"raum_nr");
+
+ $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; // Name
+ if (!$dir || $dir < "!") $dir = "";
+
+ include_once ($_SERVER["DOCUMENT_ROOT"]. "/fhiiqm/inc/conf.inc.php");
+// include_once ("../../../../home/schwarzer/Daten/php/fhiiqm_achilleus/inc/config.inc.php");
+ $conn=mysql_connect($config["server"],$config["user"],$config["passwort"]) or die("Keine Verbindung zum SQL Server");
+
+ $db=mysql_select_db($config["dbname"],$conn); // or die("Keine Verbindung zur DB fhiiqm");
+
+ if (mysql_errno())
+ echo "error after connect und db select: " . mysql_errno() . ": " . mysql_error() . "<br>\n";
+ $sql = "SELECT persknr, name, vorname, titel, abt_name, telefon_nr, telefon_typ, public, geb_ID, raum_nr, email FROM v_tel_list";
+ if ($filter) $wher = " WHERE " . $fieldf[$fnum] . " LIKE " . "'%$filter%'"; else $wher = "";
+ if ($sort == 2) $sort = "2, 3, 5";
+ if ($sort == 5) $sort = "5, 2, 3";
+ if ($sort) $ord = " ORDER BY $sort, 6"; // immer nach Telefon-Nr als 2.
+ $sql .= $wher . $ord;
+ if ($conn && $db)
+ {
+ $result=mysql_query($sql,$conn);
+// echo "sql = $sql<br><br>\n";
+
+ if ($result && mysql_num_rows($result))
+ {
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+ $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter"; // Parameter Listenanzeige
+
+ echo "<div align='center'>\n";
+ echo "<p><b>Mitarbeiter - Telefonliste</b></p>\n";
+
+ echo "<table border='0' cellspacing='0'>\n";
+ 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' />'
+ können Sie nach bestimmten Spalten auf- bzw. absteigend sortieren</td></tr>
+ <tr><td class='bigger'>'<img src='http://achilleus.rz-berlin.mpg.de/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' ermöglicht das Filtern nach ausgewählten Spalten der Liste</td></tr>
+ <tr><td class='bigger'>Rote Telefon-/Fax-Nummern sind nur intern erreichbar</td></tr>";
+ if ($edit)
+ echo "<tr><td class='bigger'>Klick auf '<img src='/fhiiqm/img/edit.gif' border='0' width='11' hight='11'>' - Bearbeiten der Angaben</tr>";
+
+ echo "</table>\n";
+
+ echo "</div><p> <a href=/fhiiqm/test/ma_tel_pdf_mysql.php>PDF erstellen</a></p>\n<div align='center'>\n";
+ 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
+ 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='e' value='$edit'>";
+ echo "<table width=\"45%\" border=\"0\">\n";
+ echo "<tr><td>filtern nach $text: </td>";
+ echo "<td><input id='filter' name='filter' type=\"text\" size=\"30\" 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=\"hidden\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr></table>\n";
+ echo "</form>\n";
+ echo "<p> </p>\n";
+ }
+ echo "<table width='70%'>\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,"Name",$sort,$dir,2,$fnum,$filter,$start,$zeil,$edit);
+ 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,"Telefon/Fax",$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);
+ if ($edit && !is_null($_SESSION["recht"]) && in_array("fme", $_SESSION["recht"]))
+ echo "<th> </th>";
+ echo "</tr>\n";
+ while ($row = mysql_fetch_assoc($result))
+ {
+ if ($row["persknr"] != $vpnr)
+ {
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ $titel = ($row["titel"])? ", ".$row["titel"] : "" ;
+ $email = ($row->email)? "<a href='mailto:" .$row['email']. "'>" . $row['name'].$titel."</a>" : $row['name'].$titel;
+ echo "<tr bgcolor='" . $bg . "'><td >$email</td>";
+ echo "<td>".$row['vorname']."</td>";
+ echo "<td>".$row['abt_name']."</td>";
+ // echo "<td class=\"left\">$row->telnr " . ($row->telefon_typ == 'fax')? ", " . strtoupper($row->telefon_typ) : "" . "</td>";
+ $ttyp = ($row["telefon_typ"] == 'fax')? " " . strtoupper($row["telefon_typ"]) : "";
+ $rot = ($row["public"])? "" : " style=\"color: red;\"";
+ echo "<td$rot>".$row["telefon_nr"] .$ttyp."</td>";
+ echo "<td>".$row["geb_ID"]."</td>";
+ echo "<td>".$row["raum_nr"]."</td>";
+ if ($edit && !is_null($_SESSION["recht"]) && in_array("fme", $_SESSION["recht"]))
+ 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>";
+ echo "</tr>\n";
+ }
+ else
+ {
+ if ($vabt != $row["abt_name"]) $abt = $row->abt_name;
+ else $abt = ' ';
+ echo "<tr bgcolor='" . $bg . "'><td colspan='2'> </td>";
+ $ttyp = ($row["telefon_typ"] == 'fax')? " " . strtoupper($row["telefon_typ"]) : "";
+ $rot = ($row["public"])? "" : " style=\"color: red;\"";
+ echo "<td>$abt</td>";
+ echo "<td$rot>".$row["telefon_nr"] .$ttyp."</td>";
+ echo "<td>".$row["geb_ID"]."</td>";
+ echo "<td>".$row["raum_nr"]."</td>";
+ if ($edit && !is_null($_SESSION["recht"]) && in_array("fme", $_SESSION["recht"]))
+ echo "<td> </td>";
+ echo "</tr>\n";
+ }
+ $vpnr = $row['persknr'];
+ $vabt = $row['abt_name'];
+ }
+ echo "</table></div>\n";
+ echo "<p> <a href=/fhiiqm/test/ma_tel_pdf_mysql.php>PDF erstellen</a></p>\n";
+
+ }
+ else
+ {
+ echo "<div align=center>";
+ if ($dbc -> error)
+ echo "error: " . $dbc -> error . "<br />\n";
+ else
+ {
+ echo "<p class='red'> Leider nichts gefunden für ". $fields["$fnum"] . " wie '$filter'!</p><br />";
+ echo " <a href=\"" . $_SERVER["PHP_SELF"] . "?$edit\" target=\"_self\" title=\"Telefonliste\" class=\"sc\">Telefonliste</a></p>\n";
+ }
+ echo "</div>";
+ }
+ }
+?>
+</body>
+</html>
\ No newline at end of file