Network Configurator (PHP, 2005)

Zadatak koji je trebalo riješiti pri natječaju za posao u tvrtci Icesystems d.o.o.

Aplikacija se nalazi ovdje (username: administrator).

Aplikacija je programirana u PHP-u:
– koristeći php TEMPLATING
– koristeći $_GET, $_POST i $_SESSION polja, tako da aplikacija radi i na serveru s isključenim register_globals (register_globals = Off)

Aplikacija se sastoji od dva dijela: LOGIN i MAIN.

Gumb DEBUG ON/OFF služi za uključivanje i isključivanje DEBUG prozora.
DEBUG prozor, koji sam koristio tijekom razvoja aplikacije, nalazi se na dnu ekrana i omogućava pregled evenata u pozadini (u prozoru se prikazuju svi errori i warningsi). Tu se npr. može vidjeti da:

– ako se briše čvor – brišu se svi linkovi koji na jednom kraju sadrže taj čvor
– ako se briše mreža – brišu se svi čvorovi i linkovi te mreže

Gumbi Dataset1, Dataset2 i Dataset3 iz vanjskih SQL fajlova osvježavaju bazu.
Mogu se aktivirati u bilo koje vrijeme i time osvježiti sadržaj baze.

Nakon logiranja na raspolaganju su 4 različita ekrana + LOGOUT gumb.
Na svim ekranima postoji mogućnost upisa novih podataka (samo za korisnike s “read-write” ili “read-write-user admin” ovlastima).
1) Na prvom ekranu odabiremo/dodajemo/brišemo mrežu. Onemogućeno je kreiranje istoimene mreže.
2) Na drugom ekranu dodajemo/brišemo čvor. Onemogućeno je kreiranje istoimenog čvora u mreži.
3) Na trećem ekranu dodajemo/brišemo link. Onemogućeno je kreiranje istoimenog linka u mreži. Također je onemogućeno kreiranje linka sa istoimenim početnim i završnim čvorem.
4) Na četvrtom ekranu dodajemo/brišemo korisnika. Korisnici su vidljivi samo korisnicima s ovlastima “read-write-user admin”.

Na serveru se vrši dodatna validacija kako bi se onemogućilo da korisnik koji nije logiran (ili korisnik koji nema dovoljne ovlasti) pokuša pisati/brisati podatke pomoću simuliranja POST i GET varijabli. PHP također validira ispravnost upisa.
Također postoji validacija na strani clienta pomoću Javascripta. Uz to, Javascript nakon warninga automatski pozicionira korisnika na polje koje treba ispuniti.
Isto tako, na LOGIN ekranu, nakon uspješnog logina postoji automatska Javascript redirekcija na MAIN aplikaciju nakon 3 sekunde, te natrag na LOGIN aplikaciju u slučaju neuspješnog logina.

Klikom na gumb MAP ON pokreće se grafičko sučelje na kojem su vidljivi svi kreirani čvorovi i linkovi. Mapa je izvedena koristeći grafičke funkcije PHP-a, a posebna pažnja posvećena je “cachiranju” slike.

Link