![]() 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/magento/module-customer/Block/Account/Dashboard/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Block\Account\Dashboard; use Magento\Customer\Api\Data\AddressInterface; use Magento\Customer\Model\Address\Mapper; use Magento\Framework\Exception\NoSuchEntityException; /** * Class to manage customer dashboard addresses section * * @api * @since 100.0.2 */ class Address extends \Magento\Framework\View\Element\Template { /** * @var \Magento\Customer\Model\Address\Config */ protected $_addressConfig; /** * @var \Magento\Customer\Helper\Session\CurrentCustomer */ protected $currentCustomer; /** * @var \Magento\Customer\Helper\Session\CurrentCustomerAddress */ protected $currentCustomerAddress; /** * @var Mapper */ protected $addressMapper; /** * @param \Magento\Framework\View\Element\Template\Context $context * @param \Magento\Customer\Helper\Session\CurrentCustomer $currentCustomer * @param \Magento\Customer\Helper\Session\CurrentCustomerAddress $currentCustomerAddress * @param \Magento\Customer\Model\Address\Config $addressConfig * @param Mapper $addressMapper * @param array $data */ public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Customer\Helper\Session\CurrentCustomer $currentCustomer, \Magento\Customer\Helper\Session\CurrentCustomerAddress $currentCustomerAddress, \Magento\Customer\Model\Address\Config $addressConfig, Mapper $addressMapper, array $data = [] ) { $this->currentCustomer = $currentCustomer; $this->currentCustomerAddress = $currentCustomerAddress; $this->_addressConfig = $addressConfig; parent::__construct($context, $data); $this->addressMapper = $addressMapper; } /** * Get the logged in customer * * @return \Magento\Customer\Api\Data\CustomerInterface|null */ public function getCustomer() { try { return $this->currentCustomer->getCustomer(); } catch (NoSuchEntityException $e) { return null; } } /** * HTML for Shipping Address * * @return \Magento\Framework\Phrase|string */ public function getPrimaryShippingAddressHtml() { try { $address = $this->currentCustomerAddress->getDefaultShippingAddress(); } catch (NoSuchEntityException $e) { return __('You have not set a default shipping address.'); } if ($address) { return $this->_getAddressHtml($address); } else { return __('You have not set a default shipping address.'); } } /** * HTML for Billing Address * * @return \Magento\Framework\Phrase|string */ public function getPrimaryBillingAddressHtml() { try { $address = $this->currentCustomerAddress->getDefaultBillingAddress(); } catch (NoSuchEntityException $e) { return $this->escapeHtml(__('You have not set a default billing address.')); } if ($address) { return $this->_getAddressHtml($address); } else { return $this->escapeHtml(__('You have not set a default billing address.')); } } /** * Get Primary Shipping Address Edit Url * * @return string */ public function getPrimaryShippingAddressEditUrl() { if (!$this->getCustomer()) { return ''; } else { $address = $this->currentCustomerAddress->getDefaultShippingAddress(); $addressId = $address ? $address->getId() : null; return $this->_urlBuilder->getUrl( 'customer/address/edit', ['id' => $addressId] ); } } /** * Get Primary Billing Address Edit Url * * @return string */ public function getPrimaryBillingAddressEditUrl() { if (!$this->getCustomer()) { return ''; } else { $address = $this->currentCustomerAddress->getDefaultBillingAddress(); $addressId = $address ? $address->getId() : null; return $this->_urlBuilder->getUrl( 'customer/address/edit', ['id' => $addressId] ); } } /** * Get Address Book Url * * @return string */ public function getAddressBookUrl() { return $this->getUrl('customer/address/'); } /** * Render an address as HTML and return the result * * @param AddressInterface $address * @return string */ protected function _getAddressHtml($address) { /** @var \Magento\Customer\Block\Address\Renderer\RendererInterface $renderer */ $renderer = $this->_addressConfig->getFormatByCode('html')->getRenderer(); return $renderer->renderArray($this->addressMapper->toFlatArray($address)); } }