![]() 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\CustomerInterface; use Magento\Customer\Block\Form\Register; use Magento\Customer\Helper\Session\CurrentCustomer; use Magento\Customer\Helper\View; use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\View\Element\Template; use Magento\Framework\View\Element\Template\Context; use Magento\Newsletter\Model\Subscriber; use Magento\Newsletter\Model\SubscriberFactory; /** * Dashboard Customer Info * * @api * @since 100.0.2 */ class Info extends Template { /** * Cached subscription object * * @var Subscriber */ protected $_subscription; /** * @var SubscriberFactory */ protected $_subscriberFactory; /** * @var View */ protected $_helperView; /** * @var CurrentCustomer */ protected $currentCustomer; /** * Constructor * * @param Context $context * @param CurrentCustomer $currentCustomer * @param SubscriberFactory $subscriberFactory * @param View $helperView * @param array $data */ public function __construct( Context $context, CurrentCustomer $currentCustomer, SubscriberFactory $subscriberFactory, View $helperView, array $data = [] ) { $this->currentCustomer = $currentCustomer; $this->_subscriberFactory = $subscriberFactory; $this->_helperView = $helperView; parent::__construct($context, $data); } /** * Returns the Magento Customer Model for this block * * @return CustomerInterface|null */ public function getCustomer() { try { return $this->currentCustomer->getCustomer(); } catch (NoSuchEntityException $e) { return null; } } /** * Get the full name of a customer * * @return string full name */ public function getName() { return $this->_helperView->getCustomerName($this->getCustomer()); } /** * Get the url to change password * * @return string */ public function getChangePasswordUrl() { return $this->_urlBuilder->getUrl('customer/account/edit/changepass/1'); } /** * Get Customer Subscription Object Information * * @return Subscriber */ public function getSubscriptionObject() { if (!$this->_subscription) { $this->_subscription = $this->_createSubscriber(); $customer = $this->getCustomer(); if ($customer) { $websiteId = (int)$this->_storeManager->getWebsite()->getId(); $this->_subscription->loadByCustomer((int)$customer->getId(), $websiteId); } } return $this->_subscription; } /** * Gets Customer subscription status * * @return bool * * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ public function getIsSubscribed() { return $this->getSubscriptionObject()->isSubscribed(); } /** * Newsletter module availability * * @return bool */ public function isNewsletterEnabled() { return $this->getLayout() ->getBlockSingleton(Register::class) ->isNewsletterEnabled(); } /** * Create new instance of Subscriber * * @return Subscriber */ protected function _createSubscriber() { return $this->_subscriberFactory->create(); } /** * @inheritdoc */ protected function _toHtml() { return $this->currentCustomer->getCustomerId() ? parent::_toHtml() : ''; } }