* @copyright 2020 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 RetailcrmJobsModuleFrontController 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; } header('Content-Type: application/json'); if (Tools::substr(_PS_VERSION_, 0, 3) == '1.6') { echo $response; } else { try { parent::initContent(); $this->ajaxRender($response); } catch (\Exception $exception) { // Sometimes ps_shoppingcart throws exception which breaks our controller. // We don't care about ps_shoppingcart here, so, we will fallback to old way. echo $response; } } } /** * {@inheritDoc} */ public function initContent() { $this->renderData(json_encode($this->getData())); } /** * PrestaShop 1.6 compatibility */ public function run() { $this->initContent(); } /** * Runs jobs */ protected function getData() { RetailcrmJobManager::startJobs(RetailCRM::getJobs()); return array('success' => true); } }