7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 1/55
Univerzitet u
Novom Sadu
Tehnički fakultet
»MihajloPupin«Zrenjanin
Tema: PHP Web aplikacija za evidenciju prijema eksternihdokumenta i propisa fakulteta
Thesis: PHP Web Application for Recording Recepit ofExternal Documents and Regulations of Faculty
-DIPLOMSKI RAD-
Mentor: Profesor dr Radosav Dragica Student: Aleksandar Vuković
Broj indeksa: IM 83/11
Zrenjanin, 2015.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 2/55
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 3/55
5.
Opis elementa implementacije softvera .................................................................. 25
5.1.
Kreiranje baze podataka ................................................................................... 25
5.2.
Provera sesija i levela pristupa ......................................................................... 27
5.3. Konekcija ka bazi podataka, login i provera levela pristupa korisnika............ 28
5.4.
Odjava korisnika .............................................................................................. 30
5.5.
Dodavanje dokumenta ...................................................................................... 31
5.6.
Prikaz svih dokumenta ..................................................................................... 33
5.7. Pretraga ............................................................................................................ 38
5.8. Pregled detalja određenog dokumenta ............................................................. 39
5.9. Izmena određenog dokumenta ......................................................................... 40
5.10.
Stranice administratora – Kontrolna tabla .................................................... 43
5.11.
Registracija korisnika ................................................................................... 44
5.12.
Elemetni grafickog dizajna ........................................................................... 46
Zaključak ........................................................................................................................ 51
Literatura ......................................................................................................................... 52
Slika 1 - Prikaz algoritma puta dokumenata od ulaza do arhive [6] ................................. 7
Slika 2 - Sekvencijalna i konkurentna organizacija verzija [6] ........................................ 8
Slika 3 - Relacije okruženja EDMS u sektoru obrazovanja [1] ............................. 14
Slika 4 – USE Case dijagram .......................................................................................... 16
Slika 5 – Conceptual Data Model – CDM ...................................................................... 17
Slika 6 – Psysical Data Model – PDM ........................................................................... 17
Slika 7 – Business Process Model – BPM ...................................................................... 18
Slika 8 - Index stranica web aplikacije ........................................................................... 18
Slika 9 - Stranica dodavanja dokumenta .................................................................. 19
Slika 10 – Stranica svih dokumenta .......................................................................... 20
Slika 11 – Stranica pregleda dokumenta ....................................................................... 20
Slika 12 – Stranica izmene dokumenta .................................................................... 21
Slika 13 – Stranica dodavanja insticuije ................................................................... 21
Slika 14 – Stranica svih institucija ............................................................................. 22
Slika 15 – Stranica pregleda institucije ..................................................................... 22
Slika 16 – Stranica izmene institucije ....................................................................... 23
Slika 17 – Stranica registracije korisnika .................................................................. 23
Slika 18 – Stranica pregleda svih korisnika ............................................................. 24
Slika 19 – Stranica pregleda korisnika ..................................................................... 24
Slika 20 – Stranica izmene korisnika ........................................................................ 25
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 4/55
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 5/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
2
1. Opis problema i zahtevi korisnika
Potrebno je napraviti php aplikaciju koja je namenjena administrativnom i
računovodstvenom osoblju Tehničkog Fakulteta „Mihajlo Pupin“. Fakultet funkcioniše uskladu sa zakonima i propisima ko ji su usvojeni na nivou države, pokrajinskih organa uprave,
Univerziteta u Novom Sadu itd. Periodično nadležne institucije šalju Fakultetu nove propise,obrasce, pravila rada, koja kasnije tre ba da budu usklađena sa načinom rada na Fakultetu.
Problem koji aplikacija rešava odnosi se na evidenciju navedenih dokumenta i prikaz svih
eksternih dokumenta i propisa u evidenciji fakulteta kao i mogućnost da se mogu izmeniti iliobrisati ako su nevažeći. Takođe, pojedini propisi i obrasci stižu u papirnoj formi, ali najčešće putem e-maila i to na razne e-mail adrese Fakulteta: dekanat, studenska služba, pravnaslužba, ražunovodstvo, a o nekim propisima i obrascima je Fakultet obavešten sa sajtova tihinstitucija, s toga ova aplikacija omogućava evidenciju svih navedenih dokumenta i uploaddobijenog materijala u jednu bazu podataka Fakulteta, koja je laka za upotrebu i brzo
dostupna. Aplikacija treba da ima više funkcija I da omogućava k orisnicima da imaju prikaz
svih dokumenta koje se nalaze u sistemu. Korisnik zatim ima mogućnost da vidi koji senadležne institucije nalaze u evidenciji Fakulteta kao listu institucija ko je šalju propise,dokumente ili obrasce. Takođe korisnici mogu da unose nove dokumente, unose datum
prijema bilo kakvog dokumenta, upload-uju zeljeni materijal, da unose nadležne institucije, brišu ili izmenjuju već postojeće dokumente ili institucije iz evidencije. Svaki korisnik ima
svoj nalog pomoću kojeg on pristupa sistemu i svim podacima, i putem kojeg on može daunosi, izmenjuje ili briše podatke iz sistema.
1.1.
Predlog aktivnosti u resavanju problema administracije
podataka na fakultetima
Postupak za opis sadržaja rešenja
Svaki proces se opisuje pomoću niza dokumenata na osnovu kojih je proces potpunodefinisan uključujući i veze sa dokumentima ostalih procesa. Opis dokumenata bi mogaoizgledati ovako:
1. Naziv dokumenta.
2. Slika (nacrt, prikaz) dokumenta.
3. Opis dokumenta.
4. Potpis odgovornog lica i datum.
Definisanje odnosa postojećih dokumenata, njihovih oblika i načina prevođenja u digitalne
funkcionalne oblike je veoma osetljiva tema, u kojoj se mora obratiti velika pažnja naverodostojnost i zaštitu podataka. Naime, u ovoj fazi prevođenja, potrebna je velikaozbiljnost i profesionalsnost, da se dokumenti ne bi pogršno svrstali, ili na neki drugi načinobezvredili.
Prva faza realizacije zahteva definisanje sadržaja rešenja, i to kroz sledeće postupke:
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 6/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
3
Evidentiranje, klasifikacija, definisanje osnovnog registra (baze) dokumenata i predmeta. Pod ovim se podrazumeva uspostavljanje aktivne baze dokumenata iz
poslovnog sistema. U bazu se unose dokumenti ili predmeti sa osnovnim skupom
atributa koji ih karakterišu. Prilikom unosa osnovnih podataka o dokumentima, podefinisanom automatizmu će svaki dokument dobiti identifikacionu oznaku. Aktivna
zbirka dokumenata sadrži informacije o svim dokumentima koji se nalaze u sistemu.Informacije o dokumentima se čuvaju do isteka određenog roka (koji se parametarskidefiniše za svaku klasifikacionu grupu predmeta), a potom se prebacuju u arhivskuzbirku u kojoj se čuvaju određeno vreme (propisano za čuvanje date vrstedokumenata ili trajno). Ovaj korak se odnosi na evidentiranje registra dosijea svih
dosadašnjih polaznika (studenata) škole.
Povezivanje dokumenata (u predmete, međusobne veze). Dokumenti mogu biti povezani u predmete ili fascikle. Pri tom se može jedan dokument povezati sa višedokumenata i biti svrstan u više predmeta, ako je to potrebno. Predmeti se posebnodefinišu i za njih se određuju određena poslovna pravila koja se kasnijeimplementiraju na sve dokumente koji su u njih svrstani. Poseban oblik povezivanjadokumenata je i odnos dokument – verzija i dokument ili verzija – kontrolisana
kopija. Predmeti (katalozi, dosijei) mogu da se povežu sa objektima iz poslovnogsistema i da se na taj način ostvare katalozi dokumenata koji mogu da se odnose na poslovnog partnera, proizvod, objekat, osnovno sr edstvo, projekat ili neki događaj isl.
Upotreba različitih šifarnika (države, poštanski brojevi, mesta, ključne reči, razni parcijalni šifarnici i sl.). Prilikom unosa osnovnih podataka o svakom pojedinačnomdokumentu, koriste se opšti šifarnici država, poštanskih brojeva naseljenih mesta, kao
i ostali šifarnici tipova i vrste dokumenata, ključnih reči i sl.
Signiranje (označavanje) dokumenta/predmeta na određene nosioce saglasnosignirnom planu. Signirni plan je skup ovlašćenih internih subjekata (organizacione
jedinice, pojedini korisnici) koji su kompetentni za rad sa određenim predmetima/dokumentima. Ukoliko je neki dokument signiran, postavlja se određenisignirni znak i dokument se nalazi u zoni odgovornosti osoba odgovornih za dati
signirni znak sve dok se ne kompletira određeni postupak ili predmet dodeli nekomdrugom nosiocu. Signirni plan sadrži određene elemente autorizacije, jer dokumentumogu pristupiti samo onih korisnici koji imaju dati signirni znak.
Modul za definisanje radnih tokova i poslovnih pravila. Implementacija radnihtokova i procedura (već definisanih u procesu standardizacije) – podrazumeva
definisanje poslovnih pravila, sprovođenje i nadzor nad dokumentacionim tokovima – radnim procedurama. Ovo je aplikacija kojom se na osnovu definisanih poslovnih pravila uspostavljaju radni tokovi koji podrazumevaju definisanje putanje, faza,
statusa u kojima se može naći neki predmet/dokument, zatim definisanje kontrolnih
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 7/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
4
tačaka (verifikacija – ko, šta, kojom akcijom, kada) od početka pa do kraja ţivotnogciklusa nekog radnog toka. Nakon definisanja radnog toka, projektna rešenjaomogućavaju kompletno uspostavljanje tog toka, autorizaciju od strane definisanihkorisnika i nadzor nad uspostavljenim tokom. Indeksni sadržaj svakogdokumenta/pr edmeta koji se definiše na ovaj način je „opšti“, odnosno ne sadrži ni
jednu specifičnu veličinu koja se odnosi na poslovnu funkciju koja prati taj radni postupak .
Sistem za pretraživanje dokumenata. Postupak pretraživanja dokumenata u aktivnoji arhivskoj bazi realizovati primenom mehanizma za postavljanje upita i filtera, kroz
određene indeksne kataloge dokumenata, a na osnovu autorizacije korisnika (na bazisignirnog plana, stepena tajnosti dokumenta, korisničkih uloga i korisničkog profila).
Mogućnosti slanja i primanja dokumenata putem e-maila. Predviđeno je da se uvedemogućnost slanja dokumenata iz sistema putem e-maila, kao i prihvat dokumenata
pristiglih istim putem i njihovo kontrolisano uključivanje u poslovne procese – predmete sistema.
Podrška u radu (centralne arhive) sa dokumentacijom koja nije u elektronskom obliku – lokacije originalnih dokumenata. Ovaj deo je naprosto neophodan, jer se još uveku velikom postotku zahtevaju originali dokumenata u papirnoj verziji.
Praćenje i evidencija događaja koji su se obavljali nad dokumentima (error,exception, event log, audit trail). U posebnoj bazi evidentirati sve događaje nad nekim
dokumentom pri čemu se upisuje korisnik, vreme i kratak opis akcije naddokumentom. Takođe u posebnoj bazi voditi error log u cilju što efikasnijegutvrđivanja i otklanjanja eventualnih grešaka u radu sistema.
Poslovni partneri i kontakti. Prilikom evidentiranja određenih dokumenata (posebnoulazne pošte) potrebno je uneti i poslovnog partnera koji je poslao dokument, ili kome
se šalje neki dokument. Za tu priliku koristiti poseban modul u koji će se unositi podaci o poslovnim partnerima, adresama i kontakt osobama. Potrebno je predvideti
da ovaj modul omogućava određene funkcionalnosti pored evidencije poslovnih partnera i kontakata, tj.da bude omogućen i unos značajnih događaja za svaku kontakt
osobu koja je zaposlena kod poslovnog partnera. Takođe da se kroz ovaj modulsprovede integracija sa poslovnim sistemom, koja podrazumeva preuzimanje podataka iz tabela poslovnih partnera (sa osnovnim inicijalnim podacima).
Ulazni računi i ugovori. Aplikacija omogućava ostvarivanje kompletne evidencije i praćenja svih ulaznih faktura od trenutka ulaska u sistem preduzeća, što podrazumevanjihovu evidenciju, skeniranje (ako su stigli u papirnom obliku), slanje u procesovere, evidenciju proizvoljnog broja nivoa overe, elektronsku distribuciju
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 8/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
5
dokumenata od korisnika do korisnika saglasno njihovoj autorizaciji, kompletiranje
računa sa ostalim dokumentima (dostavnice, zapisnici, knjiţna odobrenja, i sl.), slanjeračuna u računovodstvo, priprema za knjiženje računa u poslovnom sistemu(određena integracija sa poslovnim sistemom) arhiviranje u centralnoj arhivi. Takođeevidentirati i arhivirati sve ugovore sa poslovnim partnerima (kupcima i
dobavljačima), povezivati fakture sa ugovorima i ostalim dokumentima koji su ukorelaciji sa navedenim poslovnim procesima. Prilikom evidentiranja faktura iugovora koristiti šifarnike poslovnih partnera iz poslovnog sistema.
1.2. Životni ciklus dokumenta
Životni ciklus dokumenata podrazumeva:
kreiranje,
pregled,
obradu,
odobrenje,
publikovanje,
distribuciju,
ariviranje.
U procesu prevođenja dokumenta u elektronski oblik pridružuje mu se tzv. marker
(markup). Njegova uloga je opisivanje kodova koji se dodaju elektronski pripremljenomdokumentu u cilju definisanja njegove strukture ili formata u kome treba da se prikaže.
Upravljanje dokumentima podrazumeva niz operacija sa dokumentima koji bi mogli da budu
očekivani tokom nekih poslovnih procesa u nekoj organizaciji. Najčešće se očekuje rad krozsledeće korake:
arhiviranje dokumenata,
kategorizacija – razvrstavanje dokumenata,
traženje i ponovno korišćenje dokumenata,
izmena, kopiranje i provera statusa dokumenata,
zaštita dokumenata u korišćenju,
pretraživanje tekstova u dokumentima,
automatska konverzija dokumenata, i sl.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 9/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
6
2. EDMS – Elektronski dokument menadzment sistemi
2.1. Karakteristike EDMS
Elektronsko poslovanje, elektronski dokumenti i arhive, sistemi elektronskog upravljanja
dokumentima su postali naša stvarnost i svakodnevnica. Osnovna postavka koja vrši iniciranje uvođenja bilo kakvih inovacija u poslovne procese je povećanje produktivnosti i/ili smanjenje troškova. Pretvaranje dokumenata u toku poslovnog procesa u sredstva za rad ubrzava sam pr oces i olakšava optimizaciju svakog procesa.
Prednosti digitalnog arhiviranja se mogu sažeti u dve tačke: troškovi i sigurnost . Kroz rad sadokument menadžment sistemima se enormno povećava radna efektivnost i smanjujumaterijalni troškovi.
Upravljanje dokumentima u stvari podrazumeva uspostavljanje pravila i procedura za
rukovanje dokumentima u toku njihovog životnog ciklusa, koji se sastoji od:
inicijalizacije,
pripreme,
uspostavljanja (establishment ),
korišćenja,
revizije,
povlačenja i
uklanjanja.
Uvođenjem EDMS u poslovni proces vrši se unapređenje produktivnosti time što se smanjujevreme potrebno za obradu a istovremeno se pažnja usmerava na ključne i konkretne poslove;unapređuje se odnos sa klijentima i vrši se unapređenje kvaliteta.
Sistemi elektronskog upravljanja dokumentima su veoma kompleksni i ponuda hardverskih
i softverskih komponenti koje ulaze u njihov sastav je veoma velika, i svakim danom se ova
situacija menja. Najbitnije je da pojedinačna funkcionalnost izabranih komponenti i ukupna
funkcionalnost sistema ispunjava sve propisane standarde i norme ( tehnološke i zakonske ).
Electronic Document Management System ( EDMS ) podrazumeva hardver, softver i
proceduru rada koji omogućavaju:
prevođenje dokumenata uključenih u poslovne procese u elektronsku formu po potrebi,
sigurno skladištenje uz mogućnost pravljenja sigurnosnih kopija,
brzo i jednostavno pronalaženje podataka u bazi arhive,
laku razmenu među učesnicima u poslovnom procesu, kao i
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 10/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
7
njihovo štampanje po potrebi [1].
2.1.1.
Dokumenti i verzije dokumenata
Prilikom nastanka dokumenta u firmi ili njegovim ulaskom, dokument postaje materija kojaživi, trpi proces promene/obrade, postaje deo sistema. Svu tu dokumentaciju nazivamoulazna dokumentacija.
Oblici u kojima se pojavljuje ulazna dokumentacija su prikazana i na slici br.1.
Slika 1 - Prikaz algoritma puta dokumenata od ulaza do arhive [6]
Ulazni dokument firme je ulazni dokument sistema za upravljanje elektronskomdokumentacijom firme u digitalizovanoj formi.
Funkcionisanje veza između dokumenata je najbitnija relacija u tokovima upravljanja. Zarazliku od aktivnih veza koje upućuju jedne dokumente na druge, prilikom upravljanjadokumentom, odnosno verzijom dokumenta, te veze nisu dozvoljene jer bi mogle menjati
sadržaj dokumenta koji je pod kontrolom sistema za upravljanje.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 11/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
8
Prilikom formiranja nove verzije dokumenta, potrebno je definisati kriterijume. Najčešće se pojavljuju dve vrste izmena:
izmena informacija,
izmena vizuelne promene informacija.
Kod ovih drugih izmena nije potrebna inicijalizacija nove verzije dokumenta.
Verzija dokumenta može biti formirana u različite svrhe.Svaka verzija se deklariše kaovažeća od određenog trenutka i u toku određenog vremenskog perioda. Važenje verzijadokumenta može se organizovati kao sekvencijalno ili kao konkurentno. U prvom slučaju, poslednja verzija je jedina operativna, dok kod konkurentnih moguće da istovremeno viševerzija budu operativne. Važenje pojedinih verzija se eksplicitno određuje. Na slici 2 je
prikazana razlika verzija.
p r e u z i m a
p r e u z i m a
Sekvencijalno važenje
verzije
Verzija A
Verzija B
Verzija C
Konkurentno važenje
verzije
Verzija A
Verzija B
Verzija C
formiranje
važenje
Slika 2 - Sekvencijalna i konkurentna organizacija verzija [6]
2.1.2.
Metapodaci dokumenta
Pojedinačni dokument predstavlja elementarni oblik nosioca informacija u sistemima zaupravljanje dokumentima, kome se mogu pridružiti dodatni delovi koji opisuju njegovsadržaj ili neke njegove karakteristike tzv. metapodaci. Metapodaci obezbeđuju autentičnost,
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 12/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
9
pouzdanost, upotrebljivost i integritet tokom vremena i omogućavaju upravljanjeinformacijama i razumevanje, bez obzira da li su fizičke, analogne ili digitalne. Imetapodacima treba upravljati, a upravljanje dokumentima uključuje i tu komponentu.Analogno rečenom, složeni dokumenti podrazumevaju kompoziciju više dokumenatarazličitih tipova. Svaka komponanta može biti rezultat različite softverske aplikacije, a
metapodaci složenih dokumenata se ne pridružuju komponentama koje čine dokument, većcelini.
Skupovi dokumenta poseduju sopstvene metapodatke, u kojima je opisana svrha dokumenatai skupova dokumenata.
Metapodaci vezani za dokument u okviru sistema za upravljanje dokumentima mogu imatirazličite izvore:
Životni ciklus dokumenta,
Poslovni proces gde se dokument koristi kao nosilac informacije između pojedinihaktivnosti,
Rezultati poslovnog procesa,
Opšta baza podataka o organizaciji u kojoj se odvija poslovni proces.
Dokument se može povezati sa velikim brojem metapodataka čiji obim i pojavljivanje zaviseod stanja u kome se dokument nalazi u okviru svog životnog ciklusa.
Inicijalizacija dokumenta – predstavlja početnu fazu životnog ciklusa i u kojoj seobezbeđuju podaci potrebni za kasniju pripremu dokumenta. Tu se ne podrazumeva pripremai utvrđivanje sadržaja dokumenta. Sastoji se od identifikacije i klasifikacije dokumenta(indeksiranje).
Pod indeksiranjem se podrazumeva definisanje opisnih kriterijuma jednog dokumenta od
čega i zavisi upotrebna vrednost elektronske dokumentacije. Broj opisnih kriterijuma podokument tipu je neograničen ali iskustvo pokazuje da je elektronska arhiva dobroorganizovana ukoliko se ovaj broj po dokumentu kreće od 5 do 10 kriterijuma.
Identifikacija je namenjena jednoznačnom određivanju dokumenta. Jednoznačnaidentifikacija omogućuje precizno referenciranje na dokument. Potebno je da bude nezavisnaod načina prezentacije i fizičke lokacije dokumenta da bi se dokument mogao prikazati krozrazličite oblike: štampani primer, ekranski, mikrofilm, ili na različitim jezicima. U zavisnosti
od alata obrade dokumenta, sam dokument različitim korisnicima može izgledati različito
različitim korisnicima, i ne mora prezentovati sve informacije u svim slučajevima. Dokumentdok prezentuje iste informacione sadržaje predstavlja isti dokument.
2.1.3.
Pretraga/Prikaz, Verzioniziranje i Dodela prava
Pretraga, odnosno prikaz, predstavljaju proces rada sa/nad dokumentom. Predhodno sedefinišu prava rada korisnika nad dokumentom. Time su definisani i kriterijumi po kojimase vrši pretraga. Sama pretraga se obavlja u korisničkoj aplikaciji, pri čemu se prikazuje listadokumenata ili sam dokument.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 13/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
10
Shodno dodeljenim pravima, dokument se obrađuje. Svaka promena na dokumentu se beleži,kao i autor koji vrši promene, ukoliko su verzije odobrene. Dokument koji je pretrpio promene, postaje nova verzija “staroga” dokumenta i kao takav ide u arhivu, s tim da je
korisniku uvek dostupan pregled verzija, istorija verzija datog dokumenta. Na taj način sesprečava bilo kakva manipulacija rada sa dokumentacijom i osigurava autentičnost
dokumenta i njegove verzije.
Prava mogu takođe da budu na nivou jednog dokumenta, bilo da je on složen ili sam.
Shodno sledu koraka dokumentacije u okviru jedne firme, sistem elektronskog upravljanja
dokumentima prati njen tok, tako da shodno postojećoj praksi, ulazna dokumenta mogu dastižu do odgovarajućeg nivoa (šefa odeljenja/službe) koji kasnije vrši preraspodelu po radnim jedinica i sl.Bitno je znati, da korisnik ne mora da bude na svome radnom mestu da bi koristio svoje radno
okruženje, već to može da učini logovanjem na bilo kojoj tački sistema. Prednost tefunkcionalnosti je izražena u velikim radnim kompleksima, gde odlazak u svoju kancelarijuzahteva i napor i vreme, kao i na mestima gde zaposleni tokom radnog vremena ima višerazličitih uloga.
2.1.4. Arhiviranje
Po završetku obrade i rada sa dokumentacijom, ona se odlaže u arhivu u obrađenom obliku.Dokumenta koja ulaze u sistem nakon indeksiranja su u svom izvornom obliku arhivirana,
da bi potom bila ponovo arhivirana ukoliko su pretrpila promene, u obliku nove verzije.Ovim, svaki sledeći korisnik dobija poslednju verziju dokumenta, pozivom istog.
2.2.
EDMS software
Osnovne funkcije EDMS softvera su:
učitavanje dokumenata (tekstualnih, grafičkih, hipertekstualnih imultimedijalnih);
prepoznavanje putem različitih tehnologija kao što su: OCR (OpticalCharacter Recognition), OMR (Optical Mark Recognition), ICR (Intelligent
Caracter Recognition), VR (Voice Recognition), prevođenje skeniranihdokumenata u formu pogodnu za dalju digitalnu obradu;
markiranje - dodeljivanje markera svakom dokumentu u odabranom sistemuoznaka, na osnovu kojeg može biti jednoznačno identifikovan;
pretraživanje - pronalaženje dokumenta ili grupe dokumenata koji odgovaraju postavljenim zahtevima izraženim kroz upite po određenom kriterijumu.
Ove osnovne funkcije mogu biti proširivane u zavisnosti od tokova informacija u samoj
ustanovi, ili u zavisnosti od potreba distribuiranja dokumenata unutar/van ustanove ka svojim
bivšim, sadašnjim ili potencijalnim korisnicima (npr. potvrde o položenim ispitima i sl.),revizije ili arhiviranja.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 14/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
11
2.2.1. Učitavanje dokumenata – samoopisujući dokument
Elektronski dokument je polazna osnova u razumevanju rada sistema elektronskog
upravljanja dokumentima i elektronskih arhiva. Standard koji je uveden u svetu je elektronski
dokument visokog kvaliteta. Elektronski dokument visokog kvaliteta predstavlja
samoopisujući dokument - objekt koji pored stvarnog dokumenta u sebi sadrži kompletneinformacije o dokumentu. Kompletan proces nastajanja, memorisanja, skup opisnih
kriterijuma i referenci vezanih za dokument, kao i određeni algoritmi koji preko ček sumaispituju nepromenjenost dokumenta smešteni su u header komponenti dokumenta. Oveinformacije vezane za dokument garantuju visoki stepen sigurnosti samog dokumenta i
isključuju mogućnost manipulacije na samom dokumentu.
Samoopisujući dokumenti se sastoje iz proizvoljne sadržajne komponente (pojedinačnogobjekta, container-a, liste itd.) i jedne header komponente povezane sa sadržajnomkomponentom popunjenu samoopisujućim atributima. Samoopisujući dokument nosi sasobom sve važne opisujuće podatke i moguće ga je proveriti na promenu. Headerkomponenta počinje po pravilu sa neutralnim opisom osobina i atributa koji mogu da seočekuju u njegovom sadržaju. Na ovom opisu se bazira samo objašnjavajući karakterdokumenata.
Podaci koji bi trebalo da se smeste u header dokumenta su:
Broj i redosled atributa, njihovih imena i formata,
Jedinstven broj dokumenta (Unique Identifier), koji sigurno obezbeđuje jedinstvenosti jednoznačnost dokumenta,
Datum i vreme nastanka dokumenta,
Autor dokumenta,
Pripadajući elektronski arhiv, Dokument tip sa svojim opisujućim kriterijumima, kome dokument pripada, Način izrade i reprodukcije dokumenta, Indeksni kriterijumi, koji identifikuju i opisuju dokument,
Checksum, koji obezbeđuje kontrolu promene dokumenta.
Samoopisujući dokumenti mogu i u off -line situaciji da se obrade korektno.
Korišćenjem samoopisujućih dokumenata može da se osigura kreiranje i jedna dugoročna ireviziona sigurnost arhiviranih dokumenata. Samoopisujući dokumenti dozvoljavaju ponovno kreiranje sistema za upravljanje u slučaju problema sa istim.
Za samoopisujuće dokument objekte i arhitekture postoje različiti standardi kao DFR(Document Filing and Reatrieval - ISO 10166), SGML (ISO 8879), ODA (Open Document
Architecture - ISO 8613), CORBA - objektni model i DMA – dokument model. Pojediniarhiv sistemi memorišu kompletno okruženje zajedno sa dokumentima i na taj načinobezbeđuju samoopisujuću funkcionalnost [6]
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 15/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
12
2.2.2. Elektronski dokument sa digitalnim potpisom
Upotreba digitalnog potpisa daje elektronskom dokumentu dimenziju originalnosti i
zakonom mu obezbeđuje dokazni karakter u pravnom procesu. Digitalni ili elektronski potpisdirektno je vezan za vlasnika potpisa i potpisani dokument. On tehnički osigurava formu
dokumenta u vidu binarnih znakova ali ne daje preciznu definiciju interpretacije sadrţaja.Tehnika elektronskog potpisa zasniva se na sistemu dvostrukog elektronskog ključa. On jeneophodan za razmenu podataka u mreži kada su osobe koje u razmeni učestvuju nepoznate.
Zakon o elektronskom potpisu ne može ili samo delimično može da pokrije arhiviranjecelokupne dokumentacije sa pravne strane. Elektronski potpis nije rešenje za elektronskoarhiviranje skenirane dokumentacije, digitalnih faks poruka..
2.2.3.
Elektronski dokument visokog kvaliteta
Pojam elektronskog dokumenta visokog kvaliteta je uveden iz prepoznatih nedostatakaelektronskog potpisa za normalne dokumente. Elektronski dokumenti visokog kvaliteta
mogu da sadrže i elekronske dokumente sa digitalnim potpisom. Elektronski dokumentivisokog kvaliteta su samoopisujući dokument objekti, memorisani na WROM („write onceread many“) optičkim medijima. Ovi dokumenti pored samog sadržaja nose svesamoopisujuće atribute sa sobom i osigurani su kroz „cheksum” algoritam od sviheventualnih promena. Karakter optičkih medija isključuje takođe mogućnost promenedokumenta. Iz arhive napravljene od elektronskih dokumenata visokog kvaliteta moguće jeizvršiti recovery proces sistema za upravljanje arhivom (npr. baze podataka).
3. Relacije EDMS sa okolinom
Ako posmatramo sistem za upravljanje dokumentima u nekoj od obrazovnih ustanova ne
možemo ga posmatrati bez međusobnog uticaja sa ostalim komponantama kako u sektoruobrazovanja, tako i u delu vezanom za primenu odgovarajućih pravila poslovanja.
Na slici 3 je prikazan uprošćen sistem relacija okruženja EDMS.
Sektor obrazovanja bi u ovom slučaju predstavljao veze ustanove sa delom obrazovanja kojikoristi sisteme za upravljanje dokumentima. Iz ovakvih veza bi mogla da se izvuče višestranakorist po pitanju razmene iskustava i primene npr. odgovarajućih standarada, a i stovremeno bi i pojednostavila procedure koje bi se ticale npr. bodovanja studenata i prelaska iz jedne u
drugu ustanovu (što podrazumeva primena Bolonjske deklaracije za visoko-školskeustanove).
Ustanova podrazumeva obrazovnu jedinicu koja koristi EDMS.
Poslovni proces bi podrazumevao definisan model nastavnog procesa u okviru obrazovne
jedinice sa svim elementima organizacije i realizacije pomenutog nasta-vnog procesa.
Aktivnosti bi se odnosile na konkretne korake izvršavanja pojedinih faza nastavnog procesa.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 16/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
13
Informacije podrazumevaju znanje o objektima koji učestvuju u nastavnom procesu(nastavni i nenastavni kadrovi, studenti, programi, planovi,...).
Dokument predstavlja jedinicu informacije koja se može slati ili primati. Ovde je bitno dasistem može da podrži upravo one oblike dokumenata koji se javljaju u obrazovanju. Naravno, viši stepen obrazovanja će podrazumevati veću lepezu dokumenata, što ne znači dato treba zanemar iti kada su u pitanju obrazovne jedinice koje se bave obrazovanjem nižegstepena (osnovne škole, srednje škole).
Pošiljalac dokumenta bi bila nadležna osoba iz same institucije, ili definisan sistem slanja, stim da se mora voditi računa o pravnim okvirima u kojima se izvodi ovaj korak.
Primalac dokumenta ima ulogu, osim što treba da evidentira prijem, da potvrdi pošiljaocu ida inicira obradu dokumenta u skladu sa definisanom procedurom. To bi praktično značilo,da ukoliko dokument zahteva neku dalju akciju, npr. izdavanje potvrde o položenim ispitima,nakon upita u bazi potrebno je inicirati odgovor a istovremeno i arhivirati zahtev, zajedno sa
odgovorom.
Komunikaciona mreža podrazumeva medijum za komunikaciju koji se koristi za slanje,
odnosno prijem dokumenata.
Standard podrazumeva definisani nivo kvaliteta na nacionalnom ili međunarodnom nivou zaobavljanje aktivnosti u sistemu za upravljanje dokumentima. Jedan od korišćenih je ISO IEC15489 standard koji definiše funkcionalne karakteristike EDMS.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 17/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
14
UstanovaSektor
obrazovanja
Poslovni proces
aktivnost
informacije
dokument
proizvodi
Komunikacionamreža
standard
ugovor
Pravni aspekt
primalac
prima
Radi za
pošiljalac
Radi za
inicira
Je deo
sprovodi
sprovodi
Sadržane u
putem
podržava
U skladu sa
inicira
U skladu sa
Slika 3 - Relacije okruženja EDMS u sektoru obrazovanja [1]
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 18/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
15
ISO 15489 sastoji se iz 2 dela:
Deo 1: Opšti; Deo 2: Smernice [Tehnički izveštaj]
ISO 15489-1 precizira elemente upravljanja dokumentima i definiše rezultate i ishode kojetreba postići. Primenjuje se na upravljanje dokumentima svih formata i na svim medijimanastalih ili primljenih tokom sprovođenja delatnosti javne ili privatne organizacije ili svakog
pojedinca koji ima obavezu da stvara i čuva dokumenta.
ISO 15489-2 obezbeđuje metodologiju za primenu, korak po korak, i on je prvi u nizu profesionalnih standarda koji treba sveobuhvatno da regulišu oblastupravljanja dokumentima, kao i da omoguće novu zakonsku regulativu u ovoj oblasti,zasnovanu na novim vrednostima čuvanja i korišćenja dokumenata. Elektronsko okruženje,u kome se većina poslovnih delatnosti i transakcija danas odvija, primoralo je stručnjake izdomena arhivistike i upravljanja dokumentima da preispitaju i promene svoja tradicionalnauporišta u teoriji i praksi, zasnovanoj samo na papiru kao tradicionalnom nosaču informacija.Daje uputstva za utvrđivanje odgovornosti koje organizacije imaju prema dokumentima i
politici, postupcima, sistemima i procesima koji se odnose na dokumenta. Daje uputstva za
upravljanje dokumentima kao podršku okviru za kvalitet procesa radi usaglašenosti sa ISO9001 i ISO 14001. Takođe, daje smernice za projektovanje i primenu sistema za upravljanje
dokumentima, ali ne obuhvata upravljanje arhivskom građom u arhivskim ustanovama.
Pravni aspekti se odnose na primenu odgovarajućih zakona koji definišu sektor obrazovanja,kao i zakone koji se odnose na digitalno upravljanje dokumentima.
4.
Prikaz realizovanog softvera
4.1.
Selektovanje tehnologija za izradu aplikacije
Pre samog početka izrade aplikacije, potrebno je odabrati tehnologije za njenu izradu. O d
tehnologija korišćene su Apache 2.4.16 za kreiranje Web lokalnog servera, Google Chrome pretrazivac za prikaz aplikacije, JetBrains PHPstorm 9.0.2 i Notepad++ razvojno okurženjeza samu izradu aplikacije, PHP Verzija: 5.5.28 skriptni jezik u kojem je pisana aplikacija, i
JavaScript i JQuery za izradu interaktivnosti aplikacije. Server baze podataka je MySQLverzija 5.6.26 i alat za administraciju baze podataka PHPmyAdmin 4.4.14, koji je koriscen
za administraciju baze podataka.
Aplikacija treba da ima razrađeni sistem naloga kojim se omogućava administratoru da
registruje korisnike i da se uloguju u aplikaciju da bi imali pristup svim fukcionalnostimaaplikacije. Takođe treba da omogući unos svih eksternih dokumenta i propisa fakulteta ali injihovu adminstraciju (izmenu i brisanje). Pored toga, treba da ima i tabelarni prikaz svih
dokumenta i institucija, njihovu pretragu i mogucnost download-a i upload-a materijala
dokumenta. Administrator ima mogucnost administracije svih korisnika i dodeljivanje levela pristupa.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 19/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
16
4.2. Izrada USE CASE dijagrama
Pre izrade baze podataka, prvo se modeluju USE CASE i konceptualni data model da bi
izrada baze bila što preciznija i da bi se lakše videle sve funkcionalnosti koju obavlja
korisnik. USE CASE dijagram prikazuje odnos između Actor -a (korisnika) i Use Case-a
(korisničke funkci je). Sluzi za bolje razumevanje problema, pravi se u ranim fazama projektakao prvi dijagram.
Slika 4 – USE Case dijagram
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 20/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
17
4.3. Izrada Conceptual data model-a
Slika 5 – Conceptual Data Model – CDM
Konceptualni data model idenetifikuje najvisi level odnosa izmedju razlicitih entitea u bazi
podataka. CDM podrazumeva: Najbitnije entitete i njihove odnose, gde su atributi entiteta i
primarni kljucevi manje bitni. CDM je najprostiji od 3 dijagrama, (Conceptual, Logical,
Physical) zato uvek pocinjemo sa njim da bi razumeli koji entiteti postoje u bazi podataka ikakav je odnos izmedju njih. U ovom slucaju imamo tri entitea (korisnik, dokument,
institucija) gde su odnosi jedan prema jedan i jedan prema vise.
4.4.
Izrada Physical data model-a
Slika 6 – Psysical Data Model – PDM
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 21/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
18
Iz Physical Data Model-a sa slike 6 može se jasno videti odnos između tabela, relacije stranihkljuceva u Child tabelama i način na koji će se implementirati celok upan sistem u bazu
podataka. PDM nam pokazuje sve strukture tabela, kolone, tipove podataka, primarne
kljuceve, strane kljuceve, i odnose izmedju tabela.
4.5.
Izrada Business process model-a
Slika 7 – Business Process Model – BPM
Poslovni proces je skup povezanih aktivnosti kojima se ostvaruju neki ciljevi ili zahtevikorisnika. On takodje predstavlja skup povezanih aktivnosti koje stvaraju neku vrednost
preko transformacije nekih ulaza u neki vrednije izlaze. Ulazi i izlazi mogu biti proizvodi
i/ili informacije. Aktivnosti (tj. transformacije ulaza u izlaze) se obavljaju od strane ljudi i
mašina. [20]
4.6.
Korisničko upustvo
4.6.1.
Index stranica – Login
Slika 8 - Index stranica web aplikacije
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 22/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
19
Na index stranici web aplikacije sa nalazi forma za prijavu na aplikaciju. Postoje dva levela
korisnika. Level: “Administrator” koji ima pristup svim fuknicijama aplikacije i level“korisnik” koji ima pristup administraciji dokumenta i institucija.
4.6.2.
Dodavanje dokumenta
Slika 9 - Stranica dodavanja dokumenta
Stranica dodavanja dokumenta se nalazi u meniju dokumenta. Za unos naziva dokumenta postoji provera da li je dokument pod datim nazivom vec postoji u bazi podataka i ako postoji,
ne dozvoljava unosenje dokumenta pod tim nazivom. Klikom na datum prijema dokumenta
se poziva popup kalendar (JQuery) funkcija radi brzeg i efikasnijeg selektovanja datuma.Selekt meni nacina slanja ima mogucnosti selektovanja tri nacina slanja dokumenta.
Dokument za upload nam omogucuje selektovanje dokumenta za upload u bazu podataka
aplikacije. Institucija koja salje selekt-meni poziva sve institucije koje su unete u bazu
podataka aplikacije i omogucava njihov selekt. Format datuma mora biti (dan . mesec .
godina .) U slucaju da se dokument pritiskom na download dugme otvori umesto download-uje, pritusniti i drzati dugme ALT na tastaturi i onda pritisnuti download button. Ovo vazi
samo ako koristite Google Chrome pretrazivac. Mozila Firefox pretrazivac, Internet Explorerili novi Microsoft Edge pretrazivac nemaju ovaj problem.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 23/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
20
4.6.3. Tabelarni prikaz svih dokumenta
Slika 10 – Stranica svih dokumenta
Stranica svih dokumenta omogucuje uvid u sve dokumente koji su trenutno u bazi podataka
aplikacije. Postoji search bar koji omogucuje pretragu svih dokumenta po nazivu dokumenta.
Takodje postoji opcija preuzimanja dokumenta odnosno download-a, brisanje dokumenta, iuvid u detalje dokumenta klikom na “pregled”. Sa gornje desne strane postoji prikaz ukupnog
broja dokumenta u bazi podataka i takodje broj dokumenta koji se trenutno prikazuje na
stranici gde je najveci broj 10.
4.6.4.
Pregled određenog dokumenta
Slika 11 – Stranica pregleda dokumenta
Na stranici pregleda dokumenta web aplikacije mozemo videti sve moguce detalje o svakom
dokumentu. Datum kada je primljen dokument, nacin na koji je poslat fakultetu, njegovdetaljniji opis, prikaz institucije koja ga je poslala i njegov download. Takodje na ovoj
stranice imamo mogucnost prelaska na stranicu za njegovu izmenu.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 24/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
21
4.6.5. Izmena dokumenta
Slika 12 – Stranica izmene dokumenta
Ova stranica nam omoguce izmenu dokumenta koji je unet u bazu podataka aplikacije.
Format datuma mora biti (dan . mesec . godina .)
4.6.6.
Dodavanje institucije
Slika 13 – Stranica dodavanja insticuije
Na ovoj stranici aplikacije imamo mogucnost dodavanja institucije u bazu podataka koja cekasnije moci da se selektuje u selekt meniju kada dodajemo dokumentaciju, kao institucija
koja je poslala dokument. Format email-a mora biti ([email protected])
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 25/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
22
4.6.7. Tabelarni prikaz svih institucija
Slika 14 – Stranica svih institucija
Stranica svih institucija nam daje iste mogucnosti kao i stranica svih dokumenta. Prikazuje
nam sve institucije koje su unete u bazu podataka aplikacije. Postoje pretraga institucija ponazivu institucije, brisanje inistucije i njihov detaljnijj pregled. Takodje mozemo videti broj
odnosno kolicinu unetih institucija u bazu podataka. Brisanje institucije nije moguce ako
odredjeni dokument koristi datu instituciju kao izvor slanja dokumenta.
4.6.8.
Pregled određene institucije
Slika 15 – Stranica pregleda institucije
Na ovoj stranici ima detaljan uvid u podatke odnosno informacije o instituciji koja salje
dokument. Takodje ima i opciju izmene institucije koja vodi na stranicu izmene institucije.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 26/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
23
4.6.9. Izmene institucije
Slika 16 – Stranica izmene institucije
Imamo mogucnost izmene podataka o instituciji koja je uneta u bazu podataka. Format email-
a mora biti ([email protected])
4.6.10.
Registracija korisnika (Admin Stranica)
Slika 17 – Stranica registracije korisnika
Stranica registracije korisnika nam omogucuje registraciju korisnika aplikacije. Ovumogucnost ima samo korisnik sa levelom pristupa “Administrator (2)”. Administratoraplikacije ima mogucnost unosa imena, prezimena i e-mail adrese korisnika. Za korisnickoime postoji provera da li je korisnik pod odredjenim korisnickim imenom u bazi podataka iu slucaju da jeste nece biti moguc unos istog korisnickog imena. Korisnicko ime ima patern
format koji dozvoljava koriscenje svih veliki i malih slova i kombinacije brojeva od 0-9
takodje i koriscenje simbola “donja crta” ( _ ) i crte ( - ) i sve to pod uslovom da je duzinakorisnickog imena izmedju 3 i 15 karatkera. Lozinka takodje ima isti patern format koja
zahteva i njenu potvrdu u polju “Potvrdi lozinku”. Postoji i selekt meni za izbor levela
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 27/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
24
pristupa korisnika, Korisnik(1) i Administrator(2). Format email-a mora biti
4.6.11.
Tabelarni prikaz svih korisnika (Admin stranica)
Slika 18 – Stranica pregleda svih korisnika
Imamo mogucnost uvida u sve korisnike koji su trenutno registrovani u bazi podataka. Postoji pretraga korisnickog imena i mogucnost brisanja korisnika iz baze podataka i pregleda u
detalje svakog korisnika.
4.6.12. Pregled određenog korisnika (Admin stranica)
Slika 19 – Stranica pregleda korisnika
Ova stranica nam omogucava uvid u detalje korisnika. User level (1) oznacava pristup
standardnog korisnika, dok user level (2) oznacava pristpup korisnika sa statusom
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 28/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
25
administratora aplikacije. Takodje imamo i automatski prikaz datuma kada je korisnik bio
registrovan. I na kraju opciju prelaska na stranicu izmene korisnika.
4.6.13.
Izmena korisnika (Admin stranica)
Slika 20 – Stranica izmene korisnika
Imamo mogucnost izmene podataka o korisniku, sem izmene datuma registracije koja seautomatski unosi u bazu podataka tokom registracije korisnika. Takodje imamo i mogucnost
smanjenja ili povisenja levela pristupa korisnika. Format email-a mora biti
([email protected]). Korisnicko ime ima patern format koji dozvoljava koriscenje svih
veliki i malih slova i kombinacije brojeva od 0-9 takodje i koriscenje simbola “donja crta” ( _ ) i crte ( - ) i sve to pod uslovom da je duzina korisnickog imena izmedju 3 i 15 karatkera.
Lozinka takodje ima isti patern format koja zahteva i njenu potvrdu u polju “Potvrdi lozinku”.
5.
Opis elementa implementacije softvera
5.1.
Kreiranje baze podataka
CREATE DATABASE IF NOT EXISTS `isfdw` DEFAULT CHARACTER SET utf8COLLATE utf8_general_ci;
CREATE TABLE `dokument` (
`dokumentID` int(11) NOT NULL,
`nazivdok` varchar(500) NOT NULL,
`datumprijema` date NOT NULL,
`nacinslanja` varchar(100) NOT NULL,
`opis` text NOT NULL,
`file` varchar(500) NOT NULL,
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 29/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
26
`instID` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=12481 DEFAULT CHARSET=utf8;
CREATE TABLE `institucija` (
`institucijaID` int(11) NOT NULL,
`nazivinst` varchar(255) NOT NULL,
`adresainst` varchar(255) NOT NULL,
`telefoninst` varchar(255) NOT NULL,
`webadresa` varchar(255) NOT NULL,
`emailinst` varchar(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8;
CREATE TABLE `korisnik` (
`korisnikID` int(11) NOT NULL,
`ime` varchar(200) DEFAULT NULL,
`prezime` varchar(200) DEFAULT NULL,
`email` varchar(200) NOT NULL,
`username` varchar(200) NOT NULL,
`password` varchar(200) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`userlevel` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8;
ALTER TABLE `dokument`
ADD PRIMARY KEY (`dokumentID`),
ADD KEY ̀ instID` (̀ instID`);
ALTER TABLE `institucija`
ADD PRIMARY KEY (`institucijaID`);
ALTER TABLE `korisnik`
ADD PRIMARY KEY (`korisnikID`);
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 30/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
27
ALTER TABLE `dokument`
ADD CONSTRAINT ̀ dokument_ibfk_1` FOREIGN KEY (`instID`) REFERENCES
`institucija` (`institucijaID`) ON UPDATE CASCADE ON DELETE RESTRICT;
5.2. Provera sesija i levela pristupa
<?php
if (!isset($_SESSION)) {
session_start();
}
$MM_authorizedUsers = "2"; //ako je dozvoljeno registrovaom korisniku, stoji "2"
$MM_donotCheckaccess = "false"; //ako je "2", ne proverava access
// RESTRIKTOVANJE ACCESS-A NA OVAJ PAGE: DODELI ILI ZABRANI ACCESS NAOVAJ PAGE
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
// ZBOG BEZBEDNOSTI, SMATRA SE DA KORINSIK NEMA ACCESS
$isValid = False;
// KAD SE KORISNIK ULOGUJE NA SAJT, PROMENLJIVA SESIJE MM_Username POSTAJE JEDNAKA USERNAME-U KORISNIKA
// TAKO DA ZNAMO DA KORISNIK NIJE ULOGOVAN AKO JE TA PROMENLJIVASESIJE PRAZNA
if (!empty($UserName)) {
// PORED LOGOVANJA, MOZETE RESTRIKTOVATI ACCESS ZA SAMO NEKE KORISNIKE BAZIRANO NA NJIHOVOM ID-U KADA SE ULOGUJU
// RACLANITI STRINGOVE U ARRAY
$arrUsers = Explode(",", $strUsers);
$arrGroups = Explode(",", $strGroups);
if (in_array($UserName, $arrUsers)) {
$isValid = true;
}
// ILI MOZETE RESTRIKTOVATI ACCESS ZA NEKE KORISNIKE BAZIRANO NA NJIHOVOM USERNAME-U
if (in_array($UserGroup, $arrGroups)) {
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 31/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
28
$isValid = true;
}
if (($strUsers == "") && false) {
$isValid = true;
}
}
return $isValid;
}
// PROVERA DA LI JE KORISNIK AUTORIZOVAN DA UDJE NA OVAJ PAGE
$MM_restrictGoTo = "Account.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers,$_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {
$MM_qsChar = "?";
$MM_referrer = $_SERVER['PHP_SELF'];
if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) >0)
$MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" .urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;
}
?>
5.3. Konekcija ka bazi podataka, login i provera levela pristupa
korisnika
Defisnisanje baze podataka, korisnickog imena baze, i passworda.
<?php
$hostname_isf = "localhost";
$database_isf = "isfdw";
$username_isf = "root";
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 32/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
29
$password_isf = "";
$isf = mysql_pconnect($hostname_isf, $username_isf, $password_isf) ortrigger_error(mysql_error());
?>
Login stranica:
//QUERY KOJI SELEKTUJE KORISNIKE
require_once('Connections/isf.php');
mysql_select_db($database_isf, $isf);
$query_Login = "SELECT * FROM korisnik";
$Login = mysql_query($query_Login, $isf) or die(mysql_error());
$row_Login = mysql_fetch_assoc($Login);
$totalRows_Login = mysql_num_rows($Login);
// ZAHTEV ZA LOGOVANJE NA SAJT
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "userlevel";
$MM_redirectLoginSuccess = "Account.php";
$MM_redirectLoginFailed = "index.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_isf, $isf);
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 33/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
30
//QUERY KOJI PREUZIMA PODATKE O KORISNICIMA IZ BAZE
$LoginRS__query=sprintf("SELECT username, password, userlevel FROM korisnikWHERE username=%s AND password=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $isf) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = mysql_result($LoginRS,0,'userlevel');
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else{session_regenerate_id();}
//DEKLARACIJA DVE SESIJE KOJE DODELJUJE KORISNIKU
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
5.4.
Odjava korisnika
<?php
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 34/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
31
require_once('Connections/isf.php');
// ODJAVA TRENUTNOG KORISNIKA
$logoutGoTo = "index.php";
if (!isset($_SESSION)) {
session_start();
}
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
if ($logoutGoTo != "") {header("Location: $logoutGoTo");
exit;
}
?>
5.5.
Dodavanje dokumenta
// KAD SE STISNE SUBMIT BUTTON DESAVA SE OVO
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
//PROVERA DA LI VEC POSTOJI NAZIV U BAZI
$nazdok = $_POST['nazivdok'];
$nazdok__query = sprintf("SELECT nazivdok FROM dokument WHERE nazivdok=%s",GetSQLValueString($nazdok, "text"));
mysql_select_db($database_isf, $isf);
$nazdokVAR=mysql_query($nazdok__query, $isf) or die(mysql_error());
$nazdokFoundDoc = mysql_num_rows($nazdokVAR);
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 35/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
32
// AKO U BAZI POSTOJI RED GDE POSTOJI ISTI NAZIV DOKUMENTA, NECE MOCI DA SE IZVRSI INSERT INTO DB
if($nazdokFoundDoc){
?>
<script>
alert("Naziv dokumenta vec postoji");
</script>
<?php
}
// AKO NE POSTOJI DOKUMENT POD DATIM NAZIVOM, ULAZI NA ELSE
else {
// OVDE SE UPLOADUJE FAJL I OMGUCAVA SAMIM TIM I DOWNLOAD IODREDJUJE SE DIREKTORIJUM GDE CE SE CUVATI UPLOAD-OVANI FAJLOVI
$name = $_FILES["file"]['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'Dokumenti/';
if (move_uploaded_file($tmp_name, $location.$name)){
//echo 'Uploaded';
//die ($location.$name);
}
}
else {
//echo 'please choose a file';
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 36/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
33
}
}
// QUERY KOJI IZVRSAVA INSERT INTO U BAZU
$originalDate = $_POST['datumprijema'];
$datum = date("Y-m-d", strtotime($originalDate));
$insertSQL = sprintf("INSERT INTO dokument (nazivdok, datumprijema,nacinslanja, opis, file, instID) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['nazivdok'], "text"),
GetSQLValueString($datum, "date"),
GetSQLValueString($_POST['nacinslanja'], "text"),
GetSQLValueString($_POST['opis'], "text"),
GetSQLValueString($_FILES['file']['name'], "text"),
GetSQLValueString($_POST['instID'], "text"));
mysql_select_db($database_isf, $isf);
$Result1 = mysql_query($insertSQL, $isf) or die(mysql_error());
$insertGoTo = "SviDok.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
5.6.
Prikaz svih dokumenta
<?php
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 37/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
34
// KAD SE UCITA STRANICA OVAJ IF ODMA IZVRSAVA SVE LINIJE KODA DO ELSE JER SUMBIT BUTTON ZA PRETRAGU NIJE PRITISNUT
if(!isset($_POST['submit'])) {
$query_SviDokumenti = "SELECT dokumentID, day(datumprijema) AS dan,month(datumprijema) AS mesec, year(datumprijema) AS godina, nazivdok, nacinslanja,opis, file, instID, nazivinst
FROM `".$database_isf."`.`dokument` INNER JOIN `".$database_isf."`.`institucija` ON`".$database_isf."`.`dokument`.`instID`=`".$database_isf."`.`institucija`.`institucijaID`ORDER BY datumprijema DESC";
$query_limit_SviDokumenti = sprintf("%s LIMIT %d, %d", $query_SviDokumenti,
$startRow_SviDokumenti, $maxRows_SviDokumenti);$SviDokumenti = mysql_query($query_limit_SviDokumenti, $isf) or die(mysql_error());
$row_SviDokumenti = mysql_fetch_assoc($SviDokumenti);
//PROVERA DA LI POSTOJI REDOVI, KOLIKO IH IMA
if (isset($_GET['totalRows_SviDokumenti'])) {
$totalRows_SviDokumenti = $_GET['totalRows_SviDokumenti'];
} else {
$all_SviDokumenti = mysql_query($query_SviDokumenti);
$totalRows_SviDokumenti = mysql_num_rows($all_SviDokumenti);
}
//FUNKCIJE ZA MOGUCNOST SLEDECA PRETHODNA STRANA
$totalPages_SviDokumenti = ceil($totalRows_SviDokumenti/$maxRows_SviDokumenti)-1;
$queryString_SviDokumenti = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 38/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
35
foreach ($params as $param) {
if (stristr($param, "pageNum_SviDokumenti") == false &&
stristr($param, "totalRows_SviDokumenti") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_SviDokumenti = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_SviDokumenti = sprintf("&totalRows_SviDokumenti=%d%s",$totalRows_SviDokumenti, $queryString_SviDokumenti);
$result=mysql_query($query_SviDokumenti);
?>
<div id="PageHeading">
<h1><input disabled="disabled" class="StyleTextFeildHead" value="SVI DOKUMENTI" readonly="readonly"></h1>
//OVO SU TABELE KOJE POKAZUJE PODATKE U TABELARNOM PRIKAZU
<table class="TblCount" border="0" align="center">
<tr>
<td align="left" width="400px">
<form method="post" action="SviDok.php?go" id="nazivdok">
<input class="StyleTextFeildSrc" type="search" pattern="[^'\x22]+"name="nazivdok" placeholder="Naziv dokumenta" required autocomplete="on">
<input class="StyleTextFeildSubmitSrc" type="submit" name="submit"value="Pretraga">
</form>
</td>
<td align="right" width="180px"></td>
<td align="right" class="StyleTextFeildPages">
<h6>Prikazuje od <?php echo ($startRow_SviDokumenti + 1) ?>do <?php echo min($startRow_SviDokumenti + $maxRows_SviDokumenti,
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 39/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
36
$totalRows_SviDokumenti) ?>od ukupno <?php echo $totalRows_SviDokumenti?></h6></td>
</tr>
</table>
</div><table class="TblTitlesDoc" cellpadding="5">
<tr>
<td width="180px">Naziv dokumenta</td>
<td width="100px">Datum prijema</td>
<td width="130.5px">Naziv institucije</td>
<td align="center" width="132.5px">Download</td>
<td align="center" width="132.5px">Brisanje</td>
<td align="center" width="132.5px">Pregled</td>
</tr>
</table>
<table cellpadding="5" class="TblNasloviDoc" >
<?php
do {
$nazivdok=$row_SviDokumenti['nazivdok'];
$dokumentID=$row_SviDokumenti['dokumentID'];$dan=$row_SviDokumenti['dan'];$mesec=$row_SviDokumenti['mesec'];$godina=$row_SviDokumenti['godina'];$datumprijema=$dan.'.'.$mesec.'.'.$godina.'.';
?>
<tr>
<td valign="top" width="180px"><h6 class="one-long-line"><?php echo$row_SviDokumenti['nazivdok']; ?></h6></td>
<td valign="top" width="100px"><h6 class="one-long-line"><?php echo$datumprijema; ?></h6></td>
<td valign="top" width="130.5px"><h6 class="one-long-line"><?php echo$row_SviDokumenti['nazivinst']; ?></h6></td>
<td align="center" width="132.5px">
<form method="get" name="file" id="file" action="dokumenti/<?php echo$row_SviDokumenti['file']; ?>">
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 40/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
37
<input name="Download" class="StyleTextFeildSmallerDoc" value="Preuzmi"type="submit">
</form></td>
<td align="center" valign="top" width="132.5px">
<form action="" method="post" name="SviDokumentiForm" id="SviDokumentiForm">
<input name="SviDokumentiButton" class="StyleTextFeildSmallerDoc"type="submit" value="Obriši" onClick="return confirmConfigDel();">
<input name="SviDokumentiHiddenField" type="hidden" value="<?php echo$row_SviDokumenti['dokumentID']; ?>">
</form></td>
<td align="center" valign="top" width="132.5px">
<form action="ViewDocSpec.php?dokumentID=<?php echo$row_SviDokumenti['dokumentID']; ?>" method="post">
<input class="StyleTextFeildSmallerDoc" name="" type="submit" value="Pregled">
</form></td>
</tr>
<?php } while($row_SviDokumenti=mysql_fetch_assoc($SviDokumenti));
?>
</table>
<br>
</div><div id="Footer">
<div id="NavBar">
<nav2>
<ul>
<?php
// PRIKAZI POD USLOVOM DA NIJE PRAZNO, PRIKAZI POD USLOVOM DA NIJE POSLEDNJA STRANA, PRIKAZI AKO IMA VISE OD JEDNE STRANE
if ($totalRows_SviDokumenti > 0) { ?>
<?php if ($pageNum_SviDokumenti < $totalPages_SviDokumenti) { ?>
<li><a href="<?php printf(" %s?pageNum_SviDokumenti=%d%s ",
$currentPage, min($totalPages_SviDokumenti,
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 41/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
38
$pageNum_SviDokumenti + 1), $queryString_SviDokumenti); ?>">S ledeća</a></li>
<?php } ?>
<?php } ?><?php
// PRIKAZI POD USLOVOM DA NIJE PRAZNO, PRIKAZI PODUSLOVOM DA NIJE PRVA STRANA, PRIKAZI AKO IMA VISE OD JEDNE STRANE
if ($pageNum_SviDokumenti > 0) { ?>
<?php if ($totalRows_SviDokumenti > 0) { ?>
<li style="float:left"><a href="<?php printf(" %s?pageNum_SviDokumenti=%d%s",
$currentPage, max(0, $pageNum_SviDokumenti - 1), $queryString_SviDokumenti);?>">Prethodna</a> </li>
<?php } ?>
<?php } ?>
</ul>
</nav>
</div>
</div>
<?php }
5.7.
Pretraga
Pritiskom na button „ pretraga” izvrsava se kod:
// OVAJ ELSE SE IZVRSAVA KADA SE PRITISNE SUBMIT BUTTON ZA PRETRAGU
else {
if(isset($_POST['submit'])) {
if(isset($_GET['go'])) {
if($_POST['nazivdok']) {
//QUERY KOJI SELEKTUJE DOKUMENTE I DEFINISE PROMENLJIVU ZA
PRETRAGU DOKUMENATA
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 42/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
39
$nazivdok=$_POST['nazivdok'];
$sql="SELECT dokumentID, day(datumprijema) AS dan, month(datumprijema) AS mesec, year(datumprijema) AS godina, nazivdok, nacinslanja, opis, file, instID, nazivinst
FROM `".$database_isf."`.`dokument` INNER JOIN `".$database_isf."`.`institucija` ON
`".$database_isf."`.`dokument`.`instID`=`".$database_isf."`.`institucija`.`institucijaID`WHERE nazivdok LIKE '%" . $nazivdok . "%' ORDER BY datumprijema DESC";
Na istoj stranici bez reload-a dobijamo spisak trazenih dokumenta sa dodatkom prikaza recikoja se trazi, kada ukucamo u search bar deo ili celu rec/broj/znak koji trazimo. Pretragu
imamo na svim tabelarnim prikazima.
<td align="right" width="180px">
<input disabled="disabled" readonly="readonly" class="StyleTextFeildPages2"value=" Tražim: <?php echo $nazivdok; ?>">
</td>
5.8.
Pregled detalja određenog dokumenta
$colname_UpdateDoc = "-1";
if (isset($_GET['dokumentID'])) {
$colname_UpdateDoc = $_GET['dokumentID'];
}
//QUERY KOJI SELEKTUJE PODATKE IZ BAZE KOJI TREBA DA SE PRIKAZU
mysql_select_db($database_isf, $isf);
$query_UpdateDoc = sprintf("SELECT dokumentID, day(datumprijema) AS dan,month(datumprijema) AS mesec, year(datumprijema) AS godina, nazivdok, nacinslanja,opis, file, instID, nazivinst
FROM `".$database_isf."`.`dokument` INNER JOIN `".$database_isf."`.`institucija` ON
`".$database_isf."`.`dokument`.`instID`=`".$database_isf."`.`institucija`.`institucijaID`WHERE dokumentID = %s", GetSQLValueString($colname_UpdateDoc, "int"));
$UpdateDoc = mysql_query($query_UpdateDoc, $isf) or die(mysql_error());
$row_UpdateDoc = mysql_fetch_assoc($UpdateDoc);
$totalRows_UpdateDoc = mysql_num_rows($UpdateDoc);
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 43/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
40
$dan=$row_UpdateDoc['dan'];
$mesec=$row_UpdateDoc['mesec'];
$godina=$row_UpdateDoc['godina'];
$datumprijema=$dan.'.'.$mesec.'.'.$godina.'.';
?>
5.9. Izmena određenog dokumenta
$colname_UpdateDoc = "-1";
if (isset($_GET['dokumentID'])) {
$colname_UpdateDoc = $_GET['dokumentID'];
}
//QUERY KOJI SELEKTUJE PODATKE IZ BAZE KOJI TREBA DA SE UPDATE-UJU
mysql_select_db($database_isf, $isf);
$query_UpdateDoc = sprintf("SELECT dokumentID, day(datumprijema) AS dan,month(datumprijema) AS mesec, year(datumprijema) AS godina, nazivdok, nacinslanja,opis, file, instID, nazivinst
FROM `".$database_isf."`.`dokument` INNER JOIN `".$database_isf."`.`institucija` ON
`".$database_isf."`.`dokument`.`instID`=`".$database_isf."`.`institucija`.`institucijaID`WHERE dokumentID = %s", GetSQLValueString($colname_UpdateDoc, "int"));
$UpdateDoc = mysql_query($query_UpdateDoc, $isf) or die(mysql_error());
$row_UpdateDoc = mysql_fetch_assoc($UpdateDoc);
$totalRows_UpdateDoc = mysql_num_rows($UpdateDoc);
$dan=$row_UpdateDoc['dan'];
$mesec=$row_UpdateDoc['mesec'];
$godina=$row_UpdateDoc['godina'];
$datumprijema=$dan.'.'.$mesec.'.'.$godina.'.';
// KAD SE PRISTINE SUBMIT BUTTON DESAVA SE OVO
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 44/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
41
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
// OVDE SE UPLOADUJE FAJL I OMGUCAVA SAMIM TIM I DOWNLOAD IODREDJUJE SE DIREKTORIJUM GDE CE SE CUVATI UPLOAD-OVANI FAJLOVI
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$name = $_FILES["file"]['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$error = $_FILES['file']['error'];
if (isset ($name)) {
if (!empty($name)) {
$location = 'Dokumenti/';
if (move_uploaded_file($tmp_name, $location.$name)){
//echo 'Uploaded';
}
}
else {
$name = $_POST['nazivfile'];
}
}
//QUERY KOJI UPDATE-UJE INSTITUCIJU KOJA JE POSLALA DOKUMENT
$naz = $_POST['nazivinst'];
$query = mysql_query("SELECT institucijaID from institucija WHEREinstitucija.nazivinst='$naz'");
$row = mysql_fetch_row($query);
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 45/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
42
$IDinst = $row[0];
//QUERY KOJI UPDATE-UJE. UZIMA PODATKE IZ FORME I UBACUJE IH U BAZU
$originalDate = $_POST['datumprijema'];
$datum = date("Y-m-d", strtotime($originalDate));
$updateSQL = sprintf("UPDATE dokument SET dokumentID=%s, nazivdok=%s,datumprijema=%s, nacinslanja=%s, opis=%s, file=%s, instID=$IDinst WHEREdokumentID=%s",
GetSQLValueString($_POST['dokumentID'], "int"),
GetSQLValueString($_POST['nazivdok'], "text"),
GetSQLValueString($datum, "date"),
GetSQLValueString($_POST['nacinslanja'], "text"),
GetSQLValueString($_POST['opis'], "text"),
GetSQLValueString($name, "text"),
GetSQLValueString($_POST['dokumentID'], "int"));
mysql_select_db($database_isf, $isf);
$Result1 = mysql_query($updateSQL, $isf) or die(mysql_error());
$updateGoTo = "SviDok.php";
$dan=$row_UpdateDoc['dan'];
$mesec=$row_UpdateDoc['mesec'];
$godina=$row_UpdateDoc['godina'];
$datumprijema=$dan.'.'.$mesec.'.'.$godina.'.';
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 46/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
43
//OVO JE QUERY ZA SELECT MENU INSTITUCIJA, KOJI CITA IZ BAZE NAZIVE INSTITUCIJA
mysql_select_db($database_isf, $isf);
$query_updateDoc = "SELECT nazivinst FROM institucija ORDER BY nazivinst";
$updateDoc = mysql_query($query_updateDoc, $isf) or die(mysql_error());
$row_updateDoc = mysql_fetch_assoc($updateDoc);
$totalRows_updateDoc = mysql_num_rows($updateDoc); ?>
Selekt meni izmene institucija koja salje dokument:
<select name="nazivinst" id="nazivinst" class="StyleTextFeild">
<?php
do {
?>
<option value="<?php echo $row_updateDoc['nazivinst']?>"<?php if(!(strcmp($row_updateDoc['nazivinst'], $row_updateDoc['nazivinst'])))
{echo "selected=\"selected\"";} ?>><?php echo$row_updateDoc['nazivinst']?></option>
<?php
} while ($row_updateDoc = mysql_fetch_assoc($updateDoc));
$rows = mysql_num_rows($updateDoc);
if($rows > 0) {
mysql_data_seek($updateDoc, 0);
$row_updateDoc = mysql_fetch_assoc($updateDoc);
}
?>
</select>
5.10.
Stranice administratora – Kontrolna tabla
Kada se ulogujete, postoji redirekt na pocetnu stranicu sa drop down select menijima za
navigaciju. Drop down meni za administratora je vidljiv samo za korisnike sa levelom
pristupa 2 odnosno administartor. Provera se izvrsava preko sesije sledecim kodom:
<?php if($_SESSION['MM_UserGroup'] == 2) { ?>
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 47/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
44
<li style="float:right"><a class="mac" href="Admin.php">Admin CP</a>
<ul class="dropdown">
<li><a href="Register.php">Registracija</a></li>
<li><a href="UpdateUser.php">Svi korisnici</a></li>
</ul>
</li> <?php }
?>
5.11. Registracija korisnika
// KAD SE STISNE SUBMIT BUTTON DESAVA SE OVO
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "RegisterForm")) {
//PROVERA DA LI VEC POSTOJI KORISNICKO IME U BAZI
$user = $_POST['username'];
$user__query = sprintf("SELECT username FROM korisnik WHERE username=%s", GetSQLValueString($user, "text"));
mysql_select_db($database_isf, $isf);
$userVAR=mysql_query($user__query, $isf) or die(mysql_error());
$userFoundUser = mysql_num_rows($userVAR);
// AKO U BAZI POSTOJI RED GDE POSTOJI ISTI NAZIV KORISNIKA, NECE MOCI DA SE IZVRSI INSERT INTO DB
if($userFoundUser){
?>
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 48/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
45
<script>alert("Korisnicko ime vec postoji");</script>
<?php
}
// AKO NE POSTOJI KORICICKO IME POD DATIM NAZIVOM U DB, ULAZI SE NA ELSE
else {
//QUERY KOJI IZVRSAVA INSERT INTO U DB
$insertSQL = sprintf("INSERT INTO korisnik (korisnikID, ime, prezime, email, username,
password, userlevel) VALUES (%s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['hiddenField'], "int"),
GetSQLValueString($_POST['ime'], "text"),
GetSQLValueString($_POST['prezime'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['username'], "text"),
GetSQLValueString($_POST['password'], "text"),
GetSQLValueString($_POST['userlevel'], "text"));
mysql_select_db($database_isf, $isf);
$Result1 = mysql_query($insertSQL, $isf) or die(mysql_error());
$insertGoTo = "UpdateUser.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 49/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
46
5.12. Elemetni grafickog dizajna
CSS3 stilizovan baner aplikacije:
.content {
width:237px; font-size:36px;
line-height:40px;
font-family:'Muli';
color:#ecf0f1;
height:20px;
position:absolute;
top:50%;
left:50%;
margin-top:0px;
margin-left:0px;
&:before {
content:'[';
position:absolute;
left:-30px;
line-height:40px;
border: 1px solid;
}
&:after {
content:']';
position:absolute;
right:-30px;
line-height:40px;
}
&:after, &:before {
color:#16a085;
font-size:42px;
animation:2s linear 0s normal none infinite opacity;
-webkit-animation:2s ease-out 0s normal none infinite opacity;
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 50/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
47
-moz-animation:2s ease-out 0s normal none infinite opacity;
-o-animation:2s ease-out 0s normal none infinite opacity;
}
}
.visible {
overflow:hidden;
margin-left:160px;
font-weight: 600;
height: 100px;
position: absolute;
width: 900px;
left: 67px;
top: 49px;
}
p {
display:inline;
float:left;
margin:0;
}
.ul { padding:0px;
padding-top:50px;
padding-bottom:50px;
text-align:center;
list-style:none;
animation:6s linear 0s normal none infinite change;
-webkit-animation:6s linear 0s normal none infinite change;
-moz-animation:6s linear 0s normal none infinite change;
-o-animation:6s linear 0s normal none infinite change;
font-size:large;
}
.ul li {
line-height:40px;
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 51/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
48
margin:0;
}
@-webkit-keyframes opacity {
0% {opacity:0;}
50% {opacity:1;}
100% {opacity:0;}
}
@keyframes opacity {
0% {opacity:0;}
50% {opacity:1;}
100% {opacity:0;}
}
@-webkit-keyframes change {
0% {margin-top:0;}
15% {margin-top:0;}
25% {margin-top:-40px;}
40% {margin-top:-40px;}
50% {margin-top:-80px;}
65% {margin-top:-80px;}
75% {margin-top:-40px;}85% {margin-top:-40px;}
100% {margin-top:0;}
}
@keyframes change {
0% {margin-top:0;}
15% {margin-top:0;}
25% {margin-top:-40px;}
40% {margin-top:-40px;}
50% {margin-top:-80px;}
65% {margin-top:-80px;}
75% {margin-top:-40px;}
85% {margin-top:-40px;}
100% {margin-top:0;}
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 52/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
49
}
On hover CSS3 style tabela svih dokumenta, institucij a, kor isnika
.TblNasloviDoc tr:hover {
-webkit-transform: scale(1.07);
-moz-transform: scale(1.07);
-o-transform: scale(1.07);
}
.one-long-line {
max-width:660px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis; }
.one-long-line:hover {
overflow: visible;
white-space: normal;
text-overflow:ellipsis;
}
JQuery na k li k popup kalendar:
<script>
$(function() {
$("#datepicker").datepicker({
dateFormat: 'dd.mm.yy.'
});
});
</script>
<input name="datumprijema" type="text" placeholder="dd.mm.gggg" id="datepicker"class="StyleTextFeild" required>
JavaScript f unkcija za tag name INPUT:
document.addEventListener("DOMContentLoaded", function() {
var elements = document.getElementsByTagName("INPUT");
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 53/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
50
for (var i = 0; i < elements.length; i++) {
elements[i].oninvalid = function(e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
e.target.setCustomValidity("Molim Vas popunite");
}
};
elements[i].oninput = function(e) {
e.target.setCustomValidity("");
};
}
})
JavaScript confirm funkcija:
function confirmConfigEdit(){
var edit = confirm("Da li ste sigurni da zelite da izmenite?");
if (edit){
return true;
}
else {
return false;
}
}
<input name="EditDocButton" type="submit" onClick="confirmConfigEdit();"
class="StyleTextFeildSubmit" id="EditDocButton" value="Izmeni dokument">
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 54/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
51
Zaključak
Pređašnji sistem arhiviranja dokumenata veoma usporava i analize i mogućnost reagovanja.Iz tog razloga je neophodan prelazak na digitalno arhiviranje i, možda još bitnije, mogućnostupravljanja dokumentima koji se javljaju u procesu obrazovanja. Autor je imao u vidu
neophodnost ukazivanja na ovaj segment poslovanja u obrazovanju, bez bilo kakve nameresugerisanja rešenja. Jasno je da odluka o sistemu koji bi mogao biti pr imenjen zavisi od
velikog broja faktora, a pre svega od zahteva konkretne obrazovne ustanove. Jedno je
sigurno, ovakav način poslovanja postaje standard čija blagovremena primena će usloviti bržu adaptaciju na promene koje se jako brzo dešavaju.
Trenutna verzija aplikacije je ispravna međutim ona nije u potpunosti kompletirana. U daljim
verzijama aplikacije postojaće upotreba digitalnog potpisa. Ona daje elektronskom
dokumentu dimenziju originalnosti i zakonom mu obezbeđuje dokazni karakter u pravnom procesu. Digitalni ili elektronski potpis direktno je vezan za vlasnika potpisa i potpisani
dokument. On tehnički osigurava formu dokumenta u vidu binarnih znakova ali ne daje preciznu definiciju interpretacije sadrzaja. Tehnika elektronskog potpisa zasniva se na
sistemu dvostrukog elektronskog ključa. On je neophodan za razmenu podataka u mreži kadasu osobe koje u razmeni učestvuju nepoznate.
Trenutna verzija aplikacije može se koristi na svim poznatijim pretrazivacima ukljucujuci
novi Windows 10 pretrazivac Microsoft Edge. Rezultati testiranja su dobri, aplikacija je
ispravna i spremna za dalje korišćenje.
.
7/21/2019 Diplomski Rad - Informaticke Tehnologije
http://slidepdf.com/reader/full/diplomski-rad-informaticke-tehnologije 55/55
PHP Web aplikacija za evidenciju prijema eksternih dokumenta i propisa fakulteta
Literatura
1. Radulovic B, Kazi Lj, Kazi Z: Informacioni sistemi - odabrana poglavlja,
Tehnicki fakultet Mihajlo Pupin Zrenjanin, 2010. (2. ponovljeno izdanje)
2. Kazi Ljubica, Radulovic Biljana: »Projektovanje informacionih sistema kroz
primere i zadatke, praktikum«, 2008, Tehnicki fakultet „Mihajlo Pupin“Zrenjanin, ISBN 978-86-7672-105-4, Biblioteka „Udzbenici“, broj ј 134, 2007/08
3. S.Štrbac, B.Grgurović, G.Milovanović-Braković, “Sistemi za upravljanjedokumentima u obrazovanju”, IX međunarodna konferencija E-trgovina 2009,Palić, 2009.
4. ISO IEC 82045-5, Document Management – Part 5: Application of Metadata for
Construction and Facility Management Sector International Organization for
Standardization, 2005.5. P. Draker, “Upravljanje u novom društvu”, Adižes, Novi Sad, 2005. 6. M. Milovanović, “Sve više podataka – sve manje prostora,” [.pdf]
http://www.mfc-2.si/pdf/miki_sve_vise_podataka_sve_manje_prostora.pdf7. P.Tumbas, N. Balaban, “Elektronsko upravljanje procesima i upravljanje
tokovima poslova” [.pdf] www.eccf.su.ac.yu/Download/uis/prezentacija04.pdf8. http://www.dokumentenmanagement.com/index2.php?option=com_content&do
_pdf=1&id=160
9. M Sekulić, “Upravljanje dokumentacijom” E magazin, Jan. 2000. 10. http://www.banctec.com/solutions/business-process-management/11. http://www.src.si/sr/proizvodi/eoffice/
12. http://www.kofax.com/solutions.asp
13. http://www.canon.rs
14. http://office.microsoft.com/sr-latn-cs/sharepointserver/HA101747882074.aspx15. http://www.eierc.com/index.htm
16. http://www.earhiva.com/proizvodi/spidernet
17. www.w3schools.com
18. www.php.com19. http://www.fonforum.org/Modelovanje_poslovnih_procesa
20. http://stackoverflow.com/
Top Related