delete-user.php 879 B

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