![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-checkout/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Checkout\Model; use Magento\Checkout\Helper\Data as HelperData; use Magento\Checkout\Model\Cart; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Filter\LocalizedToNormalized; use Magento\Framework\Locale\ResolverInterface; use Magento\Quote\Api\Data\CartItemInterface; use Magento\Quote\Model\Quote\Address\Total; /** * @deprecated 100.1.0 * @see we don't recommend this approach anymore */ class Sidebar { /** * @var Cart */ protected $cart; /** * @var HelperData */ protected $helperData; /** * @var ResolverInterface */ protected $resolver; /** * @var int */ protected $summaryQty; /** * @param Cart $cart * @param HelperData $helperData * @param ResolverInterface $resolver * @codeCoverageIgnore */ public function __construct( Cart $cart, HelperData $helperData, ResolverInterface $resolver ) { $this->cart = $cart; $this->helperData = $helperData; $this->resolver = $resolver; } /** * Compile response data * * @param string $error * @return array */ public function getResponseData($error = '') { if (empty($error)) { $response = [ 'success' => true, ]; } else { $response = [ 'success' => false, 'error_message' => $error, ]; } return $response; } /** * Check if required quote item exist * * @param int $itemId * @throws LocalizedException * @return $this */ public function checkQuoteItem($itemId) { $item = $this->cart->getQuote()->getItemById($itemId); if (!$item instanceof CartItemInterface) { throw new LocalizedException(__("The quote item isn't found. Verify the item and try again.")); } return $this; } /** * Remove quote item * * @param int $itemId * @return $this */ public function removeQuoteItem($itemId) { $this->cart->removeItem($itemId); $this->cart->save(); return $this; } /** * Update quote item * * @param int $itemId * @param int $itemQty * @throws LocalizedException * @return $this */ public function updateQuoteItem($itemId, $itemQty) { $itemData = [$itemId => ['qty' => $this->normalize($itemQty)]]; $this->cart->updateItems($itemData)->save(); return $this; } /** * Apply normalization filter to item qty value * * @param int $itemQty * @return int|array */ protected function normalize($itemQty) { if ($itemQty) { $filter = new LocalizedToNormalized( ['locale' => $this->resolver->getLocale()] ); return $filter->filter((string)$itemQty); } return $itemQty; } /** * Retrieve summary qty * * @return int */ protected function getSummaryQty() { if (!$this->summaryQty) { $this->summaryQty = $this->cart->getSummaryQty(); } return $this->summaryQty; } /** * Retrieve summary qty text * * @return string */ protected function getSummaryText() { return ($this->getSummaryQty() == 1) ? __(' item') : __(' items'); } /** * Retrieve subtotal block html * * @return string */ protected function getSubtotalHtml() { $totals = $this->cart->getQuote()->getTotals(); $subtotal = isset($totals['subtotal']) && $totals['subtotal'] instanceof Total ? $totals['subtotal']->getValue() : 0; return $this->helperData->formatPrice($subtotal); } }