4
0

delete-user.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env php
  2. <?php
  3. declare(strict_types=1);
  4. require(__DIR__ . '/_cli.php');
  5. performRequirementCheck(FreshRSS_Context::systemConf()->db['type'] ?? '');
  6. $cliOptions = new class extends CliOptionsParser {
  7. public string $user;
  8. public function __construct() {
  9. $this->addRequiredOption('user', (new CliOption('user')));
  10. parent::__construct();
  11. }
  12. };
  13. if (!empty($cliOptions->errors)) {
  14. fail('FreshRSS error: ' . array_shift($cliOptions->errors) . "\n" . $cliOptions->usage);
  15. }
  16. $username = $cliOptions->user;
  17. if (!FreshRSS_user_Controller::checkUsername($username)) {
  18. fail('FreshRSS error: invalid username: ' . $username . "\n");
  19. }
  20. if (!FreshRSS_user_Controller::userExists($username)) {
  21. fail('FreshRSS error: user not found: ' . $username . "\n");
  22. }
  23. if (strcasecmp($username, FreshRSS_Context::systemConf()->default_user) === 0) {
  24. fail('FreshRSS error: default user must not be deleted: “' . $username . '”');
  25. }
  26. echo 'FreshRSS deleting user “', $username, "”…\n";
  27. $ok = FreshRSS_user_Controller::deleteUser($username);
  28. invalidateHttpCache(FreshRSS_Context::systemConf()->default_user);
  29. done($ok);