* @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 RetailcrmAbandonedCartsEvent extends RetailcrmAbstractEvent implements RetailcrmEventInterface { /** * {@inheritDoc} */ public function execute() { if ($this->isRunning()) { return false; } $this->setRunning(); $shops = $this->getShops(); if (!$shops) { return true; } foreach ($shops as $shop) { RetailcrmContextSwitcher::setShopContext((int) ($shop['id_shop'])); $syncCartsActive = Configuration::get(RetailCRM::SYNC_CARTS_ACTIVE); if (empty($syncCartsActive)) { RetailcrmLogger::writeDebug(__METHOD__, 'Abandoned carts is disabled, skipping...'); continue; } $api = RetailcrmTools::getApiClient(); if (empty($api)) { continue; } RetailcrmCartUploader::init(); RetailcrmCartUploader::$api = $api; RetailcrmCartUploader::$paymentTypes = array_keys(json_decode(Configuration::get(RetailCRM::PAYMENT), true)); RetailcrmCartUploader::$syncStatus = Configuration::get(RetailCRM::SYNC_CARTS_STATUS); RetailcrmCartUploader::setSyncDelay(Configuration::get(RetailCRM::SYNC_CARTS_DELAY)); RetailcrmCartUploader::run(); } return true; } /** * {@inheritDoc} */ public function getName() { return 'RetailcrmAbandonedCartsEvent'; } }