![]() 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/Ecombricks/InventoryCatalog/Block/Product/View/ |
<?php /** * Copyright © eComBricks. All rights reserved. * See LICENSE.txt for license details. */ namespace Ecombricks\InventoryCatalog\Block\Product\View; /** * Product estimate block */ class Estimate extends \Magento\Catalog\Block\Product\View { /** * Source item management * * @var \Ecombricks\InventoryInventorySales\Model\SourceItemManagement */ protected $sourceItemManagement; /** * Config provider * * @var \Ecombricks\InventoryCatalog\Model\Product\Checkout\CompositeConfigProvider */ protected $configProvider; /** * Layout processors * * @var array|\Magento\Checkout\Block\Checkout\LayoutProcessorInterface[] */ protected $layoutProcessors; /** * Constructor * * @param \Magento\Catalog\Block\Product\Context $context * @param \Magento\Framework\Url\EncoderInterface $urlEncoder * @param \Magento\Framework\Json\EncoderInterface $jsonEncoder * @param \Magento\Framework\Stdlib\StringUtils $string * @param \Magento\Catalog\Helper\Product $productHelper * @param \Magento\Catalog\Model\ProductTypes\ConfigInterface $productTypeConfig * @param \Magento\Framework\Locale\FormatInterface $localeFormat * @param \Magento\Customer\Model\Session $customerSession * @param \Magento\Catalog\Api\ProductRepositoryInterface $productRepository * @param \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency * @param \Ecombricks\InventoryInventorySales\Model\SourceItemManagement $sourceItemManagement * @param \Ecombricks\InventoryCatalog\Model\Product\Checkout\CompositeConfigProvider $configProvider * @param array $layoutProcessors * @param array $data * @return void */ public function __construct( \Magento\Catalog\Block\Product\Context $context, \Magento\Framework\Url\EncoderInterface $urlEncoder, \Magento\Framework\Json\EncoderInterface $jsonEncoder, \Magento\Framework\Stdlib\StringUtils $string, \Magento\Catalog\Helper\Product $productHelper, \Magento\Catalog\Model\ProductTypes\ConfigInterface $productTypeConfig, \Magento\Framework\Locale\FormatInterface $localeFormat, \Magento\Customer\Model\Session $customerSession, \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency, \Ecombricks\InventoryInventorySales\Model\SourceItemManagement $sourceItemManagement, \Ecombricks\InventoryCatalog\Model\Product\Checkout\CompositeConfigProvider $configProvider, array $layoutProcessors = [], array $data = [] ) { $this->sourceItemManagement = $sourceItemManagement; $this->configProvider = $configProvider; $this->layoutProcessors = $layoutProcessors; parent::__construct( $context, $urlEncoder, $jsonEncoder, $string, $productHelper, $productTypeConfig, $localeFormat, $customerSession, $productRepository, $priceCurrency, $data ); } /** * Check if has sources * * @return array */ public function hasSources() { return count($this->sourceItemManagement->getProductCurrentStockSalableSourceCodes($this->getProduct())) ? true : false; } /** * Get JS layout * * @return string */ public function getJsLayout() { foreach ($this->layoutProcessors as $processor) { $this->jsLayout = $processor->process($this->jsLayout); } return json_encode($this->jsLayout, JSON_HEX_TAG); } /** * Get base URL * * @return string */ public function getBaseUrl() { return $this->_storeManager->getStore()->getBaseUrl(); } /** * Get checkout config * * @return array */ public function getCheckoutConfig() { return $this->configProvider->getConfig(); } /** * Get serialized checkout config * * @return bool|string */ public function getSerializedCheckoutConfig() { return json_encode($this->getCheckoutConfig(), JSON_HEX_TAG); } }