sveuČiliŠte u rijeci tehniČki fakultet - bib.irb.hr · 6 1 uvod zadatak ovog rada je izrada...

30
SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET Preddiplomski sveučilišni studij računarstva Završni rad RAZVOJ JEDNOSTAVNOGA SUSTAVA ZA UPRAVLJANJE SADRŢAJEM WEB STRANICA Mentor: izv.prof.dr.sc. Miroslav Joler Andrijana Balent Rijeka, rujan 2015 0069054723

Upload: others

Post on 14-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

SVEUČILIŠTE U RIJECI

TEHNIČKI FAKULTET

Preddiplomski sveučilišni studij računarstva

Završni rad

RAZVOJ JEDNOSTAVNOGA SUSTAVA ZA UPRAVLJANJE

SADRŢAJEM WEB STRANICA

Mentor: izv.prof.dr.sc. Miroslav Joler

Andrijana Balent

Rijeka, rujan 2015 0069054723

Page 2: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

2

Page 3: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

3

Page 4: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

4

Sadrţaj

1 UVOD ................................................................................................................................................... 6

2 KORIŠTENE TEHNOLOGIJE I ALATI ............................................................................................. 7

2.1 HTML ........................................................................................................................................... 7

2.2 CSS ............................................................................................................................................... 7

2.3 PHP ............................................................................................................................................... 8

2.4 SQL ............................................................................................................................................... 8

2.5 JavaScript ...................................................................................................................................... 8

2.6 jQuery ........................................................................................................................................... 9

2.7 AJAX (Asynchronous JavaScript and XML) ............................................................................... 9

2.8 WampServer ................................................................................................................................. 9

2.9 MySQL Workbench ...................................................................................................................... 9

3 WEB APLIKACIJA ............................................................................................................................ 10

3.1 Index ........................................................................................................................................... 10

3.2 Login screen ................................................................................................................................ 10

3.3 Dvije vrste stranica ..................................................................................................................... 11

3.4 Administratorski dio ................................................................................................................... 12

3.4.1 Upravljanje administratorima ............................................................................................ 13

3.4.2 Uređivanje običnih stranica ................................................................................................ 14

3.4.3 UreĎivanje stranice u tipu strukturirane liste ...................................................................... 15

3.4.4 Stvaranje nove obične stranice ........................................................................................... 16

3.4.5 Stvaranje novih unosa u stranicu u tipu strukturirane liste ................................................ 17

3.4.6 Uređivanje izbornika........................................................................................................... 17

3.4.7 Promjena pozadine ............................................................................................................. 18

4 BAZA PODATAKA ........................................................................................................................... 20

4.1 Općenito o bazama podataka ...................................................................................................... 20

Page 5: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

5

4.2 O korištenoj bazi podataka .......................................................................................................... 21

4.2.1 Entitet: menu ....................................................................................................................... 21

4.2.2 Entitet: page ........................................................................................................................ 22

4.2.3 Entitet: users ....................................................................................................................... 23

4.2.4 Entitet: backgrounds ........................................................................................................... 23

4.2.5 Entitet: pictures ................................................................................................................... 24

5 IMPLEMENTACIJA .......................................................................................................................... 25

6 INSTALACIJA ................................................................................................................................... 28

7 PRILOZI ............................................................................................................................................. 29

7.1 Slike ............................................................................................................................................ 29

Page 6: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

6

1 UVOD

Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se

koristiti za prezentaciju rada u CONS (Comunications and network systems) laboratoriju.

Potrebno je omogućiti stvaranje novih stranica iz aplikacije, ureĎivanje te brisanje istih,

premještanje stranica u druge izbornike te odabir izmeĎu obrasca obične stranice i strukturirane

liste kako bi novosti jednostavno mogle biti prezentirane u aplikaciji. Korištenje aplikacije u te

svrhe treba biti dopušteno samo za administratore aplikacije, dok je za ostale postjetitelje

moguće samo pregledavanje stranica.

Osim za praćenje radova u CONS laboratoriju, u aplikaciji će takoĎer biti prezentirana

oprema, odreĎeni projekti i istraživanja, popis sudionika te mogući kontakti.

Izrada tih funkcionalnosti aplikacije bit će opisani detaljnije u tekstu.

Page 7: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

7

