![]() 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/Controller/Adminhtml/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Customer\Controller\Adminhtml; use Magento\Customer\Api\AccountManagementInterface; use Magento\Customer\Api\AddressRepositoryInterface; use Magento\Customer\Api\CustomerRepositoryInterface; use Magento\Customer\Api\Data\AddressInterfaceFactory; use Magento\Customer\Api\Data\CustomerInterfaceFactory; use Magento\Customer\Controller\RegistryConstants; use Magento\Customer\Model\Address\Mapper; use Magento\Framework\Message\Error; use Magento\Framework\DataObjectFactory as ObjectFactory; use Magento\Framework\Api\DataObjectHelper; /** * Class \Magento\Customer\Controller\Adminhtml\Index * * @api * @SuppressWarnings(PHPMD.ExcessiveClassComplexity) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.TooManyFields) * @SuppressWarnings(PHPMD.NumberOfChildren) */ abstract class Index extends \Magento\Backend\App\Action { /** * Authorization level of a basic admin session * * @see _isAllowed() */ const ADMIN_RESOURCE = 'Magento_Customer::manage'; /** * @var \Magento\Framework\Validator * @deprecated 101.0.0 */ protected $_validator; /** * Core registry * * @var \Magento\Framework\Registry */ protected $_coreRegistry = null; /** * @var \Magento\Framework\App\Response\Http\FileFactory */ protected $_fileFactory; /** * @var \Magento\Customer\Model\CustomerFactory * @deprecated 101.0.0 */ protected $_customerFactory = null; /** * @var \Magento\Customer\Model\AddressFactory * @deprecated 101.0.0 */ protected $_addressFactory = null; /** * @var \Magento\Newsletter\Model\SubscriberFactory */ protected $_subscriberFactory; /** * @var \Magento\Customer\Model\Metadata\FormFactory */ protected $_formFactory; /** * @var CustomerRepositoryInterface */ protected $_customerRepository; /** * @var \Magento\Customer\Helper\View */ protected $_viewHelper; /** * @var \Magento\Framework\Math\Random * @deprecated 101.0.0 */ protected $_random; /** * @var ObjectFactory */ protected $_objectFactory; /** * @var \Magento\Framework\Api\ExtensibleDataObjectConverter * @deprecated 101.0.0 */ protected $_extensibleDataObjectConverter; /** * @var Mapper */ protected $addressMapper; /** * @var AccountManagementInterface */ protected $customerAccountManagement; /** * @var AddressRepositoryInterface */ protected $addressRepository; /** * @var CustomerInterfaceFactory */ protected $customerDataFactory; /** * @var AddressInterfaceFactory */ protected $addressDataFactory; /** * @var \Magento\Customer\Model\Customer\Mapper */ protected $customerMapper; /** * @var \Magento\Framework\Reflection\DataObjectProcessor * @deprecated 101.0.0 */ protected $dataObjectProcessor; /** * @var DataObjectHelper */ protected $dataObjectHelper; /** * @var \Magento\Framework\View\LayoutFactory * @deprecated 101.0.0 */ protected $layoutFactory; /** * @var \Magento\Framework\View\Result\LayoutFactory */ protected $resultLayoutFactory; /** * @var \Magento\Framework\View\Result\PageFactory */ protected $resultPageFactory; /** * @var \Magento\Backend\Model\View\Result\ForwardFactory */ protected $resultForwardFactory; /** * @var \Magento\Framework\Controller\Result\JsonFactory */ protected $resultJsonFactory; /** * Constructor * * @param \Magento\Backend\App\Action\Context $context * @param \Magento\Framework\Registry $coreRegistry * @param \Magento\Framework\App\Response\Http\FileFactory $fileFactory * @param \Magento\Customer\Model\CustomerFactory $customerFactory * @param \Magento\Customer\Model\AddressFactory $addressFactory * @param \Magento\Customer\Model\Metadata\FormFactory $formFactory * @param \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory * @param \Magento\Customer\Helper\View $viewHelper * @param \Magento\Framework\Math\Random $random * @param CustomerRepositoryInterface $customerRepository * @param \Magento\Framework\Api\ExtensibleDataObjectConverter $extensibleDataObjectConverter * @param Mapper $addressMapper * @param AccountManagementInterface $customerAccountManagement * @param AddressRepositoryInterface $addressRepository * @param CustomerInterfaceFactory $customerDataFactory * @param AddressInterfaceFactory $addressDataFactory * @param \Magento\Customer\Model\Customer\Mapper $customerMapper * @param \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor * @param DataObjectHelper $dataObjectHelper * @param ObjectFactory $objectFactory * @param \Magento\Framework\View\LayoutFactory $layoutFactory * @param \Magento\Framework\View\Result\LayoutFactory $resultLayoutFactory * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory * @param \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory * @param \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( \Magento\Backend\App\Action\Context $context, \Magento\Framework\Registry $coreRegistry, \Magento\Framework\App\Response\Http\FileFactory $fileFactory, \Magento\Customer\Model\CustomerFactory $customerFactory, \Magento\Customer\Model\AddressFactory $addressFactory, \Magento\Customer\Model\Metadata\FormFactory $formFactory, \Magento\Newsletter\Model\SubscriberFactory $subscriberFactory, \Magento\Customer\Helper\View $viewHelper, \Magento\Framework\Math\Random $random, CustomerRepositoryInterface $customerRepository, \Magento\Framework\Api\ExtensibleDataObjectConverter $extensibleDataObjectConverter, Mapper $addressMapper, AccountManagementInterface $customerAccountManagement, AddressRepositoryInterface $addressRepository, CustomerInterfaceFactory $customerDataFactory, AddressInterfaceFactory $addressDataFactory, \Magento\Customer\Model\Customer\Mapper $customerMapper, \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor, DataObjectHelper $dataObjectHelper, ObjectFactory $objectFactory, \Magento\Framework\View\LayoutFactory $layoutFactory, \Magento\Framework\View\Result\LayoutFactory $resultLayoutFactory, \Magento\Framework\View\Result\PageFactory $resultPageFactory, \Magento\Backend\Model\View\Result\ForwardFactory $resultForwardFactory, \Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory ) { $this->_coreRegistry = $coreRegistry; $this->_fileFactory = $fileFactory; $this->_customerFactory = $customerFactory; $this->_addressFactory = $addressFactory; $this->_formFactory = $formFactory; $this->_subscriberFactory = $subscriberFactory; $this->_viewHelper = $viewHelper; $this->_random = $random; $this->_customerRepository = $customerRepository; $this->_extensibleDataObjectConverter = $extensibleDataObjectConverter; $this->addressMapper = $addressMapper; $this->customerAccountManagement = $customerAccountManagement; $this->addressRepository = $addressRepository; $this->customerDataFactory = $customerDataFactory; $this->addressDataFactory = $addressDataFactory; $this->customerMapper = $customerMapper; $this->dataObjectProcessor = $dataObjectProcessor; $this->_objectFactory = $objectFactory; $this->dataObjectHelper = $dataObjectHelper; $this->layoutFactory = $layoutFactory; $this->resultLayoutFactory = $resultLayoutFactory; $this->resultPageFactory = $resultPageFactory; $this->resultForwardFactory = $resultForwardFactory; $this->resultJsonFactory = $resultJsonFactory; parent::__construct($context); } /** * Customer initialization * * @return string customer id */ protected function initCurrentCustomer() { $customerId = (int)$this->getRequest()->getParam('id'); if ($customerId) { $this->_coreRegistry->register(RegistryConstants::CURRENT_CUSTOMER_ID, $customerId); } return $customerId; } /** * Prepare customer default title * * @param \Magento\Backend\Model\View\Result\Page $resultPage * @return void */ protected function prepareDefaultCustomerTitle(\Magento\Backend\Model\View\Result\Page $resultPage) { $resultPage->getConfig()->getTitle()->prepend(__('Customers')); } /** * Add errors messages to session. * * @param array|string $messages * @return void * * @SuppressWarnings(PHPMD.UnusedLocalVariable) */ protected function _addSessionErrorMessages($messages) { $messages = (array)$messages; $callback = function ($error) { if (!$error instanceof Error) { $error = new Error($error); } $this->messageManager->addMessage($error); }; array_walk_recursive($messages, $callback); } /** * Helper function that handles mass actions by taking in a callable for handling a single customer action. * * @param callable $singleAction A single action callable that takes a customer ID as input * @param int[] $customerIds Array of customer Ids to perform the action upon * @return int Number of customers successfully acted upon * @deprecated 101.0.0 */ protected function actUponMultipleCustomers(callable $singleAction, $customerIds) { if (!is_array($customerIds)) { $this->messageManager->addErrorMessage(__('Please select customer(s).')); return 0; } $customersUpdated = 0; foreach ($customerIds as $customerId) { try { $singleAction($customerId); $customersUpdated++; } catch (\Exception $exception) { $this->messageManager->addErrorMessage($exception->getMessage()); } } return $customersUpdated; } }