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