2 KORIŠTENE TEHNOLOGIJE I ALATI

U izradi web aplikacije korišteni su HTML, CSS, PHP, MySQL, JavaScript (jQuery),

WampServer i MySQL Workbench.

2.1 HTML

HTML (HyperText Markup Language) - što u prijevodu znači prezentacijski jezik za

izradu web stranica. On je kostur za izradu web stranica te je odgovoran za osnovno

rasporeĎivanje elemenata po stranici koristeći znakove (eng. tags, npr. <HTML></HTML>).

Vrlo je jednostavan za uporabu. Zbog toga, a i zbog činjenice da je besplatan i

dostupan svima, poprilično je popularan i rasprostranjen. Html datoteke su zapravo obične

tekstualne datotoeke koje koristi web preglednik za interpretaciju sadržaja stranice. HTML

semantički opisuje strukturu web stranice i daje upute za prezentaciju, a to ga čini tzv.

markup jezikom, a ne programskim.

Danas, najnovija, dostupna verzija je HTML 5.

2.2 CSS

CSS (Cascading Style Sheets) je stilski jezik koji se koristi za vizualnu prezentaciju

stranice napisane html-om. Definira stil prikazivanja elementa - izgled i raspored stranice.

U ovoj je aplikaciji korištena eksterna css datoteka, ali i in-line css ispisan u samim

html elementima. Eksterna datoteka uključuje se u html:

<link rel="stylesheet" href="style.css" type="text/css">

Page 8: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

8

2.3 PHP

PHP (PHP: Hypertext Preprocessor) je programski jezik za programiranje dinamičnih

web stranica. Može kreirati, otvarati, čitati, pisati, brisati i zatvarati datoteke na serveru,

prikupljati podatke iz formi, slati i primati kolačiće (cookies), enkriptirati podatke.

Php radi na mnogim platformama, kompatibilan je sa skoro svim serverima koji se

koriste u današnje vrijeme, besplatan je te ga je jednostavno naučiti. Php se ističe širokom

podrškom raznih baza podataka i internet protokola kao i raspoloživosti brojnih

programerskih knjižnica. Php se izvršava na poslužitelju, zatim se vraća na web preglednik u

čistom HTML-u. To ga čini sigurnim kada su u pitanju lozinke.

2.4 SQL

SQL (Structured Query Language) je programski jezik dizajniran za upravljanje

podacima sadržanim u relacijskim bazama podataka. Postao je jedan od naješće korištenih

jezika u svom području. Koristi se u svrhu stvaranja upita za dohvaćanje podataka iz baze,

upisivanje podataka u bazu, brisanje podataka iz baze. Razvijen je 70-ih godina u IBM

Research Laboratoryy at San Jose - California u okviru relacijskog sustava za upravljanje

bazama podataka.

2.5 JavaScript

JavaScript je skriptni programski jezik koji se izvršava u web pregledniku na strani

korisnika. Koristi se zbog interaktivnosti stranice koju možemo postići njegovom primjenom.

Za njegovo korištenje nije potrebna licenca.

Najpopularniji je skriptni jezik na Internetu, a podržavaju ga gotovo svi poznati

preglednici (Internet Explorer, Mozzila Firefox, Netscape, Opera).S obzirom da je JavaScript

prevoditelj, skripta se odmah izvršava bez prethodnog prevoĎenja cijelog programa i

kreiranja izvršne datoteke.

JavaScript s AJAX (Asynchronous JavaScript and XML) tehnikom omogućuje web

stranicama komunikaciju sa serverskim programom, što čini aplikaciju interaktivnijom i

Page 9: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

9

lakšom za korištenje. AJAX je u ovoj aplikaciji korišten za slanje JavaScript varijabli u php

datoteku koja bi ih obradila i pohranila.

Cross platformna JavaScript knjižnica - jQuery. jQuery je najpopularinija JavaScript

knjižnica koja olakšava izradu dinamičkih web stranica i aplikacija.

2.6 jQuery

jQuery je JavaScript knjižnica čija je svrha pojednostavljivanje korištenja JavaScripta

na web stranici - "write less, do more". jQuery koristi mnogo sličnih zadataka koji zahtjevaju

dosta linija JavaScript koda za izvršavanje te ih sprema u metode koje se mogu pozvati sa

jednom linijom koda.

