* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ if (!defined('_PS_VERSION_')) { exit; } /** * Update main function for module Version 1.4.0 * * @param Module $module * * @return bool */ function upgrade_module_1_4_0($module) { // Force PrestaShop to upgrade for all shop to avoid issues $savedShopContext = Shop::getContext(); $savedShopId = Shop::getContextShopID(); $savedGroupShopId = Shop::getContextShopGroupID(); Shop::setContext(Shop::CONTEXT_ALL); $db = Db::getInstance(); // Remove our ModuleAdminControllers from SEO & URLs page $queryMeta = new DbQuery(); $queryMeta->select('id_meta'); $queryMeta->from('meta'); $queryMeta->where('page LIKE "module-' . $module->name . '-Admin%"'); $queryMetaResults = $db->executeS($queryMeta); if (false === empty($queryMetaResults)) { foreach ($queryMetaResults as $queryMetaResult) { $db->delete( 'meta', 'id_meta = ' . (int) $queryMetaResult['id_meta'] ); $db->delete( 'meta_lang', 'id_meta = ' . (int) $queryMetaResult['id_meta'] ); } } $module->registerHook('displayAdminOrderLeft'); $module->registerHook('displayAdminOrderMainBottom'); $module->registerHook('actionAdminControllerSetMedia'); $module->unregisterHook('actionOrderSlipAdd'); $module->unregisterHook('actionOrderStatusUpdate'); // Restore initial PrestaShop shop context if (Shop::CONTEXT_SHOP === $savedShopContext) { Shop::setContext($savedShopContext, $savedShopId); } elseif (Shop::CONTEXT_GROUP === $savedShopContext) { Shop::setContext($savedShopContext, $savedGroupShopId); } else { Shop::setContext($savedShopContext); } return true; }