* @copyright 2007-2020 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) { exit; } /** * Upgrade to 1.3.0 * * @param $module Colissimo * @return bool * @throws PrestaShopDatabaseException * @throws PrestaShopException */ function upgrade_module_1_3_0($module) { $logsEnabled = Configuration::get('COLISSIMO_LOGS'); Configuration::updateValue('COLISSIMO_LOGS', 1); $module->initLogger(); $module->logger->setChannel('ModuleUpgrade'); $module->logger->info('Module upgrade. Version 1.3.0'); // Add new column in colissimo_order table if needed try { $columnExists = Db::getInstance() ->executeS('SHOW COLUMNS FROM `'._DB_PREFIX_.'colissimo_order` LIKE "hidden"'); } catch (Exception $e) { $module->logger->error($e->getMessage()); Configuration::updateValue('COLISSIMO_LOGS', (int) $logsEnabled); return false; } if (empty($columnExists)) { $result = Db::getInstance() ->execute('ALTER TABLE `'._DB_PREFIX_.'colissimo_order` ADD COLUMN `hidden` TINYINT(3) UNSIGNED NULL DEFAULT \'0\' AFTER `migration`;'); if (!$result) { $module->logger->error('Cannot add column in colissimo_order table.'); Configuration::updateValue('COLISSIMO_LOGS', (int) $logsEnabled); return false; } $module->logger->info('New column in colissimo_order created.'); } else { $module->logger->info('Column hidden already exists.'); } $logsTab = Tab::getInstanceFromClassName('AdminColissimoLogs'); if (!Validate::isLoadedObject($logsTab)) { try { $module->installMenu(array( 'visible' => false, 'class_name' => 'AdminColissimoLogs', )); } catch (Exception $e) { $module->logger->error('Cannot install Logs menu.'); Configuration::updateValue('COLISSIMO_LOGS', (int) $logsEnabled); return false; } } $COLDServiceId = ColissimoService::getServiceIdByProductCodeDestinationType( 'COLD', ColissimoTools::DEST_INTRA_OM ); if ($COLDServiceId) { $COLDService = new ColissimoService((int) $COLDServiceId); $COLDService->commercial_name = 'DOM - DOMICILE sans signature'; $COLDService->save(); } $COLServiceId = ColissimoService::getServiceIdByProductCodeDestinationType( 'COL', ColissimoTools::DEST_INTRA_OM ); if ($COLServiceId) { $COLService = new ColissimoService((int) $COLServiceId); $COLService->commercial_name = 'DOM - DOMICILE avec signature'; $COLService->save(); } Configuration::updateValue('COLISSIMO_ENABLE_PNA_MAIL', 1); $module->registerHook('addWebserviceResources'); $module->logger->info('Module upgraded.'); Configuration::updateValue('COLISSIMO_LOGS', (int) $logsEnabled); return true; }