jQuery omogućuje razne efekte i animacije, pojednostavljuje manipulaciju CSS-om te

olakšava kompliciranije programiranje poput AJAX poziva i manipulacije DOM-om.

2.7 AJAX (Asynchronous JavaScript and XML)

Ajax je tehnika za kreiranje brzih i dinamičnih web stranica. Dopušta da web stranica

bude asinkrono ažurirana razmjenom malih količina podataka sa serverom - moguće je

ažurirati dijelove web stranice bez ponovnog učitavanja cijele stranice.

2.8 WampServer

WampServer je software koji imitira server na lokalnom računalu te tako omogućuje

razvoj aplikacije u lokalnom okruženju, a ne na Internetu.

2.9 MySQL Workbench

MySQL Workbench je grafički alat za dizajniranje baza podataka koji integrira SQL

razvoj, administraciju, dizajn i održavanje u zajedničko sučelje. Ima potpuno grafičko

korisničko sučelje. Postoji u besplatnom i komercijalnom izdanju.

Page 10: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

10

3 WEB APLIKACIJA

3.1 Index

Na prilično jednostavnoj index stranici nalazi se button 'LOGIN' za prijavu

administratora, menu za kretanje po aplikaciji, tj. pregledavanje stranica te prostor u kojeg se

ispisuje sadržaj stranice.

Slika 3.1 - Index stranica

3.2 Login screen

U slučaju krivog unosa podataka u formu za prijavljivanje (Slika 3.2 - Stranica za

prijavu), odnosno u slučaju krivo unesene lozinke, ispisuje se pogreška da je lozinka netočna.

Kada je korisničko ime netočno upisano, ispisuje se pogreška - "Nepostojeći korisnik". Ako

su podaci ispravni korisnik prelazi u administratorski dio.

U lijevom, donjem uglu imamo poveznicu natrag na index gdje posjetitelj može

nastaviti pregledavati stranicu s ograničenim mogućnostima, tj. kao posjetitelj.

Page 11: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

11

Slika 3.2 - Stranica za prijavu

3.3 Dvije vrste stranica

Kako bi organizacija sadržaja na stranici bila jednostavnija i efikasnija za različite

stranice, postoji mogućnost odabira izmeĎu:

obične stranice

stranice u tipu strukturirane liste.

Obična stranica se može koristiti kada se opisuje neka tema s više paragrafa teksta

koji se mogu poduprijeti sa slikom, dokumentom, videom i sl.

Stranica u tipu strukturirane liste je pak zamišljena kao stranica koja će sadržavati niz

odreĎenih paragrafa teksta tematski povezanih svaki sa jednom slikom. Na primjer, index

stranica je organizirana na isti način. Imamo neku objavu, s njom povezanu sliku, a ispod je

neka druga objava.

Page 12: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

12

Slika 3.3 - Prikaz obične stranice

3.4 Administratorski dio

Kada se prijavi, administratoru se promijeni index stranica. Postaju mu vidljive opcije

koje su skrivene običnom korisniku. TakoĎer, umjesto "Login" buttona prikazuju se ime i

prezime administratora s nekim opcijama.

Slika 3.4 - Index stranica iz pogleda administratorskog dijela

Page 13: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

13

Slika 3.5 - Podaci o administratoru

3.4.1 Upravljanje administratorima

Postoje dvije vrste administratora te posjetitelji. Imamo "power" administratora koji je

fiksni i može upravljati drugim administratorima. Može izmijeniti podatke o

administratorima u bazi, korisničko ime, obrisati svakog od njih, promijeniti im lozinku

(recimo u slučaju da je zaboravljena) te unijeti novog administratora.

Obični administrator nema mogućnost upravljanja drugim administratorima, ali ima

sve druge privilegije power administratora.

Dakle, podjela po ovlastima:

power administrator ima najveće ovlasti, iza njega je

obični administrator, a dalje slijede

posjetitelji

Page 14: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

14

Slika 3.6 - Stranica za upravljanje administratorima

Posebno, svaki od administratora može promijeniti svoju lozinku. U desnom, gornjem

uglu ispisano je njihovo ime, link za logout te stranica za promjenu lozinke. Osim toga,

mogu izmjenjivati menu, unositi nove stranice, mijenjati postojeće te promijeniti sliku

pozadine.

