1 |
<? |
2 |
|
3 |
include("inc/head.inc"); |
4 |
include("inc/radio.inc"); |
5 |
|
6 |
function check_required() { |
7 |
global $warn,$ime,$prezime,$sifra,$tel,$zap_plive; |
8 |
$warn=""; |
9 |
if (! isset($ime) || $ime=="") { |
10 |
$warn.="<li>ime osobe"; |
11 |
} |
12 |
if (! isset($prezime) || $prezime=="") { |
13 |
$warn.="<li>prezime osobe"; |
14 |
} |
15 |
if ((! isset($sifra) || $sifra=="" || $sifra==0) && $zap_plive=="t") { |
16 |
$warn.="<li>¹ifra radnika"; |
17 |
} |
18 |
if (! isset($tel) || $tel=="") { |
19 |
$warn.="<li>telefon na koji se mo¾e dobiti osoba"; |
20 |
} |
21 |
if ($warn=="") { |
22 |
return 1; |
23 |
} else { |
24 |
$warn="Nedostaju slijedeæi obavezni podaci:<ul>$warn</ul>"; |
25 |
return 0; |
26 |
} |
27 |
$ime=trim($ime); |
28 |
$prezime=trim($prezime); |
29 |
$sifra=trim($sifra); |
30 |
$soba=trim($soba); |
31 |
$tel=trim($tel); |
32 |
} |
33 |
|
34 |
|
35 |
|
36 |
if (isset($kontakt_osoba_id)) { |
37 |
$result = pg_Exec ($conn, "select ime,prezime,passwd from kontakt_osobe where aktivna=true and id=$kontakt_osoba_id"); |
38 |
$row=pg_fetch_array($result,0); |
39 |
# print "--$row[passwd] | $md5_passwd | $passwd "; |
40 |
print "<small>Trenutno ste prijavljeni kao $row[ime] $row[prezime], ako je to krivo odaberite <a href=\"$PHP_SELF?what=relogin\">ovaj link</a>.</small>"; |
41 |
$curr_md5_passwd=base64_encode(mhash(MHASH_MD5,$row[passwd])); |
42 |
if ( (!isset($md5_passwd) && $row[passwd] != $passwd) || |
43 |
(isset($md5_passwd) && $curr_md5_passwd != $md5_passwd) ) { |
44 |
include("inc/auth.inc"); |
45 |
$what="auth"; |
46 |
echo "<big>Upisana je neispravna loznika!</big>"; |
47 |
session_destroy(); |
48 |
print '<p><a href="index.php">Povratak na poèetnu stranicu</a>'; |
49 |
} else { |
50 |
session_register("md5_passwd"); |
51 |
$md5_passwd=base64_encode(mhash(MHASH_MD5,$row[passwd])); |
52 |
} |
53 |
} |
54 |
|
55 |
if (! isset($kontakt_osoba_id)) { |
56 |
include("inc/auth.inc"); |
57 |
$what="auth"; |
58 |
|
59 |
} elseif (isset($lookup) && isset($sifra)) { |
60 |
|
61 |
$warn="<i>Polja oznaèena zvjezdicom (*) su obavezna</i>"; |
62 |
$conn_mreze = pg_connect("dbname=mreze user=dpavlin"); |
63 |
$result=pg_Exec($conn_mreze,"select ime,prezime from iso_korisnik where sifra=$sifra"); |
64 |
if ($result && pg_numrows($result)>0) { |
65 |
$row=pg_fetch_array($result,0); |
66 |
$ime=$row[ime]; |
67 |
$prezime=$row[prezime]; |
68 |
} else { |
69 |
$warn.="<br><b>Osoba sa ¹ifrom $sifra nije pronaðena!</b>"; |
70 |
$sifra=""; $ime=""; $prezime=""; |
71 |
} |
72 |
# $what="insert-osoba"; |
73 |
|
74 |
} elseif ($what == "insert-osoba" && check_required()) { |
75 |
$result=pg_Exec($conn,"select id,ime,prezime from osobe where sifra='$sifra'"); |
76 |
if (pg_numrows($result) > 0 && $zap_plive=="t") { |
77 |
$row=pg_fetch_array($result,0); |
78 |
$warn.="<p><big>Va¹ podatakak nije une¹en zbog duple ¹ifre radnika!</big> |
79 |
<p>Osoba sa ¹ifrom $sifra veæ postoji. Prema |
80 |
na¹im podacima to je $row[ime] $row[prezime] i unesena |
81 |
je na zahtjevu broj $row[id]. Ako ste pogrije¹ili |
82 |
u broju ¹ifre unesite ga ponovo!"; |
83 |
} else { |
84 |
|
85 |
$org_jed_id=trim($nad_select); |
86 |
$tmp=explode(" ",$pod_select); |
87 |
$org_pod_jed_id=$tmp[1]; |
88 |
if ($org_jed_id != $tmp[0]) { $warn.="<p>Gre¹ka u konzistentnosti podataka o organizacijskoj jedinici!"; } |
89 |
if (! isset($org_pod_jed_id) || $org_pod_jed_id=="" ) { $warn.="<p>Gre¹ka u podacima o organizacijskoj pod jedinici!"; $org_pod_jed_id=0; } |
90 |
$sql="insert into osobe |
91 |
(ime,prezime,zap_plive,sifra, |
92 |
org_jed_id,org_pod_jed_id,lokacija_id, |
93 |
objekt,kat,soba,tel,shell, |
94 |
lok_racunala,z_rac,podesavanje,umrezavanje, |
95 |
datum_unesen,kontakt_osoba_id) |
96 |
values |
97 |
('$ime','$prezime','$zap_plive','$sifra', |
98 |
$org_jed_id,$org_pod_jed_id,$lokacija_id, |
99 |
'$objekt','$kat','$soba','$tel','$shell', |
100 |
'$lok_racunala','$z_rac','$podesavanje','$umrezavanje', |
101 |
'now'::datetime,$kontakt_osoba_id) |
102 |
"; |
103 |
# echo "<pre>$sql</pre>"; |
104 |
$result=pg_Exec($conn,"$sql"); |
105 |
|
106 |
$oid=pg_GetLastOid($result); |
107 |
$result=pg_Exec($conn,"select id from osobe where oid=$oid"); |
108 |
$row=pg_fetch_array($result,0); |
109 |
$id=$row[id]; |
110 |
|
111 |
$result=pg_Exec($conn,"insert into status (osoba_id,kontakt_osoba_id,datum,status_tip_id) values ($id,$kontakt_osoba_id,'now'::datetime,1)"); |
112 |
|
113 |
$what="update-osoba"; |
114 |
|
115 |
$warn="Va¹ zahtjev je une¹en. Ako ste napravili pogre¹ku |
116 |
mo¾ete je ispraviti na ovoj stranici."; |
117 |
|
118 |
$prev_button='<a href="index.php">Poèetna stranica</a>'; |
119 |
|
120 |
$warn.='<p>Mo¾ete se vratiti na |
121 |
<a href="lista.php">listu otvorenih zahtjeva</a>, |
122 |
<a href="index.php">poèetnu stranicu</a> ili |
123 |
unijeti <a href="osoba.php?kontakt_osoba_id='.$kontakt_osoba_id.'">podatke o novoj osobi</a>.'; |
124 |
|
125 |
} // sifra postoji? |
126 |
|
127 |
|
128 |
} elseif ($what == "select-osoba" && isset($id)) { |
129 |
|
130 |
$sql="select |
131 |
ime,prezime,zap_plive,sifra, |
132 |
org_jed_id,org_pod_jed_id,lokacija_id, |
133 |
objekt,kat,soba,tel,shell, |
134 |
lok_racunala,z_rac,podesavanje,umrezavanje, |
135 |
datum_unesen,kontakt_osoba_id |
136 |
from osobe |
137 |
where id=$id"; |
138 |
# echo "<pre>$sql</pre>"; |
139 |
$result=pg_Exec($conn,"$sql"); |
140 |
$row=pg_fetch_array($result,0); |
141 |
|
142 |
$ime=$row[ime]; |
143 |
$prezime=$row[prezime]; |
144 |
$zap_plive=$row[zap_plive]; |
145 |
$sifra=$row[sifra]; |
146 |
$nad_select=$row[org_jed_id]; |
147 |
$pod_select="$row[org_jed_id] $row[org_pod_jed_id]"; |
148 |
$lokacija_id=$row[lokacija_id]; |
149 |
$objekt=$row[objekt]; |
150 |
$kat=$row[kat]; $soba=$row[soba]; |
151 |
$tel=$row[tel]; $shell=$row[shell]; |
152 |
$lok_racunala=$row[lok_racunala]; |
153 |
$z_rac=$row[z_rac]; |
154 |
$podesavanje=$row[podesavanje]; |
155 |
$umrezavanje=$row[umrezavanje]; |
156 |
|
157 |
$what="update-osoba"; |
158 |
$warn="Ovdje mo¾ete mijenjati podatke o osobi"; |
159 |
$prev_button='<a href="index.php">Poèetna stranica</a>'; |
160 |
|
161 |
} elseif ($what == "update-osoba" && check_required()) { |
162 |
$org_jed_id=trim($nad_select); |
163 |
$tmp=explode(" ",$pod_select); |
164 |
$org_pod_jed_id=$tmp[1]; |
165 |
|
166 |
# echo "--$pod_select|$org_pod_jed_id|$tmp[0]|$tmp[1]"; |
167 |
|
168 |
if ($org_jed_id != $tmp[0]) { $warn.="<p>Gre¹ka u konzistentnosti podataka o organizacijskoj jedinici!"; } |
169 |
if (! isset($org_pod_jed_id) || $org_pod_jed_id=="" ) { $warn.="<p>Gre¹ka u podacima o organizacijskoj pod jedinici!"; $org_pod_jed_id=0; |
170 |
|
171 |
|
172 |
} |
173 |
$sql="update osobe set |
174 |
ime='$ime',prezime='$prezime',zap_plive='$zap_plive', |
175 |
sifra='$sifra', org_jed_id=$org_jed_id, |
176 |
org_pod_jed_id=$org_pod_jed_id, |
177 |
lokacija_id=$lokacija_id, |
178 |
objekt='$objekt', kat='$kat', soba='$soba', |
179 |
lok_racunala='$lok_racunala', |
180 |
z_rac='$z_rac', |
181 |
podesavanje='$podesavanje', |
182 |
umrezavanje='$umrezavanje', |
183 |
tel='$tel', shell='$shell' |
184 |
where id=$id"; |
185 |
# echo "<pre>$sql</pre>"; |
186 |
$result=pg_Exec($conn,"$sql"); |
187 |
if ($result) { |
188 |
$warn.="<p>Podaci su promjenjeni..."; |
189 |
$result=pg_Exec($conn,"insert into status (osoba_id,kontakt_osoba_id,datum,status_tip_id) values ($id,$kontakt_osoba_id,'now'::datetime,2)"); |
190 |
|
191 |
} else { |
192 |
$warn.="<p>Gre¹ka kod mijenjanja podataka"; |
193 |
} |
194 |
|
195 |
$warn.='<p>Mo¾ete se vratiti na |
196 |
<a href="lista.php">listu otvorenih zahtjeva</a>, |
197 |
<a href="index.php">poèetnu stranicu</a> ili |
198 |
unijeti <a href="osoba.php?kontakt_osoba_id='.$kontakt_osoba_id.'">podatke o novoj osobi</a>.'; |
199 |
|
200 |
|
201 |
} elseif (! isset($what)) { |
202 |
|
203 |
$what="insert-osoba"; |
204 |
$warn="<i>Polja oznaèena zvjezdicom (*) su obavezna</i>"; |
205 |
$prev_button='<a href="index.php">Poèetna stranica</a>'; |
206 |
} |
207 |
|
208 |
if ($what=="insert-osoba" || $what=="update-osoba") { |
209 |
|
210 |
?> |
211 |
|
212 |
<h1>Podaci o osobi</h1> |
213 |
<form method="post" action="<? echo $PHP_SELF ?>" name="forma"> |
214 |
<input type="hidden" name="what" value="<? echo $what ?>"> |
215 |
<input type="hidden" name="kontakt_osoba_id" value="<? echo $kontakt_osoba_id ?>"> |
216 |
<input type="hidden" name="md5_passwd" value="<? echo $md5_passwd ?>"> |
217 |
<? if (isset($id)) { echo '<input type="hidden" name="id" value="'.$id.'">'; } ?> |
218 |
<table border="0" cellpadding="3" cellspacing="0"> |
219 |
<? if (isset($warn)) { echo ' |
220 |
<tr bgcolor="#ffe0e0"><td colspan="5"> <div align="left">'.$warn.'</div> |
221 |
</td></tr> |
222 |
'; } ?> |
223 |
<tr> |
224 |
<td> |
225 |
<p>Zaposlenik<br> |
226 |
Pliva d.d.</p> |
227 |
</td> |
228 |
<td> |
229 |
<? print radio("zap_plive","t",$zap_plive,1) ?> da |
230 |
<br> |
231 |
<? print radio("zap_plive","f",$zap_plive,0) ?> ne |
232 |
</td> |
233 |
<td colspan="3">©ifra radnika: |
234 |
<input type="text" name="sifra" size="6" maxsize="6" value="<? echo $sifra ?>"> |
235 |
<small> |
236 |
<input type=submit name=lookup value="Potra¾i osobu po ¹ifri"> |
237 |
<br>(¹ifra radnika je obavezna za zaposlenike Pliva d.d.) |
238 |
</small> |
239 |
</td> |
240 |
</tr> |
241 |
<tr bgcolor="#f0f0f0"> |
242 |
<td>Ime</td> |
243 |
<td colspan="4"> |
244 |
<input type="text" name="ime" size="50" value="<? echo $ime ?>"> * |
245 |
</td> |
246 |
</tr> |
247 |
<tr> |
248 |
<td>Prezime</td> |
249 |
<td colspan="4"> |
250 |
<input type="text" name="prezime" size="50" value="<? echo $prezime ?>"> * |
251 |
</td> |
252 |
</tr> |
253 |
<tr bgcolor="#f0f0f0"> |
254 |
<td>Organizacijska<br>jedinica</td> |
255 |
<td colspan="4"> |
256 |
|
257 |
<? include("inc/org_jed.inc"); ?> * |
258 |
|
259 |
</td> |
260 |
</tr> |
261 |
<tr> |
262 |
<td>Lokacija</td> |
263 |
<td colspan="4"> |
264 |
<select name="lokacija_id"> |
265 |
<? |
266 |
$result=pg_Exec($conn,"select id,naziv from lokacije where aktivna=true"); |
267 |
for ($k = 0; $k < pg_numrows($result); $k++) { |
268 |
$row=pg_fetch_array($result,$k); |
269 |
echo "<option value=\"$row[id]\""; |
270 |
if ($row[id] == $lokacija_id) { |
271 |
echo "selected "; |
272 |
} |
273 |
echo ">$row[naziv]</option>\n"; |
274 |
} |
275 |
?> |
276 |
</select> * |
277 |
</td> |
278 |
</tr> |
279 |
<tr bgcolor="#f0f0f0"> |
280 |
<td>Objekt</td> |
281 |
<td colspan="2"> |
282 |
<input type="text" name="objekt" size="20" value="<? echo $objekt ?>"> |
283 |
</td><td><div align="right">Kat</div></td><td> |
284 |
<input type="text" name="kat" size="20" value="<? echo $kat ?>"> |
285 |
</td> |
286 |
</tr> |
287 |
<tr> |
288 |
<td>Soba</td> |
289 |
<td colspan="2"> |
290 |
<input type="text" name="soba" size="10" value="<? echo $soba ?>"> |
291 |
</td><td><div align="right">Telefon</div></td><td> |
292 |
<input type="text" name="tel" size="10" value="<? echo $tel ?>"> * |
293 |
</td> |
294 |
</tr> |
295 |
<tr bgcolor="#f0f0f0"> |
296 |
<td>Unix shell</td> |
297 |
<td colspan="2"> |
298 |
<? print radio("shell","f",$shell,1) ?> ne<br> |
299 |
<? print radio("shell","t",$shell,0) ?> da |
300 |
<small>(pristup telnetom)</small> |
301 |
</td> |
302 |
<td><div align="right">Pode¹avanje browsera</div></td> |
303 |
<td> |
304 |
<? print radio("podesavanje","t",$podesavanje,1) ?> da |
305 |
<small>(prema Va¹im podacima, obavlja IC)</small> |
306 |
<br><? print radio("podesavanje","f",$podesavanje,2) ?> ne |
307 |
</td> |
308 |
</tr> |
309 |
<tr> |
310 |
<td>Podaci o raèunalu</td> |
311 |
<td colspan="2"> |
312 |
¾-<input type="text" name="z_rac" size="5" value="<? echo $z_rac ?>"> |
313 |
</small> |
314 |
</td> |
315 |
<td><div align="right">Potrebno umre¾avanje</div></td> |
316 |
<td> |
317 |
<? print radio("umrezavanje","t",$umrezavanje,1) ?> da |
318 |
<small>(obavlja odjel mre¾a)</small> |
319 |
<br><? print radio("umrezavanje","f",$umrezavanje,2) ?> ne |
320 |
<small>(raèunalo je umre¾eno i mo¾e se sa njega do |
321 |
<a href="http://intranet.pliva.hr/">intranet servera</a>)</small> |
322 |
</td> |
323 |
</tr> |
324 |
<tr> |
325 |
<td>Lokacija raèunala</td> |
326 |
<td colspan="4"> |
327 |
<input type="text" name="lok_racunala" size="80" value="<? echo $lok_racunala ?>"> |
328 |
<br><small>popunjava se ukoliko raèunalo nije u istoj prostoriji kao i |
329 |
osoba <b>ili</b> ako raèunalo ne glasi na osobu za koju se |
330 |
podnosi zahtjev (upisati <i>raèunalo glasi na Ime Prezime</i>) |
331 |
</small> |
332 |
</td> |
333 |
</tr> |
334 |
<tr bgcolor="#f0f0f0"> |
335 |
<td><? echo $prev_button ?> </td> |
336 |
<td colspan="3"> |
337 |
<div align="left"><? echo $info ?> </div> |
338 |
</td> |
339 |
<td> |
340 |
<div align="right"> |
341 |
<input type="submit" name="Submit" value="Slijedeæi korak"> |
342 |
</div> |
343 |
</td> |
344 |
</tr> |
345 |
</table> |
346 |
</form> |
347 |
|
348 |
<? |
349 |
/* kraj forme o osobi... */ |
350 |
|
351 |
} elseif ($what="auth") { |
352 |
# ni¹ta ne ispisujemo ovdje! |
353 |
} else { |
354 |
echo "<b>Gre¹ka!</b>"; |
355 |
} |
356 |
|
357 |
include("inc/footer.inc") |
358 |
|
359 |
?> |