actualize-user.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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']) || !is_string($options['user'])) {
  10. fail('Usage: ' . basename(__FILE__) . " --user username");
  11. }
  12. $username = cliInitUser($options['user']);
  13. Minz_ExtensionManager::callHook('freshrss_user_maintenance');
  14. fwrite(STDERR, 'FreshRSS actualizing user “' . $username . "”…\n");
  15. $result = FreshRSS_category_Controller::refreshDynamicOpmls();
  16. if (!empty($result['errors'])) {
  17. $errors = $result['errors'];
  18. fwrite(STDERR, "FreshRSS error refreshing $errors dynamic OPMLs!\n");
  19. }
  20. if (!empty($result['successes'])) {
  21. $successes = $result['successes'];
  22. echo "FreshRSS refreshed $successes dynamic OPMLs for $username\n";
  23. }
  24. list($nbUpdatedFeeds, $feed, $nbNewArticles) = FreshRSS_feed_Controller::actualizeFeed(0, '', true);
  25. echo "FreshRSS actualized $nbUpdatedFeeds feeds for $username ($nbNewArticles new articles)\n";
  26. invalidateHttpCache($username);
  27. done($nbUpdatedFeeds > 0);