= $y; } }; $title= "Conditions generales de vente (CGV) - 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("Conditions generales de vente (CGV) - Abisco Securite"))))); $custom_page->setData("meta_description",mb_convert_encoding(html_entity_decode(stripslashes("Les conditions generales de vente s\'appliquant a l\'ensemble des produits commercialises par la societe; Abisco en France metropolitaine.")), "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='cgv' LIMIT 1"); //Page specifique $rsidpageprod = DBUtil::getDBValue( "idpage_prod", "custom_pages", "idpage", 31); $rsidbrand = DBUtil::getDBValue( "idbrand", "custom_pages", "idpage", 31); 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 = '
  • Marques
  • '; else $lmarque = ""; return ''; } $custom_page->setData("breadcrumbs",makeBreadcrub()); //fin breadcrumbs $content=stripslashes("

    CONDITIONS GÉNÉRALES DE VENTE


    1. Généralités, Domaine d´application
     
    1.1. La société ABISCO SARL (ci-après \\\"ABISCO\\\") est une société à responsabilité limitée de droit français au capital de 60.000,00 euros, ayant son siège 6, Rue Frédéric Chopin, 67118 Geispolsheim (France), immatriculée au Registre du Commerce et des Sociétés de Strasbourg sous le numéro 504 911 900.

     

    1.2. Conformément aux dispositions prévues à l\'article L. 441-6 du Code de commerce, les présentes conditions générales de vente constituent, pour toutes les dispositions qui n\'ont pas fait l\'objet de conventions particulières expresses et écrites, la base juridique des relations entre la société ABISCO et toute personne physique ou morale située en France ou à l\'étranger, contractant avec la société ABISCO pour les besoins de son activité professionnelle (ci-après \\\"Client\\\"), à l\'exclusion des personnes physiques considérées comme des consommateurs. Toute commande, vente ou demande de prestation de service particulière effectuée par tout Client et destinée à l\'attention de la société ABISCO, implique la prise de connaissance et l\'acceptation préalable et sans réserve de l\'intégralité des présentes conditions générales de vente.

     

    1.3. Par conséquent, les présentes conditions générales de vente font échec à toute clause contraireformulée de façon quelconque par le Client, si la société ABISCO n\'a pas, au préalable, accepté par écrit ladite clause. Ainsi, les conditions générales d\'achat du Client sont expressément exclues du domaine contractuel, y compris dans l\'hypothèse où la société ABISCO ne conteste pas le contenu desdites conditions générales d\'achat du Client.

     

    1.4. Les présentes conditions générales de vente s\'appliquent à l\'ensemble des produits commercialisés par la société ABISCO en France ou à l\'étranger. Toute commande passée par un Client, doit comporter sa raison sociale et son n° au registre du commerce, et implique l\'acceptation totale des dites conditions.

     

    1.5. Les présentes conditions générales de vente s\'appliquentà toute commande. Elles peuvent être modifiées à tout moment pour tenir compte des modifications de la législation ou de la nature des produits des fournisseurs de la société ABISCO.

     

    2. Produits
     
    Les caractéristiques des produits proposés à la vente tels que la présentation graphique, la couleur, les dimensions ou le poids ne revêtent aucune valeur contractuelle et ne doivent en aucun cas être considérés comme liant la société ABISCOet pourront évoluer en fonction des approvisionnements de la société ABISCO. La société ABISCO se réserve le droit, en accord avec le Client, de remplacer ces produits par d\'autres qui n\'affectent en rien les caractéristiques de base. En cas d\'impossibilité totale, le Client en est informé et peut se voir proposer un produit de qualité égale ou supérieure pour un prix identique.

     

     

    3. Prix
     
    Les prix de vente des produits sont ceux figurant dans l\'offre de la société ABISCO le jour de l\'enregistrement de la commande après déduction faite, éventuellement, de tout rabais, remise ou ristourne se rapportant aux produits concernés. Ces prix s\'entendent départ fournisseur, hors frais d\'expédition et le cas échéant de la TVA en vigueur. Les frais d\'expédition, de dédouanement (en cas d\'envoi à l\'étranger) ou tous autres frais seront à la charge du Client.

     

    4. Commande
     
    Toute commande devra être validée et confirmée par écrit ou par mail au Client par la société ABISCO. Elle ne pourra ensuite être annulée sans le consentement écrit de la société ABISCO.En revanche, toute commande spéciale ne correspondant pas auxoffres de la société ABISCO ou nécessitant la modification des produits ou des conditions de livraison de la société ABISCO, donnera lieu à l\'établissement d\'un devis qui devra obligatoirement obtenir l\'accord du Client.Les conditions particulières propres à ces fabrications, seront spécifiées dans le devis et prévaudront sur les présentes conditions générales de vente.

     

    5. Livraison
     
    5.1. Les délais de livraison ne sont donnés qu\'à titre indicatif et sans engagement. Les retards ne peuvent, en aucun cas, entraîner l\'annulation de la commande ou le paiement d\'indemnités. La société ABISCO se réserve le droit de procéder à des livraisons partielles en fonction des modalités d\'approvisionnement ou de transport.

     

    5.2. Le transfert des risques est opéré lors de la livraison c\'est-à-dire au moment de la remise des produits au premier transporteur.

     

    5.3. Les produits de la société ABISCO sont expédiés aux risques et périls du Client quel que soit le mode de transport. En cas d\'avarie ou de manquant, il lui appartient de formuler expressément des réserves auprès du transporteur à la réception des produits ou dans les 48 heures après la réception et d\'en informer la société ABISCO par lettre recommandée avec accusé de réception sous trois jours. En cas de non-respect de cette procédure,aucune réclamation ne sera acceptée.

     

    6. Paiement
     
    6.1. Le règlement de lacommande doit être effectué par le Client au comptant à la commande, sans remise ni escompte :
    - pour les clients ayant leur siège en France, le paiement doit être effectué
      .  soit par chèque,
      .  soit par carte de crédit sur le site internet,
      .  soit par virement bancaire ;
    - pour les clients ayant leur siège à l\'étranger, le paiement doit être effectué
      .  soit par carte de crédit sur le site internet,
      .  soit par virement bancaire.

     

    6.2. Sauf stipulation contraire, les factures émises par la société ABISCO sont exigibles au plus tard dans un délai de 30 jours suivant la date d\'émission desdites factures. Le paiement est réputé effectué lorsque la société ABISCO peut disposer librement des sommes versées à ce titre. Pour les commandes émanant d\'un organisme public, le délai de paiement pourra exceptionnellement, et sous réserve de l\'accord de la société ABISCO, être prolongé, sans toutefois dépasser 45 jours à compter de la date d\'émission de la facture. Le numéro de facture devra figurer avec le règlement.

     

     

    6.3. Toute facture non réglée à échéance entraînera de plein droit et sans qu\'une mise en demeure par la société ABISCO ne soit nécessaire :
    - l\'exigibilité de l\'intégralité des sommes dues au titre du litige et/ou de commandes postérieures,
    - le versement de pénalités de retard au taux égal au taux d\'intérêt appliqué par la Banque centrale européenne à son opération de refinancement la plus récente majoré de 10 points de pourcentage par le Client. Les pénalités de retard sont immédiatement exigibles sans qu\'un rappel soit nécessaire et ne sont pas exclusives de toute autre action en justice ou en recouvrement. Tout retard de paiement entraînera l\'application d\'une indemnité forfaitaire pour frais de recouvrement de 40,00 euros (article L. 441-6 aliéna 12 du code de commerce),
    - la possibilité pour la société ABISCO de refuser toute nouvelle commande et livraison.

     

    7. Délivrance, obligation de vérification, vice caché, réclamation
     
    7.1. Conformément aux dispositions légales en vigueur, la société ABISCO est tenue de livrer un produit conforme au contrat et répond des défauts de conformité existant lors de la délivrance. Toutefois, la société ABISCO ne répond pas des défauts de conformité résultant de l\'emballage, des instructions de montage ou de l\'installation lorsque l\'emballage, les instructions de montage ou l\'installation n\'ont pas été mis à sa charge par le contrat ou n\'ont pas été réalisés sous sa responsabilité.

     

    7.2. Dès la livraison des produits et de manière immédiate, le Client a l\'obligation de procéder à un examen complet des produits livrés et doit impérativement signaler à la société ABISCO, par écrit et dans un délai de sept jours ouvrables à compter de la date de réception des produits, tout vice apparent ou décelable, ainsi que tout défaut de conformité. A cet égard, le Client devra décrire de façon détaillée et précise les éventuels vices ou défauts constatés et devra fournir tout justificatif quant à la réalité de ceux-ci. De la même manière, le Client devra donner toute facilité à la société ABISCO pour procéder à la constatation de ces vices ou défauts. A défaut, le Client ne pourra prétendre à aucun échange ou remboursement pour vice apparent ou décelable.

     

    7.3. Dans l\'hypothèse d\'un vice caché, les Parties sont tenues de respecter les dispositions des articles 1641 et suivants du Code civil. A ce titre, le Client devra impérativement signaler à la société ABISCO la découverte d\'un éventuel vice caché concernant les produits, par écrit et dans un délai de sept jours ouvrables suivant cette découverte. Toute action sur ce fondement devra être intentée dans un délai de deux ans à compter de la découverte du vice (article 1648 du Code civil). A cet égard, le Client devra décrire de façon détaillée et préciserles éventuels vices cachés,ainsi que fournir tout justificatif quant à la réalité de ceux-ci. De la même manière, le Client devra donner toute facilité à la société ABISCO pour procéder à la vérification de ces vices. Dans le cas contraire, le client ne pourra prétendre à aucun échange ou remboursement pour vice caché.

     

    7.4. Sous réserve des dispositions des articles 7.1. à 7.3., la société ABISCO s\'engage à remédier aux vices et aux défauts de conformité par le biais d\'un échange ou d\'une reprise du produit avec remboursement. Aucun retour ne sera accepté sans l\'accord écrit préalable de la société ABISCO sous la forme d\'un bon portant un numéro d\'ordre. En cas de défaut de conformité, le retour des produits par le Client peut être envisagé sous réserve que :
    - il soit effectué dans les 15 jours suivant la réception des produits par le Client,
    - le produit soit en état neuf et conditionné dans l\'emballage d\'origine.

    Un retour des produits à la société ABISCO donne lieu :
    - soit à une reprise avec remboursement du prix de vente du produit et des frais de port,
    - soit à un échange nécessitant l\'accord préalable de la société ABISCO.

    En ce qui concerne les produits ayant fait l\'objet d\'une commande sur mesure ou d\'une transformation, aucun produit ne pourra être ni repris, ni échangé. Sur les autres produits retournés, une décotepour frais de vérification, reconditionnement et autre intervention pourra être effectuée.

     

    7.5. L\'obligation de procéder à un échange ou à un remboursement prévue à l\'article 7.4 ne s\'applique pas en cas de vice ou de défaut de conformité provenant, soit des matières choisies par le Client, soit d\'une conception imposée par ce dernier.

     

     

    7.6. Lorsque, suite au signalement par un Client d\'un éventuel vice ou défaut de conformité, conformément aux dispositions des articles 7.1.à 7.3., il est établi, après examens approfondis par les services de la société ABISCO, qu\'aucun vice ou défaut de conformité ne peut être constaté ou lorsqu\'il est établi que l\'éventuel vice ou défaut de conformité constaté est la conséquence exclusive d\'un comportement fautif du Client, la société ABISCO sera en droit de réclamer l\'indemnisation des frais et autres coûts engendrés.

     

    7.7. Un comportement fautif du Client, tel que visé à l\'article 7.6., pourra notamment être caractérisé dans les hypothèses de détérioration ou d\'accident provenant de négligence, de défaut d\'entretien ou de surveillance ou d\'une utilisation anormale du produit, ainsi qu\'en cas d\'intervention du Client non contractuellement prévue.

     

    7.8. De la même manière, un comportement fautif du Client, tel que visé à l\'article 7.6., pourra notamment être caractérisé dans les hypothèses de non-respect des prescriptions de la société ABISCO ou des notices d\'installation ou d\'utilisation, de non-respect des règles de l\'art usuelles applicables dans la branche du Client, de non-respect des règlementations de sécurité et d\'environnement applicables au Client, de non-respect des contrôles périodiques préconisés par la société ABISCO ou par la réglementation en vigueur ou de non-respect de la destination du produit telle que prévue initialement.

     

    8. Responsabilité
     
    8.1. La responsabilité de la société ABISCO est engagée, en cas de dommage corporel causé par le produit, en cas de faute grave et / ou intentionnelle, en cas de garantie légale, ainsi qu\'en cas de violation d\'une obligation essentielle du contrat. Dans tous les autres cas, la responsabilité de la société ABISCO sera exclue, y compris en cas de dommage immatériels ou indirects, tels que notamment les manques à gagner, les pertes d\'exploitation ou de revenu ou les réclamations de tiers.

     

    8.2. En tout état de cause, la responsabilité de la société ABISCO sera également exclue en cas d\'incidents tenant à des cas fortuits ou de force majeure, ainsi que dans les hypothèses d\'un comportement fautif du Client, tel que notamment visé aux articles 7.7. et 7.8.

     

    8.3. La responsabilité de la société ABISCO ne pourra, en aucun cas, excéder le montant global H.T. de la commande ayant généré sa responsabilité et être engagée au-delà d\'un délai de12 mois à compter du jour où le Client a connu ou aurait dû connaître les faits lui permettant d\'exercer une action en responsabilité.

     

    9. Clause de réserve de propriété
     
    9.1. La société ABISCO conserve la propriété des produits livrés jusqu\'au paiement effectif de l\'intégralité du prix en principal et accessoires. Si le Client n\'a pas payé à l\'échéance, ABISCO sera en droit de réclamer la restitution des produits impayés sans autres formalités.

     

    9.2. L\'application des dispositions de l\'article 9.1 ne porte pas atteinte aux dispositions relatives au transfert des risques telles que visées à l\'article 5.2.

     

     

    10. Informatique et Liberté
     
    Les informations recueillies dans le cadre de l\'enregistrement des commandes sont susceptibles de contenir des indications à caractère personnel. Conformément à la loi « Informatique et Liberté » du 6 janvier 1978, le Client dispose d\'un droit d\'accès, de rectification et de suppression des données le concernant.Si le Client ne souhaite pas recevoir des offres promotionnelles de la société ABISCO ou s\'il ne souhaite pas que ces informations soient communiquées à des tiers, il pourra s\'y opposer.

     

    11. Droit applicable, Tribunal compétent
     
    11.1. Les modalités de livraison ainsi que les relations contractuelles des Parties sont exclusivement régies par la loi française.

     

    11.2. Tout litige ou contentieux en rapport avec les relations contractuelles des Parties relèvera de la compétence exclusive des Tribunaux du ressort du siège de la société ABISCO, même en cas d\'appel en garantie ou de pluralité de défendeurs.

     

    Mentions légales
     
    La société ABISCO est une société à responsabilité limitée, au capital de 60 000,00 euros, ayant son siège social6, rue Frédéric Chopin, ZA La Gironde, 67118 Geispolsheim (Tél : 03 88 66 02 03 - Fax : 03 59 56 99 95 - Courriel : commercial@abisco.fr).
    RCS Strasbourg 504 911 900
    TVA Intracommunautaire : FR 08 504 911 900

    Le responsable de la publication du site est : Laurent Corbé

    L\'hébergeur du site est :
    OVH
    2 rue Kellermann
    59100 ROUBAIX
    France
    Tél. 0 820 69 87 65

    "); $content_plus=stripslashes(""); $scriptName = $GLOBAL_START_URL."/cgv"; /* 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){ ?>
    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)); } ?>