class DGrupaProizvoda extends DSifarnik
{
function DGrupaProizvoda(&$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"];
$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;
}
}
?>