Mihailo Trišić 298/10
Dokumentacija – praktikum 2 (PHP)
Sajt „Tezga“ u CodeIgniter-u
maj - jul 2013
1 UVOD
Korišćeni programski jezici i tehnologije
HTML, CSS, PHP, CodeIgniter, MySql, JavaScript, jQuery, ajax
Korišćeni alati
Netbeans IDE, xampp, Photoshop CS6, ColorSchemer Studio
Opis funkcionalnosti
Registracija korisnika i logovanje sa ulogama; zaštita pristupa pojedinim
stranicama i zabrana pojedinih funkcionalnosti u zavisnosti od uloge
korisnika; pretraga sadržaja; korpa; admin-panel...
Za opšte shvatanje MVC arhitekture i CodeIgniter-a pomogao mi je
tutorijal.
Template
HTML-CSS template sam u potpunosti sam pravio, zajedno sa svim
JavaScript-om i jQuery-jem. Za slajder i drop-down-menu su mi pomogli
tutorijali: slajder, meni.
Svaka stranica se sklapa od najmanje 3 viewa:
1) Header – tu je head html tag
2) Nav – glavni meni
3) View specifične stranice – html div “content” i njegov sadržaj; za
svaku stranicu se razlikuje ovaj view
4) Footer – futer stranice, uglavnom isti za svaku stranicu.
2 ORGANIZACIJA
Šema
Baza
Modeli
modelAdminPanel – model za obradu podataka vezanih za operacije
koje izvršava samo administrator
modelArtikal – funkcije za operisanje sa svim podacima vezanih za
artikle
modelKorisnici – logovanje, registracija, itd.
modelPosete – obrada poseta sajtu, učitava se samo na home stranici
modelSlajder – sve za slajder
3 STRANICE
Header i footer
Prilikom učitavanja bilo koje stranice (tj. pozivanja bilo koje funkcije iz
kontrolera site), prvo se učitava view header (head tag u htmlu), pa onda
view nav, tj. glavni meni. Njegova struktura zavisi od stanja sesije. Ako je
korisnik ulogovan, umesto dugmeta login biće prikazano dugme logout.
Štaviše, ako je autorizovani korisnik u isto vreme administrator,
prelaskom miša preko dugmeta logout pokazaće se drop-down-meni sa
linkovima ka različitim stranicama admin-panela.
Footer je uvek poslednji view koji se učitava u stranicu. On je isti za sve
stranice, osim za početnu, gde umesto logoa sajta stoji broj poseta
sajtu. Posete se čuvaju u bazi, u tabeli posete. Prilikom učitavanja
funkcije home u glavnom (i jedinom) kontroleru, učitava se i model
modelPosete, kome se prosleđuje IP adresa posetioca. Tu se proverava
da li je ta IP adresa već upisana u bazu. Ako nije upisana, upisuje se u
bazu i prebrojava se ukupan broj redova tabele. Ako jeste upisana,
preskače se deo sa upisivanjem, i na taj način se beleže samo unikatni
posetioci.
Home
Slajder sam sam pravio, pomogao mi je gore pomenuti tutorijal sa
youtube-a. Njegov sadržaj može administrator da promeni kroz adminpanel. Sadržaj se čuva u bazi – slika za prikaz, pozicija slajda, i link ka
kojem vodi slajd kad se na njega klikne.
Ispod se prikazuje 8 random artikala.
Login i Signup
Stranici login mogu pristupiti samo neautorizovani korisnici. Nakon
popunjavanja forme za logovanje, proverava se da li u bazi postoji taj
korisnik, i ako postoji, započinje se sesija sa njegovim podacima. U sesiji
se čuva i podatak da li je korisnik administrator.
Na stranici login postoji i link ka stranici signup. Za nju sam takođe
napravio zaštitu od autorizovanih korisnika. Popunjavanjem forme za
registraciju, izvršava se njena validacija. Ako uspe validacija forme,
podaci se upisuju u tabelu tmp_korisnici, i generiše se validation key. On
se upisuje kao dodatno polje u tabeli, i šalje se na e-mail korisniku. U emailu će biti link ka stranici register_user, koja kao parametar prima
validation key. Ukoliko se prosleđeni ključ poklapa sa onim koji se nalazi
u privremenoj tabeli, svi podaci iz te privremene tabele se prebacuju u
tabelu korisnici. Od tog trenutka korisnik je zvanično verifikovan i može
da se uloguje.
Ulogovani korisnici mogu pozvati funkciju kontrolera logout klikom na link
iz glavnog menija, čime se uništava trenutna sesija.
Za sve funkcionalnosti logovanja i registracije pomogao mi je tutorijal.
Artikli
Na stranicu artikli može da se dođe iz glavnog menija (klikom na link
artikli ili klikom na jednu od stavki iz padajućeg menija), ili
submitovanjem forme za pretragu koja je na svakoj stranici pored
glavnog menija. Funkcija artikli u kontroleru prima jedan argument. On
se odmah prosleđuje funkciji pretraga u modelu modelArtikal, i tu se vrši
sva logika.
Ukoliko je argument 1, 2 ili 3, to znači da je korisnik dospeo tu iz
padajućeg menija odabirom određene kategorije artikala koje želi da
pretražuje. U tim slučajevima se selektuju svi artikli gde je idKategorije =
argument.
Ukoliko je argument 0, kliknuto je na link artikli u glavnom meniju, i
selektuju se svi artikli iz baze bez obzira na kategoriju.
Submitovanjem forme za pretragu, stranici artikli se kao parametar
prosleđuje uneti string. U tom slučaju se selektuju artikli koji u sastavu
naziva modela / opisa artikla / naziva proizvođača imaju taj string.
Dobijeni podaci se vraćaju kontroleru, koji ih prosleđuje viewu koji ih
prikazuje.
Artikal
Ovo je stranica za prikazivanje detalja o određenom artiklu. Funkciji
artikal u kontroleru prosleđuje se id artikla, koji funkcija getArtikal modela
modelArtikli koristi da bi dohvatila podatke o tom artiklu. Međutim,
uzimajući u obzir da različite kategorije artikala imaju različite
specifikacije, ne nalaze se sve informacije o određenom artiklu u tabeli
artikli. Zbog toga svaka kategorija artikla ima svoju tabelu u bazi, i prikaz
artikla zavisi od kategorije kojoj pripada. Tačnije, tabela sa
specifikacijama ispod slike artikla je drugačija za svaku kategoriju artikla.
Samo administrator može brisati artikle klikom na link izbriši artikal. Drugi
korisnici taj link ni ne vide. I ručnim unosom adrese ka toj funkciji
kontrolera može se obrisati artikal samo ako je korisnik administrator.
Korpa
Pored ostalih pomagala, uvek se automatski učitava ugrađena biblioteka
CodeIgniter-a cart.
Samo ulogovani korisnici mogu ubacivati artikle u korpu, i pregledati njen
sadržaj na stranici korpa.
Klikom na dugme koje predstavlja korpu na stranici artikal, poziva se
funkcija ubaciUKorpu, koja radi upravo to. Ukoliko je korisnik
autorizovan, artikal se ubacuje u korpu i korisnik biva redirektovan na
stranicu korpa. U suprotnom, korisnik je redirektovan na stranicu login.
Stranica korpa služi za pregledanje sadržaja korpe, kao i izbacivanje
artikala iz nje ili potpuno pražnjenje korpe.
Za izradu korpe pomogao mi je tutorijal.
Admin panel
Administrator preko drop-down-menija glavnog menija ima pristup
sledećim stranicama: adminPanelDodajArtikal, adminChange,
proizvodjaci, i slajder. Funkcionalnosti predviđene njima su dodavanje
artikala, brisanje korisnika, dodavanje/oduzimanje korisnicima
administratorskih prava, dodavanje i brisanje proizvođača, i izmena
slajdera.
Kontakt
Na ovoj stranici se nalazi kontakt forma, za čiju obradu (kao i za sve
druge forme na sajtu) sam koristio biblioteku form_validation, kao i
biblioteku email.
3 KODOVI
PHP:
Glavni kontroler site
<?php
if (!defined('BASEPATH'))
exit("No direct script acces allowed");
class site extends CI_Controller {
public function index() {
$this->home();
}
//HOME
public function home() {
$headPodaci['title'] = "Pocetna";
$headPodaci['scriptoviSpecificniZaStranicu'] = "<script
type='text/javascript' src='" . base_url() . "scripts/slider.js'></script>";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model('modelSlajder');
$data['slajdovi'] = $this->modelSlajder->dohvatiSlajdove();
$this->load->model('modelArtikal');
$data['randomArtikli'] = $this->modelArtikal>randomOsamArtikala();
$ipAdresa = $this->input->ip_address();
$this->load->model('modelPosete');
$brojPoseta['br'] = $this->modelPosete->brojPoseta($ipAdresa);
$this->load->view("home", $data);
$this->load->view("footer", $brojPoseta);
}
//KONTAKT
public function kontakt() {
$headPodaci['title'] = "Kontakt";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("kontakt");
$this->load->view("footer");
}
public function send_email() {
$this->load->library("form_validation");
//id ili name, text koji ce se ispisati za error, uslovi
$this->form_validation->set_rules("tbIme", "Ime",
"required|alpha|xss_clean");
$this->form_validation->set_rules("tbEmail", "Email",
"required|valid_email|xss_clean");
$this->form_validation->set_rules("taPoruka", "Poruka",
"required|xss_clean");
if ($this->form_validation->run() == FALSE) {
//ako nije uspela validacija, ponovo ucitaj ceo view
//greske ce se ispisati jer ti u viewu stoji na pocetku linija za to
$headPodaci['title'] = "Kontakt";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("kontakt");
$this->load->view("footer");
} else {//ako je validacija prosla
$data["porukaOk"] = "Email je uspešno poslat!<br/>";
$this->load->library("email");
$this->email->from(set_value("tbEmail"), set_value("tbIme"));
//koji email, koje je ime osobe
$this->email->to("[email protected]");
$this->email->subject("TEZGA - kontakt strana");
$this->email->message(set_value("taPoruka"));
$this->email->send();
//echo $this->email->print_debugger();
$headPodaci['title'] = "Kontakt";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("kontakt", $data);
$this->load->view("footer");
}
}
//LOGOVANJE I REGISTRACIJA
public function login() {
//ako je ulogovan, ne daj mu
if ($this->session->userdata('jeste_ulogovan')) {
redirect('site/home');
} else {
$headPodaci['title'] = "Login";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("login");
$this->load->view("footer");
}
}
public function login_validation() {
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email',
'required|trim|valid_email|xss_clean|callback_validate_credentials');
$this->form_validation->set_rules('pass', 'Password', 'required|trim');
$this->form_validation->set_message('required', "Polje <i>%s</i> je
obavezno.");
$this->form_validation->set_message('valid_email', "Nepravilno
unet email.");
//ako je uspela validacija, uloguj ga
if ($this->form_validation->run()) {
//proveri da li je admin
$this->load->model('modelKorisnici');
$admin = $this->modelKorisnici->daLiJeAdmin();
$data = array(
'email' => $this->input->post('email'),
'jeste_ulogovan' => 1,
'admin' => $admin[0]->admin
);
$this->session->set_userdata($data);
redirect('site/korpa');
} else {//ako nije uspela validacija, vrati ga na login stranu
$headPodaci['title'] = "Login";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("login");
$this->load->view("footer");
}
}
public function validate_credentials() {
$this->load->model('modelKorisnici');
if ($this->modelKorisnici->mozeDaSeUloguje()) {
return true;
} else {
$this->form_validation->set_message('validate_credentials',
'Pogrešan username/password');
return false;
}
}
public function logout() {
if ($this->session->userdata('jeste_ulogovan')) {
$this->session->sess_destroy();
}
redirect('site/home');
}
//REGISTROVANJE
public function signup() {
//ako je ulogovan, ne daj
if ($this->session->userdata('jeste_ulogovan')) {
redirect('site/login');
} else {//ako nije ulogovan, ucitaj signup stranu
$headPodaci['title'] = "signup";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("signup");
$this->load->view("footer");
}
}
public function signup_validation() {
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email',
'required|trim|valid_email|is_unique[korisnici.email]');
$this->form_validation->set_rules('pass', 'Password', 'required|trim');
$this->form_validation->set_rules('cpass', 'Potvrdi Password',
'required|trim|matches[pass]');
$this->form_validation->set_rules('ime', 'Ime',
'trim|required|regex_match[/^[A-Z]{1}[A-Za-z]{2,20}$/]'); //reg(Pocinje
velikim slovom, ostalo samo slova)
$this->form_validation->set_rules('prezime', 'Prezime',
'trim|required|regex_match[/^[A-Z]{1}[A-Za-z]{2,20}$/]'); //reg(Pocinje
velikim slovom, ostalo samo slova)
$this->form_validation->set_rules('pol', 'Pol', 'required');
$this->form_validation->set_rules('adr', 'Adresa', 'trim|required');
$this->form_validation->set_rules('fon', 'Telefon',
'trim|required|regex_match[/[^a-zA-Z]/]'); //reg(ne sme da sadrzi slova)
$this->form_validation->set_message('is_unique', "Taj e-mail već
postoji.");
$this->form_validation->set_message('required', "Polje <i>%s</i> je
obavezno.");
$this->form_validation->set_message('valid_email', "Nepravilno
unet email.");
$this->form_validation->set_message('regex_match', "Polje
<i>%s</i> je nepravilno uneto.");
$this->form_validation->set_message('matches', "Ne slažu se
lozinke.");
if ($this->form_validation->run()) {//ako je registracija uspela
//pripremi key za verifikaciju
$key = md5(uniqid());
//sklepaj email
$this->load->library('email', array('mailtype' => 'html'));
$this->email->from([email protected]', "Tezga
registracija");
$this->email->to($this->input->post('email'));
$this->email->subject("Molimo, potvrdite svoj nalog.");
$poruka = "<p>Hvala što ste se registrovali na našem sajtu!</p>
<p>Kliknite na link ispod kako biste verifikovali vaš nalog!
Nakon toga ćete biti automatski ulogovani.</p>
<p><a href='" . base_url() . "site/register_user/$key'>Kliknite
ovde!</a></p>
";
$this->load->model('modelKorisnici'); //ucitaj model
if ($this->modelKorisnici->add_temp_user($key)) {//ako je
uspesno unet u temp tabelu, posalji mu email da se verifikuje
$this->email->message($poruka);
if ($this->email->send()) {
echo "Uspesna registracija. Poslali smo vam verifikacioni email.";
} else {
echo "Neuspesno slanje emaila.";
}
} else {
echo "Greska prilikom unosa u privremenu tabelu.";
}
} else {//ako nije uspela, vrati ga na signup stranicu
$headPodaci['title'] = "signup";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("signup");
$this->load->view("footer");
}
}
public function register_user($key) {
$this->load->model('modelKorisnici');
if ($this->modelKorisnici->is_key_valid($key)) {
//ako nije rucno uneo key gore neki levi, ubaci ga u prave
korisnike
if ($noviEmail = $this->modelKorisnici->add_user($key)) {
$data = array(
'email' => $noviEmail,
'jeste_ulogovan' => 1
);
$this->session->set_userdata($data);
redirect('site/korpa');
} else {
echo "Greska prilikom ubacivanja korisnika u bazu. Molimo
pokusajte ponovo, ili kontaktirajte administratora.";
}
} else {
echo "invalid key";
}
}
//KORPA
public function korpa() {
//ako je ulogovan, pusti ga
if ($this->session->userdata('jeste_ulogovan')) {
$headPodaci['title'] = "korpa";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->view("korpa");
$this->load->view("footer");
} else {//ako nije ulogovan, ucitaj login stranu
redirect('site/login');
}
}
public function ubaciUKorpu($idArtikla) {
if ($this->session->userdata('jeste_ulogovan')) {
$this->load->model("modelArtikal");
$artikal = $this->modelArtikal->dohvatiArtikal($idArtikla);
$ubaci = array(
'id' => $idArtikla,
'qty' => 1,
'price' => $artikal[0]->cena,
//'name' => "<a
href='".base_url()."site/artikal/".$idArtikla."'>".$artikal[0]->proizvodjac."
".$artikal[0]->model."</a>",
'name' => $artikal[0]->proizvodjac . " " . $artikal[0]->model,
'options' => array('slika' => $artikal[0]->slika)
);
$this->cart->insert($ubaci);
redirect('site/korpa');
} else {//ako nije ulogovan, ucitaj login stranu
redirect('site/login');
}
}
public function destroyKorpu() {
$this->cart->destroy();
redirect('site/korpa');
}
public function izbaciIzKorpe($id) {
$data = array(
'rowid' => $id,
'qty' => 0
);
$this->cart->update($data);
redirect('site/korpa');
}
//ARTIKLI (pretraga)
public function artikli($arg) {
$headPodaci['title'] = "artikli";
$headPodaci['scriptoviSpecificniZaStranicu'] = "<script
type='text/javascript' src='" . base_url() . "scripts/artikli.js'></script>";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model("modelArtikal");
$data['init'] = $this->modelArtikal->Pretraga($arg);
$this->load->view("artikli", $data);
$this->load->view("footer");
}
public function formaSearch() {
redirect('site/artikli/' . $this->input->post('tbSearch'));
}
//ARTIKAL
public function artikal($idArtikla) {
$headPodaci['title'] = "artikal";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model("modelArtikal");
$podaci["art"] = $this->modelArtikal->getArtikal($idArtikla);
$this->load->view("artikal", $podaci);
//tabela sa specifikacijama je poseban view, karakteristike artikla
zavise od toga sta je majku mu.
//ovde se ucitava view tacno te kategorije kojoj pripada taj artikal.
$kategorija = $this->modelArtikal->getKategorijuArtikla($idArtikla);
$this->load->view("" . $kategorija[0]->kategorija, $podaci);
//isto kao i view("monitori", $podaci); ili view("misevi", $podaci);
$this->load->view("footer");
}
//ADMIN
public function adminDodajArtikal() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$headPodaci['title'] = "AdminPanel";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
//proizvodjaci
$this->load->model("modelAdminPanel");
$data["proizvodjaci"] = $this->modelAdminPanel>getProizvodjace();
//maxrezolucija
$data["maxRezolucije"] = $this->modelAdminPanel>getMaxRezolucije();
//tipsenzora
$data["tipSenzora"] = $this->modelAdminPanel>getTipSenzora();
//tippovezivanja
$data["tipPovezivanja"] = $this->modelAdminPanel>getTipPovezivanja();
//tipovi monitora
$data["tipovi_monitora"] = $this->modelAdminPanel>getTipoveMonitora();
$this->load->view("adminpanelDodajArtikal", $data);
$this->load->view("footer");
}
else
redirect('site/home');
}
public function dodajArtikal() {
$this->load->helper('file');
$this->load->library("form_validation");
$this->form_validation->set_rules('tbModel', 'Model',
'required|trim|is_unique[artikli.model]');
$this->form_validation->set_rules('tbCena', 'Cena', 'required|trim');
$this->form_validation->set_rules('tbNaStanju', 'Na stanju',
'required|trim');
$this->form_validation->set_rules('tbGarancija', 'Garancija',
'required|trim');
$this->form_validation->set_rules('taOpis', 'Opis', 'required|trim');
$kategorija = $this->input->post('rbArtikal');
switch ($kategorija) {
case "monitori": {
$this->form_validation->set_rules('tbDijagonala',
'Dijagonala', 'required|trim');
$this->form_validation->set_rules('tbUgaoVidljivosti', 'Ugao
vidljivosti', 'required|trim');
$this->form_validation->set_rules('tbOdziv', 'Odziv',
'required|trim');
$this->form_validation->set_rules('tbKontrast', 'Kontrast',
'required|trim');
$this->form_validation->set_rules('tbOsvetljenje',
'Osvetljenje', 'required|trim');
break;
}
case "misevi": {
$this->form_validation->set_rules('tbRezolucija', 'DPI
Rezolucija', 'required|trim');
$this->form_validation->set_rules('tbBrojTastera', 'Broj
tastera', 'required|trim');
break;
}
case "zvucnici": {
$this->form_validation->set_rules('tbSistem', 'Sistem',
'required|trim');
$this->form_validation->set_rules('tbSnaga', 'Snaga',
'required|trim');
$this->form_validation->set_rules('tbPovezivanje',
'Povezivanje', 'required|trim');
break;
}
default: {
redirect('site/adminDodajArtikal');
break;
}
}
$this->load->model('modelAdminPanel');
if ($this->form_validation->run()) {//ako je uspela
validacija//UPLOAD SLIKE
$config['upload_path'] = 'img/artikli/';
$config['allowed_types'] = 'gif|jpg|png';
$config['overwrite'] = true;
$config['remove_spaces'] = false;
$config['max_size'] = '1000';
$this->load->library('upload', $config);
if (!$this->upload->do_upload('fbSlika')) {
redirect('site/admin');
} else {//ako je uploadovano, resizuj
$config['source_image'] = $this->upload->upload_path . $this>upload->file_name;
$putanjaDoFajla = "img/artikli/" . $this->upload->file_name;
$config['maintain_ratio'] = FALSE;
$config['width'] = 340;
$config['height'] = 340;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
}
if ($this->modelAdminPanel->insertArtikal($kategorija,
$putanjaDoFajla)) {
$maxid = $this->modelAdminPanel->maxArtikla();
echo "Uspesno unet artikal. <a href='artikal/" . $maxid[0]>maks . "'>Link</a>";
} else {
echo "Greska prilikom unosa u tabelu.";
}
} else {//ako nije uspela validacija
$headPodaci['title'] = "AdminPanel";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
//proizvodjaci
$this->load->model("modelAdminPanel");
$data["proizvodjaci"] = $this->modelAdminPanel>getProizvodjace();
//maxrezolucija
$data["maxRezolucije"] = $this->modelAdminPanel>getMaxRezolucije();
//tipsenzora
$data["tipSenzora"] = $this->modelAdminPanel>getTipSenzora();
//tippovezivanja
$data["tipPovezivanja"] = $this->modelAdminPanel>getTipPovezivanja();
//tipovi monitora
$data["tipovi_monitora"] = $this->modelAdminPanel>getTipoveMonitora();
$this->load->view("adminpanelDodajArtikal", $data);
$this->load->view("footer");
}
}
public function izbrisiArtikal($idArtikla) {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->model('modelAdminPanel');
if ($this->modelAdminPanel->delArtikal($idArtikla)) {
echo "Uspesno ste obrisali artikal. <a href='" . base_url() .
"site/home'>Home</a>";
} else {
echo "Greska pri pokusaju brisanja artikla.";
}
}
else
redirect('site/home');
}
//za proglasavanje/oduzimanje korisnicima admin privilegija
public function adminChange() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$headPodaci['title'] = "AdminPanel";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model("modelAdminPanel");
$data['admini'] = $this->modelAdminPanel->sviAdmini();
$data['korisnici'] = $this->modelAdminPanel->sviKorisnici();
$this->load->view("userChange", $data);
$this->load->view("footer");
}
else
redirect('site/home');
}
public function dodajAdmina() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->model("modelAdminPanel");
if ($this->modelAdminPanel->proglasiAdminom())
echo "uspesno ste proglasili korisnika adminom. <a href='" .
base_url() . "site/adminChange'>Nazad</a>";
else
echo "Doslo je do greske pri kontaktu sa bazom";
}
else {
redirect('site/home');
}
}
public function oduzmiAdmina() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->model("modelAdminPanel");
if ($this->modelAdminPanel->razglasiAdminom())
echo "uspesno ste korisniku ukinuli admin prava. <a href='" .
base_url() . "site/adminChange'>Nazad</a>";
else
echo "Doslo je do greske pri kontaktu sa bazom";
}
else {
redirect('site/home');
}
}
public function izbrisiKorisnika() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->model("modelAdminPanel");
if ($this->modelAdminPanel->brisanjeKorisnika())
echo "uspesno ste izbrisali korisnika. <a href='" . base_url() .
"site/adminChange'>Nazad</a>";
else
echo "Doslo je do greske pri kontaktu sa bazom";
}
else {
redirect('site/home');
}
}
public function proizvodjaci() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$headPodaci['title'] = "AdminPanel";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model("modelAdminPanel");
$data['proizvodjaci'] = $this->modelAdminPanel>sviProizvodjaci();
$this->load->view("proizvodjaci", $data);
$this->load->view("footer");
}
else
redirect('site/home');
}
public function ukloniProizvodjaca() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->model("modelAdminPanel");
if ($this->modelAdminPanel->delProiz())
echo "uspesno ste izbrisali proizvodjaca. <a href='" . base_url()
. "site/adminChange'>Nazad</a>";
else
echo "Doslo je do greske pri kontaktu sa bazom";
}
else {
redirect('site/home');
}
}
public function dodajProizvodjaca() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->model("modelAdminPanel");
$this->load->helper('file');
$config['upload_path'] = 'img/proizvodjaci/';
$config['allowed_types'] = 'gif|jpg|png';
$config['overwrite'] = true;
$config['remove_spaces'] = false;
$config['max_size'] = '1000';
$this->load->library('upload', $config);
if ($this->upload->do_upload('fbLogo')) {
$config['source_image'] = $this->upload->upload_path . $this>upload->file_name;
$config['maintain_ratio'] = FALSE;
$config['width'] = 100;
$config['height'] = 100;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
}
$putanja = "img/proizvodjaci/" . $this->upload->file_name;
if ($this->modelAdminPanel->dodProiz($putanja))
echo "uspesno ste dodali proizvodjaca. <a href='" . base_url() .
"site/adminChange'>Nazad</a>";
else
echo "Doslo je do greske pri kontaktu sa bazom";
}
else {
redirect('site/home');
}
}
public function adminSlajder() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$headPodaci['title'] = "AdminPanel";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model("modelAdminPanel");
$data = "";
$this->load->view("adminSlajder", $data);
$this->load->view("footer");
}
else
redirect('site/home');
}
public function izmeniSlajder() {
if ($this->session->userdata('jeste_ulogovan') && $this->session>userdata('admin')) {
$this->load->library("form_validation");
$this->load->helper('file');
$slika = $_FILES["fbSlika"];
if (isset($_FILES['fbSlika']['name'])) {
$ime_fajla = $slika['name'];
$tmp_name = $slika['tmp_name'];
if (move_uploaded_file($tmp_name, "img/slider/" . $ime_fajla))
{
$this->load->model('modelSlajder');
if ($this->modelSlajder->izmeni("img/slider/" . $ime_fajla)) {
echo "Uspesno ste izmenili slajder. <a href='" . base_url()
. "site/adminSlajder'>Nazad</a>";
}
else
echo "Greska u radu sa bazom.";
}
else
echo "Doslo je do greske u uploadu fajla. <a href='" .
base_url() . "site/adminSlajder'>Nazad</a>";
}
else {
$headPodaci['title'] = "AdminPanel";
$this->load->view("header", $headPodaci);
$this->load->model("modelPosete");
$podaciKategorije["kategorije"] = $this->modelPosete>ddlMenuKategorije();
$this->load->view("nav", $podaciKategorije);
$this->load->model("modelAdminPanel");
$data = "";
$this->load->view("adminSlajder", $data);
$this->load->view("footer");
}
}
else
redirect('site/home');
}
}
?>
modelAdminPanel
<?php
class modelAdminPanel extends CI_Model
{
public function getProizvodjace()
{
$upit = "SELECT * FROM proizvodjaci;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function getTipoveMonitora()
{
$upit = "SELECT * FROM monitori_tipovi;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function getMaxRezolucije()
{
$upit = "SELECT * FROM monitori_rezolucije;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function getTipSenzora()
{
$upit = "SELECT * FROM misevi_senzori;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function getTipPovezivanja()
{
$upit = "SELECT * FROM misevi_povezivanje;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function delArtikal($idArtikla)
{
//$rezultat = $this->db->delete("artikli", $idArtikla);
$rezultat = $this->db->query("DELETE FROM artikli WHERE
idArtikla = $idArtikla;");
return $rezultat;
}
public function maxArtikla()
{
//$upit = "SELECT MAX(idArtikla)+1 AS maks FROM artikli;";
$upit = "SELECT MAX(idArtikla) AS maks FROM artikli;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function insertArtikal($kategorija, $putanjaDoFajla)
{
$data1 = array(
'model' => $this->input->post('tbModel'),
'cena' => $this->input->post('tbCena'),
'slika' => $putanjaDoFajla,
'naStanju' => $this->input->post('tbNaStanju'),
'opis' => $this->input->post('taOpis'),
'idProizvodjaca' => $this->input->post('ddlProizvodjac'),
'garancijaProizvodjaca' => $this->input->post('tbGarancija')
);
switch($kategorija)
{
case "monitori":{$data1["idKategorije"] = 1; break;}
case "misevi":{$data1["idKategorije"] = 2; break;}
case "zvucnici":{$data1["idKategorije"] = 3; break;}
}
$query1 = $this->db->insert('artikli', $data1);
$a = $this->maxArtikla();
$maxid = $a[0]->maks;
switch($kategorija)
{
case "monitori":
{
$data2=array(
'idArtikla' => $maxid,
'idTipa' => $this->input->post('ddlTipMonitora'),
'idRezolucije' => $this->input->post('ddlMaxRezolucija'),
'dijagonala' => $this->input->post('tbDijagonala'),
'ugaoVidljivosti' => $this->input->post('tbUgaoVidljivosti'),
'odziv' => $this->input->post('tbOdziv'),
'kontrast' => $this->input->post('tbKontrast'),
'osvetljenje' => $this->input->post('tbOsvetljenje'),
);
break;
}
case "misevi":
{
$data2=array(
'idArtikla' => $maxid,
'idSenzora' => $this->input->post('ddlTipSenzora'),
'idPovezivanja' => $this->input->post('ddlTipPovezivanja'),
'rezolucija' => $this->input->post('tbRezolucija'),
'brojTastera' => $this->input->post('tbBrojTastera'),
);
break;
}
case "zvucnici":
{
$data2=array(
'idArtikla' => $maxid,
'sistem' => $this->input->post('tbSistem'),
'snaga' => $this->input->post('tbSnaga'),
'povezivanje' => $this->input->post('tbPovezivanje'),
);
break;
}
}
$query2 = $this->db->insert($kategorija, $data2);
if($query1 && $query2)
{
return true;
}
else
{
return false;
}
}
public function sviAdmini()
{
$upit = "SELECT * FROM korisnici WHERE admin = 1 AND email
<> '".$this->session->userdata('email')."';";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function sviKorisnici()
{
$upit = "SELECT * FROM korisnici WHERE email <> '".$this>session->userdata('email')."';";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function proglasiAdminom()
{
$upit = "UPDATE korisnici SET admin=1 WHERE id=".$this->input>post('ddlDodajAdmina');
$rezultat = $this->db->query($upit);
if($rezultat) return true;
else return false;
}
public function razglasiAdminom()
{
$upit = "UPDATE korisnici SET admin=0 WHERE id=".$this->input>post('ddlOduzmiAdmina');
$rezultat = $this->db->query($upit);
if($rezultat) return true;
else return false;
}
public function brisanjeKorisnika()
{
$upit = "DELETE FROM korisnici WHERE id=".$this->input>post('ddlIzbrisiKorisnika');
$rezultat = $this->db->query($upit);
if($rezultat) return true;
else return false;
}
public function sviProizvodjaci()
{
$upit = "SELECT * FROM proizvodjaci;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function delProiz()
{
$upit = "DELETE FROM proizvodjaci WHERE
idProizvodjaca=".$this->input->post('ddlUkloniProizvodjaca');
$rezultat = $this->db->query($upit);
if($rezultat) return true;
else return false;
}
public function dodProiz($putanja)
{
$data = array(
"proizvodjac" => $this->input->post('tbIme'),
"logo" => $putanja
);
$rez = $this->db->insert('proizvodjaci', $data);
if($rez) return true;
else return false;
}
}
?>
modelArtikal
<?php
class modelArtikal extends CI_Model
{
public function getArtikal($idArtikla)
{
$kategorija = $this->getKategorijuArtikla($idArtikla);
$upit2 = "SELECT * FROM artikli AS a INNER JOIN proizvodjaci AS
p ON a.idProizvodjaca = p.idProizvodjaca INNER JOIN ".$kategorija[0]>kategorija." AS k ON a.idArtikla = k.idArtikla";
// SELECT * FROM artikli AS a INNER JOIN proizvodjaci AS p ON
a.idProizvodjaca = p.idProizvodjaca INNER JOIN monitori AS k ON
a.idArtikla = k.idArtikla WHERE a.idArtikla = 1;
switch($kategorija[0]->kategorija)
{
case "monitori":
{
$upit2 .= " INNER JOIN monitori_tipovi AS m ON
k.idTipa=m.idTipa INNER JOIN monitori_rezolucije AS mz ON
mz.idRezolucije=k.idRezolucije";
break;
}
case "misevi":
{
$upit2 .= " INNER JOIN misevi_senzori AS ms ON
k.idSenzora=ms.idSenzora INNER JOIN misevi_povezivanje AS mp ON
k.idPovezivanja=mp.idPovezivanja";
break;
}
case "zvucnici":
{
$upit2 .= "";
break;
}
case "tastature":
{
$upit2 .= "";
break;
}
case "graficke":
{
$upit2 .= "";
break;
}
}
$upit2.= " WHERE a.idArtikla = $idArtikla;";
$rezultat = $this->db->query($upit2);
return $rezultat->result();
}
public function getKategorijuArtikla($idArtikla)
{
$upit = "SELECT ak.kategorija FROM artikli AS a INNER JOIN
artikli_kategorije AS ak ON a.idKategorije=ak.idKategorije WHERE
idArtikla = $idArtikla;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function randomOsamArtikala()
{
$upit = "SELECT * FROM artikli AS a INNER JOIN proizvodjaci AS
p ON a.idProizvodjaca = p.idProizvodjaca ORDER BY RAND() LIMIT 8";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function dohvatiArtikal($id)
{
$upit = "SELECT * FROM artikli AS a INNER JOIN proizvodjaci AS
p ON a.idProizvodjaca = p.idProizvodjaca WHERE a.idArtikla =".$id;
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function Pretraga($arg)
{
if($arg=='1' || $arg=='2' || $arg=='3')
{
$upit = "SELECT * FROM artikli AS a INNER JOIN
artikli_kategorije AS ak ON a.idKategorije=ak.idKategorije INNER JOIN
proizvodjaci AS p ON a.idProizvodjaca=p.idProizvodjaca WHERE
a.idKategorije=$arg;";
}
else if ($arg=='0')
{
$upit = "SELECT * FROM artikli AS a INNER JOIN proizvodjaci
AS p ON a.idProizvodjaca=p.idProizvodjaca ORDER BY a.idArtikla
DESC;";
}
else
{
$upit = "SELECT * FROM artikli AS a INNER JOIN proizvodjaci
AS p ON a.idProizvodjaca=p.idProizvodjaca WHERE LOWER(a.model)
LIKE '%".strtolower($arg)."%' OR LOWER(p.proizvodjac) LIKE
'%".strtolower($arg)."%' OR LOWER(a.opis) LIKE
'%".strtolower($arg)."%';";
}
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function totalRows($arg)
{
if($arg=='1' || $arg=='2' || $arg=='3')
{
$upit = "SELECT COUNT(*) FROM artikli AS a INNER JOIN
artikli_kategorije AS ak ON a.idKategorije=ak.idKategorije INNER JOIN
proizvodjaci AS p ON a.idProizvodjaca=p.idProizvodjaca WHERE
a.idKategorije=$arg;";
}
else if ($arg=='0')
{
$upit = "SELECT COUNT(*) FROM artikli AS a INNER JOIN
proizvodjaci AS p ON a.idProizvodjaca=p.idProizvodjaca ORDER BY
a.idArtikla DESC;";
}
else
{
$upit = "SELECT COUNT(*) FROM artikli AS a INNER JOIN
proizvodjaci AS p ON a.idProizvodjaca=p.idProizvodjaca WHERE
LOWER(a.model) LIKE '%".strtolower($arg)."%' OR
LOWER(p.proizvodjac) LIKE '%".strtolower($arg)."%' OR
LOWER(a.opis) LIKE '%".strtolower($arg)."%';";
}
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
}
?>
modelKorisnici
<?php
class Modelkorisnici extends CI_Model
{
public function mozeDaSeUloguje()
{
$this->db->where('email', $this->input->post('email'));
$this->db->where('pass', $this->input->post('pass'));
$query = $this->db->get('korisnici');
if($query->num_rows()==1)
{
return true;
}
else
{
return false;
}
}
public function daLiJeAdmin()
{
/*$this->db->where('email', $this->input->post('email'));
$this->db->where('pass', $this->input->post('pass'));
$query = $this->db->get('korisnici');
return $query->*/
$upit = $this->db->query("SELECT admin FROM korisnici WHERE
email='".$this->input->post('email')."';");//SELECT admin FROM korisnici
WHERE [email protected]';
return $upit->result();
}
public function add_temp_user($key)
{
$data = array(
'email' => $this->input->post('email'),
'pass' => $this->input->post('pass'),
'ime' => $this->input->post('ime'),
'prezime' => $this->input->post('prezime'),
'pol' => $this->input->post('pol'),
'adresa' => $this->input->post('adresa'),
'telefon' => $this->input->post('telefon'),
'key' => $key
);
$query = $this->db->insert('tmp_korisnici', $data);
if($query)
{
return true;
}
else
{
return false;
}
}
public function is_key_valid($key)
{
$this->db->where('key', $key);
$query = $this->db->get('tmp_korisnici');
if($query->num_rows() == 1)
{
return true;
}
else
{
return false;
}
}
public function add_user($key)
{//prebaci red iz tmp_korisnik u korisnik
$this->db->where('key', $key);
$tmp_korisnik = $this->db->get('tmp_korisnici');
if($tmp_korisnik)
{
$red = $tmp_korisnik->row();
$data = array(
'email' => $red->email,
'pass' => $red->pass,
'ime' => $red->ime,
'prezime' => $red->prezime,
'pol' => $red->pol,
'adresa' => $red->adresa,
'telefon' => $red->telefon,
);
$jeste_unet_korisnik = $this->db->insert('korisnici', $data);
}
if($jeste_unet_korisnik)
{//ako je unet korisnik u trajnu tabelu, izbrisi njegov red iz tmp tabele
$this->db->where('key', $key);
$this->db->delete('tmp_korisnici');
return $data['email'];
}
return false;
}
}
modelPosete
<?php
class modelPosete extends CI_Model
{
function brojPoseta($adr)
{
//1. vidi da li je vec posecivao sajt
//2. ako jeste, ubaci ga
//2. countuj sve
//1
$upit = "SELECT EXISTS(SELECT * FROM posete WHERE
`ipAdresa` = '$adr') AS ex;";
$rez = $this->db->query($upit);
$daLiJeUnique = $rez->result();
//2
if(intval($daLiJeUnique[0]->ex)==0)//znaci jeste unique visitor
{
$rez2 = $this->db->query("INSERT INTO posete VALUES('',
'$adr');");
}
//3
$upit1 = "SELECT COUNT(*) AS c FROM posete;";
$rez1 = $this->db->query($upit1);
return $rez1->result();
}
function ddlMenuKategorije()
{
$upit1 = "SELECT * FROM artikli_kategorije;";
$rez1 = $this->db->query($upit1);
return $rez1->result();
}
}
?>
modelSlajder
<?php
class modelSlajder extends CI_Model
{
public function dohvatiSlajdove()
{
$upit = "SELECT * FROM slajder WHERE pozicija <> 0 ORDER BY
pozicija;";
$rezultat = $this->db->query($upit);
return $rezultat->result();
}
public function izmeni($putanja)
{
$pozicija = intval($this->input->post('rbPozicija'));
$link = $this->input->post('tbLink');
$upit1 = "UPDATE slajder SET link='$link', slika='$putanja' WHERE
pozicija=$pozicija;";
$rez1 = $this->db->query($upit1);
if($rez1) return true;
else return false;
}
}
?>
view adminSlajder
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<h2>Izmena slajdera</h2>
<?php
echo form_open_multipart('site/izmeniSlajder');
echo validation_errors();
echo "
<table align='center'>
<tr>
<td>Slika:(jpg 700x225)</td>
<td>";
$data = array(
"name"=>"fbSlika",
"id"=>"fbSlika",
"value"=>"fbSlika"
);
echo form_upload($data);
echo"</td>
</tr>
<tr>
<td>Link: (site/artikal/idArtikla)</td>
<td>";
$data = array(
"name"=>"tbLink",
"id"=>"tbLink",
"value"=>set_value("tbLink")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td>Pozicija:</td>
<td>";
$data = array(
'name'
=> 'rbPozicija',
'id'
=> 'rbPozicija',
'value'
=> '1',
'checked' => 'true'
);
echo form_radio($data)."1 ";
$data = array(
'name'
=> 'rbPozicija',
'id'
=> 'rbPozicija',
'value'
=> '2'
);
echo form_radio($data)."2 ";
$data = array(
'name'
=> 'rbPozicija',
'id'
=> 'rbPozicija',
'value'
=> '3'
);
echo form_radio($data)."3 ";
$data = array(
'name'
=> 'rbPozicija',
'id'
=> 'rbPozicija',
'value'
=> '4'
);
echo form_radio($data)."4 ";
echo"</td>
</tr>
<tr>
<td colspan='2'
align='center'>".form_submit("btnIzmeniSlajder", "OK")."</td>
</tr>
</table>
";
echo form_close();
?>
</div>
</div>
<!--CONTENT END-->
view adminPanelDodajArtikal
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<h2>Dodaj artikal</h2>
<?php
/*echo $maxid[0]->maks;*/
$this->load->helper("form");
echo form_open_multipart("site/dodajArtikal");
echo validation_errors();
echo
"
<table border='1' align='center'>
<tr>
<td >Model:</td>
<td >";
$data = array(
"name"=>"tbModel",
"id"=>"tbModel",
"value"=>set_value("tbModel")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td >Cena(int):</td>
<td >";
$data = array(
"name"=>"tbCena",
"id"=>"tbCena",
"value"=>set_value("tbCena")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<tr>
<td>Slika: </td>
<td>";
$data = array(
"name"=>"fbSlika",
"id"=>"fbSlika"
);
echo form_upload($data);
echo"</td>
</tr>
<td >Na stanju(int):</td>
<td >";
$data = array(
"name"=>"tbNaStanju",
"id"=>"tbNaStanju",
"value"=>set_value("tbNaStanju")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td >Proizvodjac:</td>
<td >";
$data = array();
foreach($proizvodjaci as $p)
{
$data[$p->idProizvodjaca] = $p->proizvodjac;
}
echo form_dropdown('ddlProizvodjac', $data);
echo"</td>
</tr>
<tr>
<td >Garancija:(int)</td>
<td >";
$data = array(
"name"=>"tbGarancija",
"id"=>"tbGarancija",
"value"=>set_value("tbGarancija")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td >Opis:</td>
<td >";
$data = array(
"name"=>"taOpis",
"id"=>"taOpis",
"value"=>set_value("taOpis")
);
echo form_textarea($data);
echo"</td>
</tr>
</table>
<table border='1' align='center'>
<tr>
<td >Monitor";
$data = array(
'name'
=> 'rbArtikal',
'id'
=> 'rbArtikal',
'value'
=> 'monitori'
);
echo form_radio($data);
echo"</td>
<td >Mis";
$data = array(
'name'
=> 'rbArtikal',
'id'
=> 'rbArtikal',
'value'
=> 'misevi'
);
echo form_radio($data);
echo"</td>
<td >Zvucnik";
$data = array(
'name'
=> 'rbArtikal',
'id'
=> 'rbArtikal',
'value'
=> 'zvucnici'
);
echo form_radio($data);
echo"</td>
</tr>
<tr>
<td >Tip monitora:</br>";
$data = array();
foreach($tipovi_monitora as $tm)
{
$data[$tm->idTipa] = $tm->tip;
}
echo form_dropdown('ddlTipMonitora', $data);
echo"</td>
<td >Tip senzora:<br/>";
$data = array();
foreach($tipSenzora as $ts)
{
$data[$ts->idSenzora] = $ts->senzor;
}
echo form_dropdown('ddlTipSenzora', $data);
echo"</td>
<td >Sistem(2.1,2.0...)(varchar):<br/>";
$data = array(
"name"=>"tbSistem",
"id"=>"tbSistem",
"value"=>set_value("tbSistem")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td >Dijagonala(double):<br/>";
$data = array(
"name"=>"tbDijagonala",
"id"=>"tbDijagonala",
"value"=>set_value("tbDijagonala")
);
echo form_input($data);
echo"</td>
<td >Tip povezivanja:<br/>";
$data = array();
foreach($tipPovezivanja as $tp)
{
$data[$tp->idPovezivanja] = $tp->povezivanje;
}
echo form_dropdown('ddlTipPovezivanja', $data);
echo"</td>
<td >Snaga(int):<br/>";
$data = array(
"name"=>"tbSnaga",
"id"=>"tbSnaga",
"value"=>set_value("tbSnaga")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td >Maksimalna rezolucija:<br/>";
$data = array();
foreach($maxRezolucije as $mr)
{
$data[$mr->idRezolucije] = $mr->rezolucija;
}
echo form_dropdown('ddlMaxRezolucija', $data);
echo"</td>
<td >DPI rezolucija(varchar):<br/>";
$data = array(
"name"=>"tbRezolucija",
"id"=>"tbRezolucija",
"value"=>set_value("tbRezolucija")
);
echo form_input($data);
echo"</td>
<td >Povezivanje:<br/>";
$data = array(
"name"=>"tbPovezivanje",
"id"=>"tbPovezivanje",
"value"=>set_value("tbPovezivanje")
);
echo form_input($data);
echo"</td>
</tr>
<tr>
<td >Ugao vidljivosti(int):<br/>";
$data = array(
"name"=>"tbUgaoVidljivosti",
"id"=>"tbUgaoVidljivosti",
"value"=>set_value("tbUgaoVidljivosti")
);
echo form_input($data);
echo"</td>
<td >Broj tastera(int):<br/>";
$data = array(
"name"=>"tbBrojTastera",
"id"=>"tbBrojTastera",
"value"=>set_value("tbBrojTastera")
);
echo form_input($data);
echo"</td>
<td >";echo"</td>
</tr>
<tr>
<td >Odziv(int):<br/>";
$data = array(
"name"=>"tbOdziv",
"id"=>"tbOdziv",
"value"=>set_value("tbOdziv")
);
echo form_input($data);
echo"</td>
<td >";echo"</td>
<td >";echo"</td>
</tr>
<tr>
<td >Kontrast(varchar):<br/>";
$data = array(
"name"=>"tbKontrast",
"id"=>"tbKontrast",
"value"=>set_value("tbKontrast")
);
echo form_input($data);
echo"</td>
<td >";echo"</td>
<td >";echo"</td>
</tr>
<tr>
<td >Osvetljnenje(int):<br/>";
$data = array(
"name"=>"tbOsvetljenje",
"id"=>"tbOsvetljenje",
"value"=>set_value("tbOsvetljenje")
);
echo form_input($data);
echo"</td>
<td >";echo"</td>
<td >";echo"</td>
</tr>
<tr>
<td colspan='3'
align='center'>".form_submit("btnDodajArtikal", "Dodaj!")."
".form_reset("btnReset","Reset")."</td>
</tr>
</table>
";
echo form_close();
?>
</div>
</div>
<!--CONTENT END-->
view artikal
<!--CONTENT-->
<?php
echo
"
<div id='contentWrapper'>
<div id='content'>";
echo"
<h2>".$art[0]->proizvodjac." ".$art[0]->model."</h2>
<div id='artTopHolder'>";
$slikaArtikla = array(
'src' => $art[0]->slika,
'alt' => $art[0]->slika,
'title' => $art[0]->proizvodjac." ".$art[0]->model,
'id' => 'slikaArtikla'
);
echo img($slikaArtikla);
echo"
<div id='artTopRight'>
<h3>".$art[0]->cena." din</h3>
<a id='spanKorpa' href='".base_url()."site/ubaciUKorpu/".$art[0]>idArtikla."'></a><br/><br/><br/>
<span style='padding-top: 50px;'>";
$slikaProizvodjaca = array(
'src' => $art[0]->logo,
'alt' => $art[0]->logo,
'title' => $art[0]->proizvodjac,
'id' => 'slikaProizvodjaca'
);
echo img($slikaProizvodjaca)."</span><br/><br/>
<span>Garancija: <b>".$art[0]->garancijaProizvodjaca."</b>
meseci</span><br/><br/>";
if($this->session->userdata('admin')){
echo "<span><a href='".base_url()."site/izbrisiArtikal/".$art[0]>idArtikla."'>Izbriši artikal</a></span><br/><br/>";
}
echo"</div>
</div>
<div class='clear'></div>
<div id='artBotHolder'>
<div id='opisHolder'>
<p>
".$art[0]->opis."
</p>
</div>
"?>
view artikli
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<div id='rezultatPretrage'>
<?php
if(isset($prosledjeni_parametri))echo
$prosledjeni_parametri;
if(empty($init))
{
echo "<h2>Nema rezultata.</h2>";
}
foreach($init as $i)
{
echo"<div class='item'>
".img($i->slika)."
<div class='opisItema'>
<a href='". base_url()."site/artikal/".$i->idArtikla."'
class='naslovItema'>".$i->proizvodjac." ".$i->model."</a>
<p class='cenaItema'>".$i->cena." din</p>
<p class='detaljanOpisItema'>".substr($i->opis, 0,
200)."...(<a href='". base_url()."site/artikal/".$i>idArtikla."'>detaljnije</a>)</p>
</div>
</div>";
}
echo $this->pagination->create_links();
?>
</div>
</div>
</div>
</div>
<!--CONTENT END-->
view footer
<!--FOOTER-->
<div id="footerWrapper">
<div id="footer">
<div id="footer_levi_div">
<ul>
<li>This is not a commercial website</li>
<li>All the goods are fake</li>
<li>Purpose of the website is to demonstrate
my knowledge of web design and programming</li>
<li>Built with <a
href="http://ellislab.com/codeigniter" target="_blank">CodeIgniter</a>
PHP framework</li>
<li>I wrote the entire code</li>
</ul>
<p class="clear"></p>
</div>
<div id="footer_centralni_div">
<big>Mihailo Trišić 298/10</big></br>
<small>Visoka ICT Škola - Beograd, maj
2013</small></br>
~ <a href="#">DOKUMENTACIJA</a> ~ <a
href="#">SITEMAP</a> ~ <a href="#">ZIP</a> ~</br>
<ul>
<li><a
href="http://facebook.com/Mihailo.Trisic.Triske" target="_blank">
<?php echo img("img/facebookIcon.png",
TRUE);?></a></li>
<li><a href="https://twitter.com/mihailotrisic"
target="_blank">
<?php echo img("img/twitterIcon.png",
TRUE);?></a></li>
<li><a href="http://lnkd.in/haaQdN"
target="_blank">
<?php echo img("img/linkedinIcon.png",
TRUE);?></a></li>
<li><a
href="mailto:[email protected]?Subject=Tezga">
<?php echo img("img/gmailIcon.png",
TRUE);?></a></li>
<li><a href="http://mihailotrisic.elance.com"
target="_blank">
<?php echo img("img/elanceIcon.png",
TRUE);?></a></li>
<li><a href="#" onClick="alert('Username:
shketri');">
<?php echo img("img/skypeIcon.png",
TRUE);?></a></li>
</ul>
</div>
<div id="footer_desni_div">
<?php
if(isset($br))
{
echo "<big>Broj poseta
sajtu:</big></br></br></br>
<span id='brojPoseta'>".$br[0]->c."</span>";
}
else
{
echo "<a id='footerLogo'
href='".base_url()."site/home'>".img('img/logo3.png')."</a>";
}
?>
</div>
</div>
</div>
</body>
</html>
view header
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title> <?php echo "TEZGA -".$title ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<meta name="keywords" content="tezga, aukcije, auctions online,
kupovina, prodaja" />
<meta name="description" content="Sajt TEZGA - onajn aukcije" />
<?php
echo link_tag('tezga-stil.css');
?>
<script type="text/javascript" src="<?php echo
base_url();?>scripts/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo
base_url();?>scripts/glavniMeni.js"></script>
<script type="text/javascript" src="<?php echo
base_url();?>scripts/divSearch.js"></script>
<?php
if(isset($scriptoviSpecificniZaStranicu))echo
$scriptoviSpecificniZaStranicu;
?>
</head>
<!--HEADER END-->
view home
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<div id="sliderHolder">
<ul>
<li><a class="sliderButton" id="sbtnL" href="#" onClick="prev();
return false;">
<?php echo img('img/slider/arrow_l.png');?></a></li>
<li>
<div id="slider">
<!--za slajder mi je pomogao tutorijal
http://youtu.be/QtYP_eSVKfs -->
<?php
foreach($slajdovi as $s)
{
$img = array('src'=>$s->slika, 'id'=>$s->pozicija);
echo "<a href='".base_url().$s>link."'>".img($img)."</a>";
}
?>
</div>
</li>
<li><a class="sliderButton" id="sbtnR" href="#" onClick="next();
return false;">
<?php echo img('img/slider/arrow_r.png');?></a></li>
</ul>
<p id="sliderinfo"></p>
</div>
<div id='randHolder'>
<?php
//RANDOM ARTIKLI
foreach($randomArtikli as $ra)
{
echo "
<div class='randomArtikalHolder'>
<a href='". base_url()."site/artikal/".$ra>idArtikla."'>".img($ra->slika)."</a>
<a href='". base_url()."site/artikal/".$ra->idArtikla."'
class='randomArtikalNaslov'><b>".$ra->proizvodjac."</b> <i>".$ra>model."</i></a>
<a href='". base_url()."site/artikal/".$ra->idArtikla."'
class='randomArtikalCena'>".$ra->cena." din</a>
</div>";
}
?>
</div>
</div>
</div>
<!--CONTENT END-->
view kontakt
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<div id='kontaktFormaHolder'>
<?php
$this->load->helper("form");
echo form_open("site/send_email");
if(isset($porukaOk))echo $porukaOk;
echo validation_errors();
echo form_label("Ime: ", "ime");
$data = array(
"name"=>"tbIme",
"id"=>"tbIme",
//"value"=>""
"value"=>set_value("tbIme")//ovo je da ako pogresis da ne bude
polje opet prazno
);
echo form_input($data);
echo "<br/>";
echo form_label("Email: ", "email");
$data = array(
"name"=>"tbEmail",
"id"=>"tbEmail",
"value"=>set_value("tbEmail")
);
echo form_input($data);
echo "<br/>";
echo form_label("Poruka: ", "poruka");
echo "<br/>";
$data = array(
"name"=>"taPoruka",
"id"=>"taPoruka",
"maxlength"=>"300",
"value"=>set_value("tbPoruka")
);
echo form_textarea($data);
echo "<br/>";
echo form_submit("btnKontakt", "Pošalji!");
echo form_close();
?>
<ul>
<li>Email: <a
href="mailto:[email protected]?Subject=Tezga">[email protected]
mail.com</a></li>
<li>Telefon: +38163 288 729</li>
<li>Skype: shketri</li>
</ul>
</div>
<div id="kontaktDesniHolder">
<iframe width="500" height="400" frameborder="1" scrolling="no"
marginheight="0" marginwidth="0"
src="https://maps.google.com/maps/ms?msa=0&amp;msid=2102149101
94220364800.0004d36741b22980a195e&amp;ie=UTF8&amp;ll=44.8142
85,20.48334&amp;spn=0,0&amp;t=m&amp;output=embed"></iframe>
</div>
<div class="clear"></div>
</div>
</div>
<!--CONTENT END-->
view korpa
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<?php
if($cart = $this->cart->contents())
{
echo"<table id='tabelaKorpa'>
<thead>
<tr>
<th>Slika</th>
<th>Model</th>
<th>Cena</th>
<th>Izbaci</th>
</tr>
<thead>";
foreach($cart as $c)
{
echo
"
<tr>
<td>";
if($this->cart->has_options($c['rowid']))
{
foreach($this->cart->product_options($c['rowid']) as
$opt=>$val)
{
echo img($val);
}
}
echo"</td>
<td><h4><strong>".$c['name']."</strong></h4></td>
<td>".$c['subtotal']."</td>
<td><a
href='".base_url()."site/izbaciIzKorpe/".$c['rowid']."'>Izbaci</a></td>
</tr>
";
}
echo"</table><br/>";
echo "<h3>Ukupno: <b>".$this->cart->total()."</b> dinara</h3>
<h4><a href='".base_url()."site/destroyKorpu'>Isprazni
korpu</a><h4>
Naručivanje i plaćanje još nisu implementirani.
";
}
else echo "<h4>Korpa je prazna.</h4>";
echo" <br/><br/><small>Ponekad se dodavanje artikla u korpu
baguje, iz ne znam kog razloga. <br/>Pokusajte ponovo sa nekim drugim
artiklom, pa mozda prokine.</small>";
?>
</div>
</div>
<!--CONTENT END-->
view login
<!--CONTENT-->
<div id="contentWrapper">
<div id="content" align="center">
<h1>LOGIN</h1>
<?php
echo form_open("site/login_validation");
echo validation_errors();
echo "<table>";
echo "<tr><td>Email:</td>";
echo "<td>".form_input('email', $this->input>post('email'))."</td></tr>";
echo "<tr><td>Password:</td>";
echo "<td>".form_password('pass')."</td></tr>";
echo "</table><br/>";
echo form_submit('login_submit', 'Login');
echo form_close();
?>
<br/>
<h3>Nemate nalog? <a href="<?php echo
base_url();?>site/signup">Registrujte se!</a></h3>
<br/><br/><br/>
[email protected] - admin <br/>
[email protected] - korisnik
</div>
</div>
<!--CONTENT END-->
view misevi
<?php
echo "
<div id='specifikacijeHolder'>
<table>
<tr>
<th>Tip senzora:</th>
<td>".$art[0]->senzor."</td>
</tr>
<tr>
<th>Povezivanje:</th>
<td>".$art[0]->povezivanje."</td>
</tr>
<tr>
<th>Rezolucija:</th>
<td>".$art[0]->rezolucija." dpi</td>
</tr>
<tr>
<th>Broj tastera:</th>
<td>".$art[0]->brojTastera."</td>
</tr>
</table>
</div>
</div>
<div class='clear'>
</div>
</div>
</div>
";
?>
view monitori
<?php
echo "
<div id='specifikacijeHolder'>
<table>
<tr>
<th>Tip monitora:</th>
<td>".$art[0]->tip."</td>
</tr>
<tr>
<th>Dijagonala:</th>
<td>".$art[0]->dijagonala."''</td>
</tr>
<tr>
<th>Maksimalna rezolucija:</th>
<td>".$art[0]->rezolucija."</td>
</tr>
<tr>
<th>Aspekt:</th>
<td>".$art[0]->aspekt."</td>
</tr>
<tr>
<th>Ugao vidljivosti:</th>
<td>".$art[0]->ugaoVidljivosti." stepeni</td>
</tr>
<tr>
<th>Odziv:</th>
<td>".$art[0]->odziv."ms</td>
</tr>
<tr>
<th>Kontrast:</th>
<td>".$art[0]->kontrast."</td>
</tr>
<tr>
<th>Osvetljenje:</th>
<td>".$art[0]->osvetljenje."cd</td>
</tr>
</table>
</div>
</div>
<div class='clear'>
</div>
</div>
</div>
";
?>
view nav
<body>
<div id="headerWrapper">
<div id="header">
<div id="logo"><h1><a href="<?php echo
base_url();?>site/home" ><!--img src="img/logo3.png" alt="TEZGA"/-->
<?php echo img('img/logo3.png');?></a></h1></div>
<div>
<div id="meni">
<ul>
<?php if($this->session>userdata('jeste_ulogovan'))
{
echo "<li><a class='meniLink'
id='ddmenuTrigger2' href=".base_url()."site/logout>Logout</a>";
if($this->session->userdata('admin'))
echo"
<div id='ddmenu2'>
<p><a
href='".base_url()."site/adminDodajArtikal'>Dodaj artikal</a></p>
<p><a
href='".base_url()."site/adminChange'>Izmeni korisnike</a></p>
<p><a
href='".base_url()."site/proizvodjaci'>Proizvodjači</a></p>
<p><a
href='".base_url()."site/adminSlajder'>Slajder</a></p>
</div>";
echo" </li>";
}
else
{
?>
<li><a class='meniLink' href="<?php echo
base_url();?>site/login">Login</a></li>
<?php
}?>
<li><a class='meniLink' id='ddmenuTrigger'
href="<?php echo base_url();?>site/artikli/0">Artikli</a>
<div id='ddmenu'>
<?php
if (isset($kategorije))
{
foreach($kategorije as $k)
{
echo "<p><a href='".base_url()."site/artikli/".$k>idKategorije."'>".$k->kategorija."</a></p>";
}
}
?>
<!--p><a href='#'>Link1</a></p-->
</div>
</li>
<li><a class='meniLink' href="<?php echo
base_url();?>site/korpa">Korpa</a></li>
<li><a class='meniLink' href="<?php echo
base_url();?>site/kontakt">Kontakt</a></li>
</ul>
</div>
<div id="search">
<?php
echo form_open('site/formaSearch');
$input = array(
"name"=>"tbSearch",
"id"=>"tbSearch",
"value"=>"Pretraga..."
);
echo form_input($input);
$submit = array(
"name"=>"btnSearch",
"id"=>"btnSearch",
"value"=>""
);
echo form_close();
?>
</div>
</div>
</div>
</div>
<!--NAV END-->
view proizvodjaci
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<h2>Ukloni proizvodjaca</h2>
<?php
echo form_open('site/ukloniProizvodjaca');
echo validation_errors();
$data = array();
foreach($proizvodjaci as $p)
{
$data[$p->idProizvodjaca] = $p->proizvodjac;
}
echo form_dropdown('ddlUkloniProizvodjaca', $data);
echo form_submit('btnUkloniProizvodjaca', 'OK');
echo form_close();
?>
<h2>Dodaj proizvodjaca</h2>
<?php
echo form_open_multipart('site/dodajProizvodjaca');
echo validation_errors();
echo "Ime kompanije:";
$data = array(
"name"=>"tbIme",
"id"=>"tbIme",
"value"=>set_value("tbIme")
);
echo form_input($data)."<br/>";
echo "Logo: ";
$data = array(
"name"=>"fbLogo",
"id"=>"fbLogo"
);
echo form_upload($data)."<br/>";
echo form_submit('btnDodajProizvodjaca', 'OK');
echo form_close();
?>
</div>
</div>
<!--CONTENT END-->
view signup
<!--CONTENT-->
<div id="contentWrapper">
<div id="content" align="center">
<h1>SIGNUP</h1>
<?php
echo form_open('site/signup_validation');
echo validation_errors();
echo "<table>";
echo "<tr>";
echo "<td align='right'>Email:</td>";
echo "<td>".form_input('email', $this->input>post('email'))."</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Password:</td>";
echo "<td>". form_password('pass')."</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Potvrdi password:</td>";
echo "<td>". form_password('cpass')."</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Ime:</td>";
echo "<td>". form_input('ime', $this->input>post('ime'))."</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Prezime:</td>";
echo "<td>". form_input('prezime', $this->input>post('prezime'))."</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Pol:</td>";
echo "<td>". form_radio('pol',
'muski')."Muški<br/>".form_radio('pol', 'zenski')."Ženski</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Adresa:</td>";
echo "<td>". form_input('adr', $this->input->post('adr'))."</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Telefon:</td>";
echo "<td>". form_input('fon', $this->input->post('fon'))."</td>";
echo "</tr>";
echo "</table>";
echo form_submit('signup_submit','Registruj se!');
echo form_close();
?>
</div>
</div>
<!--CONTENT END-->
view userChange
<!--CONTENT-->
<div id="contentWrapper">
<div id="content">
<h2>Proglasi korisnika adminom</h2>
<?php
echo form_open('site/dodajAdmina');
echo validation_errors();
$data = array();
foreach($korisnici as $k)
{
$data[$k->id] = $k->email;
}
echo form_dropdown('ddlDodajAdmina', $data);
echo form_submit('btnDodajAdmina', 'OK');
echo form_close();
?>
<h2>Oduzmi korisniku admin prava</h2>
<?php
echo form_open('site/oduzmiAdmina');
echo validation_errors();
$data = array();
foreach($admini as $a)
{
$data[$a->id] = $a->email;
}
echo form_dropdown('ddlOduzmiAdmina', $data);
echo form_submit('btnOduzmiAdmina', 'OK');
echo form_close();
?>
<h2>Izbriši korisnika</h2>
<?php
echo form_open('site/izbrisiKorisnika');
echo validation_errors();
$data = array();
foreach($korisnici as $k)
{
$data[$k->id] = $k->email;
}
echo form_dropdown('ddlIzbrisiKorisnika', $data);
echo form_submit('btnIzbrisiKorisnika', 'OK');
echo form_close();
?>
</div>
</div>
<!--CONTENT END-->
view zvucnici
<?php
echo "
<div id='specifikacijeHolder'>
<table>
<tr>
<th>Sistem:</th>
<td>".$art[0]->sistem."</td>
</tr>
<tr>
<th>Snaga:</th>
<td>".$art[0]->snaga."W</td>
</tr>
<tr>
<th>Povezivanje:</th>
<td>".$art[0]->povezivanje."</td>
</tr>
</table>
</div>
</div>
<div class='clear'>
</div>
</div>
</div>
";
?>
JAVASKRIPT:
divSearch.js
$(document).ready(function(){
$("#tbSearch").focus( function()
{
$(this).val("");
$(this).css({"font-style":"normal", "color":"#B8408C", "bordercolor":"#B8408C", "background-color":"#ffffff"});
});
$("#tbSearch").blur( function()
{
$(this).val("Pretraga...");
$(this).css({"font-style":"italic", "color":"#D688B9", "bordercolor":"#D688B9", "background-color":"#B8408C"});
});
//ovo je za broj poseta
var a;
$("#brojPoseta").hover(function(){
a = $(this).text();
$(this).append("!!!");
},
function(){
$(this).html(a);
});
//ako nema broja poseta, hover na logo
$("#footerLogo img").hover(
function()
{
$(this).animate({'width' : 220, 'height' : 85}, 75);
},
function()
{
$(this).animate({'width' : 200, 'height' : 75}, 75);
});
});
glavniMeni.js
$(document).ready(function(){
$(".meniLink").hover(function(){
$(this).css(
{
"background-color":"#ffffff",
"color":"#B8408C",
"border-color":"#CCCCCC",
"border-width":"2px",
"border-style":"outset",
"padding-right":"13px",
"padding-left":"13px"
});
},
function(){
$(this).css(
{
"background-color":"#B8408C",
"color":"#ffffff",
"border-color":"#CCCCCC",
"border-width":"0px",
"border-style":"none",
"padding-right":"15px",
"padding-left":"15px"
});
}
);
$(".meniLink").mouseup(function(){
$(this).css({
"background-color":"#ffffff",
"color":"#B8408C",
"border-color":"#CCCCCC",
"border-width":"2px",
"border-style":"outset"
});
}).mousedown(function(){
$(this).css({
"background-color":"#333333",
"color":"#ffffff",
"border-color":"#CCCCCC",
"border-width":"2px",
"border-style":"inset"
});
});
});
$(document).ready(function(){//animacija logoa na hover
$("#logo img").hover(
function()
{
$(this).animate({'marginLeft' : 10}, 75);
},
function()
{
$(this).animate({'marginLeft' : 0}, 75);
});
});
//dropdown menu
$(document).ready(function(){
$("#ddmenuTrigger").mouseenter(function(){
$("#ddmenu").slideDown();
});
$("#ddmenu").mouseleave(function(){
$("#ddmenu").slideUp();
})
});
$(document).ready(function(){
$("#ddmenuTrigger2").mouseenter(function(){
$("#ddmenu2").slideDown();
});
$("#ddmenu2").mouseleave(function(){
$("#ddmenu2").slideUp();
})
});
slider.js
//pomogao mi je tutorijal http://youtu.be/QtYP_eSVKfs
var sliderInt = 1;
var sliderNext = 2;
//animacija strelica, nebitno
$(document).ready(function(){
$("#sbtnL").hover(
function()
{
$(this).animate({'marginRight' : 10, 'marginLeft' : 35}, 75);
},
function()
{
$(this).animate({'marginRight' : 0, 'marginLeft' : 45}, 75);
});
$("#sbtnR").hover(
function()
{
$(this).animate({'marginLeft' : 10}, 75);
},
function()
{
$(this).animate({'marginLeft' : 0}, 75);
});
});
$(document).ready(function(){
//$("#slider > img#1").fadeIn(300);
$("#slider > a > img#1").fadeIn(300);
startSlider();
});
function startSlider()
{
/*
izracunaj ukupan broj slajdova
napravi loop interval od 3 sekunde u kojem se:
fadeoutuju svi slajdovi
fadeinuju slajder sa sliderNext idijem
inkrementira trenutniSlajdi sledeciSlajd
*/
//count = $("#slider > img").size();
count = $("#slider > a > img").size();
loop = setInterval(function()
{
if(sliderNext > count){sliderNext = 1; sliderInt = 1;}
$("#slider > a >img").fadeOut(300);
$("#slider > a > img#"+sliderNext).fadeIn(300);
sliderInt = sliderNext;
sliderNext++;
}, 3000);
$("#sliderinfo").html("STARTED");
}
function prev(){
var newSlide = sliderInt - 1;
showSlide(newSlide);
}
function next(){
var newSlide = sliderInt + 1;
showSlide(newSlide);
}
function stopLoop(){
window.clearInterval(loop);
$("#sliderinfo").html("STOPPED");
}
function showSlide(id){
stopLoop();
if(id > count){id = 1;}
else if(id < 1) {id = count;}
$("#slider > a > img").fadeOut(300);
$("#slider > a > img#"+id).fadeIn(300);
sliderInt = id;
sliderNext = id + 1;
startSlider();
}
$(document).ready(function()
{
$("#slider").hover(
function()
{
stopLoop();
},
function()
{
startSlider();
});
});
CSS:
@font-face {
font-family: Alba;
src: url('fonts/Alba/albaS.TTF');
}
@font-face {
font-family: Quicksand_Bold;
src: url('fonts/Alba/Quicksand_Bold.otf');
}
b{font-family:Quicksand_Bold, Arial;}
@font-face {
font-family: Quicksand_Book;
src: url('fonts/Quicksand/Quicksand_Book.otf');
}
.clear{clear:both; width:0; height:0; margin:0; padding:0;}
::-moz-selection {
background-color: #333;
color: #fff;
}
::selection {
background-color: #333;
color: #fff;
}
body{
margin: 0;
padding: 0;
font-family: Quicksand_Book, Arial;
font-size:14px;
color:#333333;
background-color:#ffffff;
background-repeat: repeat-xy;
background-position: top;
background-image: url(img/stripe3.png);
}
img{border:0;}/*glupi IE dodaje plavi border na sve slike*/
a:hover{
color:#333;
}
#content h1, #content h2, #content h3, #content h4, #content h5,
#content h6 { color: #333; font-weight: normal; }
#content h1 { font-size: 48px; margin: 0 0 30px; padding: 5px 0 }
#content h2 { font-size: 30px; margin: 0 0 25px; padding: 5px 0 }
#content h3 { font-size: 24px; margin: 0 0 20px; padding: 0; }
#content h4 { font-size: 18px; margin: 0 0 15px; padding: 0; }
#content h5 { font-size: 16px; margin: 0 0 10px; padding: 0; }
#content h6 { font-size: 12px; margin: 0 0 5px; padding: 0; }
#headerWrapper, #contentWrapper, #footerWrapper{
margin: 0 auto;
width: 100%;
}
#headerWrapper{
background-repeat: repeat-x;
background-position: top;
background-image: url(img/headerbg3.png);
}
#header{
z-index: 2;
margin: 0 auto;
width:960px;
height:150px;
padding-top:20px;
}
#header h1{
margin:0;
padding:0;
}
#logo{
float:left;
}
/*#logo img:hover{
padding-left: 10px;
}*/
#meni{
display: inline;
float: right;
}
#meni ul{
margin-top: 10px;
padding: 0;
list-style-type: none;
}
#meni ul li{
/*position: relative;*/
display: inline;
float: left;
}
.meniLink{
/*position:relative;*/
display:block;
min-width:60px;
padding:10px 15px;
margin:0px 5px;
font-size:18px;
color:#fff;
text-align:center;
text-decoration:none;
border-radius:5px;
font-weight:bold;
}
#ddmenu, #ddmenu2{
z-index: 99;
width:100px;
color: #C962A3;
border:1px solid #C962A3;
border-radius: 5px;
height:auto;
background-color: #fff;
position:absolute;
text-align: center;
display:none;
}
#ddmenu p, #ddmenu2 p{
width:100%;
padding:2px 0px;
background-color:#fff;
}
#ddmenu p a, #ddmenu2 p a{
color:#B8408C;
text-decoration: none;
}
#ddmenu p a:hover, #ddmenu2 p a:hover{
color:#fff;
background-color: #B8408C;
}/*
#ddmenu p:hover, #ddmenu2 p:hover{
background-color: #B8408C;
color: #fff;
}*/
#search{
display: inline;
float: right;
padding-top: 1.7%;
}
#tbSearch{
border:2px solid #D688B9;
border-radius:3px;
padding:3px 3px 6px 3px;
background-color:#B8408C;
color:#D688B9;
font-style:italic;
width:170px;
}
#btnSearch{
display:none;
width:30px;
height:30px;
margin: 0;
padding: 0;
border: 0;
background: transparent url(img/searchbtn.png) no-repeat center top;
text-indent: -1000em;
cursor: pointer;
cursor: hand;
}
#btnSearch:hover{
background: transparent url(img/searchbtn2.png) no-repeat center
top;
}
/*SLAJDER - pomogao mi je tutorijal http://youtu.be/QtYP_eSVKfs */
#sliderHolder{
width:950px;
height:250px;
background: transparent url(img/slider/sliderbg.png) no-repeat
center bottom;
margin:10px 0px;
}
#sliderHolder ul{
padding: 0;
list-style-type: none;
}
#sbtnL{
margin-left:45px;
}
#sliderHolder ul li{
position: relative;
display: inline;
float: left;
}
#slider{
width:700px;
height:225px;
overflow:hidden;
margin:0 auto;
background-color:#fff;
}
#slider a img{
width:700px;
height:225px;
float:left;
display:none;
}
#sliderinfo {display:none;}
.sliderButton img{
height:75px;
width:75px;
margin-top:75px;
}
#content{
margin: 0 auto;
padding:5px;
width:950px;
min-height:600px;
height: auto !important;
height:600px;
border:4px solid #f1f1f1;
border-radius:6px;
background-color:#fff;
}
#content a:hover{
color:#D688B9;
text-decoration: underline;
}
#content a{
color:#B8408C;
text-decoration: none;
}
#content input[type="text"], #content input[type="password"], #content
input[type="submit"], #content input[type="reset"], #content
input[type="button"],#content textarea
{
border-radius: 2px;
border-color: #D688B9;
font-family: Quicksand_Book, Arial;
}
#content input[type="submit"], #content input[type="reset"], #content
input[type="button"]
{
padding:3px 6px;
background-color:#fff;
color:#333;
}
#content input[type="submit"]:hover, #content input[type="reset"]:hover,
#content input[type="button"]:hover
{
background-color:#B8408C;
color:#fff;
}
#randHolder
{
height: 620px;
height: auto !important;
min-height:620px;
margin-left:25px;
}
.randomArtikalHolder{
display:inline;
float:left;
width:200px;
height:260px;
/*background-color:#aaa;*/
margin:5px 10px;
text-align: center;
border:2px solid #CCCCCC;
}
.randomArtikalHolder:hover
{
border:2px dashed #B8408C;
}
.randomArtikalHolder a img
{
width:180px;
height:180px;
padding:10px;
/*background-color:#CCCCCC;*/
}
a.randomArtikalNaslov
{
display:block;
font-size: 16px;
padding:2px !important;
color:#333 !important;
}
a.randomArtikalCena{
font-size:17px;
font-weight: bold;
padding:2px !important;
color: #B8408C !important;
}
#artTopHolder, #artBotHolder{
width:100%;
height: 360px;
height: auto !important;
min-height:360px;
/*background-color: #eee;
border:1px solid black;*/
}
#slikaArtikla
{
float:left;
width:340px;
height:340px;
}
#artTopRight
{
float:right;
width:550px;
height:280px;
margin:0px 10px;
background-color: #fff;
padding-top: 60px;
}
#artTopRight h3{
display:inline;
font-size:50px;
color: #B8408C;
font-weight: bold;
padding-left: 80px;
}
#artTopRight h3:hover{color:#C962A3;}
#artTopRight span{font-size: 20px; padding-left: 80px;}
#spanKorpa{
display: inline-block;
width:50px;
height:50px;
background-repeat: no-repeat;
background-position: top;
background-image: url(img/50cart_rozi.png);
}
#spanKorpa:hover{
background-image: url(img/50cart_rozi_hover.png);
}
#slikaProizvodjaca{
width:100px;
height:90px;
display: inline;
}
#specifikacijeHolder, #opisHolder
{
/*min-height:360px;height: auto !important; height: 360px;*/
/*float:left;*/
background-color: #fff;
padding:0px 5px;
}
#opisHolder{
float:right;
width:490px;
padding-right:15px;
}
#opisHolder p{
text-align: justify;
font-size:14px;
}
#specifikacijeHolder{
float:left;
font-size: 18px;
width:430px;
}
#specifikacijeHolder table
{
width:420px;
margin-top:15px;
border-top: 1px solid #CCCCCC;
border-left: 1px solid #CCCCCC;
border-right: 1px solid #CCCCCC;
}
#specifikacijeHolder th
{
text-align: right;
border-bottom:1px solid #CCCCCC;
border-right:1px solid #CCCCCC;
}
#specifikacijeHolder td
{
width:225px;
border-bottom:1px solid #CCCCCC;
}
#kontaktFormaHolder{
float:left;
width:400px;
/*background-color: #cacaca;*/
min-height: 400px;
}
#kontaktFormaHolder ul li
{
list-style-type: circle;
}
#kontaktFormaHolder ul li:hover
{
list-style-type: disc;
}
#kontaktDesniHolder{
padding:10px;
float:right;
width:520px;
/*background-color:#aaa;*/
min-height: 400px;
}
#taPoruka
{
resize: none;
}
#footerWrapper{
background-color:#B8408C;
border-top:5px solid #eee;
margin-top:40px;
background-repeat: repeat-x;
background-position: bottom;
background-image: url(img/footerbg3.png);
}
#footer{
margin: 0 auto;
width:960px;
height:170px;
font-size:13px;
color:#fff;
}
#footer a{
text-decoration:underline;
color:#bbb;
}
#footer a:hover{
color:#333;
}
#footer div{
float: left;
margin: 5px 8px 10px 10px;
width: 290px;
height:150px;
}
/*#footer_levi_div img{
width:50px;
height:50px;
float:left;
display:inline;
padding:5px 20px 0px 0px;
}*/
#footer_levi_div{
background-repeat:no-repeat;
background-position: top;
background-image: url(img/info2.png);
}
#footer_levi_div ul li{
list-style-type:circle;
}
#footer_levi_div ul li:hover{
list-style-type:disc;
}
#footer_centralni_div{
border-left:1px dashed #D688B9;
border-right:1px dashed #D688B9;
margin:5px 0px 10px 0px;
padding:0px 10px 0px 15px;
}
#footer_centralni_div a{
text-decoration:none;
}
#footer_centralni_div img{
height:40px;
width:40px;
padding:2px;
margin:2px;
background-color:#fff;
}
#footer_centralni_div img:hover{
background-color:#D688B9;
}
#footer_centralni_div ul{
margin-top: 10px;
padding: 0;
list-style-type: none;
}
#footer_centralni_div ul li{
position: relative;
display: inline;
float: left;
}
#footerLogo img
{
margin-top:30px;
}
#brojPoseta{
font-size:46px;
}
#brojPoseta:hover{
font-weight:bold;
color:#333;
}
#tabelaKorpa
{
border-top: 1px solid #CCCCCC;
border-left: 1px solid #CCCCCC;
width:100%;
font-size:16px;
}
#tabelaKorpa img
{
width:150px;
height:150px;
}
#tabelaKorpa td, #tabelaKorpa th
{
border-right: 1px solid #CCCCCC;
border-bottom: 1px solid #CCCCCC;
text-align:center;
}
#opcijePretrageHolder{
width:100%;
height:50px;
/*background-color:#ccc;*/
margin-bottom: 10px;
}
#rezultatPretrage{
width:100%;
min-height:500px; height: auto !important; height: 500px;
/*background-color:#bbb;*/
}
.item{
width:920px;
padding:5px;
height:150px;
/*background-color:#D688B9;*/
margin:10px 0px;
border:1px solid #CCCCCC;
}
.item:hover{
border:1px dashed #B8408C;
}
.item img
{
float:left;
width:150px;
height:150px;
background-color:#fff;
}
.opisItema{
float:right;
width:760px;
height:150px;
background-color:#fff;
}
.naslovItema{
display:block;
font-size:18px;
}
.cenaItema{
font-size: 17px;
font-weight: bold;
}
Download

Sajt „Tezga“ u CodeIgniter-u - My name is Mihailo Trišić, and i am a