Skip user removal if it's already been removed in Console\User
This commit is contained in:
parent
5765b6f772
commit
184fa9f980
2 changed files with 9 additions and 4 deletions
|
@ -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']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue