delete-user.php 988 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env php
  2. <?php
  3. require(__DIR__ . '/_cli.php');
  4. performRequirementCheck(FreshRSS_Context::$system_conf->db['type']);
  5. $params = array(
  6. 'user:',
  7. );
  8. $options = getopt('', $params);
  9. if (!validateOptions($argv, $params) || empty($options['user'])) {
  10. fail('Usage: ' . basename(__FILE__) . " --user username");
  11. }
  12. $username = $options['user'];
  13. if (!FreshRSS_user_Controller::checkUsername($username)) {
  14. fail('FreshRSS error: invalid username “' . $username . '”');
  15. }
  16. $usernames = listUsers();
  17. if (!preg_grep("/^$username$/i", $usernames)) {
  18. fail('FreshRSS error: username not found “' . $username . '”');
  19. }
  20. if (strcasecmp($username, FreshRSS_Context::$system_conf->default_user) === 0) {
  21. fail('FreshRSS error: default user must not be deleted: “' . $username . '”');
  22. }
  23. echo 'FreshRSS deleting user “', $username, "”…\n";
  24. $ok = FreshRSS_user_Controller::deleteUser($username);
  25. invalidateHttpCache(FreshRSS_Context::$system_conf->default_user);
  26. done($ok);