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) { }
}
}
?>