* @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. */ class RetailcrmConsultantModuleFrontController extends ModuleFrontController { /** * Universal render function for 1.6 and 1.7. * * @param string $response */ private function renderData($response) { if (property_exists($this, 'ajax')) { $this->ajax = true; } if (!headers_sent()) { header('Content-Type: application/json'); } echo $response; } /** * {@inheritDoc} */ public function initContent() { $this->renderData(json_encode($this->getData())); } /** * PrestaShop 1.6 compatibility */ public function run() { $this->initContent(); } /** * Responds RCCT with site */ protected function getData() { $rcctExtractor = new RetailcrmCachedSettingExtractor(); $rcct = $rcctExtractor ->setCachedAndConfigKey(RetailCRM::CONSULTANT_RCCT) ->getData() ; if (empty($rcct)) { $script = trim(Configuration::get(RetailCRM::CONSULTANT_SCRIPT)); if (!empty($script)) { $rcctBuilder = new RetailcrmConsultantRcctExtractor(); $rcct = $rcctBuilder->setConsultantScript($script)->build()->getDataString(); if (!empty($rcct)) { Cache::getInstance()->set(RetailCRM::CONSULTANT_RCCT, $rcct); } } } return ['rcct' => empty($rcct) ? '' : $rcct]; } }