Current File : /home/karenpetzb/application/models/ProductAccessoire.php
<?php
class ProductAccessoire extends Zend_Db_Table
{
    protected $_name = 'product_acc';
    protected $_primary = 'ID';
    
    
    public function getAccessoiresByProductIDOld($id, $triSql) {
    	$results = array();
    	try { 
    		$select = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM, p.DESCRIPTIONSHORT DESCSHORT, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
							p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.URL BRENDURL, COUNT(pc.REFERENCE) NBREFERENCE, 
							c.NAVNOM CATNAVNOM, p.isSHOWBREND isSHOWBREND, p.KEYWORDS KEYWORDS_PROD, c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS,
                            c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
							FROM product_acc pa
							LEFT JOIN product AS p ON pa.IDACCESSOIRE = p.ID 
							LEFT JOIN picture pic ON pic.IDPRODUCT = p.ID 
							LEFT JOIN category c ON c.ID = p.IDCATEGORY 
							LEFT JOIN supplier_brend sb ON sb.ID = p.IDBREND
							LEFT JOIN productchild pc ON pc.IDPRODUCT = p.ID 
							WHERE pa.IDPRODUCT = ".$id." 
							AND p.isACTIVE = 0
							AND pic.POSITION = 1
							GROUP BY ID
							ORDER BY ".$triSql;
    		
			$results = $this->getAdapter()->fetchAll($select);
    	} catch (Zend_Exception $e) { }
    	return $results;
    }
    
	public function getAccessoiresByProductID($id, $triSql) {
    	$results = array();
    	try {  
    		$select = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM,pic.URL URL,
    						pc.REFERENCE REFERENCE, pc.DESIGNATION DESIGNATION, 
    						pa.ID IDACCESSOIRE , c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS
                            , p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
							FROM product_acc pa
							LEFT JOIN productchild pc ON pa.REFACCESSOIRE = pc.REFERENCE
							LEFT JOIN product AS p ON pc.IDPRODUCT = p.ID 
							LEFT JOIN category c ON c.ID = p.IDCATEGORY 
							LEFT JOIN picture pic ON pic.IDPRODUCT = p.ID 
							WHERE pa.IDPRODUCT = ".$id."  
							AND pic.POSITION = 1
							ORDER BY ".$triSql;
    		
			$results = $this->getAdapter()->fetchAll($select);
    	} catch (Zend_Exception $e) { }
    	return $results;
    } 
    
	public function getAccessoiresOptionsByProductID($id) {
    	$results = array();
    	try {  
    		// meme select que ProductChild->getProductChildsByIdProduct sauf que l'on recupere les accessoires
    		$select = "SELECT pc.ID ID ,pc.REFERENCE REFERENCE,pc.DESIGNATION DESIGNATION,pc.PRIX PRIX, pc.isPROMO isPROMO ,
					pco.VALUE OPTIONVALUE, pco.IDOPTION OPTIONID, pc.IMAGEPROMO IMAGEPROMO,pc.isDEVIS isDEVIS, pc.QUANTITYMIN QUANTITYMIN
					, p.NAVNOM PRODUCTNAVNOM, p.NOM PRODUCTNOM, p.ID PRODUCTID, p.isQTEPRIXACTIVE isQTEPRIXACTIVE, c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS
                    , p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
					FROM product_acc pa
					LEFT JOIN productchild AS pc ON pa.REFACCESSOIRE = pc.REFERENCE
					LEFT JOIN productchild_option AS pco ON pc.ID = pco.IDPRODUCTCHILD
					LEFT JOIN product AS p ON pc.IDPRODUCT = p.ID
					LEFT JOIN category c ON c.ID = p.IDCATEGORY 
					WHERE pa.IDPRODUCT = ".$id;  
			$results = $this->getAdapter()->fetchAll($select);
    	} catch (Zend_Exception $e) { } 
    	return $results;
    } 
    
    
    public function insertAccessoire($idproduct, $refaccessoire) {
    	try {
    		$select = " 
				SELECT COUNT(pa.ID) NBR
				FROM product_acc pa 
				WHERE pa.IDPRODUCT = ".$idproduct."
				AND pa.REFACCESSOIRE LIKE '".$refaccessoire."'"; 
			 
    		$result = $this->getAdapter()->fetchRow($select);
    		
    		if ($result['NBR'] == 0) { 
	    		$data = array (
	    			'IDPRODUCT' => $idproduct,
	    			'REFACCESSOIRE' => $refaccessoire
	    		);
    			$this->insert($data);
    			return true;
    		} 
    	} catch (Zend_Exception $e) { }
    	return false;
    }

    public function deleteAccessoire($idaccessoire) {
    	try {  
    		$this->delete("ID = ".$idaccessoire); 
    	} catch (Zend_Exception $e) { }
    }
    
 
}
?>