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; } $account_query = tep_db_query("select * from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id . "'"); $account = tep_db_fetch_array($account_query); $coeff_partner = $account['coeff_partner']; $is_partner = $account['is_partner']; // 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 if ($random_product = tep_random_select("select distinct p.products_id, p.products_image, p.products_tax_class_id, p.products_price, p.products_cost from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p2c.products_id = p.products_id " . find_pro_cat_sql_filter("p2c.", "and", $osc_78_customer_id_container) . " and p.products_status = '1' order by products_date_added desc limit " . MAX_RANDOM_SELECT_NEW)) { // <- OSC-78: Gestion de catégories réservées aux professionnels ?> "  " . BOX_HEADING_WHATS_NEW); new menuInfoBoxHeading($menu_info_box_contents, false, false, tep_href_link(FILENAME_PRODUCTS_NEW)); // -> OSC-12 : Arrondissement des angles pour le visuel du site // -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC /* * Affichage du prix dans la box des nouveautés -Nouveaux Produits-, 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 * A NOTER: certains nouveaux produits peuvent déjà posséder une offre promotionnelle. */ if ($is_partner==true) { if (tep_not_null($random_product['specials_new_products_price']) && $random_product['specials_new_products_price']< $random_product_partner_price ) { // Prix HT, on retire néanmoins le
de fin, pour éviter de sauter une ligne... // On précise HT à la fin. // Du fait qu'on a supprimé le saut de ligne, on ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau.. $whats_new_price = '' . $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; $whats_new_price .= '  ' . $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; // On ajoute un saut de ligne pour une meilleure lisibilité // $whats_new_price .= '
'; // Plus joli! : On ajoute le séparateur barre verticale html $whats_new_price .= '
'; // On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies. // On utilise pour écrire en gras // On précise TTC à la fin. // On ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau.. $whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; $whats_new_price .= '  ' . $currencies->afficher_prix_ttc($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; } elseif ( $random_product['products_price']< $random_product_partner_price) { // Ce produit ne dispose pas d'un prix promotionnel: // Prix HT, on précise HT à la fin. $whats_new_price = $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; // On ajoute le séparateur ' / ' $whats_new_price .= ' / '; // On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies. // On utilise pour écrire en gras // On précise TTC à la fin. $whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; } else { // Ce produit ne dispose pas d'un prix promotionnel: // Prix HT, on précise HT à la fin. $whats_new_price = $currencies->display_price($random_product_partner_price, tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; // On ajoute le séparateur ' / ' $whats_new_price .= ' / '; // On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies. // On utilise pour écrire en gras // On précise TTC à la fin. $whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product_partner_price, tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; } // -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC // <- OSC-12 : Arrondissement des angles pour le visuel du site }else { // Ce produit dispose d'un prix promotionnel: if (tep_not_null($random_product['specials_new_products_price'])) { // Prix HT, on retire néanmoins le
de fin, pour éviter de sauter une ligne... // On précise HT à la fin. // Du fait qu'on a supprimé le saut de ligne, on ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau.. $whats_new_price = '' . $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; $whats_new_price .= '  ' . $currencies->display_price($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; // On ajoute un saut de ligne pour une meilleure lisibilité // $whats_new_price .= '
'; // Plus joli! : On ajoute le séparateur barre verticale html $whats_new_price .= '
'; // On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies. // On utilise pour écrire en gras // On précise TTC à la fin. // On ajoute deux espaces avant le prix promotionnel pour séparer l'ancien prix du nouveau.. $whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; $whats_new_price .= '  ' . $currencies->afficher_prix_ttc($random_product['specials_new_products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; } else { // Ce produit ne dispose pas d'un prix promotionnel: // Prix HT, on précise HT à la fin. $whats_new_price = $currencies->display_price($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' HT'; // On ajoute le séparateur ' / ' $whats_new_price .= ' / '; // On ajoute le prix en TTC via la méthode 'afficher_prix_ttc()' de la classe currencies. // On utilise pour écrire en gras // On précise TTC à la fin. $whats_new_price .= '' . $currencies->afficher_prix_ttc($random_product['products_price'], tep_get_tax_rate($random_product['products_tax_class_id'])) . ' TTC'; } // -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC } // <- OSC-12 : Arrondissement des angles pour le visuel du site $menu_info_box_contents = array(); $menu_info_box_contents[] = array('align' => 'center', // -> OSC-70 : Gestion HT/TTC : affichage prix HT et TTC /* * Ajout d'un deuxième saut de ligne (
) pour aérer le nom du produit des différents prix... */ 'text' => '' . tep_image(DIR_WS_IMAGES . $random_product['products_image'], $random_product['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '
' . $random_product['products_name'] . '

' . $whats_new_price); // <- 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 ?>