3.4.2 Uređivanje običnih stranica

Pri naknadnom ureĎivanju već stvorene obične vrste stranice, moguće je brisati

elemente te mijenjati njihov redoslijed klikom na jednu od dviju ponuĎenih strelica

(gore/dolje).

Page 15: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

15

Slika 3.7 - Uređivanje obično strukturirane stranice

Ako želimo unijeti nove elemente u postojeću stranicu koristimo Insert page (

Insert regular ) te upisujemo ime stranice koju želimo nadopuniti te kliknemo start. Na

desnoj strani, gdje je slobodni prostor ispisuje se postojeći sadržaj stranice, biramo vrstu

elementa kojeg želimo dodati, a zatim i element.

3.4.3 UreĎivanje stranice u tipu strukturirane liste

UreĎivanje stranice koja je u tipu strukturirane liste ima mogućnosti brisanja cijelog

unosa te ureĎivanja slike. Ukoliko obrišemo unos, brišemo i tekst i sliku. A ukoliko želimo

urediti sliku, nude nam se dvije opcije:

skrivanje slike (koju je moguće ponovo prikazati),

promjena veličine slike na način da upišemo njezinu širinu u pikselima (tada

će se njena visina automatski prilagoditi u istom omjeru kao što je promjena

širine).

Promjena veličine slike bitna je zbog organiziranja stranice. Tako administrator može

odlučiti je li bitan sadržaj slike u detalje pa će ju staviti u većoj rezoluciji ili je to nepotrebno

i samo zauzima prostor te će ju smanjiti na slabiju vidiljivost.

Sve promjene koje smo učinili na slikama, bilježe se u tablicu "pictures" u bazi

podataka te se kod svakog prikazivanja slike provjeravaju postavke u bazi i s obzirom na njih

se slika prikazuje.

Page 16: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

16

Slika 3.8 - Uređivanje stranice u tipu strukturirane liste

3.4.4 Stvaranje nove obične stranice

Kada želimo stvoriti novu, obično strukturiranu stranicu spremamo je i unosimo

elemente na isti način kao i kod već opisanog unosa elemenata u stranicu koja već postoji.

Jedina razlika je u tome što je kod stvaranja nove stranice potrebno, nakon odabira imena

stranice, odabrati na koju poziciju u menu-u ju želimo spremiti. Kada spremimo svoj odabir,

nastavljamo unositi elemente.

Slika 3.9 - Tijek izrade nove stranice

Page 17: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

17

3.4.5 Stvaranje novih unosa u stranicu u tipu strukturirane liste

Kod stranice koja je u tipu strukturirane liste, na sljedeći način unosimo elemente.

Kliknemo na ikonu koja prikazuje stranicu sa strukturiranim unosima. Korištenjem animacija

jQuery-a animira se pojavljivanje obrasca za spremanje teksta. Kada spremimo tekst

možemo izabrati želimo li odabrati sliku koja će biti pridružena prethodno unesenom tekstu.

Ako ju odaberemo, upišemo naziv slike te kliknemo 'Upload image'.

Ako kliknemo na "Cancel picture upload" spremamo samo spremljeni tekst koji se

prikazuje sam, bez slike na stranici.

Slika 3.10 - Novi unos u stranicu u tipu strukturirane liste

Po završetku se stranica ponovno učita i promjene postaju vidljive.

3.4.6 Uređivanje izbornika

Klikom na link "Edit menu" otvara se stranica za izmjene u menu-u. Uz pomoć

jQuery-a stranica radi na principu "drag-and-drop" (povuci-i-spusti) principu.

Ime svake pojedine stranice moguće je "povlačiti" po radnom prostoru s razlogom da

je ispustimo na jednom on naziva izbornika. Tada će se ista prebaciti u odabrani izbornik na

kojem je "spuštena".

Ukoliko se spusti na blok u kojem piše "Delete" sa ikonom koša za smeće, stranica će

se obrisati, a ukoliko ju spustimo na "Rename" otvara mogućnost preimenovanja

Page 18: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

18

stranice.

Slika 3.11 - Stranica za izmjene izbornika

3.4.7 Promjena pozadine

Kako bi aplikaciju bilo lakše "osvježiti" iznutra, s vremena na vrijeme nešto

