|
1 <?php |
|
2 |
|
3 /** |
|
4 * @author Bettina Schwarzer, Fritz-Haber-Institut |
|
5 * @copyright 01/2013 |
|
6 * |
|
7 * Telefonliste als pdf erstellen |
|
8 * |
|
9 */ |
|
10 |
|
11 error_reporting(E_ALL ^ E_NOTICE); |
|
12 include ($_SERVER['DOCUMENT_ROOT']."/fhiiqm/inc/pdf_ma_tel.inc.php"); |
|
13 include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php"); |
|
14 $dbc = new dbconnection(); |
|
15 $sub = $_POST['sub']; |
|
16 $sortp = $_POST['sortp']; |
|
17 if (!$sortp) $sortp = $_GET['sp']; |
|
18 $abt = $_POST['abt']; |
|
19 if (!$abt) $abt = $_GET['a']; |
|
20 $fmt = $_POST['form']; |
|
21 if (!$fmt) $fmt = $_GET['t']; |
|
22 $info = $_POST['info']; |
|
23 if (!$info) $info = $_GET['o']; |
|
24 |
|
25 $sort = $_GET["s"]; // Sortierung nach Spalte |
|
26 $dir = $_GET["d"]; // Sortierrichtung |
|
27 $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird |
|
28 $filter = $_GET["b"]; // Filterbegriff |
|
29 $edit = $_GET["e"]; // Telefonliste editierbar |
|
30 $getp = "e=$edit&s=$sort&d=$dir&f=$fnum&b=$filter"; // Parameter Listenanzeige Mitarbeiter/Objekte-Telefonliste |
|
31 |
|
32 if (!$sub) |
|
33 { |
|
34 ?> |
|
35 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
36 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
|
37 |
|
38 <head> |
|
39 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> |
|
40 <link href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/> |
|
41 <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/> |
|
42 <title>MA/O-Telefonliste -> PDF</title> |
|
43 </head> |
|
44 <body> |
|
45 <div align="center"> |
|
46 <p><b>PDF: Mitarbeiter/Objekte - Telefonliste</b></p> |
|
47 <?php |
|
48 echo "<form action=" . $_SERVER['PHP_SELF'] . " method='post' enctype='application/x-www-form-urlencoded' id='ffilter' name='ffilter' target='_self'>\n"; |
|
49 echo "<table width=\"30%\" border=\"0\">\n"; |
|
50 echo "<tr><td>Format</td>"; |
|
51 echo " <td><select name=\"form\"> |
|
52 <option value=1>normal</option> |
|
53 <option value=2>small</option> |
|
54 <option value=3>tiny</option> |
|
55 <option value=4>new</option> |
|
56 </select>\n"; |
|
57 echo " </td></tr>\n"; |
|
58 echo "<tr><td>filtern nach Abteilung</td>"; |
|
59 echo " <td valign=\"top\"> |
|
60 <select name=\"abt\">"; |
|
61 echo "<option value=\"-1\"></option>\n"; |
|
62 $sql = "SELECT abt_ID, abt_name, abt_long FROM `fhiiqm`.`Abteilung` ORDER BY abt_ID+0"; |
|
63 if ($result = $dbc->queryObjectArray($sql)) |
|
64 { |
|
65 foreach ($result as $row) |
|
66 { |
|
67 if ($row->abt_ID == $ma['abt']) |
|
68 echo "<option selected value=\"$row->abt_ID\">$row->abt_name: $row->abt_long</option>\n"; |
|
69 else |
|
70 echo "<option value=\"$row->abt_ID\">$row->abt_name: $row->abt_long</option>\n"; |
|
71 } |
|
72 } |
|
73 echo " </select></td></tr>\n"; |
|
74 echo "<tr><td>sortieren nach</td>"; |
|
75 echo " <td><select name='sortp'>"; |
|
76 echo " <option value=\"-1\"></option>\n"; |
|
77 echo " <option value='2'>Name</option>\n"; |
|
78 echo " <option value='12'>Abteilung</option>\n"; |
|
79 echo " </select></td></tr>\n"; |
|
80 echo "<tr><td>mit Infoseiten</td><td><input name=\"info\" type=\"checkbox\" value=\"1\" "; |
|
81 if ($info) echo "checked=\"checked\""; |
|
82 echo " /></td></tr>\n"; |
|
83 |
|
84 echo "<tr><td> </td><td><input class=\"button\" type=\"submit\" name=\"sub\" value=\" pdf erstellen \" /></td></tr>\n"; |
|
85 echo "</table>\n"; |
|
86 echo "</form>\n"; |
|
87 echo "</div>\n"; |
|
88 echo "<p><br /><br /> <a href=/fhiiqm/ma_tel_flist.php?$getp>« zur Telefon-Liste</a></p>\n"; |
|
89 echo "</body></html>\n"; |
|
90 } |
|
91 else |
|
92 { |
|
93 if ($fmt == 2 || $fmt == 3) $wher = " WHERE sort=1 "; else $wher = " WHERE 1=1 "; |
|
94 $sql = "SELECT persknr, name, vorname, titel, abt_name, telefon_nr, telefon_typ, public, geb_ID, raum_nr, email, abt_tel+0 |
|
95 FROM v_tel_list_abt " . $wher . " AND aktiv > 0 "; |
|
96 |
|
97 // intern/extern |
|
98 $ip=getenv("REMOTE_ADDR"); |
|
99 $ippart=explode(".",$ip); |
|
100 if (($ippart[0] == 141 && $ippart[1] == 14) || ($ippart[0] == 172 && $ippart[1] == 16)) |
|
101 $wip = ""; |
|
102 else |
|
103 $wip = " AND public=1 "; |
|
104 if ($sortp == '2') $sortp = "name COLLATE latin1_general_ci,3,12,5,IFNULL(sort,99),6"; // Name |
|
105 elseif ($sortp == '12') $sortp = "12,5,name COLLATE latin1_general_ci,3,IFNULL(sort,99),6"; // abt_ID |
|
106 else $sortp = "name COLLATE latin1_general_ci,3,12,5,IFNULL(sort,99),6"; |
|
107 |
|
108 if ($abt > '-1') $wher = " AND abt_tel = $abt "; else $wher = ""; |
|
109 |
|
110 $sql .= $wher . $wip . " ORDER BY $sortp"; |
|
111 if ($result = $dbc ->queryObjectArray($sql)) |
|
112 { |
|
113 $pdf = new PDF(); |
|
114 $pdf->SetLeftMargin(25); |
|
115 if ($fmt == 4) |
|
116 { |
|
117 $header=array('Name','Abteilung','Tel/Fax','Raum','E-Mail'); |
|
118 $pdf->anzcol = null; |
|
119 } |
|
120 $pdf->AddPage(); |
|
121 $pdf->AliasNbPages(); // Anzahl Seiten |
|
122 if ($info && $fmt != 4) |
|
123 { |
|
124 $pdf->Image($_SERVER['DOCUMENT_ROOT']."/fhiiqm/img/tel/tellist_kopf1n.jpg",$pdf->lMargin-20,$pdf->tMargin+17,210); |
|
125 $pdf->AddPage(); |
|
126 $pdf->Image($_SERVER['DOCUMENT_ROOT']."/fhiiqm/img/tel/tellist_kopf2n.jpg",$pdf->lMargin-20,$pdf->tMargin+14,210); |
|
127 $pdf->AddPage(); |
|
128 $pdf->Image($_SERVER['DOCUMENT_ROOT']."/fhiiqm/img/tel/tellist_kopf3n.jpg",$pdf->lMargin-20,$pdf->tMargin+14,210); |
|
129 $pdf->AddPage(); |
|
130 $pdf->Image($_SERVER['DOCUMENT_ROOT']."/fhiiqm/img/tel/tellist_kopf4n.jpg",$pdf->lMargin-20,$pdf->tMargin+14,210); |
|
131 $pdf->AddPage(); |
|
132 } |
|
133 $pdf->height = 3.5; |
|
134 $pdf->SetFont('times','',''); |
|
135 switch ($fmt) |
|
136 { |
|
137 case 1: |
|
138 $pdf->anzcol = 1; |
|
139 $pdf->Normal($result); |
|
140 break; |
|
141 case 2: |
|
142 $pdf->xa = $pdf->lMargin; |
|
143 $pdf->fancy = 0; // mehrspaltig |
|
144 $pdf->anzcol = 2; |
|
145 $colwidth = 85; |
|
146 $pdf->Small($result,$colwidth,$pdf->height); |
|
147 break; |
|
148 case 3: |
|
149 $pdf->xa = $pdf->lMargin; |
|
150 $pdf->fancy = 0; // mehrspaltig |
|
151 $pdf->anzcol = 3; |
|
152 $colwidth = 55; |
|
153 $pdf->Small($result,$colwidth,$pdf->height); |
|
154 break; |
|
155 case 4: |
|
156 $pdf->fancy = 1; // einspaltig |
|
157 $pdf->SetFont('helvetica','',9); |
|
158 $pdf->FancyTable($header,$result); |
|
159 break; |
|
160 } |
|
161 |
|
162 $pdf->Ln(); |
|
163 $pdf->SetDisplayMode('real'); |
|
164 $pdf->Output(); |
|
165 // als Download |
|
166 // $pdf->Output('ma_tel_list.pdf','D'); |
|
167 } |
|
168 } |
|
169 ?> |