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['name']; if($order->delivery['company'] != ""){ $societe_destinataire_value = $order->delivery['company'] . " - " . $societe_destinataire_value; } ?> *   
 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'];?>