* @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 8.3.3.0 * * @param Ps_checkout $module * * @return bool */ function upgrade_module_8_3_3_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); $module->registerHook('displayPaymentReturn'); $module->registerHook('displayOrderDetail'); try { $db = Db::getInstance(); $db->delete( 'pscheckout_cart', 'paypal_order IS NULL' ); $db->update( 'pscheckout_cart', [ 'paypal_token' => null, 'paypal_token_expire' => null, ], 'paypal_token IS NOT NULL', 0, true ); } catch (Exception $exception) { PrestaShopLogger::addLog($exception->getMessage(), 3, $exception->getCode(), 'Module', $module->id); return false; } // 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; }