]> git.mxchange.org Git - friendica.git/blobdiff - src/Console/User.php
bump version 2023.12
[friendica.git] / src / Console / User.php
index 753a039ae01b52fba479b4127d262b20987f2419..eb061ede31b10af8e751f40e80678cb9bd7bf24c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -25,8 +25,7 @@ use Console_Table;
 use Friendica\App;
 use Friendica\Content\Pager;
 use Friendica\Core\L10n;
-use Friendica\Core\PConfig\IPConfig;
-use Friendica\Database\Database;
+use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
 use Friendica\Model\Register;
 use Friendica\Model\User as UserModel;
 use Friendica\Util\Temporal;
@@ -49,11 +48,7 @@ class User extends \Asika\SimpleConsole\Console
         */
        private $l10n;
        /**
-        * @var Database
-        */
-       private $dba;
-       /**
-        * @var IPConfig
+        * @var IManagePersonalConfigValues
         */
        private $pConfig;
 
@@ -93,17 +88,16 @@ HELP;
                return $help;
        }
 
-       public function __construct(App\Mode $appMode, L10n $l10n, Database $dba, IPConfig $pConfig, array $argv = null)
+       public function __construct(App\Mode $appMode, L10n $l10n, IManagePersonalConfigValues $pConfig, array $argv = null)
        {
                parent::__construct($argv);
 
                $this->appMode = $appMode;
                $this->l10n    = $l10n;
-               $this->dba     = $dba;
                $this->pConfig = $pConfig;
        }
 
-       protected function doExecute()
+       protected function doExecute(): int
        {
                if ($this->getOption('v')) {
                        $this->out('Class: ' . __CLASS__);
@@ -176,15 +170,15 @@ HELP;
         *
         * @param int $arg_index Index of the nick argument in the arguments list
         *
-        * @return mixed user data or dba failure result
+        * @return array|boolean User record with uid field, or false if user is not found
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        private function getUserByNick($arg_index)
        {
                $nick = $this->getNick($arg_index);
 
-               $user = $this->dba->selectFirst('user', ['uid'], ['nickname' => $nick]);
-               if (!$this->dba->isResult($user)) {
+               $user = UserModel::getByNickname($nick, ['uid']);
+               if (empty($user)) {
                        throw new RuntimeException($this->l10n->t('User not found'));
                }
 
@@ -212,7 +206,7 @@ HELP;
                try {
                        $result = UserModel::updatePassword($user['uid'], $password);
 
-                       if (!$this->dba->isResult($result)) {
+                       if (empty($result)) {
                                throw new \Exception($this->l10n->t('Password update failed. Please try again.'));
                        }
 
@@ -276,7 +270,7 @@ HELP;
        }
 
        /**
-        * Allows or denys a user based on it's nickname
+        * Allows or denies a user based on it's nickname
         *
         * @param bool $allow True, if the pending user is allowed, false if denies
         *
@@ -316,7 +310,7 @@ HELP;
         * @return bool True, if the delete was successful
         * @throws \Exception
         */
-       private function deleteUser()
+       private function deleteUser(): bool
        {
                $user = $this->getUserByNick(1);
 
@@ -376,7 +370,7 @@ HELP;
                                                $contact['url'],
                                                $contact['email'],
                                                Temporal::getRelativeDate($contact['created']),
-                                               Temporal::getRelativeDate($contact['login_date']),
+                                               Temporal::getRelativeDate($contact['last-activity']),
                                                Temporal::getRelativeDate($contact['last-item']),
                                        ]);
                                }
@@ -402,7 +396,7 @@ HELP;
                        'nickname',
                        'email',
                        'register_date',
-                       'login_date',
+                       'last-activity',
                        'verified',
                        'blocked',
                ];
@@ -431,7 +425,9 @@ HELP;
                                return false;
                }
 
-               $table->addRow($user);
+               if (!empty($user)) {
+                       $table->addRow($user);
+               }
                $this->out($table->getTable());
 
                return true;
@@ -489,7 +485,7 @@ HELP;
                                        throw new RuntimeException('Key does not exist');
                                }
 
-                               $this->out($pconfig->get($user['uid'], $category, $key));
+                               $this->out($this->pConfig->get($user['uid'], $category, $key));
                                break;
                        case 'set':
                                $value = $this->getArgument(5);
@@ -508,7 +504,7 @@ HELP;
                                        throw new RuntimeException('Value not changed');
                                }
 
-                               $pconfig->set($user['uid'], $category, $key, $value);
+                               $this->pConfig->set($user['uid'], $category, $key, $value);
                                break;
                        case 'delete':
                                if (!array_key_exists($category, $values)) {
@@ -518,7 +514,7 @@ HELP;
                                        throw new RuntimeException('Key does not exist');
                                }
 
-                               $pconfig->delete($user['uid'], $category, $key);
+                               $this->pConfig->delete($user['uid'], $category, $key);
                                break;
                        default:
                                $this->out($this->getHelp());