JEMBOT MAWOT Bypass Shell
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-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.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
use PrestaShop\PrestaShop\Adapter\Product\PriceFormatter;
class CheckoutDeliveryStepCore extends AbstractCheckoutStep
{
protected $template = 'checkout/_partials/steps/shipping.tpl';
private $recyclablePackAllowed = false;
private $giftAllowed = false;
private $giftCost = 0;
private $includeTaxes = false;
private $displayTaxesLabel = false;
public function setRecyclablePackAllowed($recyclablePackAllowed)
{
$this->recyclablePackAllowed = $recyclablePackAllowed;
return $this;
}
public function isRecyclablePackAllowed()
{
return $this->recyclablePackAllowed;
}
public function setGiftAllowed($giftAllowed)
{
$this->giftAllowed = $giftAllowed;
return $this;
}
public function isGiftAllowed()
{
return $this->giftAllowed;
}
public function setGiftCost($giftCost)
{
$this->giftCost = $giftCost;
return $this;
}
public function getGiftCost()
{
return $this->giftCost;
}
public function setIncludeTaxes($includeTaxes)
{
$this->includeTaxes = $includeTaxes;
return $this;
}
public function getIncludeTaxes()
{
return $this->includeTaxes;
}
public function setDisplayTaxesLabel($displayTaxesLabel)
{
$this->displayTaxesLabel = $displayTaxesLabel;
return $this;
}
public function getDisplayTaxesLabel()
{
return $this->displayTaxesLabel;
}
public function getGiftCostForLabel()
{
if ($this->getGiftCost() != 0) {
$taxLabel = '';
$priceFormatter = new PriceFormatter();
if ($this->getIncludeTaxes() && $this->getDisplayTaxesLabel()) {
$taxLabel .= $this->getTranslator()->trans('tax incl.', [], 'Shop.Theme.Checkout');
} elseif ($this->getDisplayTaxesLabel()) {
$taxLabel .= $this->getTranslator()->trans('tax excl.', [], 'Shop.Theme.Checkout');
}
return $this->getTranslator()->trans(
'(additional cost of %giftcost% %taxlabel%)',
[
'%giftcost%' => $priceFormatter->convertAndFormat($this->getGiftCost()),
'%taxlabel%' => $taxLabel,
],
'Shop.Theme.Checkout'
);
}
return '';
}
public function handleRequest(array $requestParams = [])
{
if (isset($requestParams['delivery_option'])) {
$this->setComplete(false);
$this->getCheckoutSession()->setDeliveryOption(
$requestParams['delivery_option']
);
$this->getCheckoutSession()->setRecyclable(
isset($requestParams['recyclable']) ? $requestParams['recyclable'] : false
);
$useGift = isset($requestParams['gift']) ? $requestParams['gift'] : false;
$this->getCheckoutSession()->setGift(
$useGift,
($useGift && isset($requestParams['gift_message'])) ? $requestParams['gift_message'] : ''
);
}
if (isset($requestParams['delivery_message'])) {
$this->getCheckoutSession()->setMessage($requestParams['delivery_message']);
}
if ($this->isReachable() && isset($requestParams['confirmDeliveryOption'])) {
// we're done if
// - the step was reached (= all previous steps complete)
// - user has clicked on "continue"
// - there are delivery options
// - the is a selected delivery option
// - the module associated to the delivery option confirms
$deliveryOptions = $this->getCheckoutSession()->getDeliveryOptions();
$this->setNextStepAsCurrent();
$this->setComplete(
!empty($deliveryOptions)
&& $this->getCheckoutSession()->getSelectedDeliveryOption()
&& $this->isModuleComplete($requestParams)
);
}
$this->setTitle($this->getTranslator()->trans('Shipping Method', [], 'Shop.Theme.Checkout'));
Hook::exec('actionCarrierProcess', ['cart' => $this->getCheckoutSession()->getCart()]);
}
public function render(array $extraParams = [])
{
return $this->renderTemplate(
$this->getTemplate(),
$extraParams,
[
'hookDisplayBeforeCarrier' => Hook::exec('displayBeforeCarrier', ['cart' => $this->getCheckoutSession()->getCart()]),
'hookDisplayAfterCarrier' => Hook::exec('displayAfterCarrier', ['cart' => $this->getCheckoutSession()->getCart()]),
'id_address' => $this->getCheckoutSession()->getIdAddressDelivery(),
'delivery_options' => $this->getCheckoutSession()->getDeliveryOptions(),
'delivery_option' => $this->getCheckoutSession()->getSelectedDeliveryOption(),
'recyclable' => $this->getCheckoutSession()->isRecyclable(),
'recyclablePackAllowed' => $this->isRecyclablePackAllowed(),
'delivery_message' => $this->getCheckoutSession()->getMessage(),
'gift' => [
'allowed' => $this->isGiftAllowed(),
'isGift' => $this->getCheckoutSession()->getGift()['isGift'],
'label' => $this->getTranslator()->trans(
'I would like my order to be gift wrapped %cost%',
['%cost%' => $this->getGiftCostForLabel()],
'Shop.Theme.Checkout'
),
'message' => $this->getCheckoutSession()->getGift()['message'],
],
]
);
}
protected function isModuleComplete($requestParams)
{
$deliveryOptions = $this->getCheckoutSession()->getDeliveryOptions();
$currentDeliveryOption = $deliveryOptions[$this->getCheckoutSession()->getSelectedDeliveryOption()];
if (!$currentDeliveryOption['is_module']) {
return true;
}
$isComplete = true;
// Hook called only for the module concerned
Hook::exec(
'actionValidateStepComplete',
[
'step_name' => 'delivery',
'request_params' => $requestParams,
'completed' => &$isComplete,
],
Module::getModuleIdByName($currentDeliveryOption['external_module_name'])
);
return $isComplete;
}
}
xxxxx1.0, XXX xxxx