Current File : /home/karenpetzb/application/models/Product.php |
<?php
class Product extends Zend_Db_Table
{
protected $_name = 'product';
protected $_primary = 'ID';
public function updateByCategory($idCategory, $data) {
return $this->update($data, 'IDCATEGORY = '.$idCategory);
}
private function getProductForIndexationFull($id) {
$select = "
SELECT p.ID ID, p.NOM NOM, p.NAVNOM NAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC,p.KEYWORDS KEYWORDS, p.DESCRIPTIONSHORT DESCSHORT, p.DESCRIPTIONLONG DESCLONG, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.DOCNAME DOCNAME, p.DOCURL DOCURL, p.IDBREND IDBREND, p.STOCK STOCK,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.URL BRENDURL, p.IDCATEGORY IDCATEGORY,
p.DESCRIPTIONTECH DESCTECH, p.DESCRIPTIONNORME DESCNORME, p.isSHOWBREND isSHOWBREND,
o.NOM NOMOPTION, o.ID IDOPTION, p.isQTEPRIXACTIVE isQTEPRIXACTIVE, p.ONSELECT_IDOPTION ONSELECT_IDOPTION ,
c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS, c.NAVNOM CATNAVNOM, c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
LEFT JOIN product_option AS po ON po.IDPRODUCT = p.ID
LEFT JOIN category c ON c.ID = p.IDCATEGORY
LEFT JOIN picture pic ON pic.IDPRODUCT = p.ID
LEFT JOIN `option` AS o ON o.ID = po.IDOPTION
LEFT JOIN supplier_brend sb ON sb.ID = p.IDBREND
WHERE p.ID = ".$id."
AND p.isACTIVE = 0
";
return $this->getAdapter()->fetchAll($select);
}
/* SITE */
public function calculateLowestPrice($idProduct) {
$myFacture = new Facture();
$productChild = new ProductChild();
$productChildQte = new ProductChildQte();
$results = $productChild->getChildsInfoByListProductId($idProduct);
$lastPrice = null;
$lastFactureLine = null;
foreach ($results AS $row) {
$factureLine = new FactureLine();
$factureLine->setLineInfo($row, 1, 0);
$currentPrice = $productChildQte->getCurrentLowestPrice($row['IDCHILD'], $row['PRIX']);
$factureLine->item_prix = sprintf("%.2f",$currentPrice);
$factureLine->setPromoCaddyType(false);
if ($lastFactureLine == null || $factureLine->item_prix < $lastFactureLine->item_prix) {
$lastFactureLine = $factureLine;
}
}
if ($lastFactureLine != null) {
$myFacture->addLine($lastFactureLine);
$promo = new PromoCalculator();
$promo->computeAllPromos($myFacture, null);
return $myFacture->getPrixTotalHT();
}
return sprintf("%.2f",0);
}
public function getProductById($id) {
$select = "
SELECT p.ID ID, p.NOM NOM, p.NAVNOM NAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC,p.KEYWORDS KEYWORDS, p.DESCRIPTIONSHORT DESCSHORT, p.DESCRIPTIONLONG DESCLONG, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.DOCNAME DOCNAME, p.DOCURL DOCURL, p.IDBREND IDBREND, p.STOCK STOCK,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.URL BRENDURL, p.IDCATEGORY IDCATEGORY,
p.DESCRIPTIONTECH DESCTECH, p.DESCRIPTIONNORME DESCNORME, p.isSHOWBREND isSHOWBREND,
o.NOM NOMOPTION, o.ID IDOPTION, p.isQTEPRIXACTIVE isQTEPRIXACTIVE, p.ONSELECT_IDOPTION ONSELECT_IDOPTION ,
c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS, c.NAVNOM CATNAVNOM, c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
LEFT JOIN product_option AS po ON po.IDPRODUCT = p.ID
LEFT JOIN category c ON c.ID = p.IDCATEGORY
LEFT JOIN picture pic ON pic.IDPRODUCT = p.ID
LEFT JOIN `option` AS o ON o.ID = po.IDOPTION
LEFT JOIN supplier_brend sb ON sb.ID = p.IDBREND
WHERE p.ID = ".$id."
AND p.isACTIVE = 0
";
return $this->getAdapter()->fetchAll($select);
}
public function getProductsByIdCategory($id, $triSql) {
$select = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC, p.DESCRIPTIONSHORT DESCSHORT, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.ID BRENDID, sb.URL BRENDURL, COUNT(pc.REFERENCE) NBREFERENCE,
c.NAVNOM CATNAVNOM, c.ID CATID, p.isSHOWBREND isSHOWBREND, p.KEYWORDS KEYWORDS_PROD,
p.IDCATEGORY_DUP1 IDCATEGORY_DUP1, p.IDCATEGORY_DUP2 IDCATEGORY_DUP2, p.IDCATEGORY_DUP3 IDCATEGORY_DUP3, c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS,
c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
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 (p.IDCATEGORY = ".$id." OR
p.IDCATEGORY_DUP1 = ".$id." OR
p.IDCATEGORY_DUP2 = ".$id." OR
p.IDCATEGORY_DUP3 = ".$id." )
AND p.isACTIVE = 0
AND p.STOCK <> 4
AND pic.POSITION = 1
GROUP BY ID
ORDER BY ".$triSql;
return $this->getAdapter()->fetchAll($select);
}
public function getBoostedHome($user) {
$select = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC, p.DESCRIPTIONSHORT DESCSHORT, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.ID BRENDID, sb.URL BRENDURL, COUNT(pc.REFERENCE) NBREFERENCE,
c.NAVNOM CATNAVNOM, c.ID CATID, p.isSHOWBREND isSHOWBREND, p.KEYWORDS KEYWORDS_PROD,
p.IDCATEGORY_DUP1 IDCATEGORY_DUP1, p.IDCATEGORY_DUP2 IDCATEGORY_DUP2, p.IDCATEGORY_DUP3 IDCATEGORY_DUP3, c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS,
c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
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 p.isACTIVE = 0
AND pic.POSITION = 1
AND p.BOOSTED_HOME > 0
GROUP BY ID
ORDER BY p.BOOSTED_HOME asc, p.PRIX asc";
$data = $this->getAdapter()->fetchAll($select);
return $this->computeProductListToShow($data, $user);
}
public function getAllTreeSubProductsByCatId($id) {
$category = new Category();
$listIds = $category->getAllSubsIDByIDToString($id);
if (!empty($listIds)) {
$select = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC, p.DESCRIPTIONSHORT DESCSHORT, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.ID BRENDID, sb.URL BRENDURL, COUNT(pc.REFERENCE) NBREFERENCE,
c.NAVNOM CATNAVNOM, c.ID CATID, p.isSHOWBREND isSHOWBREND, p.KEYWORDS KEYWORDS_PROD,
p.IDCATEGORY_DUP1 IDCATEGORY_DUP1, p.IDCATEGORY_DUP2 IDCATEGORY_DUP2, p.IDCATEGORY_DUP3 IDCATEGORY_DUP3 , c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS,
c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
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 p.IDCATEGORY IN (".$listIds.")
AND p.isACTIVE = 0
AND p.STOCK <> 4
AND pic.POSITION = 1
GROUP BY ID
ORDER BY CATNOM ASC
LIMIT 0 , 30;";
return $this->getAdapter()->fetchAll($select);
}
return array();
}
public function getAllProductsBestSellerByCatId($id) {
$category = new Category();
$idCats = $category->getListIdFromParent($id);
$select = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC, p.DESCRIPTIONSHORT DESCSHORT, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.ID BRENDID, sb.URL BRENDURL, '0' as NBREFERENCE,
c.NAVNOM CATNAVNOM, c.ID CATID, p.isSHOWBREND isSHOWBREND, p.KEYWORDS KEYWORDS_PROD,
p.IDCATEGORY_DUP1 IDCATEGORY_DUP1, p.IDCATEGORY_DUP2 IDCATEGORY_DUP2, p.IDCATEGORY_DUP3 IDCATEGORY_DUP3 , c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS,
c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
LEFT JOIN picture pic ON p.ID = pic.IDPRODUCT
LEFT JOIN category c ON p.IDCATEGORY = c.ID
LEFT JOIN supplier_brend sb ON p.IDBREND = sb.ID
LEFT JOIN productchild pc ON p.ID = pc.IDPRODUCT
WHERE p.IDCATEGORY in (".$idCats.")
AND p.isACTIVE = 0
AND p.STOCK <> 4
AND pic.POSITION = 1
GROUP BY ID
ORDER BY BOOSTED_BESTSELLER ASC, p.PRIX ASC
LIMIT 0 , 12";
return $this->getAdapter()->fetchAll($select);
}
public function getProductsBySearch($keyTemp) {
$keys = '';
$keys = explode(" ",$keyTemp);
$sql = "SELECT p.ID ID, p.NOM NOM,p.NAVNOM PRODNAVNOM,p.NAVTITRE NAVTITRE, p.NAVDESC NAVDESC, p.DESCRIPTIONSHORT DESCSHORT, p.PRIX PRIX, p.isDEVIS isDEVISPRODUCT,
p.isPROMO isPROMO, pic.URL URL, sb.BREND BREND, sb.ID BRENDID, sb.URL BRENDURL, COUNT(pc.REFERENCE) NBREFERENCE,
c.NAVNOM CATNAVNOM, c.ID CATID, p.isSHOWBREND isSHOWBREND, p.KEYWORDS KEYWORDS_PROD,
p.IDCATEGORY_DUP1 IDCATEGORY_DUP1, p.IDCATEGORY_DUP2 IDCATEGORY_DUP2, p.IDCATEGORY_DUP3 IDCATEGORY_DUP3, c.NAVNOM_URLPARENTS NAVNOM_URLPARENTS,
c.NOM CATNOM, p.BOOSTED_BESTSELLER BOOSTED_BESTSELLER
FROM product p
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 ";
if ($keys!='') {
$sql .= " (";
$sql .= $this->computeStatementSearch($keys, "p.NOM");
$sql .= " OR ";
$sql .= $this->computeStatementSearch($keys, "p.DESCRIPTIONSHORT");
$sql .= " OR ";
$sql .= " p.KEYWORDS LIKE '%".$keyTemp."%' ";
$sql .= " OR ";
$sql .= $this->computeStatementSearch($keys, "pc.REFERENCE");
$sql .= " ) AND ";
}
$sql .= " p.isACTIVE = 0
AND p.STOCK <> 4
AND pic.POSITION = 1
GROUP BY p.ID
ORDER BY p.NOM ASC";
return $this->getAdapter()->fetchAll($sql);
}
private function computeStatementSearch($keys, $attribut) {
$sqlProduct = " ".$attribut." LIKE '";
foreach ($keys as $key) {
$sqlProduct .= "%".$key."%";
}
$sqlProduct .= "'";
return $sqlProduct;
}
public function isInCategorySubsidiaire($idProduct,$idCat) {
$category = new Category2();
$sql = "(SELECT cp.IDCATEGORY FROM category2_product cp WHERE cp.IDPRODUCT = ".$idProduct.")";
$sqlParentFirst = "SELECT DISTINCT c0.ID ID
FROM category2 AS c0
LEFT JOIN category2 AS c1 ON c1.IDPARENT = c0.ID
LEFT JOIN category2 AS c2 ON c2.IDPARENT = c1.ID
LEFT JOIN category2 AS c3 ON c3.IDPARENT = c2.ID
LEFT JOIN category2 AS c4 ON c4.IDPARENT = c3.ID
LEFT JOIN category2 AS c5 ON c5.IDPARENT = c4.ID
LEFT JOIN category2 AS c6 ON c6.IDPARENT = c5.ID
LEFT JOIN category2 AS c7 ON c7.IDPARENT = c6.ID
LEFT JOIN category2 AS c8 ON c8.IDPARENT = c7.ID
LEFT JOIN category2 AS c9 ON c9.IDPARENT = c8.ID
LEFT JOIN category2 AS c10 ON c10.IDPARENT = c9.ID
WHERE ( c0.ID = ".$idCat."
OR c1.ID = ".$idCat."
OR c2.ID = ".$idCat."
OR c3.ID = ".$idCat."
OR c4.ID = ".$idCat."
OR c5.ID = ".$idCat."
OR c6.ID = ".$idCat."
OR c7.ID = ".$idCat."
OR c8.ID = ".$idCat."
OR c9.ID = ".$idCat."
OR c10.ID = ".$idCat." )
AND (c0.ID in ".$sql."
OR c1.ID in ".$sql."
OR c2.ID in ".$sql."
OR c3.ID in ".$sql."
OR c4.ID in ".$sql."
OR c5.ID in ".$sql."
OR c6.ID in ".$sql."
OR c7.ID in ".$sql."
OR c8.ID in ".$sql."
OR c9.ID in ".$sql."
OR c10.ID in ".$sql." )
ORDER BY c0.IDPARENT ASC";
$list = $category->fetchRow($sqlParentFirst);
return empty($list) ? false : true;
}
public function getAllTreeSubProductsByCatIdForPromotion($idCat) {
$category = new Category2();
$listIds = $category->getAllSubsIDByIDToString($idCat);
if (!empty($listIds)) {
$productCategory = new ProductCategory2();
return $productCategory->getAllProductsByCategoryIDList($listIds);
}
return array();
}
public function getProductsByIdCategoryForPromotion($id, $triSql) {
$productCategory = new ProductCategory2();
return $productCategory->getAllProductsInfoByCategoryID($id, $triSql);
}
private function computeProductListToShow($list, $user) {
try {
$listProducts = array();
$metakeywords = '';
$isAllPromos = false;
$currentPromoAll = array();
$currentPromo = array();
$listUserCodeInternIdBrendFound = array();
$listUserCodeInternIdBrends = array();
$listIdBrendFound = array();
$listUserIdBrendFound = array();
$listUserIdBrends = array();
$listIdBrends = array();
$promoCalculator = new PromoCalculator();
$promoProduct = new PromoProduct();
$promoUser = new PromoUser();
$product= new Product();
if (!empty($list)) {
$idCategory = $list[0]['CATID'];
$myPromo = $promoProduct->getRemiseByProductCategory($idCategory);
if ($this->isPromoActive($myPromo)) { $isAllPromos = true; $currentPromoAll = $myPromo; }
}
$productChildQte = new ProductChildQte();
foreach ($list AS $row) {
$currentProduct = array();
$currentProduct['ID'] = $row['ID'];
$currentProduct['NOM'] = $row['NOM'];
//$currentProduct['DESCSHORT'] = $this->cutString($row['DESCSHORT'], 80);
$currentProduct['DESCSHORT'] = $row['DESCSHORT'];
$currentProduct['URL'] = $row['URL'];
$currentProduct['BREND'] = $row['BREND'];
$currentProduct['isSHOWBREND'] = $row['isSHOWBREND'];
$currentProduct['BRENDURL'] = $row['BRENDURL'];
$currentProduct['NBREFERENCE'] = $row['NBREFERENCE'];
$currentProduct['isDEVISPRODUCT'] = $row['isDEVISPRODUCT'];
$currentProduct['NAVNOM_URLPARENTS'] = $this->computeUrlNavigationParent($row);
$currentProduct['BOOSTED_BESTSELLER'] = $row['BOOSTED_BESTSELLER'];
if (isset($row['NAVNOM'])) {
$navnom = $row['NAVNOM'];
} else {
$navnom = $row['PRODNAVNOM'];
}
$currentProduct['NAVNOM'] = $this->verifyNavigationString($navnom, $row['NOM'], '');
$currentProduct['NAVTITRE'] = $row['NAVTITRE'];
$currentProduct['NAVDESC'] = $row['NAVDESC'];
$isFirst = false;
if (empty($metakeywords)) {
$metakeywords .= $row['KEYWORDS_PROD'];
} else {
$metakeywords .= ','.$row['KEYWORDS_PROD'];
}
$currentProduct['isPROMO'] = $row['isPROMO'];
$currentProduct['PRIX'] = $row['PRIX'];
/*
* PRIX DEGRESSIF
*/
$currentProduct['isPRIXDEGRESSIF'] = $productChildQte->isPrixDegressifByProductID($row['ID']);
/*
* CALCUL PROMO
*/
$idBrend = $row['BRENDID'];
if (!in_array($idBrend, $listIdBrends, true)) {
$myPromo = $promoProduct->getRemiseByProductBrend($idBrend);
array_push($listIdBrends, $idBrend);
if ($this->isPromoActive($myPromo)) { array_push($listIdBrendFound, array('ID' => $idBrend, 'PROMO' => $myPromo)); }
}
if ($row['isPROMO'] == 1) {
$isRemise = false;
if (in_array($idBrend, $listIdBrends, true)) {
foreach ($listIdBrendFound as $brendPromos) {
if ($brendPromos['ID'] == $idBrend) {
$currentProduct['isPROMO'] = 0;
$currentPromo = $brendPromos['PROMO'];
if ($currentPromo['REMISEEURO'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculEuro($row['PRIX'], $currentPromo['REMISEEURO']);
$isRemise = true;
}
if ($currentPromo['REMISEPOUR'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculPour($row['PRIX'], $currentPromo['REMISEPOUR']);
$isRemise = true;
}
break;
}
}
}
if ($isAllPromos && !empty($currentPromoAll) && !$isRemise ) {
$currentProduct['isPROMO'] = 0;
if ($currentPromoAll['REMISEEURO'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculEuro($row['PRIX'], $currentPromoAll['REMISEEURO']);
}
if ($currentPromoAll['REMISEPOUR'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculPour($row['PRIX'], $currentPromoAll['REMISEPOUR']);
}
}
}
if (isset($user) && !empty($user)) {
$userId = $user['id'];
$codeIntern = $user['cintern'];
$isRemise = false;
if (!empty($codeIntern)) {
if (!in_array($idBrend.'-'.$codeIntern, $listUserCodeInternIdBrends, true)) {
$myPromo = $promoUser->getRemiseByCodeInternMarque($idBrend, $codeIntern);
array_push($listUserCodeInternIdBrends, $idBrend.'-'.$codeIntern);
if ($this->isPromoActive($myPromo)) { array_push($listUserCodeInternIdBrendFound, array('ID' => $idBrend, 'CODE' => $codeIntern, 'PROMO' => $myPromo)); }
}
if (in_array($idBrend.'-'.$codeIntern, $listUserCodeInternIdBrends, true)) {
foreach ($listUserCodeInternIdBrendFound as $brendPromos) {
if ($brendPromos['ID'] == $idBrend && $brendPromos['CODE'] == $codeIntern ) {
$currentProduct['isPROMO'] = 0;
$currentPromo = $brendPromos['PROMO'];
if ($currentPromo['REMISEEURO'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculEuro($row['PRIX'], $currentPromo['REMISEEURO']);
$isRemise = true;
}
if ($currentPromo['REMISEPOUR'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculPour($row['PRIX'], $currentPromo['REMISEPOUR']);
$isRemise = true;
}
break;
}
}
}
}
if (!$isRemise) {
if (!in_array($idBrend, $listUserIdBrends, true)) {
$myPromo = $promoUser->getRemiseByMarque($idBrend, $userId);
array_push($listUserIdBrends, $idBrend);
if ($this->isPromoActive($myPromo)) { array_push($listUserIdBrendFound, array('ID' => $idBrend, 'PROMO' => $myPromo)); }
}
if (in_array($idBrend, $listUserIdBrends, true)) {
foreach ($listUserIdBrendFound as $brendPromos) {
if ($brendPromos['ID'] == $idBrend) {
$currentProduct['isPROMO'] = 0;
$currentPromo = $brendPromos['PROMO'];
if ($currentPromo['REMISEEURO'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculEuro($row['PRIX'], $currentPromo['REMISEEURO']);
$isRemise = true;
}
if ($currentPromo['REMISEPOUR'] > 0) {
$currentProduct['PRIX'] = $promoCalculator->calculPour($row['PRIX'], $currentPromo['REMISEPOUR']);
$isRemise = true;
}
break;
}
}
}
}
}
if ($currentProduct['PRIX'] <= 0 ) { $currentProduct['PRIX'] = $row['PRIX']; }
$currentProduct['PRIXLOWEST'] = $product->calculateLowestPrice($currentProduct['ID']);
array_push($listProducts, $currentProduct);
}
return $result = array( 'PRODUCTS' => $listProducts, 'META_KEY' => $metakeywords);
}
catch (Zend_Exception $e) {
}
return $result = array( 'PRODUCTS' => array(), 'META_KEY' => '');
}
private function isPromoActive($myPromo) {
if ($myPromo) {
if ($myPromo['REMISEEURO'] > 0) { return true; }
if ($myPromo['REMISEPOUR'] > 0) { return true; }
}
return false;
}
private function computeUrlNavigationParent($row) {
return $row['NAVNOM_URLPARENTS']."/".$row['CATNAVNOM'];
}
protected function verifyNavigationString($navnom, $nom, $suffix) {
if (empty($navnom)) {
return $suffix.$this->generateNavigationString($nom);
} else {
$filter = new Zend_Filter_Word_DashToSeparator();
$navnom = $filter->filter($navnom);
return $suffix.$this->generateNavigationString($navnom);
}
}
protected function generateNavigationString($value) {
$filter = new Zend_Filter();
$filter->addFilter(new Zend_Filter_StripTags())
->addFilter(new Zend_Filter_StringTrim())
->addFilter(new Zend_Filter_StringToLower())
->addFilter(new Zend_Filter_CustomAccent())
->addFilter(new Zend_Filter_Word_SeparatorToDash());
$result = $filter->filter($value);
return preg_replace('/[^A-Za-z0-9\-\/]/', '', $result);
}
}
?>