| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-user/Console/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-user/Console/UnlockAdminAccountCommand.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\User\Console;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Magento\User\Model\ResourceModel\User as AdminUser;
/**
* Command for unlocking an account.
*/
class UnlockAdminAccountCommand extends Command
{
const ARGUMENT_ADMIN_USERNAME = 'username';
const ARGUMENT_ADMIN_USERNAME_DESCRIPTION = 'The admin username to unlock';
const COMMAND_ADMIN_ACCOUNT_UNLOCK = 'admin:user:unlock';
const COMMAND_DESCRIPTION = 'Unlock Admin Account';
const USER_ID = 'user_id';
/**
* @var AdminUser
*/
private $adminUser;
/**
* {@inheritdoc}
*
* @param AdminUser $userResource
*/
public function __construct(
AdminUser $adminUser,
$name = null
) {
$this->adminUser = $adminUser;
parent::__construct($name);
}
/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$adminUserName = $input->getArgument(self::ARGUMENT_ADMIN_USERNAME);
$userData = $this->adminUser->loadByUsername($adminUserName);
$outputMessage = sprintf('Couldn\'t find the user account "%s"', $adminUserName);
if ($userData) {
if (isset($userData[self::USER_ID]) && $this->adminUser->unlock($userData[self::USER_ID])) {
$outputMessage = sprintf('The user account "%s" has been unlocked', $adminUserName);
} else {
$outputMessage = sprintf(
'The user account "%s" was not locked or could not be unlocked',
$adminUserName
);
}
}
$output->writeln('<info>' . $outputMessage . '</info>');
}
/**
* {@inheritdoc}
*/
protected function configure()
{
$this->setName(self::COMMAND_ADMIN_ACCOUNT_UNLOCK);
$this->setDescription(self::COMMAND_DESCRIPTION);
$this->addArgument(
self::ARGUMENT_ADMIN_USERNAME,
InputArgument::REQUIRED,
self::ARGUMENT_ADMIN_USERNAME_DESCRIPTION
);
$this->setHelp(
<<<HELP
This command unlocks an admin account by its username.
To unlock:
<comment>%command.full_name% username</comment>
HELP
);
parent::configure();
}
}