promijeniti kako bi postala ugodnija oku, omogućeno je promijeniti sliku pozadine.

Slike su na stranici prikazane u bloku, smanjene, crno-bijele ili sepia boje. Moguće je

unijeti novu sliku, tada se stranica osvježi te nam i ona bude prikazana. Kada prijeĎemo

mišem preko jedne od slika, ona se radi efekta malo uveća i dobije pravu boju. Ako kliknemo

na nju otvori se lightbox sa slikom u realnoj veličini te neke opcije, a to su:

Close - zatvara lightbox

Set as background - postavlja sliku kao pozadinu

Delete - briše sliku

Slika 3.12 - Prikaz ved unesenih slika za pozadinu

Page 19: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

19

Slika 3.13 - Lightbox

Page 20: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

20

4 BAZA PODATAKA

4.1 Općenito o bazama podataka

Termin baza podataka izvorno je nastao u računalnoj industriji, a do sad se proširio te

uključuje i neelektronske baze podataka unutar svoje definicije.

Jedna od definicija je da je baza podataka skup zapisa spremljenih u računalu na

sustavni način, takav da joj se računalni program može dati smisleni upit za informacijama, a

predmeti vraćeni u odgovoru na upite postaju informacije koje se mogu koristiti za donošenje

odluka.

Takav računalni program nazvan je SUBP - sustav upravljanja bazom podataka (eng.

DBMS - database management system). To softverska aplikacija koja vrši interakciju s

korisnikom, drugim aplikacijama i sa bazom podataka kako bi se podaci spremili i

analizirali. Takav softver je najčešće dizajniran za definiranje, stvaranje, ispitivanje,

ažuriranje i administriranje podataka.

Poznati DBMS sustavi su: MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL

Server, Oracle, SAP HANA, dBASE, MongoDB, FoxPro, IBM DB2, LibreOffice Base,

FileMaker Pro, Microsoft Access i InterSystems Caché.

Postojeći DBMS pružaju različite funkcije koje omogućavaju upravljanje bazom

podataka i samim podacima, a te funkcije mogu biti klasificirane u četiri glavne funkcijske

skupine:

definicija podataka - kreiranje, modifikacija i uklanjanje definicija koje

definiraju organizaciju podataka

ažuriranje - ubacivanje, modifikacija i brisanje stvarnih podataka

dohvaćanje - pruža informacije u formi koju je direktno moguće koristiti u

daljnjem procesiranju od strane drugih aplikacija.

Page 21: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

21

administracija - registriranje i nadzor korisnika, provedba sigurnosti

podataka, nadzor performansi, održavanje integriteta podataka, vraćanje

informacija koje su bile koruptirane zbog nekog dogaĎaja

4.2 O korištenoj bazi podataka

Baza podataka sadrži ukupno svega 5 entiteta.

U ovoj aplikaciji, korištena je baza podataka sa sljedećim tablicama:

menu

page

users

backgrounds

pictures

4.2.1 Entitet: menu

Kako bi aplikacija mogla imati promjenjive izbornike potrebno je u bazu spremati

trenutno postavljene vrijednosti. Tablici 'menu' nazivi stranica povezani su sa nazivima

izbornika u kojima se nalaze.

Recent equipment

Ako na stranici "Edit page" prebacimo Recent u neki drugi izbornik, npr. news, to će

se spremiti u bazu podataka:

Recent news

Sada kad želimo ispisati izbornik news, korišten je upit: $query = "SELECT * from

`menu` where parent like '%equipment'";

Page 22: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

22

4.2.2 Entitet: page

Kako bi mogli unositi različite elemente u stranicu, brisati samo dijelove stranice ili

ureĎivati posebno neke dijelove stranice u tablici 'page' imamo informacije o svim

elementima svake stranice.

Atribut onPage govori nam za svaku stranicu kakav je raspored elemenata, ako

mijenjamo raspored, mijenja se i onPage. Atribut name govori naziv stranice na koju se

elementi trebaju ispisati. Atribut 'text' daj potrebni sadržaj o kojem god elementu da je riječ.

typeOfData daje informacije i vrsti podataka. OdreĎene vrste podataka ćemo ispisivati u

različite html oznake stoga nam je bitno znati koja vrsta podataka je spremljena u 'text'

atribut.

