![]() 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-store/Model/Address/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Store\Model\Address; use Magento\Framework\Event\ManagerInterface as EventManager; use Magento\Framework\Filter\FilterManager; use Magento\Framework\DataObject; /** * Class Renderer used for formatting a store address */ class Renderer { const DEFAULT_TEMPLATE = "{{var name}}\n" . "{{var street_line1}}\n" . "{{depend street_line2}}{{var street_line2}}\n{{/depend}}" . "{{depend city}}{{var city}},{{/depend}} {{var region}} {{depend postcode}}{{var postcode}},{{/depend}}\n" . "{{var country}}"; /** * @var EventManager */ protected $eventManager; /** * @var FilterManager */ protected $filterManager; /** * @var string */ private $template; /** * Constructor * * @param EventManager $eventManager * @param FilterManager $filterManager * @param string $template */ public function __construct( EventManager $eventManager, FilterManager $filterManager, $template = self::DEFAULT_TEMPLATE ) { $this->eventManager = $eventManager; $this->filterManager = $filterManager; $this->template = $template; } /** * Format address in a specific way * * @param DataObject $storeInfo * @param string $type * @return string */ public function format(DataObject $storeInfo, $type = 'html') { $this->eventManager->dispatch('store_address_format', ['type' => $type, 'store_info' => $storeInfo]); $address = $this->filterManager->template( $this->template, ['variables' => $storeInfo->getData()] ); if ($type == 'html') { $address = nl2br($address); } return $address; } }