* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace FOS\UserBundle\Command; use FOS\UserBundle\Util\UserManipulator; use Symfony\Component\Console\Output\OutputInterface; /** * @author Antoine Hérault * @author Lenar Lõhmus */ class DemoteUserCommand extends RoleCommand { protected static $defaultName = 'fos:user:demote'; /** * {@inheritdoc} */ protected function configure() { parent::configure(); $this ->setName('fos:user:demote') ->setDescription('Demote a user by removing a role') ->setHelp(<<<'EOT' The fos:user:demote command demotes a user by removing a role php %command.full_name% matthieu ROLE_CUSTOM php %command.full_name% --super matthieu EOT ); } /** * {@inheritdoc} */ protected function executeRoleCommand(UserManipulator $manipulator, OutputInterface $output, $username, $super, $role) { if ($super) { $manipulator->demote($username); $output->writeln(sprintf('User "%s" has been demoted as a simple user. This change will not apply until the user logs out and back in again.', $username)); } else { if ($manipulator->removeRole($username, $role)) { $output->writeln(sprintf('Role "%s" has been removed from user "%s". This change will not apply until the user logs out and back in again.', $role, $username)); } else { $output->writeln(sprintf('User "%s" didn\'t have "%s" role.', $username, $role)); } } } }