/** * Privatna funkcija koja vrsi pretragu knjiga sa zadatim parametrima i salje rezultat pretrage templejtu za prikaz */ private static function _pretraga() { $kategorije = knjige::_kategorije(); $autori = knjige::_autori(); if (isset($_GET['Kategorija_ID']) and intval($_GET['Kategorija_ID']) != 0) { $Kategorija_ID = intval($_GET['Kategorija_ID']); $sql_Kategorija_ID_klauzula = "and kk.Kategorija_ID = {$Kategorija_ID}"; } else { $sql_Kategorija_ID_klauzula = ''; } if (isset($_GET['Autor_ID']) and intval($_GET['Autor_ID']) != 0) { $Autor_ID = intval($_GET['Autor_ID']); $sql_Autor_ID_klauzula = "and ak.Autor_ID = {$Autor_ID}"; } else { $sql_Autor_ID_klauzula = ''; } if (isset($_GET['KljucnaRec']) and strlen($_GET['KljucnaRec']) > 1) { $KljucnaRec = MySQL::escape(strip_tags(trim($_GET['KljucnaRec']))); $ISBN = preg_replace("/[^0-9]/i", '', $KljucnaRec); $sql_KljucnaRec_klauzula = "and ( k.OriginalniNaslov LIKE '%{$KljucnaRec}%' or k.PrevodNaslova LIKE '%{$KljucnaRec}%' or k.ISBN LIKE '%{$ISBN}%' )"; } else { $sql_KljucnaRec_klauzula = ''; } $sql = "select\n k.*,\n a.ID Autor_ID,\n a.ImePrezime AutorImePrezime,\n (\n select\n group_concat(distinct kat.ID ORDER BY kat.Naziv asc separator ',')\n from\n Kategorija kat \n where\n kat.ID in (\n select\n katk.Kategorija_ID\n from\n Kategorija_Knjiga katk\n where\n katk.Knjiga_ID = k.ID\n )\n ) kategorije\n from\n Knjiga k\n left join Autor_Knjiga ak on ak.Knjiga_ID = k.ID\n left join Autor a on a.ID = ak.Autor_ID\n left join Kategorija_Knjiga kk on kk.Knjiga_ID = k.ID\n left join Kategorija ka ON ka.ID = kk.Kategorija_ID\n where\n 1\n {$sql_Autor_ID_klauzula}\n {$sql_KljucnaRec_klauzula}\n {$sql_Kategorija_ID_klauzula}\n group by\n k.ID\n order by\n k.Godina desc,\n k.OriginalniNaslov"; $knjige = MySQL::upitUNiz($sql); include_once 'front/templejti/knjige.pretraga.php'; }
/** * Metod koij vraca podatke o knjizi u vidu niza koji sadrzi dva polja Knjiga i Komentari. * Polje Knjiga je asocijativni niz sa elementima koji opisuju knjigu. * Polje Komentari je niz komentara koji su svaki za sebe asocijativni niz. * @param int $Knjiga_ID * @return array */ public static function podaci($Knjiga_ID) { $podaci = null; $sql = "select\n k.*,\n a.ID Autor_ID,\n a.ImePrezime AutorImePrezime,\n (\n select\n group_concat(distinct kat.ID ORDER BY kat.Naziv asc separator ',')\n from\n Kategorija kat \n where\n kat.ID in (\n select\n katk.Kategorija_ID\n from\n Kategorija_Knjiga katk\n where\n katk.Knjiga_ID = k.ID\n )\n ) kategorije\n from\n Knjiga k\n left join Autor_Knjiga ak on ak.Knjiga_ID = k.ID\n left join Autor a on a.ID = ak.Autor_ID\n left join Kategorija_Knjiga kk on kk.Knjiga_ID = k.ID\n left join Kategorija ka ON ka.ID = kk.Kategorija_ID\n where\n k.ID = {$Knjiga_ID}\n group by\n k.ID\n order by\n k.Godina desc,\n k.OriginalniNaslov"; $niz = MySQL::upitUNiz($sql); if (count($niz)) { $podaci = array(); $podaci['Knjiga'] = $niz[0]; $sql = "select\n k.*,\n ko.KorisnickoIme KorisnikKorisnickoIme\n from\n Komentar k\n left join Korisnik ko on ko.ID = k.Korisnik_ID\n where\n k.Knjiga_ID = {$Knjiga_ID}\n and k.Odobren = 1\n order by\n k.DatumVreme desc"; $podaci['Komentari'] = MySQL::upitUNiz($sql); } return $podaci; }
/** * Metod koji vraca true ako postoji korisnik sa trazenim korisnickim imenom i false ako ne postoji * @param string $korisnickoIme Korisnicko ime koje se proverava * @return boolean */ public static function daLiPostojiKorisnikSaKorisnicimImenom($korisnickoIme) { $korisnickoIme = MySQL::escape($korisnickoIme); $data = MySQL::upitUNiz("SELECT COUNT(id) broj FROM korisnik WHERE KorisnickoIme = '{$korisnickoIme}'"); if (count($data)) { $broj = $data[0]['broj']; if ($broj > 0) { return true; } else { return false; } } else { return false; } }
/** * Osnovni index metod klase porudzbine koji se prvi izvrsava kada se otvori stranica ali samo ako je korisnik admin */ public static function index() { if (PrijavaKorisnika::daLiImaAdminPrivilegije()) { if (isset($_GET['realizovane'])) { $Realizovane = 1; } else { $Realizovane = 0; } $sql = "SELECT\n p.*\n FROM\n porudzbine p\n WHERE\n p.Realizovana = {$Realizovane}\n ORDER BY\n p.DatumVreme DESC"; $porudzbine = MySQL::upitUNiz($sql); include_once 'front/templejti/porudzbine.index.php'; } else { Funkcije::redirektujNaUrl("index.php"); } }
/** * Funkcija koja pokusava da izvrsi prijavu korisnika sa prilozenim korisnickim imenom i lozinkom (ako su ispravni i ako korisnik nema zabranu) * @param string $KorisnickoIme * @param string $Lozinka * @return boolean - Vraca true ako je korisnik uspesno prijavljen ili false ako nije uspesno prijavljen */ public static function proveriPodatkeZaPrijavu($KorisnickoIme, $Lozinka) { $KorisnickoIme = MySQL::escape($KorisnickoIme); $Lozinka = MySQL::escape($Lozinka); $sql = "select\n ID, KorisnickoIme, AdminPrivilegije\n from\n Korisnik\n where\n KorisnickoIme = '{$KorisnickoIme}' and\n Lozinka = '{$Lozinka}' and\n ZabranaPrijave = 0\n "; $niz = MySQL::upitUNiz($sql); if (count($niz)) { session_start(); $_SESSION['korisnik'] = $niz[0]; PrijavaKorisnika::obnoviKolacicSesije(); return true; } else { PrijavaKorisnika::ponistiSesiju(); return false; } }
/** * Funkcija za rad sa komentarima */ public static function komentari() { if (PrijavaKorisnika::daLiImaAdminPrivilegije()) { $sql = "SELECT\n\t\t\t\t\t\t\tk.ID,\n\t\t\t\t\t\t\tk.DatumVreme,\n\t\t\t\t\t\t\tk.Tekst,\n\t\t\t\t\t\t\tknjiga.OriginalniNaslov Knjiga,\n\t\t\t\t\t\t\tkorisnik.KorisnickoIme Korisnik\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\tkomentar k\n\t\t\t\t\t\t\tINNER JOIN knjiga ON k.Knjiga_ID = knjiga.ID\n\t\t\t\t\t\t\tINNER JOIN korisnik ON k.Korisnik_ID = korisnik.ID\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\tk.Odobren = 0;"; $komentari = MySQL::upitUNiz($sql); include_once 'front/templejti/admin.komentari.php'; } else { Funkcije::redirektujNaUrl("index.php"); } }
public static function index() { $sql = "select * from Kategorija order by Naziv asc"; $kategorije = MySQL::upitUNiz($sql); include_once 'front/templejti/kategorije.index.php'; }