first commit
This commit is contained in:
78
modules/ps_shoppingcart/controllers/front/ajax.php
Normal file
78
modules/ps_shoppingcart/controllers/front/ajax.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?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,
|
||||
]));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user