![]() 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-instant-purchase/Block/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\InstantPurchase\Block; use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\Template\Context; use Magento\InstantPurchase\Model\Config; /** * Configuration for JavaScript instant purchase button component. * * @api * @since 100.2.0 */ class Button extends Template { /** * @var Config */ private $instantPurchaseConfig; /** * Button constructor. * @param Context $context * @param Config $instantPurchaseConfig * @param array $data */ public function __construct( Context $context, Config $instantPurchaseConfig, array $data = [] ) { parent::__construct($context, $data); $this->instantPurchaseConfig = $instantPurchaseConfig; } /** * Checks if button enabled. * * @return bool * @since 100.2.0 */ public function isEnabled(): bool { return $this->instantPurchaseConfig->isModuleEnabled($this->getCurrentStoreId()); } /** * @inheritdoc * @since 100.2.0 */ public function getJsLayout(): string { $buttonText = $this->instantPurchaseConfig->getButtonText($this->getCurrentStoreId()); $purchaseUrl = $this->getUrl('instantpurchase/button/placeOrder', ['_secure' => true]); // String data does not require escaping here and handled on transport level and on client side $this->jsLayout['components']['instant-purchase']['config']['buttonText'] = $buttonText; $this->jsLayout['components']['instant-purchase']['config']['purchaseUrl'] = $purchaseUrl; return parent::getJsLayout(); } /** * Returns active store view identifier. * * @return int */ private function getCurrentStoreId(): int { return $this->_storeManager->getStore()->getId(); } }