![]() 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/cartforge.co/vendor/paypal/module-braintree-core/Observer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace PayPal\Braintree\Observer; use PayPal\Braintree\Block\Paypal\Button; use Magento\Catalog\Block\ShortcutButtons; use Magento\Checkout\Block\QuoteShortcutButtons; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Framework\Exception\LocalizedException; use PayPal\Braintree\Gateway\Config\PayPal\Config as PayPalConfig; class AddPaypalShortcuts implements ObserverInterface { /** * Block class */ public const PAYPAL_SHORTCUT_BLOCK = Button::class; /** * @var PayPalConfig */ private $payPalConfig; /** * @param PayPalConfig $config */ public function __construct( PayPalConfig $config ) { $this->payPalConfig = $config; } /** * Add Braintree PayPal shortcut buttons * * @param Observer $observer * @return void * @throws LocalizedException */ public function execute(Observer $observer): void { if (!$this->payPalConfig->isActive()) { return; } // Remove button from catalog pages if ($observer->getData('is_catalog_product')) { return; } /** @var ShortcutButtons $shortcutButtons */ $shortcutButtons = $observer->getEvent()->getContainer(); $shortcut = $shortcutButtons->getLayout()->createBlock(self::PAYPAL_SHORTCUT_BLOCK); $shortcut->setIsCart(get_class($shortcutButtons) === QuoteShortcutButtons::class); $shortcutButtons->addShortcut($shortcut); } }