<?php 

class M_shop extends CI_Model {


    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }
    function getMenu($is_for_head = null)
    {
    	$q = "select * from tkatalog where katalog_status=1  ";
    	if($is_for_head != null){
    		$q .= " and katalog_header = ".$is_for_head." ";
    	}
    	$q .= " order by katalog_id asc";
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    function getMenuItems($is_for_head = null){
    	$q = "select * from tkategorija where kategorija_status=1  ";
    	if($is_for_head != null){
    		$q .= " and kategorija_header = ".$is_for_head." ";
    	}
    	$q .= " order by kategorija_order asc";
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    
 function getAllCategories(){
    	$q = "select * from tkategorija order by kategorija_order asc  ";
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    function saveProduct($kategorija, $naziv, $slika, $cena, $lager, $akcija=0){
    	$q = "insert into tproizvod (kategorija_id, proizvod_ime, proizvod_slika, proizvod_cena, proizvod_lager, proizvod_akcija)
    							values ( ".$kategorija.",  '".$naziv."', '".$slika."', ".$cena.", ".$lager.", ".$akcija." )";
    	$this->db->query($q);
    	return true;
    	
    }
    
    function getHomeProducts(){
    	$q = "select * from tproizvod p left join tkategorija k
    	on k.kategorija_id = p.kategorija_id where proizvod_home=1 order by proizvod_order asc  ";
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    
    function getNumOfProducts($kat_id){
    	$q = "select count(*) as vkupno from tproizvod where kategorija_id=".$kat_id;
        $rez = $this->db->query($q);
        $vk =   $rez->row_array();
        return $vk['vkupno'];
    }
    
 function getNumberOfProducts($kat_id){
    	$q = "select count(*) as vkupno from tproizvod where katalog_id=".$kat_id;
        $rez = $this->db->query($q);
        $vk =   $rez->row_array();
        return $vk['vkupno'];
    }
    
    
function setInvoiceStatus($invoice_id,$status){
    	$q = "update tinvoice set invoice_status=".$status." where invoice_id=".$invoice_id." ";
        $this->db->query($q);
        return  true;
    }
    
    function setStatus($proizvod_id,$status){
    	$q = "update tproizvod set proizvod_status=".$status." where proizvod_id=".$proizvod_id." ";
        $this->db->query($q);
        return  true;
    }
    
function setHome($proizvod_id,$status){
    	$q = "update tproizvod set proizvod_home=".$status." where proizvod_id=".$proizvod_id." ";
        $this->db->query($q);
        return  true;
    }
    
    function getAllP(){
    	$q = "select * from tproizvod p left join tkategorija k
    	on k.kategorija_id = p.kategorija_id ";
    	
    	
    	$q .= " order by proizvod_order asc ";
    	
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    
    function getProductsByCategory($kategorija_id){
    	$q = "select * from tproizvod p left join tkategorija k
    	on k.kategorija_id = p.kategorija_id ";
    	
    	if($kategorija_id > 0){
    		$q .= "where p.kategorija_id=".$kategorija_id." ";
    	}
    	
    	$q .= " order by proizvod_order asc ";
    	
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    
    function getCategoryName($kategorija_id){
    	if($kategorija_id > 0){
    		$q = "select kategorija_name from tkategorija where kategorija_id=".$kategorija_id;
	        $rez = $this->db->query($q);
	        $vk =   $rez->row_array();
	        return $vk['kategorija_name'];
    	}else{
    		return "";
    	}
    }
    
    function validniPodatoci($username,$pass){
    	$q = "select * from tuser where user_email='".$username."' AND user_password = '".md5($pass)."' limit 1 ";
	        $rez = $this->db->query($q);
	        $usr =   $rez->row_array();
	        if(!empty($usr)){
	        	$_SESSION['logiran'] = 1;
	        	$_SESSION['info'] = $usr;
	        	return true;
	        }else{
	        	return false;
	        }
    }
    
    function getProizod($proizvod_id){
    	$q = "select * from tproizvod p left join tkategorija k on k.kategorija_id=p.kategorija_id where p.proizvod_id=".$proizvod_id;
        $rez = $this->db->query($q);
        return  $rez->row_array();
    }
    
    function addToCart($proizvod_id){
    	$q = "select * from tproizvod where proizvod_id=".$proizvod_id;
        $rez = $this->db->query($q);
        $pr =   $rez->row_array();
        if(!empty($pr)){
        	if(isset($_SESSION['cart'][$pr['proizvod_id']]) ){
        		if( $pr['proizvod_lager'] > $_SESSION['cart'][$pr['proizvod_id']]){
        			$_SESSION['cart'][$pr['proizvod_id']] ++ ;
        		}else{
        			$_SESSION['cart'][$pr['proizvod_id']] = (int)$pr['proizvod_lager'];
        		}
        	}else{
        		if( $pr['proizvod_lager'] > 0){
        			$_SESSION['cart'][$pr['proizvod_id']] = 1;
        		}
        	}
        	return true;
        }else{
        	return false;
        }
    }
    
 function removeFromCart($proizvod_id){
    	$q = "select * from tproizvod where proizvod_id=".$proizvod_id;
        $rez = $this->db->query($q);
        $pr =   $rez->row_array();
        if(!empty($pr)){
        	if(isset($_SESSION['cart'][$pr['proizvod_id']]) ){
        		if( $_SESSION['cart'][$pr['proizvod_id']] > 1){
        			$_SESSION['cart'][$pr['proizvod_id']] -- ;
        		}else{
        			unset($_SESSION['cart'][$pr['proizvod_id']]);
        		}
        	}
        	return true;
        }else{
        	return false;
        }
    }
    
    function checkout(){
    	$user_id = $_SESSION['info']['user_id'];
    	$total = $_SESSION['total_price'];
    	
    	$q = "insert into tinvoice (user_id, invoice_total) values (".$user_id.", ".$total.")";
    	$this->db->query($q);
    	
    	$invoice_id = mysql_insert_id();
    	
    	foreach ($_SESSION['cart'] as $kluc=>$vrednost){
			$tmp = array();
			$pro = $this->getProizod($kluc);
			
			$qq = "insert into tinvoiceproduct (invoice_id, proizvod_id, ip_quantity, ip_unit_price)
					values (".$invoice_id.", ".$pro['proizvod_id'].", ".$vrednost.", ".$pro['proizvod_cena'].")";
			$this->db->query($qq);
			
			
		}
		unset($_SESSION['cart']);
		unset($_SESSION['total_price']);
		return true;
    }
    
    function getAllF(){
    	$q = "select * from tinvoice left join tuser on tuser.user_id = tinvoice.user_id ";
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    
    
    function getInvoiceDetali($invoice_id){
    	$q = "select * from tinvoiceproduct ip left join tproizvod p on p.proizvod_id=ip.proizvod_id where ip.invoice_id=".$invoice_id." ";
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    
    function getNI($u_id)
    {
    	$q= "select count(*) as vkupno from tinvoice where user_id=".$u_id;
    	$rez = $this->db->query($q);
        $p = $rez->row_array();
        
    	return $p['vkupno'];
    }
    function getAllUsers()
    {
    	$q="select * from tuser";
    	$rez = $this->db->query($q);
    	$user=$rez->result_array();
    for($i=0;$i<count($user);$i++)
		{
			$user[$i]['bi']=$this->getNI($user[$i]['user_id']);
		}
        return $user;
    }
    
    function getUser_id($us_id)
    {
    	$q="select * from tinvoice i left join tuser u on i.user_id=u.user_id ".$us_id;
    	 $rez = $this->db->query($q);
        return  $rez->row_array();
    	
    }
    
    function getProductsByKatalog($katalog_id)
    {
    	$q = "select * from tproizvod p left join tkatalog k
    	on k.katalog_id = p.katalog_id ";
    	
    	if($katalog_id > 0){
    		$q .= "where p.katalog_id=".$katalog_id." ";
    	}
    	
    	$q .= " order by proizvod_order asc ";
    	
        $rez = $this->db->query($q);
        return  $rez->result_array();
    }
    function getKatalogName($katalog_id)
    {
    	if($katalog_id > 0){
    		$q = "select katalog_ime from tkatalog where katalog_id=".$katalog_id;
	        $rez = $this->db->query($q);
	        $vk =   $rez->row_array();
	        return $vk['katalog_ime'];
    	}else{
    		return "";
    	}
    }

    

}

?>