Files
bio-concept-pharma/web/modules/csuivitracking/upgrade/upgrade-2.0.0.php
2019-11-17 19:14:07 +01:00

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;
}