96 lines
3.7 KiB
PHP
96 lines
3.7 KiB
PHP
<?php
|
|
/**
|
|
* NOTICE OF LICENSE
|
|
*
|
|
* This source file is subject to a commercial license.
|
|
* Use, copy, modification or distribution of this source file without written
|
|
* license agreement is strictly forbidden.
|
|
* In order to obtain a license, please contact us: simon@daig.re
|
|
* ...........................................................................
|
|
* INFORMATION SUR LA LICENCE D'UTILISATION
|
|
*
|
|
* L'utilisation de ce fichier source est soumise a une licence commerciale.
|
|
* Toute utilisation, reproduction, modification ou distribution du present
|
|
* fichier source sans contrat de licence ecrit est expressement interdite.
|
|
* Pour obtenir une licence, veuillez nous contacter a l'adresse: simon@daig.re
|
|
*
|
|
* @package Courrier suivi Tracking
|
|
* @author Agencya
|
|
* @copyright Copyright(c) 2015-2018
|
|
* @license See Readme.md
|
|
* Contact by Email : simon@daig.re
|
|
*/
|
|
|
|
if (!defined('_PS_VERSION_')) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* @param Module $module
|
|
* @return bool
|
|
*/
|
|
function upgrade_module_2_0_0($module)
|
|
{
|
|
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'csuivi_tracking` CHANGE `num_suivi` `tracking` VARCHAR(13) NOT NULL');
|
|
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'csuivi_tracking` DROP `bureau`');
|
|
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'csuivi_tracking` ADD `status` TEXT NOT NULL DEFAULT \'\'');
|
|
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'csuivi_tracking` ADD `delivered` BOOLEAN DEFAULT FALSE NULL');
|
|
|
|
$laposte_codes = array(
|
|
'ER' => 'Indisponible',
|
|
'CO' => 'Pris en compte',
|
|
'EX' => 'Pris en compte',
|
|
'MA' => 'Pris en compte',
|
|
'IN' => 'Pris en compte',
|
|
'SO' => 'Courrier déclaré par le déposant',
|
|
'E' => 'Déposé',
|
|
'A' => 'Arrivé au bureau distributeur',
|
|
'R' => 'Transféré sur demande du destinataire',
|
|
'RD' => 'A présenter sur demande du destinataire',
|
|
'AI' => 'Retourné à l\'expéditeur pour cause d\'adresse incomplète',
|
|
'IC' => 'En cours d\'acheminement',
|
|
'GC' => 'Gardé sur demande du destinataire pendant la durée de son absence',
|
|
'I' => 'Attend d\'être retiré au guichet',
|
|
'G' => 'Mis à disposition au guichet',
|
|
'BP' => 'Mis à disposition en boite postale',
|
|
'NH' => 'Retourné à l\'expéditeur pour cause de destinataire inconnu',
|
|
'D' => 'Distribué',
|
|
'CI' => 'Attend d\'être retiré au guichet',
|
|
'ID' => 'Retourné à l\'expéditeur pour cause de dépassement du délai d\'instance',
|
|
'RF' => 'Retourné à l\'expéditeur pour cause de refus du destinataire',
|
|
);
|
|
|
|
$trackings = Db::getInstance()->executeS('SELECT `id_csuivi_tracking`, `id_status` FROM `'._DB_PREFIX_.'csuivi_tracking`');
|
|
|
|
foreach ($trackings as $tracking_id) {
|
|
$tracking = new CsuiviTrackingModel((int)$tracking_id['id_csuivi_tracking']);
|
|
|
|
if (array_key_exists((string)$tracking_id['id_status'], $laposte_codes)) {
|
|
$tracking->status = $laposte_codes[(string)$tracking_id['id_status']];
|
|
|
|
if ((string)$tracking_id['id_status'] == 'D') {
|
|
$tracking->delivered = true;
|
|
}
|
|
}
|
|
|
|
if (!Validate::isDate($tracking->date)) {
|
|
$tracking->date = date('Y-m-d');
|
|
}
|
|
|
|
$tracking->update();
|
|
}
|
|
|
|
Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'csuivi_tracking` DROP `id_status`');
|
|
|
|
$tab = new Tab(Tab::getIdFromClassName('AdminCsuiviTracking'));
|
|
foreach (Language::getLanguages(true) as $lang) {
|
|
$tab->name[(int)$lang['id_lang']] = $module->l('La Poste • Tracking');
|
|
}
|
|
|
|
$tab->update();
|
|
|
|
Configuration::updateValue('CSUIVITRACKING_API_KEY', '');
|
|
|
|
return true;
|
|
}
|