if ($type == "pic") {

echo '<img id="'.$id.'_pic" class=" " alt=""

src="' . $text . '" >';

}

if ($type == "text") {

echo '<p>' . $text .'</p>';

}

if ($type == "doc") {

<a href='" . $text . "'><iframe class=''

id='viewer' src = '" . $text . "' width='400' height='300'

autofocus='false'></iframe></a>";

}

Page 23: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

23

4.2.3 Entitet: users

Kako bi mogli manipulirati administratorima, davati ovlasti i dopuštenja, imamo

tablicu users koja sadrži podatke o administratorima. Ona sadrži id korisnika, username,

password, firstname, lastname, status, type.

U datoteci login.php koja započinje sjednicu, u $_SESSION varijablu se sprema

oznaka pristupa:

$_SESSION['pristup'] = vrsta_korisnika($login);

Ako nije postavljena varijabla $_SESSION['pristup'], korisnik nema administratorska

prava, dakle preusmjeren je na index stranicu.

if (!(isset($_SESSION['pristup']))) {

header ("Location: index.php");

}

Tako u aplikaciji kontroliramo tko je administrator, a tko posjetitelj. Dovoljno je

provjeriti postojanje varijable $_SESSION['pristup']. Na isti način pristupamo informaciji

koja daje razliku izmeĎu običnog i power administratora.

U tablici 'users' spremljene su lozinke korisnika koje takoĎer kontroliramo prilikom

prijavljivanja. U formu unesena lozinka se hashira md5 algoritmom koji se tada usporeĎuje

sa zapisom u bazi koji je u istom obliku.

4.2.4 Entitet: backgrounds

Da bi pozadina bila učitana stalno, svaki put kada se pokrene aplikacija, nakon

ponovnog učitavanja i sl. potrebno je da aplikacija pročita od nekud koju sliku treba učitati

za pozadinu. Kod promjene na isto mjesto spremamo informaciju o tome za koju sliku

želimo da bude na pozadini stranica.

Page 24: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

24

4.2.5 Entitet: pictures

Za svaku sliku za koju koristimo opcije ureĎivanja u tablici 'pictures' spremljen je

njezin id, postavljena širina za skaliranje veličine slike te 'showHide' koji govori aplikaciji

treba li ili ne prikazati pojedinu sliku.

Dio koda koji koristi tu informaciju je:

<?php

echo '<img id="'.$id.'_pic" style="';

if (checkHide($id)) { echo 'display:none;'; } else

{ echo 'display:block;" width="'; }

if (checkScale($id) != NULL && checkScale($id)!=

1)

{

$scale = checkScale($id);

echo $scale;

}

echo '" height:auto; class=" " alt="" src="' .

$text . '" ></td>';

?>

Page 25: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

25

5 IMPLEMENTACIJA

Jedan primjer korištenja AJAX-a je:

$.ajax({

type: "POST",

url: "updateText.php",

data:{ id: regularId, text: editedContent },

beforeSend: function() {

$('#'+save).text("Saving...");

},

success: function(){

$('#'+save).text("Save");

$('#'+ regularId +'_note').text("Saved.");

}

})

U navedenom primjeru ajax šalje varijable 'id' i 'text' u php datoteku updateText.php

gdje će se spremiti u bazu (php). Prije aktiviranja skripte button mijenja vrijednosti. ('Save' -

> 'Saving...' -> 'Saved.')

Za validaciju inputa korišten je jquery odnosno JavaScript.

var value=$.trim($("#pageName").val());

var len = value.length;

Page 26: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

26

if (len == 0) {

alert('You must enter a valid name.');

return;

}

Za spriječavanje pritiska na button više od jednom kada to želimo:

var timesClicked = 0;

(...)

timesClicked++;

if ( timesClicked >= 1 ) {

$( this ).unbind( event );

}

Primjer SQL upita s mysql_real_escape_string(); funkcijom za rad sa stringovima.

$query = "INSERT INTO page (onPage, name, text,

