* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ use PrestaShop\Module\PsEventbus\Service\ApiShopContentService; if (!defined('_PS_VERSION_')) { exit; } class ps_EventbusApiShopContentModuleFrontController extends ModuleFrontController { /** * @return void * * @throws\PrestaShopException */ public function postProcess() { /** @var string $shopContent */ $shopContent = Tools::getValue('shop_content'); /** @var string $jobId */ $jobId = Tools::getValue('job_id'); /** @var string $langIso */ $langIso = Tools::getValue('lang_iso'); /** @var int $limit */ $limit = Tools::getValue('limit', 50); /** @var bool $fullSyncRequested */ $fullSyncRequested = Tools::getValue('full', 0) == 1; /** @var bool $explainSql */ $explainSql = Tools::getValue('explain_sql', 0) == 1; /** @var bool $verbose */ $verbose = Tools::getValue('verbose', 0) == 1; /** @var bool $psLogsEnabled */ $psLogsEnabled = Tools::getValue('ps_logs_enabled', 0) == 1; /** @var Ps_eventbus $module */ $module = Module::getInstanceByName('ps_eventbus'); /** @var ApiShopContentService $apiShopContentService */ $apiShopContentService = $module->getService(ApiShopContentService::class); // Define our 3 constants here to be retrieved later in the application (errorHandler, repositories) if (!defined('PS_EVENTBUS_EXPLAIN_SQL_ENABLED')) { define('PS_EVENTBUS_EXPLAIN_SQL_ENABLED', $explainSql); } if (!defined('PS_EVENTBUS_VERBOSE_ENABLED')) { define('PS_EVENTBUS_VERBOSE_ENABLED', $verbose); } if (!defined('PS_EVENTBUS_LOGS_ENABLED')) { define('PS_EVENTBUS_LOGS_ENABLED', $psLogsEnabled); } if (!defined('REQUEST_START_TIME')) { define('REQUEST_START_TIME', microtime(true)); } // edit shopContent for matching Config.php const $shopContentEdited = str_replace('-', '_', $shopContent); $apiShopContentService->handleDataSync( $shopContentEdited, $jobId, $langIso, $limit, $fullSyncRequested ); } }