<?php
/**
 * NOTICE OF LICENSE.
 *
 * This source file is subject to a commercial license from Common-Services Co., Ltd.
 * Use, copy, modification or distribution of this source file without written
 * license agreement from the SARL SMC is strictly forbidden.
 * In order to obtain a license, please contact us: support.mondialrelay@common-services.com
 * ...........................................................................
 * INFORMATION SUR LA LICENCE D'UTILISATION
 *
 * L'utilisation de ce fichier source est soumise a une licence commerciale
 * concedee par la societe Common-Services Co., Ltd.
 * Toute utilisation, reproduction, modification ou distribution du present
 * fichier source sans contrat de licence ecrit de la part de la Common-Services Co. Ltd. est
 * expressement interdite.
 * Pour obtenir une licence, veuillez contacter Common-Services Co., Ltd. a l'adresse:
 *            support.mondialrelay@common-services.com
 * ...........................................................................
 *
 * @author    Alexandre D.
 * @copyright Copyright (c) 2011-2015 Common Services Co Ltd - 90/25 Sukhumvit 81 - 10260 Bangkok - Thailand
 * @license   Commercial license
 * Support by mail  :  support.spartoo@common-services.com
 */

if (isset($_SERVER['DropBox']) && $_SERVER['DropBox']) {
    require_once readlink(dirname($_SERVER['SCRIPT_FILENAME']).'/../../../config/config.inc.php');
} else {
    require_once dirname(__FILE__).'/../../../config/config.inc.php';
}
require_once _PS_ROOT_DIR_.'/init.php';
if (version_compare(_PS_VERSION_, '1.5', '<')) {
    require_once _PS_MODULE_DIR_.'mondialrelayadvanced/backward_compatibility/backward.php';
}
require_once _PS_MODULE_DIR_.'mondialrelayadvanced/classes/MondialRelayTracking.php';
require_once _PS_MODULE_DIR_.'mondialrelayadvanced/mondialrelayadvanced.php';

$mondial_relay = new MondialRelayAdvanced();
$file_name = basename(__FILE__, '.php');

if (!Tools::getValue('token') || Tools::getValue('token') != Configuration::get('MRA_TOKEN')) {
    die($mondial_relay->l('No token or wrong one.', $file_name));
}

ob_start();

$exp_number = (int) Tools::getValue('exp_number');

if (!$exp_number) {
    die($mondial_relay->l('No `exp_number` received.', $file_name));
}

$tracking = new MondialRelayTracking();
$tracking->params = array(
    'Expedition' => $exp_number,
    'Langue' => 'FR',
    'Security' => null,
);

$tracking->callMethod('WSI2_TracingColisDetaille');
$result = $tracking->parseResult();

$callback = Tools::getValue('callback');
$output = ob_get_clean();

die($callback.'('.Tools::jsonEncode(array('output' => $output, 'mr_tracking' => $result)).')');
