Files
newwalls.pl/modules/ps_shoppingcart/controllers/front/ajax.php
2024-12-17 13:43:22 +01:00

79 lines
2.9 KiB
PHP

<?php
/**
* 2007-2021 PrestaShop and Contributors
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/AFL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* @author PrestaShop SA <contact@prestashop.com>
* @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,
]));
}
}