Index: www-lp/www/admin/orders.php =================================================================== diff -u -r4 -r29 --- www-lp/www/admin/orders.php (.../orders.php) (revision 4) +++ www-lp/www/admin/orders.php (.../orders.php) (revision 29) @@ -719,6 +719,7 @@ // <- OSC-99 - Gestion des agents commerciaux // <- ORED5066+MANORM155 // -> VDUPS: génération du fichier XML/UPS + $contents[] = array('align' => 'center', 'text' => '' . tep_image_button('button_chronopost.gif', IMAGE_CHRONOPOST) . ''); $contents[] = array('align' => 'center', 'text' => '' . accrosys_tep_image('logo_ups', IMAGE_ORDERS_UPS) . ''); // <- VDUPS: génération du fichier XML/UPS // -> 0000003: affichage bouton exapaq Index: www-lp/www/admin/includes/languages/english.php =================================================================== diff -u -r4 -r29 --- www-lp/www/admin/includes/languages/english.php (.../english.php) (revision 4) +++ www-lp/www/admin/includes/languages/english.php (.../english.php) (revision 29) @@ -159,6 +159,7 @@ define('JS_STATE_SELECT', '-- Select Above --'); define('JS_ZONE', '* The \'State\' entry must be selected from the list for this country.'); define('JS_COUNTRY', '* The \'Country\' value must be chosen.\n'); +define('JS_TELEPHONE_COUNTRY', 'The \'Country Code\' field must be filled in \n'); define('JS_TELEPHONE', '* The \'Telephone Number\' entry must have at least ' . ENTRY_TELEPHONE_MIN_LENGTH . ' characters.\n'); define('JS_PASSWORD', '* The \'Password\' amd \'Confirmation\' entries must match amd have at least ' . ENTRY_PASSWORD_MIN_LENGTH . ' characters.\n'); @@ -206,6 +207,8 @@ define('ENTRY_STATE_ERROR', ' required'); define('ENTRY_COUNTRY', 'Country:'); define('ENTRY_COUNTRY_ERROR', ''); +define('ENTRY_COUNTRY_CODE', 'Country Code :'); +define('ENTRY_COUNTRY_CODE_ERROR', 'Please enter your country code'); define('ENTRY_TELEPHONE_NUMBER', 'Telephone Number:'); define('ENTRY_TELEPHONE_NUMBER_ERROR', ' min ' . ENTRY_TELEPHONE_MIN_LENGTH . ' chars'); define('ENTRY_FAX_NUMBER', 'Fax Number:'); @@ -237,6 +240,7 @@ define('IMAGE_ICON_STATUS_PURPLE_LIGHT', 'Available'); define('TEXT_PRODUCTS_OUT_OF_STOCK', 'Out Of Stock'); // <- VDOFS +define('IMAGE_CHRONOPOST', 'Chronopost'); define('IMAGE_ICON_INFO', 'Info'); define('IMAGE_INSERT', 'Insert'); define('IMAGE_LOCK', 'Lock'); Index: www-lp/www/admin/includes/languages/french/edit_form_chronopost.php =================================================================== diff -u --- www-lp/www/admin/includes/languages/french/edit_form_chronopost.php (revision 0) +++ www-lp/www/admin/includes/languages/french/edit_form_chronopost.php (revision 29) @@ -0,0 +1,52 @@ +La description doit être la plus précise possible et en anglais (type, d\' objet, utilisation, composition).
le champ est à renseigné avec l\' article le plus significatif, celui en plus grand nombre ou le plus cher du colis.
Exemple : Trompette en platique accessoire = Plastic trumpet accessory'); +define('SATURDAY_DELIVERY', 'Pour que ce soit livré le Samedi uniquement si date d\' envoi est Vendredi'); +Define('REQUIRE_CHRONO_RELAY_ID', 'Obligatoire si Produit Chrono Relais. '); +define('CHRONO_RELAY_ID', 'Valeur obtenue uniquement par les WebServices Chronopost'); +define('WEIGHT', 'En Kg'); +define('WIDTH', 'En cm'); +define('LENGTH', 'En cm'); +define('HEIGHT', 'En cm'); +define('UNUSED', 'Inutilise'); +define('ALERT_SENDER', 'O pour Oui et N pour Non'); +define('ALERT_RECIPIENT', 'O pour Oui et N pour Non'); +define('REQUIRE_DLC', 'Obligatoire si Produit FOOD. '); +define('DLC', 'Date Limite de Consommation. Format : JJ/MM/AAAA'); +define('REQUIRE_START_TIME_SLOT', 'Obligatoire si produit précisé. '); +define('START_TIME_SLOT', 'Voir avec votre contact informatique Chronopost. Format : JJMMAAHHmm .'); +define('REQUIRE_END_TIME_SLOT', 'Obligatoire si produit précisé.'); +define('END_TIME_SLOT', 'Voir avec votre contact informatique Chronopost. Format : JJMMAAHHmm'); +define('REQUIRE_AS_CODE', 'Obligatoire pour certains produits. Les valeurs seront communiquées par IT Chronopost. '); +define('AS_CODE', 'Voir avec votre contact informatique Chronopost'); +define('SERVICE_CODE', 'Voir avec votre contact informatique Chronopost'); +define('MONO_PACKAGE', 'Si il y a plusieurs colis pour le même client, il faut que dans le fichier, il ait une ligne d\' adresse par colis.
Exemple :3 colis pour le même client, il faut 3 lignes d \'adresses identiques avec le poids propre à chaque colis.'); +define('MULTI_PACKAGE', 'Le fichier doit:
- soit contenir une ligne par colis avec le poids du colis.
- ou soit mettre le nombre de colis dans le champ n°29 (nombre de colis), dans ce cas le poids est le poids total, avec un nombre de colis ne dépassant pas 9.'); +?> Index: www-lp/www/admin/includes/languages/english/images/buttons/button_chronopost.gif =================================================================== diff -u Binary files differ Index: www-lp/www/admin/includes/languages/french.php =================================================================== diff -u -r4 -r29 --- www-lp/www/admin/includes/languages/french.php (.../french.php) (revision 4) +++ www-lp/www/admin/includes/languages/french.php (.../french.php) (revision 29) @@ -169,6 +169,7 @@ define('JS_STATE_SELECT', '-- Choisissez ci-dessus --'); define('JS_ZONE', '* L\'entrée \'Département\' doit être choisie parmi la liste pour ce pays.'); define('JS_COUNTRY', '* La valeur \'Pays\' doit être choisie.\n'); +define('JS_TELEPHONE_COUNTRY', '* L\'entrée \'Indicatif du pays\' doit être rempli \n'); define('JS_TELEPHONE', '* L\'entrée \'Numéro de téléphone\' doit avoir au moins ' . ENTRY_TELEPHONE_MIN_LENGTH . ' caractères.\n'); define('JS_PASSWORD', '* Les entrées \'Mot de passe\' et \'Confirmation\' doivent avoir au moins ' . ENTRY_PASSWORD_MIN_LENGTH . ' caractères.\n'); @@ -216,6 +217,8 @@ define('ENTRY_STATE_ERROR', ' requis'); define('ENTRY_COUNTRY', 'Pays :'); define('ENTRY_COUNTRY_ERROR', ''); +define('ENTRY_COUNTRY_CODE', 'Indicatif du pays :'); +define('ENTRY_COUNTRY_CODE_ERROR', 'Veuillez compléter votre indicatif du pays'); define('ENTRY_TELEPHONE_NUMBER', 'Numéro de téléphone :'); define('ENTRY_TELEPHONE_NUMBER_ERROR', ' min. ' . ENTRY_TELEPHONE_MIN_LENGTH . ' caract.'); define('ENTRY_FAX_NUMBER', 'Numéro de fax :'); @@ -247,6 +250,7 @@ define('IMAGE_ICON_STATUS_PURPLE_LIGHT', 'En stock'); define('TEXT_PRODUCTS_OUT_OF_STOCK', 'Epuisé'); // <- VDOFS +define('IMAGE_CHRONOPOST', 'Chronopost'); define('IMAGE_ICON_INFO', 'Info'); define('IMAGE_INSERT', 'Insérer'); define('IMAGE_LOCK', 'Verouilller'); Index: www-lp/www/admin/includes/languages/english/edit_form_chronopost.php =================================================================== diff -u --- www-lp/www/admin/includes/languages/english/edit_form_chronopost.php (revision 0) +++ www-lp/www/admin/includes/languages/english/edit_form_chronopost.php (revision 29) @@ -0,0 +1,51 @@ +La description doit être la plus précise possible et en anglais (type, d\' objet, utilisation, composition).
le champ est à renseigné avec l\' article le plus significatif, celui en plus grand nombre ou le plus cher du colis.
Exemple : Trompette en platique accessoire = Plastic trumpet accessory'); +define('SATURDAY_DELIVERY', 'Pour que ce soit livré le Samedi uniquement si date d\' envoi est Vendredi'); +Define('REQUIRE_CHRONO_RELAY_ID', 'Obligatoire si Produit Chrono Relais. '); +define('CHRONO_RELAY_ID', 'Valeur obtenue uniquement par les WebServices Chronopost'); +define('WEIGHT', 'En Kg'); +define('WIDTH', 'En cm'); +define('LENGTH', 'En cm'); +define('HEIGHT', 'En cm'); +define('UNUSED', 'Inutilise'); +define('ALERT_SENDER', 'O pour Oui et N pour Non'); +define('ALERT_RECIPIENT', 'O pour Oui et N pour Non'); +define('REQUIRE_DLC', 'Obligatoire si Produit FOOD. '); +define('DLC', 'Date Limite de Consommation. Format : JJ/MM/AAAA'); +define('REQUIRE_START_TIME_SLOT', 'Obligatoire si produit précisé. '); +define('START_TIME_SLOT', 'Voir avec votre contact informatique Chronopost. Format : JJMMAAHHmm .'); +define('REQUIRE_END_TIME_SLOT', 'Obligatoire si produit précisé.'); +define('END_TIME_SLOT', 'Voir avec votre contact informatique Chronopost. Format : JJMMAAHHmm'); +define('REQUIRE_AS_CODE', 'Obligatoire pour certains produits. Les valeurs seront communiquées par IT Chronopost. '); +define('AS_CODE', 'Voir avec votre contact informatique Chronopost'); +define('SERVICE_CODE', 'Voir avec votre contact informatique Chronopost'); +define('MONO_PACKAGE', 'Si il y a plusieurs colis pour le même client, il faut que dans le fichier, il ait une ligne d\' adresse par colis.
Exemple :3 colis pour le même client, il faut 3 lignes d \'adresses identiques avec le poids propre à chaque colis.'); +define('MULTI_PACKAGE', 'Le fichier doit:
- soit contenir une ligne par colis avec le poids du colis.
- ou soit mettre le nombre de colis dans le champ n°29 (nombre de colis), dans ce cas le poids est le poids total, avec un nombre de colis ne dépassant pas 9.'); +?> Index: www-lp/www/admin/includes/languages/french/images/buttons/button_chronopost.gif =================================================================== diff -u Binary files differ Index: www-lp/www/admin/edit_form_chronopost.php =================================================================== diff -u --- www-lp/www/admin/edit_form_chronopost.php (revision 0) +++ www-lp/www/admin/edit_form_chronopost.php (revision 29) @@ -0,0 +1,1350 @@ + VD : debug +require_once('../logger/include.php'); +// <- VD + require('includes/application_top.php'); + + // include the appropriate functions & classes + include('order_editor/functions.php'); + include('order_editor/cart.php'); + include('order_editor/order.php'); + include('order_editor/shipping.php'); + include('order_editor/http_client.php'); + include('includes/classes/order.php'); + +$oID = tep_db_prepare_input($_GET['oID']); +//$order = new manualOrder($oID); +$order = new Order($oID); + + + +function validate_input(&$receiver_data, &$packages_list){ + $ok = True; + + // produit + switch ( $receiver_data['code_pays_destinataire'] ) { + case 'FR': $receiver_data['produit']='1S'; break; // code produit pour la France : chrono 13 instance agence + default: $receiver_data['produit']='44'; // hors France : chrono classic + } + // traitement des colis + $new_packages_list = array(); + foreach ($packages_list as $package){ + if (isset($package['poids'])) { + if ($package['poids'] > 0) { // le colis peut être traité si son poids est > 0 + + // code service en fonction du poids et du type de client + if($receiver_data['produit'] ==='44'){ // hors France : chrono classic uniquement + if ($package['poids'] <= 3 && $receiver_data['type_client'] === 'customer') { + $package['code_service'] = 136; + } + else if ($package['poids'] > 3 && $receiver_data['type_client'] === 'customer') { + $package['code_service'] = 101; + } + else if ($package['poids'] <= 3 && $receiver_data['type_client'] === 'business') { + $package['code_service'] = 328; + } + else if ($package['poids'] > 3 && $receiver_data['type_client'] === 'business') { + $package['code_service'] = 327; + } + } + + // valeur produit avec necessite ou non d'une description + if ($receiver_data['produit'] === '1S' || // livraison en France ou ... + (isset($package['description']) && $receiver_data['produit'] === '44') )// livraison hors France et description fournie + { + array_push($new_packages_list, $package); + } + } + } + } + + unset($receiver_data['type_client']); + $receiver_data['nombre_de_colis'] = 1; + $packages_list = $new_packages_list; + return $ok; +} + + +function export_to_csv($receiver_data, $packages_list){ + validate_input($receiver_data, $packages_list); + $sources_and_fields = array( + array('receiver_data', 'reference_destinataire'), + array('receiver_data', 'societe_destinataire'), + array('receiver_data', 'nom_destinataire'), + array('receiver_data', 'prenom_destinataire'), + array('receiver_data', 'adresse_destinataire'), + array('receiver_data', 'adresse_2_destinataire'), + array('receiver_data', 'code_porte_destinataire'), + array('receiver_data', 'code_postal_destinataire'), + array('receiver_data', 'ville_destinataire'), + array('receiver_data', 'code_pays_destinataire'), + array('receiver_data', 'telephone_destinataire'), + array('receiver_data', 'email_destinataire'), + array('receiver_data', 'reference_1'), + array('receiver_data', 'code_barre_client'), + array('receiver_data', 'produit'), + array('receiver_data', 'numero_de_compte'), + array('receiver_data', 'numero_de_sous_compte'), + array('package', 'assurance'), + array('package', 'valeur_en_douane'), + array('package', 'type_de_colis'), + array('package', 'description'), + array('package', 'livraison_samedi'), + array('receiver_data', 'id_chrono_relais'), + array('package', 'poids'), + array('receiver_data', 'largeur'), + array('receiver_data', 'longueur'), + array('receiver_data', 'hauteur'), + array('package', 'alerter_destinataire'), + array('receiver_data', 'nombre_de_colis'), + array('package', 'date_d_envoi'), + array('receiver_data', 'inutilise'), + array('receiver_data', 'alerter_expediteur'), + array('receiver_data', 'dlc'), + array('receiver_data', 'debut_du_creneau'), + array('receiver_data', 'fin_du_creneau'), + array('receiver_data', 'as_code'), + array('package', 'code_service'), + ); + + + $output = fopen('php://output', 'w'); + + foreach ($packages_list as $package){ + $data = ''; + foreach ($sources_and_fields as $pair) { + list($source, $field) = $pair; + // Accède à la valeur de la clé dans le tableau associatif + $cmd='$data .= $' . $source . "['" . $field . "'];"; + $data .= eval($cmd); + $data .= ';'; + } + // $data = rtrim($data, ";"); // suppression du dernier ";" + if (substr($data, -1) === ";") { // Vérifie si le dernier caractère est un ";" + $data = substr($data, 0, -1); // Supprime le dernier caractère ";" + } + fwrite($output, $data . "\n"); + } + fclose($output); + +} + + + + +$MAX_COLIS=3; + +$packages_list = array(); + +for ($i = 1; $i <= $MAX_COLIS; $i++) { + $packages_list[] = array( + 'poids' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['poids_' . $i]))), + 'description' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['description_' . $i]))), + 'assurance' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['assurance_' . $i]))), + 'valeur_en_douane' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['valeur_en_douane_' . $i]))), + 'type_de_colis' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['type_de_colis_' . $i]))), + 'livraison_samedi' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['livraison_samedi_' . $i]))), + 'alerter_destinataire' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['alerter_destinataire_' . $i]))), + 'date_d_envoi' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['date_d_envoi_' . $i]))), + ); +} + +function remove_accented_characters($string) { + $accents = array( + 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', + 'Æ' => 'AE', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', + 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', + 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', + 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'ß' => 'ss', 'à' => 'a', + 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', + 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', + 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', + 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', + 'û' => 'u', 'ü' => 'u', 'ý' => 'y', 'ÿ' => 'y' + ); + + return strtr($string, $accents); +} + +$receiver_data = array( + 'type_client' => stripslashes(tep_db_input(tep_db_prepare_input($_POST['type_client']))), + 'reference_destinataire' => '', + 'societe_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['societe_destinataire'])))), + 'nom_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['nom_destinataire'])))), + 'prenom_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['prenom_destinataire'])))), + 'adresse_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['adresse_destinataire'])))), + 'adresse_2_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['adresse_2_destinataire'])))), + 'code_porte_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['code_porte_destinataire'])))), + 'code_postal_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['code_postal_destinataire'])))), + 'ville_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['ville_destinataire'])))), + 'code_pays_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['code_pays_destinataire'])))), + 'telephone_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['telephone_destinataire'])))), + 'email_destinataire' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['email_destinataire'])))), + 'reference_1' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['reference_1'])))), + 'code_barre_client' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['code_barre_client'])))), + 'produit' => '', + 'numero_de_compte' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['numero_de_compte'])))), + 'numero_de_sous_compte' => remove_accented_characters(stripslashes(tep_db_input(tep_db_prepare_input($_POST['numero_de_sous_compte'])))), + 'id_chrono_relais' => '', + 'largeur' => '', + 'longueur' => '', + 'hauteur' => '', + 'nombre_de_colis' => '', // nombre de colis toujours égal à 1 + 'inutilise' => '', + 'alerter_expediteur' => '', + 'dlc' => '', + 'debut_du_creneau' => '', + 'fin_du_creneau' => '', + 'as_code' => '', + 'code_service' => '', +); + +$customer_type_query = tep_db_query("select customers_id, is_partner,coeff_partner,customers_group_id from " . TABLE_CUSTOMERS . " where customers_id = " . (int)$order->customer['id']); + +$customer_type = tep_db_fetch_array($customer_type_query); + +$today_reversed = date('Ymd'); + +$filename = $_GET['oID'] . '-' . $today_reversed . '-chronopost.csv'; + + +if ($_SERVER["REQUEST_METHOD"] === "POST") { + header('Content-Type: text/csv; charset=UTF-8'); + header('Content-Disposition: attachment; filename="' . $filename . '"'); + + export_to_csv($receiver_data, $packages_list); + + exit(); +} + +$CODES_ISO_2_EUROPEAN = array( + 'AL' => 'Albanie', + 'AD' => 'Andorre', + 'AM' => 'Arménie', + 'AT' => 'Autriche', + 'AZ' => 'Azerbaïdjan', + 'BY' => 'Biélorussie', + 'BE' => 'Belgique', + 'BA' => 'Bosnie-Herzégovine', + 'BG' => 'Bulgarie', + 'HR' => 'Croatie', + 'CY' => 'Chypre', + 'CZ' => 'République tchèque', + 'DK' => 'Danemark', + 'EE' => 'Estonie', + 'FI' => 'Finlande', + 'FR' => 'France', + 'GE' => 'Géorgie', + 'DE' => 'Allemagne', + 'GR' => 'Grèce', + 'HU' => 'Hongrie', + 'IS' => 'Islande', + 'IE' => 'Irlande', + 'IT' => 'Italie', + 'KZ' => 'Kazakhstan', + 'LV' => 'Lettonie', + 'LI' => 'Liechtenstein', + 'LT' => 'Lituanie', + 'LU' => 'Luxembourg', + 'MT' => 'Malte', + 'MD' => 'Moldavie', + 'MC' => 'Monaco', + 'ME' => 'Monténégro', + 'NL' => 'Pays-Bas', + 'MK' => 'Macédoine du Nord', + 'NO' => 'Norvège', + 'PL' => 'Pologne', + 'PT' => 'Portugal', + 'RO' => 'Roumanie', + 'RU' => 'Russie', + 'SM' => 'Saint-Marin', + 'RS' => 'Serbie', + 'SK' => 'Slovaquie', + 'SI' => 'Slovénie', + 'ES' => 'Espagne', + 'SE' => 'Suède', + 'CH' => 'Suisse', + 'TR' => 'Turquie', + 'UA' => 'Ukraine', + 'GB' => 'Royaume-Uni', + 'VA' => 'Vatican' +); + +asort($CODES_ISO_2_EUROPEAN); + +$defaultCountryCode = 'FR'; + +?> + +> + + +<?php echo TITLE; ?> + + + + + + + 0000003: icirelais/exapaq ?> + + + + + + + + + + + + +
+ + + + + + + + +
+ + + +
+
+ + + +
Section destinataire +
+
+
+
+
+      + + + + +
+ +
+  2  + + delivery['company'] != ""){ ?> + + + + + * +    +
+ +
+  5  + + + * +    +
+ +
+  8  + + + * +    +
+ +
+ 10 + + +    + + + +
+ +
+  9  + + + * +    +
+ +
+ 11 + + + * + + + +
+ +
+ 12 + + + * +    +
+
+
+
+
. . . +
+
+
+
+  3  + + +    +    +
+
+  4  + + +    +    +
+
+  6  + + +    +    +
+ +
+  7  + + +    +    +
+ +
+ 13 + + +    + + + +
+ +
+ 16 + + +    + + + +
+ +
+ 17 + + +    + + + +
+ +
+
+
+ +
Colis 1 +
+
+
+
+
+ 24 + + + * +    +
+ +
+ 21 + + + + + + + +
+
+
. . . +
+ +
+ 18 + + +    + + + +
+ +
+ 19 + + +    + + + +
+ +
+ 20 + + +    + +
+ +
+ 22 + + +    + + + +
+ +
+ 28 + + +    +    +
+ + + +
+ 30 + + +    +    +
+
+
+
+
+ +
Colis 2 +
+
+
+ 24 + + + +    +
+ +
+ 21 + + + + + + + +
+ +
+ 18 + + +    + + + +
+ +
+ 19 + + +    + + + +
+ +
+ 20 + + +    + +
+ +
+ 22 + + +    + + + +
+ +
+ 28 + + +    +    +
+ + + +
+ 30 + + +    +    +
+
+
+
+ +
Colis 3 +
+
+
+ 24 + + + +    +
+ +
+ 21 + + + + + + + +
+ +
+ 18 + + +    + + + +
+ +
+ 19 + + +    + + + +
+ +
+ 20 + + +    + +
+ +
+ 22 + + +    + + + +
+ +
+ 28 + + +    +    +
+ + + +
+ 30 + + +    +    +
+ +
+
+
+
+
+
+ + + + + + + +

+ customer['name'] != ""){ + echo $order->customer['name'];?> +
+ + customer['telephone'] != ""){ + echo $order->customer['telephone'];?> +
+ + customer['company'] != ""){ + echo $order->customer['company'];?> +
+ + customer['email_address'] != ""){ + echo $order->customer['email_address'];?> +
+ + customer['street_address'] != ""){ + echo $order->customer['street_address'];?> +
+ + customer['suburb'] != ""){ + echo $order->customer['suburb'];?> +
+ + customer['city'] != ""){ + echo $order->customer['city'];?> +
+ + customer['postcode'] != ""){ + echo $order->customer['postcode'];?> +
+ + customer['country'] != ""){ + echo $order->customer['country'];?> + +

+ + + + + + + +

+ delivery['name'] != ""){ + echo $order->delivery['name'];?> +
+ + delivery['telephone'] != ""){ + echo $order->delivery['telephone'];?> +
+ + delivery['company'] != ""){ + echo $order->delivery['company'];?> +
+ + delivery['email_address'] != ""){ + echo $order->delivery['email_address'];?> +
+ + delivery['street_address'] != ""){ + echo $order->delivery['street_address'];?> +
+ + delivery['suburb'] != ""){ + echo $order->delivery['suburb'];?> +
+ + delivery['city'] != ""){ + echo $order->delivery['city'];?> +
+ + delivery['postcode'] != ""){ + echo $order->delivery['postcode'];?> +
+ + delivery['country'] != ""){ + echo $order->delivery['country'];?> + +

+ + + + + + + +

+ billing['name'] != ""){ + echo $order->billing['name'];?> +
+ + billing['telephone'] != ""){ + echo $order->billing['telephone'];?> +
+ + billing['company'] != ""){ + echo $order->billing['company'];?> +
+ + billing['email_address'] != ""){ + echo $order->billing['email_address'];?> +
+ + billing['street_address'] != ""){ + echo $order->billing['street_address'];?> +
+ + billing['suburb'] != ""){ + echo $order->billing['suburb'];?> +
+ + billing['city'] != ""){ + echo $order->billing['city'];?> +
+ + billing['postcode'] != ""){ + echo $order->billing['postcode'];?> +
+ + billing['country'] != ""){ + echo $order->billing['country'];?> +
+ +

+
+ + + + + + + \ No newline at end of file