57 <script type="text/javascript"> |
57 <script type="text/javascript"> |
58 <!-- |
58 <!-- |
59 var counter = 0; |
59 var counter = 0; |
60 var limit = 99; |
60 var limit = 99; |
61 var arr = new Array(); |
61 var arr = new Array(); |
|
62 var arra = new Array(); |
|
63 var arrg = new Array(); |
62 function addInput(divName){ |
64 function addInput(divName){ |
63 if (counter == limit) { |
65 if (counter == limit) { |
64 alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht"); |
66 alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht"); |
65 } |
67 } |
66 else { |
68 else |
|
69 { |
|
70 if (divName == 'addtel') |
|
71 { |
67 var newdiv = document.createElement('div'); |
72 var newdiv = document.createElement('div'); |
68 var opt="<option value='-1'></option>"; |
73 var opt="<option value='-1'></option>"; |
|
74 var i; |
69 for (var key in arr) |
75 for (var key in arr) |
70 { |
76 { |
71 opt = opt.concat("<option value='",key,"'>",arr[key],"</option>\n" ); |
77 opt = opt.concat("<option value='",key,"'>",arr[key],"</option>\n" ); |
72 } |
78 } |
73 opt += "</select>"; |
79 opt += "</select>\n"; |
74 newdiv.innerHTML = "<select name='ma[tel][]'>"+opt; |
80 newdiv.innerHTML = "<span></span><select name='ma[tel][]'>"+opt; |
75 newdiv.innerHTML += " oder neu <input type='text' name='ma[ntel][]' size='20' maxlength='20' />"; |
81 newdiv.innerHTML += " oder neu <input type='text' name='ma[ntel][]' size='20' maxlength='20' />"; |
76 newdiv.innerHTML += " öffentlich <input type='checkbox' name='ma[pub][" + (counter+1) + "]' value='1' />"; |
82 opt = "<option value='-1'></option>"; |
|
83 for (i=1; i<10; i++) |
|
84 { |
|
85 opt = opt.concat("<option value=",i,">",i,"</option>\n"); |
|
86 } |
|
87 opt += "</select>\n"; |
|
88 newdiv.innerHTML += " Priorität <select name='ma[so][]'>"+opt; |
|
89 newdiv.innerHTML += " öffentlich <input type='checkbox' name='ma[pub][" + (counter+1) + "]' value='1' />\n"; |
77 document.getElementById(divName).appendChild(newdiv); |
90 document.getElementById(divName).appendChild(newdiv); |
78 counter++; |
91 counter++; |
|
92 } |
|
93 else |
|
94 { |
|
95 var newdiv = document.createElement('div'); |
|
96 var opt=""; |
|
97 var optg="<option value='-1'></option>"; |
|
98 for (var key in arra) |
|
99 { |
|
100 opt = opt.concat("<option value='",key,"'>",arra[key],"</option>\n" ); |
|
101 } |
|
102 opt += "</select>\n"; |
|
103 newdiv.innerHTML = "<span></span><select name='ma[abt][]'>"+opt; |
|
104 for (var key in arrg) |
|
105 { |
|
106 optg = optg.concat("<option value='",key,"'>",arrg[key],"</option>\n" ); |
|
107 } |
|
108 optg += "</select>\n"; |
|
109 newdiv.innerHTML += " Arbeitsgruppe <select name='ma[rag][]'>"+optg; |
|
110 document.getElementById(divName).appendChild(newdiv); |
|
111 counter++; |
|
112 } |
79 } |
113 } |
80 } |
114 } |
81 function delInput(divId){ |
115 function delInput(divId){ |
82 var kn = document.getElementById(divId); |
116 var kn = document.getElementById(divId); |
83 while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SELECT" && kn.lastChild.nodeName != "A") |
117 while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SPAN" && kn.lastChild.nodeName != "A") |
84 { |
118 { |
85 // alert ("vor "+kn.lastChild.nodeName+", nodetyp = "+ kn.lastChild.nodeType); |
119 // alert ("vor "+kn.lastChild.nodeName+", nodetyp = "+ kn.lastChild.nodeType); |
86 var knc = kn.lastChild; |
120 var knc = kn.lastChild; |
87 document.getElementById(divId).removeChild(knc); |
121 document.getElementById(divId).removeChild(knc); |
88 } |
122 } |
89 if (kn.lastChild.nodeName == "SELECT") document.getElementById(divId).removeChild(kn.lastChild); |
123 // if (kn.lastChild.nodeName == "SELECT") document.getElementById(divId).removeChild(kn.lastChild); |
|
124 if (kn.lastChild.nodeName == "SPAN") document.getElementById(divId).removeChild(kn.lastChild); |
90 } |
125 } |
91 //--> |
126 //--> |
92 </script> |
127 </script> |
93 |
128 |
94 </head> |
129 </head> |
109 if ((!$sub && !$del) || !isset($ma) || !$ok) |
144 if ((!$sub && !$del) || !isset($ma) || !$ok) |
110 { |
145 { |
111 |
146 |
112 if ($pid && (!$sub || !$del) && !isset($ma)) |
147 if ($pid && (!$sub || !$del) && !isset($ma)) |
113 { |
148 { |
114 $sql = "SELECT nachname,vorname,titel,rag_ID,abt_tel,email,aktiv FROM Mitarbeiter WHERE persknr=$pid"; |
149 $sql = "SELECT nachname,vorname,titel,abt_tel,email,aktiv FROM Mitarbeiter WHERE persknr=$pid"; |
115 if ($result = $dbc -> queryObjectArray($sql)) |
150 if ($result = $dbc -> queryObjectArray($sql)) |
116 { |
151 { |
117 foreach ($result as $row) |
152 foreach ($result as $row) |
118 { |
153 { |
119 $ma['name'] = $row->nachname; |
154 $ma['name'] = $row->nachname; |
120 $ma['vname'] = $row->vorname; |
155 $ma['vname'] = $row->vorname; |
121 $ma['titel'] = $row->titel; |
156 $ma['titel'] = $row->titel; |
122 $ma['rag'] = $row->rag_ID; |
157 $ma['abtm'] = $row->abt_tel; |
123 $ma['abt'] = $row->abt_tel; |
|
124 $ma['email'] = $row->email; |
158 $ma['email'] = $row->email; |
125 $ma['fhi'] = ($row->aktiv == 1)? 1 : 0; |
159 $ma['fhi'] = ($row->aktiv == 1)? 1 : 0; |
126 } |
160 } |
127 } |
161 } |
|
162 // Arbeitsgruppe, Abteilung |
|
163 $sql = "SELECT mr.rag_ID, abt_ID FROM fhiiqm.MA_RaumArbGruppe mr INNER JOIN RaumArb_Gruppe r ON mr.rag_ID=r.rag_ID |
|
164 WHERE persknr=$pid"; |
|
165 if ($result = $dbc -> queryObjectArray($sql)) |
|
166 { |
|
167 foreach ($result as $row) |
|
168 { |
|
169 $ma['abt'][] = $row->abt_ID; |
|
170 $ma['rag'][] = $row->rag_ID; |
|
171 } |
|
172 } |
|
173 if (count($ma['abt']) == 0) $ma['abt'][] = $ma['abtm']; |
128 // Haus,Raum |
174 // Haus,Raum |
129 $sql = "SELECT ma.raum_ID, geb_ID FROM Mitarbeiter_Raum ma INNER JOIN Raum r ON ma.raum_ID=r.raum_ID |
175 $sql = "SELECT ma.raum_ID, geb_ID FROM Mitarbeiter_Raum ma INNER JOIN Raum r ON ma.raum_ID=r.raum_ID |
130 WHERE persknr=$pid ORDER BY raum_ID"; |
176 WHERE persknr=$pid ORDER BY raum_ID"; |
131 if ($result = $dbc -> queryObjectArray($sql)) |
177 if ($result = $dbc -> queryObjectArray($sql)) |
132 { |
178 { |
135 $ma['geb'] = $row->geb_ID; |
181 $ma['geb'] = $row->geb_ID; |
136 $ma['raum'] = $row->raum_ID; |
182 $ma['raum'] = $row->raum_ID; |
137 } |
183 } |
138 } |
184 } |
139 // Telefon |
185 // Telefon |
140 $sql = "SELECT m.telefon_nr,public |
186 $sql = "SELECT m.telefon_nr,public,sort |
141 FROM fhiiqm.MA_Telefon m INNER JOIN Telefon t ON m.telefon_nr=t.telefon_nr |
187 FROM fhiiqm.MA_Telefon m INNER JOIN Telefon t ON m.telefon_nr=t.telefon_nr |
142 WHERE persknr = $pid"; |
188 WHERE persknr = $pid ORDER BY IFNULL(sort,99)" ; |
143 if ($result = $dbc -> queryObjectArray($sql)) |
189 if ($result = $dbc -> queryObjectArray($sql)) |
144 { |
190 { |
145 foreach ($result as $row) |
191 foreach ($result as $row) |
146 { |
192 { |
147 $ma['tel'][] = $row->telefon_nr; |
193 $ma['tel'][] = $row->telefon_nr; |
148 $ma['pub'][] = ($row->public)? 1 : 0; |
194 $ma['pub'][] = ($row->public)? 1 : 0; |
|
195 $ma['so'][] = $row->sort; |
149 } |
196 } |
150 } |
197 } |
151 } |
198 } |
152 include ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/ma_ed_form.inc.php"); |
199 include ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/ma_ed_form.inc.php"); |
153 |
200 |
193 $retdi = $dbc -> execute($sql); |
240 $retdi = $dbc -> execute($sql); |
194 $sql = "DELETE FROM Mitarbeiter_Raum WHERE persknr = $pid"; |
241 $sql = "DELETE FROM Mitarbeiter_Raum WHERE persknr = $pid"; |
195 $retdi = $dbc -> execute($sql); |
242 $retdi = $dbc -> execute($sql); |
196 $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid"; |
243 $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid"; |
197 $retdi = $dbc -> execute($sql); |
244 $retdi = $dbc -> execute($sql); |
|
245 $sql = "DELETE FROM MA_RaumArbGruppe WHERE persknr = $pid"; |
|
246 $retdi = $dbc -> execute($sql); |
198 } |
247 } |
199 else |
248 else |
200 { |
249 { |
201 $sql = "DELETE FROM Mitarbeiter WHERE persknr = $pid"; |
250 $sql = "DELETE FROM Mitarbeiter WHERE persknr = $pid"; |
202 $retdi = $dbc -> execute($sql); |
251 $retdi = $dbc -> execute($sql); |
213 } |
262 } |
214 include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/ma_tel_dat_show.inc.php"); |
263 include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/ma_tel_dat_show.inc.php"); |
215 } |
264 } |
216 else //INSERT oder UPDATE |
265 else //INSERT oder UPDATE |
217 { |
266 { |
218 if ($ma['rag'] == -1) $ma['rag'] = null; |
|
219 $stmt = $dbc -> stmtinit(); |
267 $stmt = $dbc -> stmtinit(); |
220 if (is_object($stmt)) |
268 if (is_object($stmt)) |
221 { |
269 { |
222 if ($ma['fhi']) $aktiv = 1; else $aktiv = 2; |
270 if ($ma['fhi']) $aktiv = 1; else $aktiv = 2; |
|
271 if ($ma['email']) |
|
272 { |
|
273 if (strpos($ma['email'],"@") > 0) $ma['email'] = $ma['email']; else $ma['email'] = $ma['email'] . "@fhi-berlin.mpg.de"; |
|
274 } |
|
275 foreach ($ma as &$elem) if (!$elem) $elem = null; // NULL-Eintrag in Leerfelder |
223 if ($pid) //UPDATE |
276 if ($pid) //UPDATE |
224 { |
277 { |
|
278 // Abt. alt in aktualisierten Abteilungen? |
|
279 if (!in_array($ma['abtm'],$ma['abt'])) $ma['abtm'] = $ma['abt'][0]; |
225 $stmt -> prepare("UPDATE Mitarbeiter SET |
280 $stmt -> prepare("UPDATE Mitarbeiter SET |
226 nachname = ?, |
281 nachname = ?, |
227 vorname = ?, |
282 vorname = ?, |
228 titel = ?, |
283 titel = ?, |
229 rag_ID = ?, |
|
230 email = ?, |
284 email = ?, |
231 abt_tel = ?, |
285 abt_tel = ?, |
232 aktiv = ? |
286 aktiv = ? |
233 WHERE persknr = $pid"); |
287 WHERE persknr = $pid"); |
234 $stmt -> bind_param('sssisii',$ma['name'],$ma['vname'],$ma['titel'],$ma['rag'],$ma['email'],$ma['abt'], $aktiv); |
288 $stmt -> bind_param('ssssii',$ma['name'],$ma['vname'],$ma['titel'],$ma['email'],$ma['abtm'], $aktiv); |
235 // echo "UPDATE: ". var_dump($stmt); |
289 // echo "UPDATE: ". var_dump($stmt); |
236 $result = $stmt -> execute(); |
290 $result = $stmt -> execute(); |
237 if ($stmt->error) echo "error UPDATE Mitarbeiter: " . $stmt->error . "<br><br>\n"; |
291 if ($stmt->error) echo "error UPDATE Mitarbeiter: " . $stmt->error . "<br><br>\n"; |
238 } |
292 } |
239 else |
293 else |
240 { |
294 { |
241 $sql = "SELECT MAX(persknr) FROM Mitarbeiter WHERE persknr < 9500"; |
295 $sql = "SELECT MAX(persknr) FROM Mitarbeiter WHERE persknr < 9500"; |
242 $pid = $dbc -> querySingleItem($sql) + 1; |
296 $pid = $dbc -> querySingleItem($sql) + 1; |
243 $stmt -> prepare ("INSERT INTO Mitarbeiter (persknr, nachname, vorname, titel,rag_ID,email,abt_tel,aktiv) VALUES (?,?,?,?,?,?,?,?)"); |
297 $stmt -> prepare ("INSERT INTO Mitarbeiter (persknr, nachname, vorname, titel,email,abt_tel,aktiv) VALUES (?,?,?,?,?,?,?)"); |
244 $stmt -> bind_param('isssisii',$pid,$ma['name'],$ma['vname'],$ma['titel'],$ma['rag'],$ma['email'],$ma['abt'], $aktiv); |
298 $stmt -> bind_param('issssii',$pid,$ma['name'],$ma['vname'],$ma['titel'],$ma['email'],$ma['abt'][0], $aktiv); |
245 $result = $stmt -> execute(); |
299 $result = $stmt -> execute(); |
246 if ($stmt->error) echo "error INSERT Mitarbeiter: " . $stmt->error . "<br><br>\n"; |
300 if ($stmt->error) echo "error INSERT Mitarbeiter: " . $stmt->error . "<br><br>\n"; |
|
301 $ma['abtm'] = $ma['abt'][0]; |
247 } |
302 } |
248 if ($result) |
303 if ($result) |
249 { |
304 { |
250 $ret = 1; |
305 $ret = 1; |
251 // raum |
306 // raum |
255 $redr = $dbc -> execute($sql); |
310 $redr = $dbc -> execute($sql); |
256 if ($redr) |
311 if ($redr) |
257 { |
312 { |
258 $sql = "INSERT INTO Mitarbeiter_Raum (persknr, raum_ID) VALUES ($pid, " . $ma["raum"] . ")"; |
313 $sql = "INSERT INTO Mitarbeiter_Raum (persknr, raum_ID) VALUES ($pid, " . $ma["raum"] . ")"; |
259 $ret = $dbc -> execute($sql); |
314 $ret = $dbc -> execute($sql); |
|
315 } |
|
316 } |
|
317 if (is_array($ma["rag"]) && count($ma["rag"])>0) |
|
318 { |
|
319 $sql = "DELETE FROM MA_RaumArbGruppe WHERE persknr=$pid"; |
|
320 $redr = $dbc -> execute($sql); |
|
321 if ($redr) |
|
322 { |
|
323 foreach ($ma['rag'] as $rag) |
|
324 { |
|
325 if ($rag > 0) |
|
326 { |
|
327 $sql = "INSERT INTO MA_RaumArbGruppe (persknr, rag_ID) VALUES ($pid, $rag)"; |
|
328 $retn = $dbc -> execute($sql); |
|
329 if ($retn && $ret) $ret = 1; else $ret = 0; |
|
330 } |
|
331 } |
260 } |
332 } |
261 } |
333 } |
262 if (is_array($ma['ntel'])) |
334 if (is_array($ma['ntel'])) |
263 { |
335 { |
264 foreach ($ma['ntel'] as $tel) |
336 foreach ($ma['ntel'] as $tel) |
269 $anz = $dbc -> querySingleItem($sql); |
341 $anz = $dbc -> querySingleItem($sql); |
270 if ( $anz == 0) |
342 if ( $anz == 0) |
271 { |
343 { |
272 $sql = "INSERT INTO Telefon (telefon_nr) VALUES('$tel')"; |
344 $sql = "INSERT INTO Telefon (telefon_nr) VALUES('$tel')"; |
273 $rest = $dbc -> execute($sql); |
345 $rest = $dbc -> execute($sql); |
274 if ($rest) $ret = 1; else $ret = 0; |
346 if ($rest && $ret) $ret = 1; else $ret = 0; |
275 } |
347 } |
276 } |
348 } |
277 } |
349 } |
278 } |
350 } |
279 if ($ret) |
351 if ($ret) |
280 { |
352 { |
|
353 foreach ($ma['so'] as &$prio) |
|
354 if ($prio == '-1') $prio = null; |
281 $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid"; |
355 $sql = "DELETE FROM MA_Telefon WHERE persknr = $pid"; |
282 $redmt = $dbc -> execute($sql); |
356 $redmt = $dbc -> execute($sql); |
283 if ($redmt) |
357 if ($redmt) |
284 { |
358 { |
285 $i=0; |
359 $i=0; |
286 foreach ($ma['tel'] as $tel) |
360 foreach ($ma['tel'] as $tel) |
287 { |
361 { |
288 if ($tel >"!" && $tel != "-1") |
362 if ($tel >"!" && $tel != "-1") |
289 { |
363 { |
290 if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL'; |
364 if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL'; |
291 $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ")"; |
365 if (!isset($ma['so'][$i])) $ma['so'][$i] = 'NULL'; |
|
366 $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public, sort) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ",". $ma['so'][$i] . ")"; |
292 $rest = $dbc -> execute($sql); |
367 $rest = $dbc -> execute($sql); |
293 if ($rest) $ret = 1; else $ret = 0; |
368 if ($rest && $ret) $ret = 1; else $ret = 0; |
294 } |
369 } |
295 $i++; |
370 $i++; |
296 } |
371 } |
297 $i=0; |
372 $i=0; |
298 foreach ($ma['ntel'] as $tel) |
373 foreach ($ma['ntel'] as $tel) |
299 { |
374 { |
300 if ($tel >"!") |
375 if ($tel >"!") |
301 { |
376 { |
302 if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL'; |
377 if (!isset($ma['pub'][$i])) $ma['pub'][$i] = 'NULL'; |
303 $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ")"; |
378 if (!isset($ma['so'][$i])) $ma['so'][$i] = 'NULL'; |
|
379 $sql = "INSERT INTO MA_Telefon (persknr, telefon_nr, public, sort) VALUES ($pid,'$tel'," . $ma['pub'][$i] . ",". $ma['so'][$i] . ")"; |
304 $rest = $dbc -> execute($sql); |
380 $rest = $dbc -> execute($sql); |
305 if ($rest) $ret = 1; else $ret = 0; |
381 if ($rest && $ret) $ret = 1; else $ret = 0; |
306 } |
382 } |
307 $i++; |
383 $i++; |
308 } |
384 } |
309 } |
385 } |
310 } |
386 } |