* @copyright 2007-2021 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) * International Registered Trademark & Property of PrestaShop SA */ class Ps_ShoppingcartAjaxModuleFrontController extends ModuleFrontController { /** * @var bool */ public $ssl = true; /** * @see FrontController::initContent() * * @return void */ public function initContent() { parent::initContent(); $modal = null; if ($this->module instanceof Ps_Shoppingcart && Tools::getValue('action') === 'add-to-cart') { $existing_customization = Db::getInstance()->executeS(' SELECT id_customization FROM `' . pSQL(_DB_PREFIX_) . 'customization` WHERE id_cart = ' . (int) $this->context->cart->id . ' AND id_product = ' . (int) Tools::getValue("id_product") . ' AND id_product_attribute = ' . (int) Tools::getValue("id_product_attribute") . ' ORDER BY `id_customization` ASC LIMIT 1'); if ($existing_customization) { if ((Tools::getValue('id_customization') == 0) && ($existing_customization[0]['id_customization'] > 0)) { $id_customization = $existing_customization[0]['id_customization']; } } else { $id_customization = 0; } if (isset($id_customization)) { $modal = $this->module->renderModal( $this->context->cart, (int) Tools::getValue('id_product'), (int) Tools::getValue('id_product_attribute'), (int) $id_customization ); } else { $modal = $this->module->renderModal( $this->context->cart, (int) Tools::getValue('id_product'), (int) Tools::getValue('id_product_attribute'), (int) Tools::getValue('id_customization') ); } } ob_end_clean(); header('Content-Type: application/json'); die(json_encode([ 'preview' => $this->module instanceof Ps_Shoppingcart ? $this->module->renderWidget(null, ['cart' => $this->context->cart]) : '', 'modal' => $modal, ])); } }