DSifarnik($Db); $this->Stranicenje=1; } function DodeliSqlForme() { if (!isset($this->Izabrani["Get"]["idk"])) { $this->Izabrani["Get"]["idk"]=0; } $izabrani=$this->Izabrani["Get"]["idk"]; $this->SqlString=" select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda where idGrupaProizvoda = $izabrani "; } function VratiDodatnePodatkeIzabrani() { if (!isset($this->Izabrani["Get"]["idk"])) { $this->Izabrani["Get"]["idk"]=0; } $izabrani=$this->Izabrani["Get"]["idk"]; $this->Podaci['GrupeProizvoda']=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"); $this->Podaci['Drzave']=$this->IzvrsiSql("select idDrzava, naziv from Drzava"); } function DodeliFilter() { $filter=''; if ((isset($this->Parametri["Post"]["grupeFilter"]))) { if(($this->Parametri["Post"]["grupeFilter"]!=-1)) { $filter.=" and IdGrupaProizvoda=".$this->Parametri["Post"]["grupeFilter"]; $filter.=" or IdRoditelj=".$this->Parametri["Post"]["grupeFilter"]; } if (isset($this->Parametri["Post"]["nazivFilter"])) { if ($this->Parametri["Post"]["nazivFilter"]<>"") { $filter.=" and naziv like '$this->Parametri[Post][nazivFilter]%'"; } } } else { $filter = " and idRoditelj=0"; } $this->Filter=$filter; } function VratiDodatnePodatke() { $this->Podaci['GrupeProizvoda']=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"); } function Snimi() { $idGrupaProizvoda=$this->Parametri["Post"]["IdGrupaProizvoda"]; $naziv=$this->Parametri["Post"]["Naziv"]; $ikonica=$this->Parametri["Post"]["Ikonica"]; $idRoditelj=$this->Parametri["Post"]["IdRoditelj"]; $l=new logPhp(); $l->dodeliTekst("update GrupaProizvoda set naziv = '$naziv', ikonica = '$ikonica', idRoditelj = $idRoditelj where idGrupaProizvoda=$idGrupaProizvoda "); //update u tabelu GrupaProizvoda $this->IzvrsiUpit("update GrupaProizvoda set naziv = '$naziv', ikonica = '$ikonica', idRoditelj = $idRoditelj where idGrupaProizvoda=$idGrupaProizvoda "); } function Dodaj() { $idGrupaProizvoda=$this->Parametri["Post"]["IdGrupaProizvoda"]; $naziv=$this->Parametri["Post"]["Naziv"]; $ikonica=$this->Parametri["Post"]["Ikonica"]; $idRoditelj=$this->Parametri["Post"]["IdRoditelj"]; //insert u tabelu Mesto $this->IzvrsiUpit(" insert into GrupaProizvoda(idgrupaProizvoda, naziv, ikonica, idRoditelj) select max(idGrupaProizvoda)+1, '$naziv', '$ikonica', $idRoditelj from GrupaProizvoda "); } function brisi() { $IdGrupaProizvoda=$this->Parametri["Post"]["IdGrupaProizvoda"]; $grupe=$this->IzvrsiSql(" select idGrupaProizvoda, idRoditelj from GrupaProizvoda"); $deca=array(); $ZaBrisanje=''; $util=new utill(); $util->VratiStablo($grupe,$deca,'',$IdGrupaProizvoda,'idGrupaProizvoda','idRoditelj','',1); if (count($deca)>0) { $ZaBrisanjeNiz=$this->VratiKolonu($deca,'idGrupaProizvoda'); $ZaBrisanje=implode(',',$ZaBrisanjeNiz); $this->IzvrsiUpit("DELETE from GrupaProizvoda WHERE idGrupaProizvoda in ($ZaBrisanje)"); } $this->IzvrsiUpit("DELETE from GrupaProizvoda WHERE idGrupaProizvoda = $IdGrupaProizvoda"); } function DodeliSqlString($Vrednost) { $this->SqlString=" select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"; } function VratiStabloRoditelja(&$output,$id=0) { /* returns a tree of the product categories, starting from the top to the * category specified by $id */ global $CFG; $niz=''; $niz = $this->IzvrsiSql("SELECT naziv,idRoditelj FROM GrupaProizvoda WHERE idGrupaProizvoda = $id"); if ($niz!='') { list($parent, $name) = db_fetch_row($qid); $name = "$name"; } else { $parent = 0; $name = ""; } if ($parent > 0) { return print_category_tree($parent) . " > " . $name; } elseif ($id > 0) { return "wwwroot/images/$CFG->logomali>::" . $name; } elseif ($id == 0) { return "wwwroot/images/$CFG->logomali>::"; } } function vratiFilterGrupe() { if (!isset($this->Parametri["Post"]["grupeFilter"])) { $this->Parametri["Post"]["grupeFilter"]=''; } if(!isset($this->Parametri["Post"]["nazivFilter"])) { $this->Parametri["Post"]["nazivFilter"]=''; } $idGrupe=$this->Parametri["Post"]["grupeFilter"]; $naziv=$this->Parametri["Post"]["nazivFilter"]; if ($idGrupe==-1) { $idGrupe=0; } $this->Podaci['GrupeProizvoda']=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"); $niz=array(); $util=new utill(); $util->build_category_tree($this->Podaci['GrupeProizvoda'],$niz,1,'idGrupaProizvoda','idRoditelj','naziv',$idGrupe,'',1); $br=count($niz); $niz[$br]=array('idGrupaProizvoda'=>$this->Parametri["Post"]["grupeFilter"]); $deca=implode(',',$this->VratiKolonu($niz,'idGrupaProizvoda')); $podaci["Podaci"]=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda where naziv like '%$naziv%' and idGrupaProizvoda in ($deca)"); if (!isset($podaci["Podaci"][0])) { $podaci["Podaci"]=array(); } $podaci["BrojPodataka"][0][0]=count($podaci["Podaci"]); return $podaci; } } class DProizvod extends DSifarnik { function DProizvod(&$Db) { $this->DSifarnik($Db); $this->Stranicenje=1; } function DodeliSqlForme() { if (!isset($this->Izabrani["Get"]["idk"])) { $this->Izabrani["Get"]["idk"]=0; } $izabrani=$this->Izabrani["Get"]["idk"]; $cena=$this->VratiCenu($izabrani); //$rabat= $this->SqlString=" select p.idProizvod, p.dobavljac, p.idGrupaProizvoda, p.sifra, g.naziv as nazivGrupeProizvoda, '$cena' as cena, 1 as rabat, p.naziv, p.model, p.opis, p.materijal, p.malaSlika, p.srednjaSlika, p.velikaSlika, p.nazivProizvodjaca, p.zemljaPorekla, p.boja, p.visina, p.tezina, p.sirina, p.debljina, p.duzina, p.idProdavac, p.status from Proizvod p, GrupaProizvoda g where p.status = 1 and p.idGrupaProizvoda = g.idGrupaProizvoda and p.idProizvod = $izabrani "; //idProdavac = $idKlijent // samo kada je prijavljen prodavac } function VratiDodatnePodatkeIzabrani() { if (!isset($this->Izabrani["Get"]["idk"])) { $this->Izabrani["Get"]["idk"]=0; } $izabrani=$this->Izabrani["Get"]["idk"]; $this->Podaci['Drzave']=$this->IzvrsiSql("select idDrzava, naziv from Drzava order by naziv"); $this->Podaci['GrupeProizvoda']=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"); } function VratiDodatnePodatkeFilter() { $Podaci['GrupeProizvoda']=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"); return $Podaci; } function VratiListuRabata($idProizvoda) { //potrebno je da se vrati i podatak o procentu rabata kupca //tada bi se tim podatkom mnozio popust i tako dobio personalizovan //rabat za svakog kupca posebno $Podaci['ListaRabata']=$this->IzvrsiSql(" select rp.idrabat, rp.idProizvod, rp.datum, r.kolicina, r.popust from rabatProizvod rp join rabat r on rp.idrabat=r.idRabat where rp.idProizvod=$idProizvoda "); return $Podaci; } function vratiStopuPdv($idProizvod) { return 0.20; } function VratiCenu($idProizvod) { $cenaNiz=$this->IzvrsiUpit(" select cena from CenaProizvoda where idproizvod=$idProizvod and datum=(select max(datum) from CenaProizvoda where datum<=now() and idProizvod=$idProizvod)"); if (!isset($cenaNiz[0]["cena"])) { $cenaNiz[0]["cena"]=0; } return $cenaNiz[0]["cena"]; } function VratiRabat($idProizvod,$Kolicina) { $cenaNiz=$this->IzvrsiUpit("select popust from Rabat r join RabatProizvod p on r.idRabat=p.idRabat where idProizvod=$idProizvod and kolicina = (select max(kolicina) from Rabat r1 join RabatProizvod p1 on r1.idRabat=p1.idRabat where p1.idProizvod=$idProizvod and p1.datum <=now() and r1.kolicina <=$Kolicina)"); if (!isset($cenaNiz[0]["popust"])) { $cenaNiz[0]["popust"]=0; } return $cenaNiz[0]["popust"]; } function DodeliFilter() { $filter = " and p.status=1"; if (isset($this->Parametri["Get"]["idk"])) { $filter.=" and p.idgrupaProizvoda=".$this->Parametri["Get"]["idk"]; } $this->Filter=$filter; } function LookUp() { if ($this->Parametri["Get"]["nazivPanela"]=='panelnaziv') { $filter= " where 1=1 and naziv like '".$this->Parametri["Get"]["qid"]."%' and p.status=1 order by naziv "; } elseif ($this->Parametri["Get"]["nazivPanela"]=='panelsifra') { $filter= " where 1=1 and sifra like '".$this->Parametri["Get"]["qid"]."%' and p.status=1 order by sifra"; } $SqlString=("select p.idProizvod, p.sifra, p.naziv, c.cena from Proizvod p join CenaProizvoda c on c.idproizvod=p.idProizvod and datum=(select max(datum) from CenaProizvoda where datum<=now() and idProizvod=p.idproizvod) $filter"); if (isset($this->Parametri["Get"]["OdabranaStranica"])) { $this->OdabranaStranica=$this->Parametri["Get"]["OdabranaStranica"]; } else { $this->OdabranaStranica=1; } $sqlcount="select count(*) ".stristr($SqlString, 'from'); //$this->Podaci["Podaci"]=$this->IzvrsiSql($this->SqlString); $Podaci["BrojPodataka"]=$this->IzvrsiSql("$sqlcount"); if ($this->Stranicenje!=0) { $ofset=$this->BrojElemenataListe*($this->OdabranaStranica-1); $SqlString.=" LIMIT $ofset,$this->BrojElemenataListe "; $Podaci["Podaci"]=$this->IzvrsiSql("$SqlString"); } else { $Podaci["Detalji"]=$this->IzvrsiSql("$SqlString"); } return $Podaci; } function Snimi() { $idProizvod=$this->Parametri["Post"]["IdProizvod"]; $dobavljac = $this->Parametri["Post"]["IdDobavljac"]; $idGrupaProizvoda = $this->Parametri["Post"]["IdGrupaProizvoda"]; $sifra = $this->Parametri["Post"]["Sifra"]; $naziv = $this->Parametri["Post"]["Naziv"]; $malaSlika = $this->Parametri["Post"]["MalaSlika"]; $opis = $this->Parametri["Post"]["Opis"]; $materijal=$this->Parametri["Post"]["Materijal"]; $model=$this->Parametri["Post"]["Model"]; $srednjaSlika=$this->Parametri["Post"]["SrednjaSlika"]; $velikaSlika=$this->Parametri["Post"]["VelikaSlika"]; $nazivProizvodjaca=$this->Parametri["Post"]["NazivProizvodjaca"]; $zemljaPorekla=$this->Parametri["Post"]["ZemljaPorekla"]; $boja=$this->Parametri["Post"]["Boja"]; $visina=$this->Parametri["Post"]["Visina"]; $tezina=$this->Parametri["Post"]["Tezina"]; $sirina=$this->Parametri["Post"]["Sirina"]; $debljina=$this->Parametri["Post"]["Debljina"]; $duzina=$this->Parametri["Post"]["Duzina"]; $idProdavac=$this->Parametri["Post"]["IdProdavac"]; $status=$this->Parametri["Post"]["Status"]; $this->IzvrsiUpit(" update Proizvod set dobavljac = $dobavljac, idGrupaProizvoda = $idGrupaProizvoda, sifra = '$sifra', naziv = '$naziv', model = '$model', opis = '$opis', materijal = '$materijal', malaSlika = '$malaSlika', srednjaSlika = '$srednjaSlika', velikaSlika = '$velikaSlika', nazivProizvodjaca = '$nazivProizvodjaca', zemljaPorekla = '$zemljaPorekla', boja = '$boja', visina = '$visina', tezina = '$tezina', sirina = '$sirina', debljina = '$debljina', duzina = '$duzina', idProdavac = '$idProdavac', status = '$status' where idProizvod = $idProizvod "); } function Dodaj() { $idProizvod=$this->Parametri["Post"]["IdProizvod"]; $dobavljac = $this->Parametri["Post"]["IdDobavljac"]; $idGrupaProizvoda = $this->Parametri["Post"]["IdGrupaProizvoda"]; $sifra = $this->Parametri["Post"]["Sifra"]; $naziv = $this->Parametri["Post"]["Naziv"]; $malaSlika = $this->Parametri["Post"]["MalaSlika"]; $opis = $this->Parametri["Post"]["Opis"]; $materijal=$this->Parametri["Post"]["Materijal"]; $model=$this->Parametri["Post"]["Model"]; $srednjaSlika=$this->Parametri["Post"]["SrednjaSlika"]; $velikaSlika=$this->Parametri["Post"]["VelikaSlika"]; $nazivProizvodjaca=$this->Parametri["Post"]["NazivProizvodjaca"]; $zemljaPorekla=$this->Parametri["Post"]["ZemljaPorekla"]; $boja=$this->Parametri["Post"]["Boja"]; $visina=$this->Parametri["Post"]["Visina"]; $tezina=$this->Parametri["Post"]["Tezina"]; $sirina=$this->Parametri["Post"]["Sirina"]; $debljina=$this->Parametri["Post"]["Debljina"]; $duzina=$this->Parametri["Post"]["Duzina"]; $idProdavac=$this->Parametri["Post"]["IdProdavac"]; $status=$this->Parametri["Post"]["Status"]; $this->IzvrsiUpit(" insert into Proizvod(idProizvod, dobavljac, idGrupaProizvoda, sifra, naziv, model, opis, materijal, malaSlika, srednjaSlika, velikaSlika, nazivProizvodjaca, zemljaPorekla, boja, visina, tezina, sirina, debljina, duzina, idProdavac,status) select coalesce(max(idProizvod) + 1, 1), '$dobavljac', '$idGrupaProizvoda', '$sifra', '$naziv', '$model', '$opis', '$materijal', '$malaSlika', '$srednjaSlika', '$velikaSlika', '$nazivProizvodjaca', '$zemljaPorekla', '$boja', '$visina', '$tezina', '$sirina', '$debljina', '$duzina', '$idProdavac', '$status' from Proizvod "); } function brisi() { $idProizvod=$this->Parametri["Post"]["IdProizvod"]; $this->IzvrsiUpit("UPDATE Proizvod set status=0 WHERE idProizvod = $idProizvod"); } function DodeliSqlString($vrednost) { $this->SqlString="select p.idProizvod, p.dobavljac, p.idGrupaProizvoda, g.naziv as nazivGrupeProizvoda, p.sifra, p.naziv, p.malaslika, p.opis from Proizvod p join GrupaProizvoda g on p.idGrupaProizvoda = g.idGrupaProizvoda"; } function vratiFilterProizvodi() { if (!isset($this->Parametri["Post"]["grupeFilter"])) { $this->Parametri["Post"]["grupeFilter"]=''; } if(!isset($this->Parametri["Post"]["nazivFilter"])) { $this->Parametri["Post"]["nazivFilter"]=''; } if (isset($this->Parametri["Get"]["grupeFilter"])) { $this->Parametri["Post"]["grupeFilter"]=$this->Parametri["Get"]["grupeFilter"]; } if(isset($this->Parametri["Get"]["nazivFilter"])) { $this->Parametri["Post"]["nazivFilter"]=$this->Parametri["Get"]["nazivFilter"]; } $idGrupe=$this->Parametri["Post"]["grupeFilter"]; $naziv=$this->Parametri["Post"]["nazivFilter"]; if ($idGrupe==-1) { $idGrupe=0; } $this->Podaci['GrupeProizvoda']=$this->IzvrsiSql("select idGrupaProizvoda, naziv, ikonica, idRoditelj from GrupaProizvoda"); $niz=array(); $util=new utill(); $util->build_category_tree($this->Podaci['GrupeProizvoda'],$niz,1,'idGrupaProizvoda','idRoditelj','naziv',$idGrupe,'',1); $br=count($niz); $niz[$br]=array('idGrupaProizvoda'=>$this->Parametri["Post"]["grupeFilter"]); $deca=implode(',',$this->VratiKolonu($niz,'idGrupaProizvoda')); $podaci["Podaci"]=$this->IzvrsiSql("select p.idProizvod, p.idGrupaProizvoda, g.naziv as nazivGrupeProizvoda, p.sifra, p.naziv, p.malaslika, p.opis from Proizvod p, GrupaProizvoda g where p.idGrupaProizvoda = g.idGrupaProizvoda and (p.naziv like '%$naziv%' or p.opis like '%$naziv%') and g.idGrupaProizvoda in ($deca)"); if (!isset($podaci["Podaci"][0])) { $podaci["Podaci"]=array(); } $podaci["BrojPodataka"][0][0]=count($podaci["Podaci"]); return $podaci; } } ?>