[SI-LINDER-PARTNER-2][OSC] - Refonte du site Internet pour supporter le Responsive Design
/*
ATTENTION - le design du site ne peut pas être passé en doctype html (html 5) dans la révision 1 du design.
bien qu'une révision 2 sera instanciée plus tard (l'année prochaine), il faudra se contenter de nombreux workaround en restant en HTML TRANSITIONAL 4.01
Du fait du nombre massif des éléments DE CETTE PAGE (et de ce qui en découlerait) qui seront à revoir pour transformer le design en design responsive..
.. il est alors plus judicieux de globaliser un TAG unique pour cette tâche pour ne pas alourdir de commentaires le code déjà suffisemment alourdi comme cela!
En gros, ici, pour cette méga-tâche, je vais utiliser un format maison de commentaires pour cette tâche précise:
--> pour en comprendre les méandres, voir le fichier /[!] - Saphyra-Interactive-TaskList-Explanations/[SI-LINDER-PARTNER-2][OSC]--semantic.php
*/
// <- [SI-LINDER-PARTNER-2][OSC] - Refonte du site Internet pour supporter le Responsive Design
// look in your $PATH_LOCALE/locale directory for available locales
// or type locale -a on the server.
// Examples:
// on RedHat try 'en_US'
// on FreeBSD try 'en_US.ISO_8859-1'
// on Windows try 'en', or 'English'
@setlocale(LC_TIME, 'fr_FR.ISO_8859-1');
define('DATE_FORMAT_SHORT', '%d/%m/%Y'); // this is used for strftime()
define('DATE_FORMAT_LONG', '%A %d %B %Y'); // this is used for strftime()
define('DATE_FORMAT', 'd/m/Y'); // this is used for date()
define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S');
////
// Return date in raw format
// $date should be in format mm/dd/yyyy
// raw date is in format YYYYMMDD, or DDMMYYYY
function tep_date_raw($date, $reverse = false) {
if ($reverse) {
return substr($date, 0, 2) . substr($date, 3, 2) . substr($date, 6, 4);
} else {
return substr($date, 6, 4) . substr($date, 3, 2) . substr($date, 0, 2);
}
}
// if USE_DEFAULT_LANGUAGE_CURRENCY is true, use the following currency, instead of the applications default currency (used when changing language)
define('LANGUAGE_CURRENCY', 'EUR');
// Global entries for the tag
define('HTML_PARAMS','dir="LTR" lang="fr"');
// charset for web pages and emails
define('CHARSET', 'iso-8859-1');
// page title
define('TITLE', STORE_NAME);
// header text in includes/header.php
define('HEADER_TITLE_CREATE_ACCOUNT', 'Créer un compte');
define('HEADER_TITLE_MY_ACCOUNT', 'Mon compte');
define('HEADER_TITLE_CART_CONTENTS', 'Voir panier');
define('HEADER_TITLE_CHECKOUT', 'Commander');
define('HEADER_TITLE_TOP', 'Accueil');
define('HEADER_TITLE_CATALOG', 'Catalogue');
define('HEADER_TITLE_LOGOFF', 'Fermeture de session');
define('HEADER_TITLE_LOGIN', 'Ouverture de session');
// -> VDPRO
define('VDPRO_HEADER_TITLE_TEXT', 'ACCES PRO (Tarifs revendeurs)');
define('VDPRO_HEADER_TITLE_THIS_ACCOUNT', 'Le compte de %s');
// <- VDPRO
// -> VDPART
define('BOX_HEADING_VDPARTNERS', 'Partenaires');
// <- VDPART
// -> 0000017: ajout de la box magasin
define('BOX_HEADING_OUR_SHOP', 'Notre Magasin');
// <- 0000017
// -> VDLINKS
define('BOX_HEADING_VDLINKS', 'Liens');
// <- VDLINKS
// footer text in includes/footer.php
define('FOOTER_TEXT_REQUESTS_SINCE', 'requêtes depuis le');
// text for gender
define('MALE', 'Homme');
define('FEMALE', 'Femme');
define('MALE_ADDRESS', 'Mr.');
define('FEMALE_ADDRESS', 'Mme.');
// text for date of birth example
define('DOB_FORMAT_STRING', 'jj/mm/aaaa');
// categories box text in includes/boxes/categories.php
define('BOX_HEADING_CATEGORIES', 'Catégories');
// manufacturers box text in includes/boxes/manufacturers.php
define('BOX_HEADING_MANUFACTURERS', 'Fabricants');
// whats_new box text in includes/boxes/whats_new.php
define('BOX_HEADING_WHATS_NEW', 'Nouveautés ?');
// quick_find box text in includes/boxes/quick_find.php
define('BOX_HEADING_SEARCH', 'Recherche rapide');
define('BOX_SEARCH_TEXT', 'Utilisez des mots-clés pour trouver le produit que vous recherchez.');
define('BOX_SEARCH_ADVANCED_SEARCH', 'Recherche avancée');
// specials box text in includes/boxes/specials.php
define('BOX_HEADING_SPECIALS', 'Fins de Série jusqu\'à épuisements des stocks');
// reviews box text in includes/boxes/reviews.php
define('BOX_HEADING_REVIEWS', 'Critiques');
define('BOX_REVIEWS_WRITE_REVIEW', 'Ecrire une critique pour ce produit !');
define('BOX_REVIEWS_NO_REVIEWS', 'Il n\'y a actuellement aucune critique pour ce produit');
define('BOX_REVIEWS_TEXT_OF_5_STARS', '%s sur 5 étoiles !');
// shopping_cart box text in includes/boxes/shopping_cart.php
define('BOX_HEADING_SHOPPING_CART', 'Panier');
define('BOX_SHOPPING_CART_EMPTY', 'vide');
// order_history box text in includes/boxes/order_history.php
define('BOX_HEADING_CUSTOMER_ORDERS', 'Historique commandes');
// best_sellers box text in includes/boxes/best_sellers.php
define('BOX_HEADING_BESTSELLERS', 'Meilleures ventes');
define('BOX_HEADING_BESTSELLERS_IN', 'Meilleures ventes dans
');
// notifications box text in includes/boxes/products_notifications.php
define('BOX_HEADING_NOTIFICATIONS', 'Notifications');
define('BOX_NOTIFICATIONS_NOTIFY', 'Me prévenir des mises à jour de %s');
define('BOX_NOTIFICATIONS_NOTIFY_REMOVE', 'Ne plus me prévenir des mises à jour de %s');
// manufacturer box text
define('BOX_HEADING_MANUFACTURER_INFO', 'Information fabricant');
define('BOX_MANUFACTURER_INFO_HOMEPAGE', 'Page d\'accueil de %s');
define('BOX_MANUFACTURER_INFO_OTHER_PRODUCTS', 'Autres articles');
// languages box text in includes/boxes/languages.php
define('BOX_HEADING_LANGUAGES', 'Langues');
// currencies box text in includes/boxes/currencies.php
define('BOX_HEADING_CURRENCIES', 'Devises');
// information box text in includes/boxes/information.php
define('BOX_HEADING_INFORMATION', 'Informations');
define('BOX_INFORMATION_PRIVACY', 'Confidentialité');
define('BOX_INFORMATION_CONDITIONS', 'Conditions Générales de Vente');
define('BOX_INFORMATION_SHIPPING', 'Expédition & retours');
define('BOX_INFORMATION_CONTACT', 'Contactez-nous');
// tell a friend box text in includes/boxes/tell_a_friend.php
define('BOX_HEADING_TELL_A_FRIEND', 'Faire connaître');
define('BOX_TELL_A_FRIEND_TEXT', 'Envoyer cet article à un ami(e).');
// checkout procedure text
define('CHECKOUT_BAR_DELIVERY', 'Information livraison');
define('CHECKOUT_BAR_PAYMENT', 'Information paiement');
define('CHECKOUT_BAR_CONFIRMATION', 'Confirmation');
define('CHECKOUT_BAR_FINISHED', 'Fini !');
// pull down default text
define('PULL_DOWN_DEFAULT', 'Choisissez');
define('TYPE_BELOW', 'Tapez ci-dessous');
// javascript messages
define('JS_ERROR', 'Des erreurs sont survenues durant le traitement de votre formulaire.\n\nVeuillez effectuer les corrections suivantes :\n\n');
define('JS_REVIEW_TEXT', '* Le \'commentaire\' que vous avez rentré doit avoir au moins ' . REVIEW_TEXT_MIN_LENGTH . ' caractères.\n');
define('JS_REVIEW_RATING', '* Vous devez mettre une appréciation pour cet article.\n');
define('JS_ERROR_NO_PAYMENT_MODULE_SELECTED', '* Veuillez choisir une méthode de paiement pour votre commande.\n');
define('JS_ERROR_SUBMITTED', 'Ce formulaire a été déjà soumis. Veuillez appuyer sur Ok et attendez jusqu\'à ce que le traitement soit fini.');
define('ERROR_NO_PAYMENT_MODULE_SELECTED', 'Veuillez choisir une méthode de paiement pour votre commande.');
define('CATEGORY_COMPANY', 'Détails sociétés');
define('CATEGORY_PERSONAL', 'Vos détails personnels');
define('CATEGORY_ADDRESS', 'Votre adresse');
define('CATEGORY_CONTACT', 'Vos numéros de téléphone/fax');
define('CATEGORY_OPTIONS', 'Options');
define('CATEGORY_PASSWORD', 'Votre mot de passe');
define('ENTRY_COMPANY', 'Nom de la société :');
// -> TVAINT
define('ENTRY_COMPANY_ERROR', 'Le nom de votre société doit contenir un minimum de ' . ENTRY_COMPANY_MIN_LENGTH . ' caractères.');
define('ENTRY_COMPANY_TEXT', 'Seulement dans le cas d\'une facturation au nom de cette société');
define('ENTRY_TVA_INTRACOM', 'N° TVA intracom :');
define('ENTRY_TVA_INTRACOM_ERROR', 'Le n° intracommunautaire de votre société doit contenir un minimum de ' . ENTRY_TVA_INTRACOM_MIN_LENGTH . ' caractères.');
// define('ENTRY_TVA_INTRACOM_TEXT', 'Obligatoire si vous avez indiqué une société de la CEE');
define('ENTRY_TVA_INTRACOM_TEXT', '');
define('ENTRY_CONTROL_TVA_INTRACOM', 'Après vérification, votre n° TVA intracom est incorrect. Laissez vide si vous ne le connaissez pas.
Pour info, il doit avoir la structure suivante:
Allemagne: \'DE\' + 9 caractères numériques
Autriche: \'AT\' + 9 caractères numériques et alphanumériques
Belgique : \'BE\' + 9 caractères numériques
Danemark : \'DK\' + 8 caractères numériques
Espagne: \'ES\' + 9 caractères
Finlande : \'FI\' + 8 caractères numériques
France: \'FR\' + 2 chiffres (clé informatique) + N° SIREN (9 chiffres)
Royaume-Uni: \'GB\' + 9 caractères numériques
Grèce: \'EL\' + 9 caractères numériques
Irlande : \'IE\' + 8 caractères numériques et alphabétiques
Italie : \'IT\' + 11 caractères numériques
Luxembourg: \'LU\' + 8 caractères numériques
Pays-Bas: \'NL\' + 12 caractères alphanumériques dont une lettre
Portugal : \'PT\' + 9 caractères numériques
Suède : \'SE\' + 12 caractères numériques
Chypre : \'CY\' + 8 caractères numériques et 1 caractère alphabétique
Estonie : \'EE\' + 9 caractères numériques
Hongrie : \'HU\' + 8 caractères numériques
Lettonie : \'LV\' + 11 caractères numériques
Lituanie : \'LT\' + 9 ou 12 caractères numériques
Malte : \'MT\' + 8 caractères numériques
Pologne : \'PL\' + 10 caractères numériques
Slovaquie : \'SK\' + 9 ou 10 caractères numériques
Rép. tchèque : \'CZ\' + 8 ou 9 ou 10 caractères numériques
Slovénie : \'SI\' + 8 caractères numériques');
define('ENTRY_NO_VERIF_TVA_INTRACOM', 'Pas de vérification possible de votre n° TVA intracommunautaire: laissez vide le champ de saisie correspondant');
define('ENTRY_CONTROL_TVA_INTRACOM_COUNTRY', 'Le n° TVA intracommunautaire ne correspond pas au pays indiqué. Laissez vide si vous ne le connaissez pas.');
// <- TVAINT
// -> SPPC415
define('ENTRY_COMPANY_TAX_ID', 'TVA intracommunautaire:');
define('ENTRY_COMPANY_TAX_ID_ERROR', '');
define('ENTRY_COMPANY_TAX_ID_TEXT', '');
// <- SPPC415
define('ENTRY_GENDER', 'Genre :');
define('ENTRY_GENDER_ERROR', 'Veuillez choisir votre genre.');
define('ENTRY_GENDER_TEXT', '*');
define('ENTRY_FIRST_NAME', 'Prénom :');
define('ENTRY_FIRST_NAME_ERROR', 'Votre prénom doit contenir un minimum de ' . ENTRY_FIRST_NAME_MIN_LENGTH . ' caractères.');
define('ENTRY_FIRST_NAME_TEXT', '*');
define('ENTRY_LAST_NAME', 'Nom :');
define('ENTRY_LAST_NAME_ERROR', 'Votre nom doit contenir un minimum de ' . ENTRY_LAST_NAME_MIN_LENGTH . ' caractères.');
define('ENTRY_LAST_NAME_TEXT', '*');
define('ENTRY_DATE_OF_BIRTH', 'Date de naissance :');
define('ENTRY_DATE_OF_BIRTH_ERROR', 'Votre date de naissance doit avoir ce format : JJ/MM/AAAA (ex. 21/05/1970)');
define('ENTRY_DATE_OF_BIRTH_TEXT', '* (ex. 21/05/1970)');
define('ENTRY_EMAIL_ADDRESS', 'Adresse email:');
define('ENTRY_EMAIL_ADDRESS_ERROR', 'Votre adresse email doit contenir un minimum de ' . ENTRY_EMAIL_ADDRESS_MIN_LENGTH . ' caractères.');
define('ENTRY_EMAIL_ADDRESS_CHECK_ERROR', 'Votre adresse email ne semble pas être valide - veuillez effectuer toutes les corrections nécessaires.');
define('ENTRY_EMAIL_ADDRESS_ERROR_EXISTS', 'Votre adresse email est déjà enregistrée sur notre site - Veuillez ouvrir une session avec cette adresse email ou créez un compte avec une adresse différente.');
define('ENTRY_EMAIL_ADDRESS_TEXT', '*');
define('ENTRY_STREET_ADDRESS', 'Adresse :');
define('ENTRY_STREET_ADDRESS_ERROR', 'Votre adresse doit contenir un minimum de ' . ENTRY_STREET_ADDRESS_MIN_LENGTH . ' caractères.');
define('ENTRY_STREET_ADDRESS_TEXT', '*');
// -> VDVOISIN: gestion des voisins
define('ENTRY_SUBURB', 'Voisin :');
define('ENTRY_SUBURB_ERROR', '');
define('ENTRY_SUBURB_TEXT', 'Coordonnées du voisin en cas d\'absence');
// <- VDVOISIN
define('ENTRY_POST_CODE', 'Code postal :');
define('ENTRY_POST_CODE_ERROR', 'Votre code postal doit contenir un minimum de ' . ENTRY_POSTCODE_MIN_LENGTH . ' caractères.');
define('ENTRY_POST_CODE_TEXT', '*');
define('ENTRY_CITY', 'Ville: ');
define('ENTRY_CITY_ERROR', 'Votre ville doit contenir un minimum de ' . ENTRY_CITY_MIN_LENGTH . ' caractères.');
define('ENTRY_CITY_TEXT', '*');
define('ENTRY_STATE', 'Etat/Département :');
define('ENTRY_STATE_ERROR', 'Votre état doit contenir un minimum de ' . ENTRY_STATE_MIN_LENGTH . ' caractères.');
define('ENTRY_STATE_ERROR_SELECT', 'Veuillez choisir un département à partir de la liste déroulante.');
define('ENTRY_STATE_TEXT', '*');
define('ENTRY_COUNTRY', 'Pays :');
define('ENTRY_COUNTRY_ERROR', 'Veuillez choisir un pays à partir de la liste déroulante.');
define('ENTRY_COUNTRY_TEXT', '*');
define('ENTRY_TELEPHONE_NUMBER', 'Numéro de téléphone :');
define('ENTRY_TELEPHONE_NUMBER_ERROR', 'Votre numéro de téléphone doit contenir un minimum de ' . ENTRY_TELEPHONE_MIN_LENGTH . ' caractères.');
define('ENTRY_TELEPHONE_NUMBER_TEXT', '* Mobile de préférence pour le livreur en cas d\'absence');
define('ENTRY_FAX_NUMBER', 'Numéro de fax :');
define('ENTRY_FAX_NUMBER_ERROR', '');
define('ENTRY_FAX_NUMBER_TEXT', '');
// -> OSC-98 - Gestion RIB/IBAN
define('ENTRY_RIB_IBAN', 'RIB/IBAN:');
define('ENTRY_RIB_IBAN_TEXT', 'Facultatif');
// <- OSC-98 - Gestion RIB/IBAN
define('ENTRY_NEWSLETTER', 'Bulletin d\'information :');
define('ENTRY_NEWSLETTER_TEXT', '');
define('ENTRY_NEWSLETTER_YES', 'S\'abonner');
define('ENTRY_NEWSLETTER_NO', 'Ne pas s\'abonner');
define('ENTRY_NEWSLETTER_ERROR', '');
define('ENTRY_PASSWORD', 'Mot de passe :');
define('ENTRY_PASSWORD_ERROR', 'Votre mot de passe doit contenir un minimum de ' . ENTRY_PASSWORD_MIN_LENGTH . ' caractères.');
define('ENTRY_PASSWORD_ERROR_NOT_MATCHING', 'Le mot de passe de confirmation doit être identique à votre mot de passe.');
define('ENTRY_PASSWORD_TEXT', '*');
define('ENTRY_PASSWORD_CONFIRMATION', 'Mot de passe de confirmation :');
define('ENTRY_PASSWORD_CONFIRMATION_TEXT', '*');
define('ENTRY_PASSWORD_CURRENT', 'Mot de passe actuel :');
define('ENTRY_PASSWORD_CURRENT_TEXT', '*');
define('ENTRY_PASSWORD_CURRENT_ERROR', 'Votre mot de passe doit contenir un minimum de ' . ENTRY_PASSWORD_MIN_LENGTH . ' caractères.');
define('ENTRY_PASSWORD_NEW', 'Nouveau mot de passe :');
define('ENTRY_PASSWORD_NEW_TEXT', '*');
define('ENTRY_PASSWORD_NEW_ERROR', 'Votre nouveau mot de passe doit contenir un minimum de ' . ENTRY_PASSWORD_MIN_LENGTH . ' caractères.');
define('ENTRY_PASSWORD_NEW_ERROR_NOT_MATCHING', 'Le mot de passe de confirmation doit être identique à votre nouveau mot de passe.');
define('PASSWORD_HIDDEN', '--CACHE--');
define('FORM_REQUIRED_INFORMATION', '* Information requise');
// constants for use in tep_prev_next_display function
define('TEXT_RESULT_PAGE', 'Pages de résultat :');
define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS', 'Afficher %d à %d (sur %d produits)');
define('TEXT_DISPLAY_NUMBER_OF_ORDERS', 'Afficher %d à %d (sur %d orders)');
define('TEXT_DISPLAY_NUMBER_OF_REVIEWS', 'Afficher %d à %d (sur %d critiques)');
define('TEXT_DISPLAY_NUMBER_OF_PRODUCTS_NEW', 'Afficher %d à %d (sur %d nouveaux produits)');
define('TEXT_DISPLAY_NUMBER_OF_SPECIALS', 'Afficher %d à %d (sur %d promotions)');
// -> 0000007: ajout date evenement
// <- ajout de texte FRANCAIS pour le texte ajouté par le gestionnaire de date d'évènement ->
// ATTENTION: cette constante est à écrire OBLIGATOIREMENT en clair (pas d'entités HTML), voir fichier 'checkout_shipping.php'
// Problème possible: Linux peut ne pas reconnaître les accents.
// Ils sont retraités dans le fichier 'checkout_shipping.php' cité plus haut.
// dans Notepad++/Notepad2 : Le fichier 'checkout_shipping.php' doit être encodé en ANSI et non en UTF-8 (sans BOM)
// dans Aptana Studio 3+ : Le fichier 'checkout_shipping.php' doit être encodé en UTF-8
// mais ça ne compromet en rien les accents autres que ceux que j'ai traités.
define('TEXT_DISPLAY_EVENTDATE', "Date de l'évènement");
// -> OSC-37: Rendre le choix d'une date d'évènement OBLIGATOIRE avant de pouvoir valider une commande
// -> OSC-45: Modification de l'intitulé du message préventif de Date D'évènement obligatoire (du à la non-compréhension de certains clients)
/*
* comme je me sers de PHP pour gérer le passage vers Javascript, je modifie " par ' pour contenir la constante PHP.
*
* obligé d'échaper 3 fois les ' car,
* 1) je m'en sert dans une chaîne PHP (contenue elle-même entre des ')
* 2) qui sera envoyée à Javascript
* 3) et donc interprétée par Javascript.
* comme je me sers de l'encadrement par apostrophes pour la constante PHP, j'échappes mes sauts de lignes (\n) une seule fois (cela servira à Javascript)
* comme c'est du Javascript, je ne peux pas me permettre d'écrire le texte sur plusieures lignes réélles.
* (
* exemple:
* VALIDE:
* texte 1\ntexte 2
* INVALIDE:
* texte 1\n
* texte 2
* )
*/
define('TEXT_DISPLAY_EVENTDATE_DATEISREQUIRED', 'Veuillez sélectionner une date limite de livraison ou la date de votre évènement.\nCette information nous est utile dans le cas où vous avez commandé des articles en stock insuffisant.\n\nNous pouvons ainsi planifier efficacement nos futures entrées en stock avec l\\\'expédition de vos colis.\nS\\\'il n\\\'est pas possible de réapprovisionner des articles de votre commande dans les délais, nous vous contactons afin de trouver une solution, ou nous procédons au remboursement des articles indisponibles.\nCette étape est désormais obligatoire pour commander sur notre site Internet.\nMerci pour votre collaboration.');
// <- OSC-45: Modification de l'intitulé du message préventif de Date D'évènement obligatoire (du à la non-compréhension de certains clients)
// <- OSC-37: Rendre le choix d'une date d'évènement OBLIGATOIRE avant de pouvoir valider une commande
// -> OSC-45: Modification de l'intitulé du message préventif de Date D'évènement obligatoire (du à la non-compréhension de certains clients)
// sera affiché en guise d'infobulle à l'utilisateur à côté du bouton Date D'Evènement.
define('TEXT_DISPLAY_EVENTDATE_WHY',
"