12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\OfflinePayments\Model;
- use Magento\Checkout\Model\ConfigProviderInterface;
- use Magento\Framework\Escaper;
- use Magento\Payment\Helper\Data as PaymentHelper;
- class InstructionsConfigProvider implements ConfigProviderInterface
- {
- /**
- * @var string[]
- */
- protected $methodCodes = [
- Banktransfer::PAYMENT_METHOD_BANKTRANSFER_CODE,
- Cashondelivery::PAYMENT_METHOD_CASHONDELIVERY_CODE,
- ];
- /**
- * @var \Magento\Payment\Model\Method\AbstractMethod[]
- */
- protected $methods = [];
- /**
- * @var Escaper
- */
- protected $escaper;
- /**
- * @param PaymentHelper $paymentHelper
- * @param Escaper $escaper
- */
- public function __construct(
- PaymentHelper $paymentHelper,
- Escaper $escaper
- ) {
- $this->escaper = $escaper;
- foreach ($this->methodCodes as $code) {
- $this->methods[$code] = $paymentHelper->getMethodInstance($code);
- }
- }
- /**
- * {@inheritdoc}
- */
- public function getConfig()
- {
- $config = [];
- foreach ($this->methodCodes as $code) {
- if ($this->methods[$code]->isAvailable()) {
- $config['payment']['instructions'][$code] = $this->getInstructions($code);
- }
- }
- return $config;
- }
- /**
- * Get instructions text from config
- *
- * @param string $code
- * @return string
- */
- protected function getInstructions($code)
- {
- return nl2br($this->escaper->escapeHtml($this->methods[$code]->getInstructions()));
- }
- }
|