X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FUser%2FUserBase.php;fp=vendor%2Fdrupal%2Fconsole%2Fsrc%2FCommand%2FUser%2FUserBase.php;h=6239347177efa240cb901016f649093231ee1861;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=0000000000000000000000000000000000000000;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/vendor/drupal/console/src/Command/User/UserBase.php b/vendor/drupal/console/src/Command/User/UserBase.php new file mode 100644 index 000000000..623934717 --- /dev/null +++ b/vendor/drupal/console/src/Command/User/UserBase.php @@ -0,0 +1,102 @@ +entityTypeManager = $entityTypeManager; + parent::__construct(); + } + + /** + * @param $user mixed + * + * @return mixed + */ + public function getUserEntity($user) + { + if (is_numeric($user)) { + $userEntity = $this->entityTypeManager + ->getStorage('user') + ->load($user); + } else { + $userEntity = reset( + $this->entityTypeManager + ->getStorage('user') + ->loadByProperties(['name' => $user]) + ); + } + + return $userEntity; + } + + /*** + * @return array users from site + */ + public function getUsers() + { + $userStorage = $this->entityTypeManager->getStorage('user'); + $users = $userStorage->loadMultiple(); + + $userList = []; + foreach ($users as $userId => $user) { + $userList[$userId] = $user->getUsername(); + } + + return $userList; + } + + private function userQuestion($user) + { + if (!$user) { + $user = $this->getIo()->choiceNoList( + $this->trans('commands.user.password.reset.questions.user'), + $this->getUsers() + ); + } + + return $user; + } + + public function getUserOption() + { + $input = $this->getIo()->getInput(); + + $user = $this->userQuestion($input->getOption('user')); + $input->setOption('user', $user); + + return $user; + } + + public function getUserArgument() + { + $input = $this->getIo()->getInput(); + + $user = $this->userQuestion($input->getArgument('user')); + $input->setArgument('user', $user); + + return $user; + } +}