Security update for Core, with self-updated composer
[yaffs-website] / vendor / drupal / console / src / Command / User / PasswordHashCommand.php
index 208fe98ae03eae870923a4f795dbcbafecdded98..795e005adacc6081c05557752dccaefabbe40d3a 100644 (file)
@@ -10,17 +10,11 @@ namespace Drupal\Console\Command\User;
 use Symfony\Component\Console\Input\InputInterface;
 use Symfony\Component\Console\Input\InputArgument;
 use Symfony\Component\Console\Output\OutputInterface;
-use Symfony\Component\Console\Command\Command;
-use Drupal\Console\Core\Command\Shared\CommandTrait;
+use Drupal\Console\Core\Command\Command;
 use Drupal\Core\Password\PasswordInterface;
-use Drupal\Console\Command\Shared\ConfirmationTrait;
-use Drupal\Console\Core\Style\DrupalStyle;
 
 class PasswordHashCommand extends Command
 {
-    use CommandTrait;
-    use ConfirmationTrait;
-
     /**
      * @var PasswordInterface
      */
@@ -46,16 +40,34 @@ class PasswordHashCommand extends Command
             ->setName('user:password:hash')
             ->setDescription($this->trans('commands.user.password.hash.description'))
             ->setHelp($this->trans('commands.user.password.hash.help'))
-            ->addArgument('password', InputArgument::IS_ARRAY, $this->trans('commands.user.password.hash.options.password'));
+            ->addArgument(
+                'password',
+                InputArgument::IS_ARRAY,
+                $this->trans('commands.user.password.hash.options.password')
+            )
+            ->setAliases(['uph']);
     }
 
     /**
      * {@inheritdoc}
      */
-    protected function execute(InputInterface $input, OutputInterface $output)
+    protected function interact(InputInterface $input, OutputInterface $output)
     {
-        $io = new DrupalStyle($input, $output);
+        $password = $input->getArgument('password');
+        if (!$password) {
+            $password = $this->getIo()->ask(
+                $this->trans('commands.user.password.hash.questions.password')
+            );
 
+            $input->setArgument('password', [$password]);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function execute(InputInterface $input, OutputInterface $output)
+    {
         $passwords = $input->getArgument('password');
 
         $tableHeader = [
@@ -71,50 +83,6 @@ class PasswordHashCommand extends Command
             ];
         }
 
-        $io->table($tableHeader, $tableRows, 'compact');
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function interact(InputInterface $input, OutputInterface $output)
-    {
-        $io = new DrupalStyle($input, $output);
-
-        $passwords = $input->getArgument('password');
-        if (!$passwords) {
-            $passwords = [];
-            while (true) {
-                $password = $io->ask(
-                    $this->trans('commands.user.password.hash.questions.password'),
-                    '',
-                    function ($pass) use ($passwords, $io) {
-                        if (!empty($pass) || count($passwords) >= 1) {
-                            if ($pass == '') {
-                                return true;
-                            }
-
-                            return $pass;
-                        } else {
-                            $io->error(
-                                sprintf($this->trans('commands.user.password.hash.questions.invalid-pass'), $pass)
-                            );
-
-                            return false;
-                        }
-                    }
-                );
-
-                if ($password && !is_string($password)) {
-                    break;
-                }
-
-                if (is_string($password)) {
-                    $passwords[] = $password;
-                }
-            }
-
-            $input->setArgument('password', $passwords);
-        }
+        $this->getIo()->table($tableHeader, $tableRows, 'compact');
     }
 }