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';
?>
>
0000003: icirelais/exapaq ?>
|
|
|
|
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'];?>
|
|