![]() 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-backend/Controller/Adminhtml/System/Account/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Backend\Controller\Adminhtml\System\Account; use Magento\Framework\Validator\Exception as ValidatorException; use Magento\Framework\Exception\AuthenticationException; use Magento\Framework\Exception\LocalizedException; use Magento\Framework\Controller\ResultFactory; use Magento\Framework\Exception\State\UserLockedException; use Magento\Security\Model\SecurityCookie; /** * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class Save extends \Magento\Backend\Controller\Adminhtml\System\Account { /** * @var SecurityCookie */ private $securityCookie; /** * Get security cookie * * @return SecurityCookie * @deprecated 100.1.0 */ private function getSecurityCookie() { if (!($this->securityCookie instanceof SecurityCookie)) { return \Magento\Framework\App\ObjectManager::getInstance()->get(SecurityCookie::class); } return $this->securityCookie; } /** * Saving edited user information * * @return \Magento\Backend\Model\View\Result\Redirect * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ public function execute() { $userId = $this->_objectManager->get(\Magento\Backend\Model\Auth\Session::class)->getUser()->getId(); $password = (string)$this->getRequest()->getParam('password'); $passwordConfirmation = (string)$this->getRequest()->getParam('password_confirmation'); $interfaceLocale = (string)$this->getRequest()->getParam('interface_locale', false); /** @var $user \Magento\User\Model\User */ $user = $this->_objectManager->create(\Magento\User\Model\User::class)->load($userId); $user->setId($userId) ->setUserName($this->getRequest()->getParam('username', false)) ->setFirstName($this->getRequest()->getParam('firstname', false)) ->setLastName($this->getRequest()->getParam('lastname', false)) ->setEmail(strtolower($this->getRequest()->getParam('email', false))); if ($this->_objectManager->get(\Magento\Framework\Validator\Locale::class)->isValid($interfaceLocale)) { $user->setInterfaceLocale($interfaceLocale); /** @var \Magento\Backend\Model\Locale\Manager $localeManager */ $localeManager = $this->_objectManager->get(\Magento\Backend\Model\Locale\Manager::class); $localeManager->switchBackendInterfaceLocale($interfaceLocale); } /** Before updating admin user data, ensure that password of current admin user is entered and is correct */ $currentUserPasswordField = \Magento\User\Block\User\Edit\Tab\Main::CURRENT_USER_PASSWORD_FIELD; $currentUserPassword = $this->getRequest()->getParam($currentUserPasswordField); try { $user->performIdentityCheck($currentUserPassword); if ($password !== '') { $user->setPassword($password); $user->setPasswordConfirmation($passwordConfirmation); } $errors = $user->validate(); if ($errors !== true && !empty($errors)) { foreach ($errors as $error) { $this->messageManager->addErrorMessage($error); } } else { $user->save(); $user->sendNotificationEmailsIfRequired(); $this->messageManager->addSuccessMessage(__('You saved the account.')); } } catch (UserLockedException $e) { $this->_auth->logout(); $this->getSecurityCookie()->setLogoutReasonCookie( \Magento\Security\Model\AdminSessionsManager::LOGOUT_REASON_USER_LOCKED ); } catch (ValidatorException $e) { $this->messageManager->addMessages($e->getMessages()); if ($e->getMessage()) { $this->messageManager->addErrorMessage($e->getMessage()); } } catch (LocalizedException $e) { $this->messageManager->addErrorMessage($e->getMessage()); } catch (\Exception $e) { $this->messageManager->addErrorMessage(__('An error occurred while saving account.')); } /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT); return $resultRedirect->setPath("*/*/"); } }