![]() 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-customer/Helper/Session/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Customer\Helper\Session; use Magento\Customer\Api\CustomerRepositoryInterface; use Magento\Customer\Api\Data\CustomerInterfaceFactory; use Magento\Customer\Model\Session as CustomerSession; use Magento\Framework\App\RequestInterface; use Magento\Framework\App\ViewInterface; use Magento\Framework\Module\Manager as ModuleManager; use Magento\Framework\View\LayoutInterface; /** * Class CurrentCustomer * @SuppressWarnings(PHPMD.CookieAndSessionMisuse) */ class CurrentCustomer { /** * @var \Magento\Customer\Model\Session */ protected $customerSession; /** * @var \Magento\Framework\View\LayoutInterface */ protected $layout; /** * @var \Magento\Customer\Api\Data\CustomerInterfaceFactory */ protected $customerFactory; /** * @var CustomerRepositoryInterface */ protected $customerRepository; /** * @var \Magento\Framework\App\RequestInterface */ protected $request; /** * @var \Magento\Framework\Module\Manager */ protected $moduleManager; /** * @var \Magento\Framework\App\ViewInterface */ protected $view; /** * @param CustomerSession $customerSession * @param LayoutInterface $layout * @param CustomerInterfaceFactory $customerFactory * @param CustomerRepositoryInterface $customerRepository * @param RequestInterface $request * @param ModuleManager $moduleManager * @param ViewInterface $view */ public function __construct( CustomerSession $customerSession, LayoutInterface $layout, CustomerInterfaceFactory $customerFactory, CustomerRepositoryInterface $customerRepository, RequestInterface $request, ModuleManager $moduleManager, ViewInterface $view ) { $this->customerSession = $customerSession; $this->layout = $layout; $this->customerFactory = $customerFactory; $this->customerRepository = $customerRepository; $this->request = $request; $this->moduleManager = $moduleManager; $this->view = $view; } /** * Returns customer Data with customer group only * * @return \Magento\Customer\Api\Data\CustomerInterface */ protected function getDepersonalizedCustomer() { $customer = $this->customerFactory->create(); $customer->setGroupId($this->customerSession->getCustomerGroupId()); return $customer; } /** * Returns customer Data from service * * @return \Magento\Customer\Api\Data\CustomerInterface */ protected function getCustomerFromService() { return $this->customerRepository->getById($this->customerSession->getId()); } /** * Returns current customer according to session and context * * @return \Magento\Customer\Api\Data\CustomerInterface */ public function getCustomer() { if ($this->moduleManager->isEnabled('Magento_PageCache') && !$this->request->isAjax() && $this->view->isLayoutLoaded() && $this->layout->isCacheable() ) { return $this->getDepersonalizedCustomer(); } else { return $this->getCustomerFromService(); } } /** * Returns customer id from session * * @return int|null */ public function getCustomerId() { return $this->customerSession->getId(); } /** * Set customer id * * @param int|null $customerId * @return void */ public function setCustomerId($customerId) { $this->customerSession->setId($customerId); } }