* @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL * @license https://opensource.org/licenses/MIT The MIT License * * Don't forget to prefix your containers with your own identifier * to avoid any conflicts with others containers. */ require_once dirname(__FILE__) . '/../RetailcrmPrestashopLoader.php'; class RetailcrmIcmlEvent extends RetailcrmAbstractEvent implements RetailcrmEventInterface { /** * {@inheritDoc} */ public function execute() { if ($this->isRunning()) { return false; } $this->setRunning(); $shops = $this->getShops(); foreach ($shops as $shop) { RetailcrmContextSwitcher::setShopContext((int) $shop['id_shop']); $job = new RetailcrmCatalog(); $data = $job->getData(); $icml = new RetailcrmIcml($shop['name'], RetailcrmCatalogHelper::getIcmlFilePath()); $icml->generate($data[0], $data[1]); if (true !== RetailcrmCatalogHelper::isIcmlFileLinkActual()) { RetailcrmLogger::writeDebug( __METHOD__, 'Skip statistic update due to non consistent ICML file link' ); continue; } $api = RetailcrmTools::getApiClient(); if (null !== $api) { $api->statisticUpdate(); } } return true; } /** * {@inheritDoc} */ public function getName() { return 'RetailcrmIcmlEvent'; } }