typeOfData) VALUES ( '$onPage', '$name', '" .

mysql_real_escape_string($text) . "', 'text')";

jQuery JavaScript knižnice (online zbog bržeg učitavanja):

<script type="text/javascript"

src="http://ajax.googleapis.com/ajax/libs/jquery/1.1

1.2/jquery.js"></script>

<script type="text/javascript"

src="http://ajax.googleapis.com/ajax/libs/jquery/1.1

1.2/jquery.min.js"></script>

Page 27: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

27

aplikacija ima modularan dizajn - pristup koji dijeli sistem u manje dijelove (module)

koji se mogu samostalno kreirati i koristiti u različitim sustavima. Svojstva

modularnog dizajna:

1 Funkcionalna podjela u skalabilne i ponovno iskoristive module koji se

sastoje od izoliranih funkcionalnih elemenata.

2 Objektno orijentirana funkcionalnost.

3 Jednostavna izmjena pojedinih modula.

Podjela sustava u manje dijelove (module) napravljena pomoću php koda. Jedan dio

koda je u drugoj php datoteci. Po potrebi pozivamo ju php funkcijama.

PHP funkcije za uključivanje jedne php datoteke u drugu su:

include 'path/to/file';

require 'path/to/file';

include_once 'path/to/file';

require_once 'path/to/file';

Razlika izmeĎu naredbi je u tome što će include u slučaju greške javiti samo warning

(E_WARNING), kompilacija skripte se nastavlja dalje, suprotno tome, kod require se u

slučaju greške javlja fatal error (E_COMPILE_ERROR) te se kompilacija skripte zaustavlja.

"_once" nastavak znači da je potrebno samo jedno učitavanje php datoteke.

Page 28: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

28

6 INSTALACIJA

Mapu u kojoj se nalaze datoteke koje čine aplikaciju potrebno je prebaciti u 'www' folder

gdje je instaliran WampServer (C:\wamp\www)

Pokretanje aplikacije odvija se iz web preglednika pretraživanjem adrese

'127.0.0.1/cons/index.php' ili 'http://localhost/cons/index.php'

Page 29: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

29

7 PRILOZI

7.1 Slike

Slika 3.1 - Index stranica ........................................................................................................ 10

Slika 3.2 - Stranica za prijavu ................................................................................................. 11

Slika 3.3 - Prikaz obične stranice ........................................................................................... 12

Slika 3.4 - Index stranica iz pogleda administratorskog dijela ............................................... 12

Slika 3.5 - Podaci o administratoru ......................................................................................... 13

Slika 3.6 - Stranica za upravljanje administratorima .............................................................. 14

Slika 3.7 - UreĎivanje obično strukturirane stranice .............................................................. 15

Slika 3.8 - UreĎivanje stranice u tipu strukturirane liste ........................................................ 16

Slika 3.9 - Tijek izrade nove stranice ..................................................................................... 16

Slika 3.10 - Novi unos u stranicu u tipu strukturirane liste .................................................... 17

Slika 3.11 - Stranica za izmjene izbornika ............................................................................. 18

Slika 3.12 - Prikaz već unesenih slika za pozadinu ................................................................ 18

Slika 3.13 - Lightbox .............................................................................................................. 19

Page 30: SVEUČILIŠTE U RIJECI TEHNIČKI FAKULTET - bib.irb.hr · 6 1 UVOD Zadatak ovog rada je izrada sustava za upravljanje sadržajem web stranica koja će se koristiti za prezentaciju

30

LITERATURA

[1] Oracle Corporation: „MySQL Workbench“, s Interneta,

http://www.oracle.com/us/products/mysql/mysql-workbench-066221.html,

lipanj, 2015.

[2] W3Schools: „HTML contenteditable Attribute“, s Interneta,

http://www.w3schools.com/tags/att_global_contenteditable.asp, lipanj, 2015.

[3] W3Schools: „HTML Drag and Drop“, s Interneta,

http://www.w3schools.com/html/html5_draganddrop.asp, srpanj 2015.

[4] Oracle Corporation: „MySQL :: MySQL 5.0 Reference Manual :: 13.2.5.3 INSERT

... ON DUPLICATE KEY UPDATE Syntax“, s Interneta,

http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html, srpanj 2015.

[5] W3Schools: „jQuery Tutorial“, s Interneta,

http://www.w3schools.com/jquery, kolovoz 2015.

[6] jQuery: „jQuery.ajax() “, s Interneta,

http://api.jquery.com/jquery.ajax/, kolovoz 2015.

[7] The PHP Group: „PHP: unlink - Manual“, s Interneta,

http://php.net/manual/en/function.unlink.php, rujna 2015.