#!/usr/bin/env php db['type'] ?? ''); $parameters = [ 'long' => [ 'user' => ':' ], 'short' => [], 'deprecated' => [], ]; $options = parseCliParams($parameters); if (!empty($options['invalid']) || empty($options['valid']['user']) || !is_string($options['valid']['user'])) { fail('Usage: ' . basename(__FILE__) . " --user username"); } $username = cliInitUser($options['valid']['user']); fwrite(STDERR, 'FreshRSS actualizing user “' . $username . "”…\n"); $databaseDAO = FreshRSS_Factory::createDatabaseDAO(); $databaseDAO->minorDbMaintenance(); Minz_ExtensionManager::callHookVoid('freshrss_user_maintenance'); FreshRSS_feed_Controller::commitNewEntries(); $result = FreshRSS_category_Controller::refreshDynamicOpmls(); if (!empty($result['errors'])) { $errors = $result['errors']; fwrite(STDERR, "FreshRSS error refreshing $errors dynamic OPMLs!\n"); } if (!empty($result['successes'])) { $successes = $result['successes']; echo "FreshRSS refreshed $successes dynamic OPMLs for $username\n"; } [$nbUpdatedFeeds, , $nbNewArticles] = FreshRSS_feed_Controller::actualizeFeeds(); if ($nbNewArticles > 0) { FreshRSS_feed_Controller::commitNewEntries(); } echo "FreshRSS actualized $nbUpdatedFeeds feeds for $username ($nbNewArticles new articles)\n"; invalidateHttpCache($username); done($nbUpdatedFeeds > 0);