OSC-78: Gestion de catégories réservées aux professionnels // Si le client n'est pas identifié, cela aménerait une warning ERROR (de fait que la variable $customer_id) n'existerait pas! // Ainsi, on vérifie si la variable est vide/inexistante // Par précaution, on va créé une variable temporaire et l'utiliser pour stocker le customer_id. et on on la déclare valorisée à vide si c'est le cas sinon on créé. // Modifier la variable par défaut créée par oscommerce n'ammènerait que des ennuis (et pas forcément tout de suite mais lors de futurs développements). // Ainsi, on créé une variable vide: $osc_78_customer_id_container = ''; if (empty($customer_id)) { $osc_78_customer_id_container = ''; } else { $osc_78_customer_id_container = $customer_id; } // On ajoute des clauses WHERE à la requête SQL basé (pour éviter de retourner TOUT ce qui est PRO si l'utilisateur ne l'est pas (ou n'est pas identifié)) // Les clauses WHERE additionnelles seront sur ce que nous retournera la fonction find_pro_cat_sql_filter() // déclarée dans le fichier ../functions/general.php // Si la clause: p2c.products_id = p.products_id and // Est omise: osCommerce affichera quand même les produits qui sont dans les catégories pros... // Car, au niveau SQL, plus d'un enregistrement sera renvoyé ! if ($random_product = tep_random_select("select distinct p.products_id, pd.products_name, p.products_price, p.products_tax_class_id, p.products_image, s.specials_new_products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_SPECIALS . " s, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p2c.products_id = p.products_id and p.products_status = '1' and p.products_id = s.products_id and pd.products_id = s.products_id and pd.language_id = '" . (int)$languages_id . "' and s.status = '1' " . find_pro_cat_sql_filter("p2c.", "and", $osc_78_customer_id_container) . " order by s.specials_date_added desc limit " . MAX_RANDOM_SELECT_SPECIALS)) { // <- OSC-78: Gestion de catégories réservées aux professionnels ?> VD : rend le titre des soldes cliquables $menu_info_box_contents[] = array('text' => "  " . '' . BOX_HEADING_SPECIALS . ''); // <- VD new menuInfoBoxHeading($menu_info_box_contents, false, false, tep_href_link(FILENAME_SPECIALS)); $menu_info_box_contents = array(); $menu_info_box_contents[] = array('align' => 'center', // -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC /* * Affichage du prix dans la box des promotions/Soldes, en HT, et en TTC (en gras). * utilise la nouvelle méthode 'afficher_prix_ttc()' de la classe currencies en ce qui concerne l'affichage TTC * (je reformates le code pour qu'il possède un affichage moins brouillon). */ 'text' => '' // HT/TTC: image + lien . '' . tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '' . '
' // HT/TTC: nom + lien . '' . $random_product['products_name'] . '' . '
' // HT: prix base . '' . $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT' . '' // . '
En guise de séparateur de prix base et de prix promotionnel pour l'affichage HT, on utilise pas un saut de ligne... // Mais deux espaces: . '  ' // HT: prix promotionnel .'' . $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT' .'' // // Séparateur des affichages HT | TTC // via: (ligne horizontale) . '
' // // TTC: prix base // ajout de gras.. . '' . '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC' . '' // . '
En guise de séparateur de prix base et de prix promotionnel pour l'affichage TTC, on utilise pas un saut de ligne... // Mais deux espaces: . '  ' // TTC: prix promotionnel . '' . $currencies->afficher_prix_ttc($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC' .'' . '
' ); // <- OSC-70 : Gestion HT/TTC : affichage prix HT et TTC new menuInfoBox($menu_info_box_contents); // -> OSC-12 : Arrondissement des angles pour le visuel du site ?>