include_once( "./objects/classes.php" ); include_once( "$GLOBAL_START_PATH/objects/flexy/PageController.php" ); require_once "PEAR.php"; class CharteCustomPages extends PageController{ function sup($x,$y) { return $x >= $y; } }; $title= "Lexique - Abisco Securite"; $lang = "_1"; $custom_page = new CharteCustomPages( "custom_page.tpl" , stripslashes($title) ); $custom_page->setData("title",utf8_encode(html_entity_decode(html_entity_decode(stripslashes("Lexique - Abisco Securite"))))); $custom_page->setData("meta_description",mb_convert_encoding(html_entity_decode(stripslashes("Tout le lexique relatif aux cadenas de securite, cadenas a combinaison, serrures de vestiaire, cables et materiel de consignation.")), "UTF-8", "ASCII")); $custom_page->setData("meta_keywords",utf8_encode(html_entity_decode(html_entity_decode(stripslashes(""))))); //$custom_page->setData("meta_author",utf8_encode($meta_author)); $rsamarques=DBUtil::query("SELECT idbrand FROM custom_pages WHERE filename='lexique' LIMIT 1"); //Page specifique $rsidpageprod = DBUtil::getDBValue( "idpage_prod", "custom_pages", "idpage", 35); $rsidbrand = DBUtil::getDBValue( "idbrand", "custom_pages", "idpage", 35); if ($rsidpageprod !== false) { $custom_page->setData("idpage_prod", 1); if ($rsidbrand && $rsidbrand != null) { $products_specific_page = DBUtil::query("SELECT * FROM page_product pp, product p WHERE pp.idpage = ".intval($rsidpageprod)." AND pp.idproduct = p.idproduct AND p.idbrand = $rsidbrand"); if ($products_specific_page->RecordCount() ) { $select = "SELECT pp.idproduct, p.idcategory, c.name_1 AS cat_name"; $from = " FROM page_product pp, product p, category c"; $where = " AND pp.idpage = ".intval($rsidpageprod)." AND pp.idproduct = p.idproduct AND p.idbrand = $rsidbrand"; } else { $select = "SELECT p.idproduct, p.idcategory, c.name_1 AS cat_name"; $from = " FROM product p, category c"; $where = " AND p.idbrand = $rsidbrand"; } } else { $select = "SELECT pp.idproduct, p.idcategory, c.name_1 AS cat_name"; $from = " FROM page_product pp, product p, category c"; $where = "AND pp.idpage = ".intval($rsidpageprod)." AND pp.idproduct = p.idproduct"; } } else { if ($rsidbrand && $rsidbrand != null) { $custom_page->setData("idpage_prod", 1); $select = "SELECT p.idproduct, p.idcategory, c.name_1 AS cat_name"; $from = " FROM product p, category c"; $where = " AND p.idbrand = $rsidbrand" ; } else $custom_page->setData("idpage_prod", 0); } if ($select) { $rsproducts = DBUtil::query(" $select$from WHERE p.available <>0 AND p.idcategory = c.idcategory $where ORDER BY c.name_1 ASC "); //regroupement des produits par categorie $category_ids = array(); $categories_list = array(); include_once ("$GLOBAL_START_PATH/objects/catalog/CProduct.php"); include_once ("$GLOBAL_START_PATH/objects/flexy/proxies/CProductProxy.php"); while (!$rsproducts->EOF()) { $product_object = new CProductProxy(new CProduct($rsproducts->fields("idproduct"))); if (!in_array($rsproducts->fields("idcategory"), $category_ids)) { $category_ids[] = $rsproducts->fields("idcategory"); $categories_list[intval($rsproducts->fields("idcategory"))] = array( "cat_name" => $rsproducts->fields("cat_name"), "products" => array( 0 => $product_object ) ); } else { $categories_list[intval($rsproducts->fields("idcategory"))]["products"][] = $product_object; } $rsproducts->MoveNext(); } $i = 0; $cat_lists = array(); foreach ($categories_list as $k => $v) { $cat_lists[$i] = $v; $i++; } $custom_page->setData("product_categories", $cat_lists); } //fin page specifique //breadcrumbs function makeBreadcrub(){ global $rsidbrand; if ($rsidbrand) $lmarque = '
Abus-Plus = système de clé à 7 entailles permettant plus de 100 000 000 de variures.
Acier cémenté = acier à la surface durcie par induction d\\\'autres minéraux
Acier inoxydable (Inox) = alliage de fer, de carbone, de chrome et d\\\'autres minerais résistant à la corrosion et à l\\\'oxydation
Acier laminé = acier compressé après passage entre 2 rouleaux pour le rendre plus fin et plus dur
Aluminium = métal résistant à l\\\'oxydation et à faible densité
Arrimage = fixation d\\\'un chargement sur un véhicule de transport
Blockguard = technologie brevetée anticrochetage
Bore = élément chimique faiblement conducteur à température ambiante et extrêmement résistant à la traction, se présentant généralement sous forme d\\\'alliage.
Bumping = technique d\\\'ouverture de cadenas qui consiste à taper sur une clé pour créer un vide entre les goupilles et les contre-goupilles
Bumpstop = capacité anti-bumping qui consiste à empêcher le transfert de force aux goupilles et bloque la rotation du cylindre
Carbure de bore = céramique très dure et très résistante aux fortes températures
Carte de propriété = carte livrée avec certains cadenas permettant la reproduction de clé brevetée
Charnière = assemblage mobile de deux pièces de métal enclavées l\\\'une dans l\\\'autre, jointes par une broche et leur permettant de tourner
Clé différente = clé ne permettant d\\\'ouvrir qu\\\'un seul cadenas
Clé prisonnière = système qui retient la clé dans la serrure tant que le cadenas n\\\'est pas fermé
Clé réversible = clé dont les dents sont symétriques de chaque côté et pouvant donc être introduite dans n\\\'importe quel sens
Consignation = opération de sécurisation du personnel et du matériel avant intervention sur un appareil électrique
Crochetage = technique d\\\'ouverture de cadenas par alignement des goupilles grâce à différents outils comme les crochets
Diélectrique = qui ne conduit pas l\\\'électricité
Edge = système Master Lock assurant que personne d\\\'autre que vous n\\\'aura la même variure de clé
Entrebailleur = pièce fixée à l\\\'intérieur d\\\'une porte permettant de l\\\'entrouvrir pour voir qui se trouve de l\\\'autre côté tout en empêchant l\\\'intrusion de personnes malveillantes.
Fonte = alliage de fer et de carbone très robuste
Gâche = partie fixe d\\\'une serrure intégrée dans l\\\'encadrement de la porte et dans laquelle s\\\'engage le pêne lors de la fermeture
Goupille = petit cylindre métallique servant à arrêter certaines parties d\\\'un assemblage mécanique
Graphite = minéral utilisé dans les produits lubrifiants
Laiton = alliage de cuivre et de zinc ayant une très bonne résistance à la corrosion
Moraillon = pièce fixée au battant d\\\'une porte ou au couvercle d\\\'un coffre et verrouillable à l\\\'aide d\\\'un cadenas
Nano Protect = technologie permettant de lisser la surface du cadenas pour en éliminer les imperfections pouvant retenir les impuretés ou les liquides ce qui l\\\'empêche de s\\\'encrasser ou de rouiller.
Nickel = métal argenté résistant à la corrosion et à l\\\'oxydation
Nylon = matière plastique non conductrice
Panneton = partie mobile au milieu du cylindre
Passe-partout = clé permettant d\\\'ouvrir de nombreuses serrures de séries différentes
Pêne = partie métallique d\\\'un cadenas que l\\\'on fait aller et venir dans l\\\'anse en ouvrant et fermant le cadenas
Pêne demi-tour ou à ressort = pêne en biseau que l\\\'on peut faire aller et venir sans utiliser de clé
Pêne dormant = pêne qui ne peut se mouvoir que si l\\\'on utilise une clé pour ouvrir et fermer le cadenas
Pêne tournant = pêne pivotant pour s\\\'intégrer dans la gâche de la porte
Polymère = substance composée de macromolécules et utilisée comme isolant électrique
Pushkey = système de clé adapté aux personnes à mobilité réduite ouvrant le cadenas par simple introduction et pression de la clé dans le cadenas. Ce système ne nécessite donc pas une prise en main ferme ou de rotation de clé dans la serrure
Polychlorure de vinyle (PVC) = matière plastique résistante à l\\\'eau, au feu, aux UV et à l\\\'usure
Retenue de clé = système qui maintient la clé dans la serrure tant que le cadenas n\\\'est pas fermé
S\\\'entrouvrant = clé pouvant ouvrir plusieurs cadenas de la même série
S\\\'entrouvrant passe-partout = clé permettant d\\\'ouvrir tous les cadenas s\\\'entrouvrant de plusieurs séries différentes
Serrure monopoint = serrure qui ne comprend qu\\\'un seul pêne
Titalium = alliage d\\\'aluminium à la fois très robuste et très léger
Travel Sentry = logo indiquant que le cadenas est compatible avec le passe partout des agents officiels de l\\\'agence de sécurité dans les transports américains (TSA) pour qu\\\'ils puissent inspecter le bagage et refermer le cadenas qui restera ainsi sécurisé.
Xenoy = matière plastique résistant à la chaleur, aux basses températures et aux produits chimiques
Zenex = matériau composite non-conducteur
Zamak = alliage de zinc, d\\\'aluminium, de magnésium et de cuivre, résistant aux huiles et essences et plus robuste que le plastique
"); $content_plus=stripslashes(""); $scriptName = $GLOBAL_START_URL."/lexique"; /* include_once( "HTML/Template/Flexy.php" ); include_once( "HTML/Template/Flexy/Element.php" ); $options["templateDir"][] = "$GLOBAL_START_PATH/templates/catalog/"; $options["strict"][]="false"; $options[ "compileDir" ] = "$GLOBAL_START_PATH/catalog/templates/"; if($rsamarques->RecordCount() > 0 && $rsamarques->fields("idbrand")){ $idmarque=$rsamarques->fields("idbrand"); $rsdelaamarque=DBUtil::query("SELECT idbrand, brand, logo, brand_url FROM brand WHERE idbrand=$idmarque"); $brandName=$rsdelaamarque->fields("brand"); $brandLogo=$GLOBAL_START_URL."/www/".$rsdelaamarque->fields("logo"); if($rsdelaamarque->fields("brand_url") && $rsdelaamarque->fields("brand_url")!=""){ $brandLink="$GLOBAL_START_URL/".$rsdelaamarque->fields("brand_url"); }else{ $brandLink="$GLOBAL_START_URL/catalog/product_brand?IdBrand=$idmarque"; } $custom_page_subcontent = new HTML_Template_Flexy($options); $catalog_right = Session::getInstance()->getCustomer() ? Session::getInstance()->getCustomer()->get( "catalog_right" ) : 0; $ANDLINES=""; $FROMLINE=""; $idcategory = ""; if(isset($_REQUEST["IdCateg"]) && $_REQUEST["IdCateg"]!=""){ $idcategory=$_REQUEST["IdCateg"]; $ParameterOutputArray["IdCateg"] = $idcategory; $ANDLINES.=" AND p.idcategory LIKE '".$idcategory."%' "; } // TRUC DE MERDE POUR LES INTITULES // if((isset($_REQUEST["Size"]) && $_REQUEST["Size"]!="") || (isset($_REQUEST["Color"]) && $_REQUEST["Color"]!="") || (isset($_REQUEST["Field"]) && $_REQUEST["Field"]!="")){ $FROMLINE.=" , intitule_link il "; $ANDLINES.=" AND d.idarticle=il.idarticle "; } if(isset($_REQUEST["Size"]) && $_REQUEST["Size"]!=""){ $size=$_REQUEST["Size"]; $rsintit=DBUtil::query("SELECT idintitule_value as idintitule FROM intitule_value WHERE intitule_value_1='$size' LIMIT 1"); $idintitule_value=$rsintit->fields("idintitule"); $ANDLINES.=" AND il.idintitule_value=$idintitule_value"; } $queryOfBrand = " SELECT p.idproduct, p.name$lang AS name, p.description$lang AS description, p.desc_tech$lang AS desc_tech, p.desc_more$lang AS desc_more, p.text_commercial$lang AS text_commercial, p.space_msg_1, p.space_msg_2, p.space_msg_3, p.space_msg_4, p.space_msg_5, p.space_msg_6, p.idsupplier FROM product p, detail d $FROMLINE WHERE p.idbrand = $idmarque $ANDLINES AND p.available = 1 AND p.catalog_right <= '$catalog_right' AND p.idproduct=d.idproduct AND p.idproduct>0 AND d.stock_level<>0 GROUP BY p.idproduct ORDER BY p.display_product_order ASC"; $rsProductsOfBrand = DBUtil::query($queryOfBrand); $zobi=0; $arrayReferences = ""; $custom_page_subcontent->setData("baseURL",$GLOBAL_START_URL); $custom_page_subcontent->compile("subcontent_custom_pages.tpl"); $subcontent=$custom_page_subcontent->toString(); $subcontent="".$subcontent.""; $content=str_replace("",$subcontent,$content); $content_plus=str_replace("",$subcontent,$content_plus); //fonction de la mort ki tue pour la barre de gauche. Bisou bisouuuu $IdBrand=$idmarque; class LBCustomPages extends FlexyController{ function __construct($template,$IdBrand){ global $GLOBAL_START_URL,$GLOBAL_START_PATH; parent::__construct( $template ); $recupSizes=array(); $recupSizes=$this->GetIntitulesFromCategory($IdBrand,"Taille"); $recupColors=array(); $recupColors=$this->GetIntitulesFromCategory($IdBrand,"Couleur"); $recupMatieres=array(); $recupMatieres=$this->GetIntitulesFromCategory($IdBrand,"Matière"); $recupTrades=array(); $recupTrades=$this->GetTradesFromCategory($IdBrand); $recupCategories=array(); $recupCategories=$this->GetCategoriesOf("idbrand",$IdBrand); $recupAafficher=array(); $recupAafficher=$this->GetArrayOfCategories("idbrand",$IdBrand); $this->setData("searchSizes", $recupSizes); $this->setData("searchColors",$recupColors); $this->setData("searchMatieres",$recupMatieres); $this->setData("searchTrades",$recupTrades); $this->setData("searchCategories",$recupCategories); $this->setData("categoriesToShow",$recupAafficher); $this->initMenu(); //$outputImageMenu = $this->outputImageMenu(); $outputMenu = $this->outputMenu(); //$this->setData("outputImageMenu",$outputImageMenu); $this->setData("outputMenu",$outputMenu); } function initMenu($home = ""){ global $GLOBAL_START_URL,$GLOBAL_START_PATH; include_once("$GLOBAL_START_PATH/objects/CSSMenu.php" ); $this->navbabar = new CSSMenu(); $showHome = false; if($home!=""){ $showHome = true; } $this->navbabar->showHomeItem( $showHome ); } function addItemMenu($item,$link,$style = ""){ global $GLOBAL_START_URL,$GLOBAL_START_PATH; $this->navbabar->addStaticItem($item,$link,$style); } function outputMenu(){ global $GLOBAL_START_URL,$GLOBAL_START_PATH; //$this->navbabar->buildMenuCP(); $this->navbabar->buildMenu(); return $this->navbabar->getHTML(); } function outputImageMenu(){ global $GLOBAL_START_URL,$GLOBAL_START_PATH; $this->navbabar->buildImageMenuCP(); return $this->navbabar->getHTML(); } function GetIntitulesFromCategory($idbrand,$intitule){ global $lang; $rqTaille="SELECT idintitule_title FROM intitule_title WHERE intitule_title$lang LIKE '$intitule' LIMIT 1"; $rsTaile=DBUtil::query($rqTaille); $idTitleTaille=$rsTaile->fields("idintitule_title"); $arrayCountByTaille=array(); if($rsTaile->RecordCount()){ $rqToutesLesTailles="SELECT iv.intitule_value_1, COUNT( p.idproduct ) as count FROM product p, intitule_link il, intitule_value iv WHERE p.idproduct = il.idproduct AND il.idintitule_value=iv.idintitule_value AND il.idintitule_title=$idTitleTaille AND p.idbrand =$idbrand "; if( isset( $_POST[ "intitule_value" ] ) && $_POST[ "intitule_value" ]!="" ){ $intitvalue=$_POST[ "intitule_value" ]; $rqToutesLesTailles.="AND iv.intitule_value_1=$intitvalue "; } $rqToutesLesTailles.="GROUP BY il.idintitule_value ORDER BY iv.intitule_value_1 ASC"; $rsToutesLesTailles=DBUtil::query($rqToutesLesTailles); $i=0; while(!$rsToutesLesTailles->EOF()){ $arrayCountByTaille[$i]["name"]=$rsToutesLesTailles->fields("intitule_value_1"); $arrayCountByTaille[$i]["count"]=$rsToutesLesTailles->fields("count"); $i++; $rsToutesLesTailles->MoveNext(); } } return $arrayCountByTaille; } function GetTradesFromCategory($idbrand){ global $lang, $GLOBAL_START_PATH, $GLOBAL_START_URL; $rqTousLesMetiers=" SELECT t.idtrade, t.trade$lang as trade,image, COUNT( p.idproduct ) as count FROM product p, trade t, trade_product tp WHERE p.idproduct = tp.idproduct AND t.idtrade = tp.idtrade AND p.idbrand = $idbrand GROUP BY t.idtrade ORDER BY t.display ASC"; $rsTousLesMetiers=DBUtil::query($rqTousLesMetiers); $arrayCountByTrades=array(); $i=0; while(!$rsTousLesMetiers->EOF()){ $arrayCountByTrades[$i]["id"]=$rsTousLesMetiers->fields("idtrade"); $arrayCountByTrades[$i]["name"]=$rsTousLesMetiers->fields("trade"); $arrayCountByTrades[$i]["count"]=$rsTousLesMetiers->fields("count"); $imagePath = $GLOBAL_START_PATH."/www/".$rsTousLesMetiers->fields( "image" ); $imageUrl = $GLOBAL_START_URL."/www/".$rsTousLesMetiers->fields( "image" ); if($rsTousLesMetiers->fields( "image" ) != "" && file_exists($imagePath)){ $arrayCountByTrades[$i]["image"] = $imageUrl; }else{ $arrayCountByTrades[$i]["image"] = ""; } $i++; $rsTousLesMetiers->MoveNext(); } return $arrayCountByTrades; } function GetCategoriesOf($field,$value){ global $lang; $rsCatOf=DBUtil::query("SELECT p.idcategory as id,c.name$lang as name, COUNT( p.idproduct ) as count FROM product p, category c WHERE c.idcategory=p.idcategory AND p.$field=$value GROUP BY p.idcategory"); $arrayCountBy=array(); $i=0; while(!$rsCatOf->EOF()){ $arrayCountBy[$i]["id"]=$rsCatOf->fields("id"); $arrayCountBy[$i]["name"]=$rsCatOf->fields("name"); $arrayCountBy[$i]["count"]=$rsCatOf->fields("count"); $i++; $rsCatOf->MoveNext(); } return $arrayCountBy; } function GetArrayOfCategories($field,$value){ global $lang; $rsCatOf=DBUtil::query("SELECT p.idcategory as id FROM product p, category c WHERE c.idcategory=p.idcategory AND p.$field=$value GROUP BY p.idcategory ORDER BY p.idcategory"); $arrayCategs=array(); $i=0; while(!$rsCatOf->EOF()){ $stop = false; $child = $rsCatOf->fields("id"); while(!$stop){ $rsCat=DBUtil::query("SELECT idcategoryparent as parent FROM category_link WHERE idcategorychild = $child LIMIT 1"); if($rsCat->RecordCount() == 0 || $rsCat->fields("parent") == 0){ $stop = true; }else{ $stop = false; $child = $rsCat->fields("parent"); if (!in_array($rsCat->fields("parent"), $arrayCategs)) { $arrayCategs[$i]=$rsCat->fields("parent"); } $i++; } } $arrayCategs[$i]=$rsCatOf->fields("id"); $i++; $rsCatOf->MoveNext(); } return $arrayCategs; } }; $custom_page_left_bar = new LBCustomPages( "left_bar_custom_pages.tpl",$IdBrand ); $custom_page_left_bar->setData("IdBrand",$IdBrand); $custom_page_left_bar->setData("idcategory",$idcategory); $custom_page_left_bar->setData("scriptName",$scriptName); $custom_page_left_bar->setData("baseURL",$GLOBAL_START_URL); //$leftbarcontent=$custom_page_left_bar->string(); //remplacement des tag de barbares par le contenu compilé //$leftbarcontent="".$leftbarcontent.""; //$content=str_replace("",$leftbarcontent,$content); //enfin fini, je commençais a être chauve //OH MON DIEU! J AI PERDU UNE TOUFFE! }*/ function param_pagination($Idbrand){ ?> // Calcul du nombre total d'entrées $result = DBUtil::query("SELECT p.idcategory, c.name_1 FROM product p, category c WHERE p.idbrand = $Idbrand AND c.idcategory = p.idcategory AND p.available = 1"); $i = 0; $categproduct = array(); $results = array(); while( !$result->EOF() ) { $idcategory = $result->fields( "idcategory" ); if(!in_array($idcategory,$results)) { array_push( $results, $idcategory ); } $result->MoveNext(); } $total = count($results); $res1 = DBUtil::query( "SELECT per_page FROM custom_pages WHERE `idbrand` = $Idbrand LIMIT 1" ); $perpage = $res1->fields( "per_page" ); // nombre d'entrées à afficher par page if ($perpage== 0) $perpage = 6; if ($perpage >= $total ) $perpage = $total; $nbPages = ceil($total/$perpage); // calcul du nombre de pages $nbPages (on arrondit à l'entier supérieur avec la fonction ceil()) // Récupération du numéro de la page courante depuis l'URL avec la méthode GET // S'il s'agit d'un nombre on traite, sinon on garde la valeur par défaut : 1 $current = 1; if (isset($_POST["page"]) && is_numeric($_POST["page"])) { $page = intval($_POST["page"]); if ($page >= 1 && $page <= $nbPages) { // cas normal $current=$page; } else if ($page < 1) { // cas où le numéro de page est inférieure 1 : on affecte 1 à la page courante $current=1; } else { //cas où le numéro de page est supérieur au nombre total de pages : on affecte le numéro de la dernière page à la page courante $current = $nbPages; } } // $start est la valeur de départ du LIMIT dans notre requête SQL (dépend de la page courante) $start = ($current * $perpage) - $perpage; //stockage des paramètres à utiliser dans un tableau $params = array(); $params["start"] = $start; $params["perpage"] = $perpage; $params["total"] = $total; $params["nbpage"] = $nbPages; $params["current"] = $current; return $params; } function ListProducts($Idbrand, $idcategory){ global $GLOBAL_START_PATH, $GLOBAL_START_URL; include_once( "$GLOBAL_START_PATH/objects/productobject.php" ); include_once( dirname( __FILE__ ) . "/objects/URLFactory.php" ); //$params = param_pagination($Idbrand); //$start=$params["start"]; //$perpage=$params["perpage"]; $res = DBUtil::query("SELECT p.idproduct, p.name_1 AS name, p.idcategory, p.novelty, c.name_1 AS categoryName, p.idlabel, p.description_1 AS description, p.desc_tech_1 AS desc_tech, p.desc_more_1 AS desc_more, p.text_commercial_1, p.space_msg_1, p.space_msg_2, p.space_msg_3, p.space_msg_4, p.space_msg_5, p.space_msg_6, p.idbrand, p.idsupplier,d.sellingcost FROM product p, detail d, category c WHERE p.idcategory = c.idcategory AND p.available = 1 AND p.catalog_right <= 0 AND d.idproduct=p.idproduct AND p.idbrand= $Idbrand AND p.idproduct>0 AND p.idcategory = $idcategory GROUP BY p.idproduct ORDER BY p.novelty DESC "); $i = 0; $list = array(); while( !$res->EOF() ) { $idproduct = $res->fields( "idproduct" ); $productName = $res->fields( "name" ); $list[$i]["name"]=$productName; $productDescription = $res->fields( "description" ); $list[$i]["description"]=utf8_encode(strip_tags(substr($productDescription, 0, 200))); $productText_commercial = $res->fields( "text_commercial_1" ); //$list[$i]["text_commercial"]=utf8_encode(strip_tags(substr($productText_commercial, 0, 200))); $list[$i]["text_commercial"]=$productText_commercial; $productDate = $res->fields( "novelty" ); $list[$i]["date"]=$productDate; $productPrice = $res->fields( "sellingcost" ); $list[$i]["sellingcost"]=$productPrice; $rsreference = DBUtil::query("SELECT reference FROM detail WHERE idproduct = $idproduct LIMIT 1"); $productReferenceCount = $rsreference->RecordCount(); $list[$i]["referenceCount"]=$productReferenceCount; //Labels $idlabel = $res->fields( "idlabel" ); $list[$i]["idlabel"]=$idlabel; if($idlabel>0){ $rslabel = DBUtil::query("SELECT name, description, image FROM product_labels WHERE idlabel = $idlabel LIMIT 1"); if($rslabel->RecordCount()>0){ while(!$rslabel->EOF()){ $list[$i]["label"]=$rslabel->fields("name"); $list[$i]["labelDescription"]=$rslabel->fields("description"); $list[$i]["labelText_commercial"]=$rslabel->fields("text_commercial"); $list[$i]["labelImage"]="$GLOBAL_START_URL/www/labels/".$rslabel->fields("image"); $rslabel->MoveNext(); } }else{ $list[$i]["label"]=""; $list[$i]["labelDescription"]=""; $list[$i]["labelText_commercial"]=""; $list[$i]["labelImage"]=""; } }else{ $list[$i]["label"]=""; $list[$i]["labelDescription"]=""; $list[$i]["labelText_commercial"]=""; $list[$i]["labelImage"]=""; } $list[$i]["imageURL"]= URLFactory::getProductImageURI( $res->fields( "idproduct" ) ); //URLs $productURL = URLFactory::getProductURL( $idproduct); $list[$i]["productURL"]=$productURL; $lowerPrice = PRODUCT::getLowerPrice( $idproduct ); $pxmin = $lowerPrice ? Util::priceFormat( $lowerPrice ) : false; $list[$i]["pxmin"]=$pxmin; //promotions if(PRODUCT::hasPromotionInStock( $idproduct )) $list[$i]["haspromos"]="yes"; $i++; $res->MoveNext(); } return $list; } function NameBrand($Idbrand) { $rs = DBUtil::query("SELECT brand FROM brand WHERE idbrand = $Idbrand LIMIT 1"); $brand_name = $rs->fields("brand"); return $brand_name; } function NameCategOfBrand($Idbrand) { include_once( dirname( __FILE__ ) . "/objects/URLFactory.php" ); $rs = DBUtil::query("SELECT p.idcategory, c.name_1 FROM product p, category c WHERE p.idbrand = $Idbrand AND c.idcategory = p.idcategory AND p.available = 1"); $i = 0; $listcateg = array(); $results = array(); while( !$rs->EOF() ) { //print $Idbrand; $idcategory = $rs->fields( "idcategory" ); if(!in_array($idcategory,$results)) { array_push( $results, $idcategory ); $listcateg[$i]["id"]=$idcategory; $categoryName = $rs->fields( "name_1" ); $listcateg[$i]["name"]=$categoryName; //URLs $categoryURL = URLFactory::getCategoryURL( $idcategory ); $listcateg[$i]["categoryURL"]=$categoryURL; $i++; } $rs->MoveNext(); } return $listcateg; } function NameCategOfProduct($Idbrand) { include_once( dirname( __FILE__ ) . "/objects/URLFactory.php" ); $params = param_pagination($Idbrand); $start=$params["start"]; $perpage=$params["perpage"]; $rs = DBUtil::query("SELECT DISTINCT p.idcategory, c.name_1 FROM product p, category c WHERE p.idbrand = $Idbrand AND c.idcategory = p.idcategory AND p.available = 1 LIMIT $start, $perpage"); $i = 0; $categproduct = array(); $results = array(); while( !$rs->EOF() ) { $idcategory = $rs->fields( "idcategory" ); if(!in_array($idcategory,$results)) { array_push( $results, $idcategory ); $categproduct[$i]["id"]=$idcategory; $categoryName = $rs->fields( "name_1" ); $categproduct[$i]["name"]=$categoryName; //URLs $categoryURL = URLFactory::getCategoryURL( $idcategory ); $categproduct[$i]["categoryURL"]=$categoryURL; $categproduct[$i]["listprod"] = ListProducts( $Idbrand, $idcategory ); $i++; } $rs->MoveNext(); } return $categproduct; } $custom_page->setData("Content",stripslashes($content)); $custom_page->setData("Content_plus",stripslashes($content_plus)); //$custom_page->setData( "list", isset( $IdBrand ) ? ListProducts( intval( $IdBrand ) ) : null ); $custom_page->setData( "params", isset( $IdBrand ) ? param_pagination( $IdBrand ) : null ); $custom_page->setData( "brand_name", isset( $IdBrand ) ? NameBrand( $IdBrand ) : null ); $custom_page->setData( "listcateg", isset( $IdBrand ) ? NameCategOfBrand( $IdBrand ) : null ); $custom_page->setData( "categproduct", isset( $IdBrand ) ? NameCategOfProduct( $IdBrand ) : null ); $custom_page->setData("notArrayReferences","ok"); $custom_page->setData("arrayRefs",$arrayReferences); $custom_page->output(); //----------------------------------------------------------------------------------------------// // Fonctions pour la barre de gauche // //----------------------------------------------------------------------------------------------// function GetIntitulesFromCategory($idbrand,$intitule){ global $lang; $rqTaille="SELECT idintitule_title FROM intitule_title WHERE intitule_title$lang LIKE '$intitule' LIMIT 1"; $rsTaile=DBUtil::query($rqTaille); $idTitleTaille=$rsTaile->fields("idintitule_title"); $arrayCountByTaille=array(); if($rsTaile->RecordCount()){ $rqToutesLesTailles="SELECT iv.intitule_value_1, COUNT( p.idproduct ) as count FROM product p, intitule_link il, intitule_value iv WHERE p.idproduct = il.idproduct AND il.idintitule_value=iv.idintitule_value AND il.idintitule_title=$idTitleTaille AND p.idbrand =$idbrand "; if( isset( $_POST[ "intitule_value" ] ) && $_POST[ "intitule_value" ]!="" ){ $intitvalue=$_POST[ "intitule_value" ]; $rqToutesLesTailles.="AND iv.intitule_value_1=$intitvalue "; } $rqToutesLesTailles.="GROUP BY il.idintitule_value ORDER BY iv.intitule_value_1 ASC"; $rsToutesLesTailles=DBUtil::query($rqToutesLesTailles); $i=0; while(!$rsToutesLesTailles->EOF()){ $arrayCountByTaille[$i]["name"]=$rsToutesLesTailles->fields("intitule_value_1"); $arrayCountByTaille[$i]["count"]=$rsToutesLesTailles->fields("count"); $i++; $rsToutesLesTailles->MoveNext(); } } return $arrayCountByTaille; } function GetTradesFromCategory($idbrand){ global $lang, $GLOBAL_START_PATH, $GLOBAL_START_URL; $rqTousLesMetiers=" SELECT t.idtrade, t.trade$lang as trade,image, COUNT( p.idproduct ) as count FROM product p, trade t, trade_product tp WHERE p.idproduct = tp.idproduct AND t.idtrade = tp.idtrade AND p.idbrand = $idbrand GROUP BY t.idtrade ORDER BY t.display ASC"; $rsTousLesMetiers=DBUtil::query($rqTousLesMetiers); $arrayCountByTrades=array(); $i=0; while(!$rsTousLesMetiers->EOF()){ $arrayCountByTrades[$i]["id"]=$rsTousLesMetiers->fields("idtrade"); $arrayCountByTrades[$i]["name"]=$rsTousLesMetiers->fields("trade"); $arrayCountByTrades[$i]["count"]=$rsTousLesMetiers->fields("count"); $imagePath = $GLOBAL_START_PATH."/www/".$rsTousLesMetiers->fields( "image" ); $imageUrl = $GLOBAL_START_URL."/www/".$rsTousLesMetiers->fields( "image" ); if($rsTousLesMetiers->fields( "image" ) != "" && file_exists($imagePath)){ $arrayCountByTrades[$i]["image"] = $imageUrl; }else{ $arrayCountByTrades[$i]["image"] = ""; } $i++; $rsTousLesMetiers->MoveNext(); } return $arrayCountByTrades; } function GetCategoriesOf($field,$value){ global $lang; $rsCatOf=DBUtil::query("SELECT p.idcategory as id,c.name$lang as name, COUNT( p.idproduct ) as count FROM product p, category c WHERE c.idcategory=p.idcategory AND p.$field=$value GROUP BY p.idcategory"); $arrayCountBy=array(); $i=0; while(!$rsCatOf->EOF()){ $arrayCountBy[$i]["id"]=$rsCatOf->fields("id"); $arrayCountBy[$i]["name"]=$rsCatOf->fields("name"); $arrayCountBy[$i]["count"]=$rsCatOf->fields("count"); $i++; $rsCatOf->MoveNext(); } return $arrayCountBy; } function GetArrayOfCategories($field,$value){ global $lang; $rsCatOf=DBUtil::query("SELECT p.idcategory as id FROM product p, category c WHERE c.idcategory=p.idcategory AND p.$field=$value GROUP BY p.idcategory ORDER BY p.idcategory"); $arrayCategs=array(); $i=0; while(!$rsCatOf->EOF()){ $stop = false; $child = $rsCatOf->fields("id"); while(!$stop){ $rsCat=DBUtil::query("SELECT idcategoryparent as parent FROM category_link WHERE idcategorychild = $child LIMIT 1"); if($rsCat->RecordCount() == 0 || $rsCat->fields("parent") == 0){ $stop = true; }else{ $stop = false; $child = $rsCat->fields("parent"); if (!in_array($rsCat->fields("parent"), $arrayCategs)) { $arrayCategs[$i]=$rsCat->fields("parent"); } $i++; } } $arrayCategs[$i]=$rsCatOf->fields("id"); $i++; $rsCatOf->MoveNext(); } return $arrayCategs; } function SetGlobalReferencesJsDataCP($IdProduct,&$arrayReferences){ $Product = new PRODUCT($IdProduct); $details = $Product->GetRefArray(""); $IdCategory = $Product->GetCategoryID(); //echo print_r($details[0]); if(isset($details[0])){ $rows = $details[0]; foreach ($rows["id"] as $row => $idrow) { $idarticle = $rows["id"][ $row ]; $arrayReferences.="articles[ '$idarticle' ] = new Array();"; $arrayReferences.="articles[ '$idarticle' ][ 'reference' ] = '".jsFormat( $rows[ 'reference' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'weight' ] = '".jsFormat( $rows[ 'weight' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'unit' ] = '".jsFormat( $rows[ 'unit' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'lot' ] = '". jsFormat( $rows[ 'lot' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'delay' ] = '".jsFormat( $rows[ 'delay' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'promo' ] = '".jsFormat( $rows[ 'promo' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'hidecost' ] = '". jsFormat( $rows[ 'hidecost' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'hasPromo' ] = '". jsFormat( $rows[ 'hasPromo' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'promo_rate' ] = '". jsFormat( $rows[ 'promo_rate' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'promo_price' ] = '". jsFormat( $rows[ 'promo_price' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'isDestocking' ] = '". jsFormat( $rows[ 'isDestocking' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'destocking_price' ] = '". jsFormat( $rows[ 'destocking_price' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'destocking_rate' ] = '". jsFormat( $rows[ 'destocking_rate' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'stock_level' ] = '". jsFormat( $rows[ 'stock_level' ][ $row ] )."';"; $arrayReferences.="articles[ '$idarticle' ][ 'wtprice' ] = '". str_replace(" ¤","",jsFormat($rows[ "wtprice" ][ $row ] ))."';"; $arrayReferences.="articles[ '$idarticle' ][ 'IdProduct' ] = '".$IdProduct ."';"; $arrayReferences.="articles[ '$idarticle' ][ 'IdCategory' ] = '". $IdCategory ."';"; } foreach ($rows["hiddenFields"] as $rowx => $hiddenFields) { $idarticle = $rows["id"][$rowx]; foreach ($hiddenFields as $fieldname => $value) { if(htmlentities($fieldname)!="delay"){ $arrayReferences.="articles[ '$idarticle' ][ '".htmlentities($fieldname)."' ] = '".html_entity_decode(jsFormat( $value) )."' ;"; } } } } } function jsFormat($string) { return str_replace("'", "\'", htmlentities($string)); } ?>