]> git.mxchange.org Git - friendica.git/commitdiff
Skip user removal if it's already been removed in Console\User
authorHypolite Petovan <hypolite@mrpetovan.com>
Sat, 9 May 2020 15:05:20 +0000 (11:05 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sat, 9 May 2020 15:05:20 +0000 (11:05 -0400)
src/Console/User.php
src/Model/User.php

index d9766203825bd2203db348589a7908f0cd682894..a135e6292de22da10ecf227cb729f459309d2ea2 100644 (file)
@@ -304,19 +304,24 @@ HELP;
                        }
                }
 
-               $user = $this->dba->selectFirst('user', ['uid'], ['nickname' => $nick]);
+               $user = $this->dba->selectFirst('user', ['uid', 'account_removed'], ['nickname' => $nick]);
                if (empty($user)) {
                        throw new RuntimeException($this->l10n->t('User not found'));
                }
 
+               if (!empty($user['account_removed'])) {
+                       $this->out($this->l10n->t('User has already been marked for deletion.'));
+                       return true;
+               }
+
                if (!$this->getOption('q')) {
                        $this->out($this->l10n->t('Type "yes" to delete %s', $nick));
                        if (CliPrompt::prompt() !== 'yes') {
-                               throw new RuntimeException('Delete abort.');
+                               throw new RuntimeException($this->l10n->t('Deletion aborted.'));
                        }
                }
 
-               return UserModel::remove($user['uid'] ?? -1);
+               return UserModel::remove($user['uid']);
        }
 
        /**
index 89574e76094fc5857e6651badb36efaf3d7a969f..b561a7912a8e89efa2ee6398f0b7955b2a8dc9df 100644 (file)
@@ -1162,7 +1162,7 @@ class User
                // unique), so it cannot be re-registered in the future.
                DBA::insert('userd', ['username' => $user['nickname']]);
 
-               // The user and related data will be deleted in "cron_expire_and_remove_users" (cronjobs.php)
+               // The user and related data will be deleted in Friendica\Worker\CronJobs::expireAndRemoveUsers()
                DBA::update('user', ['account_removed' => true, 'account_expires_on' => DateTimeFormat::utc('now + 7 day')], ['uid' => $uid]);
                Worker::add(PRIORITY_HIGH, 'Notifier', Delivery::REMOVAL, $uid);