]> git.wh0rd.org - tt-rss.git/blobdiff - update.php
Merge pull request #47 from xaberus/master
[tt-rss.git] / update.php
index d039d062e19ccb08979568ab72ccb57505a54cf8..ba4cadbcba9d70527d3f7ad2e404302831376e91 100755 (executable)
@@ -9,8 +9,8 @@
 
        require_once "functions.php";
        require_once "rssfuncs.php";
-       require_once "sanity_check.php";
        require_once "config.php";
+       require_once "sanity_check.php";
        require_once "db.php";
        require_once "db-prefs.php";
 
@@ -22,7 +22,6 @@
 
        init_connection($link);
 
-
        $op = $argv;
 
        if (count($argv) == 0 && !defined('STDIN')) {
                print "  -feedbrowser        - update feedbrowser\n";
                print "  -daemon             - start single-process update daemon\n";
                print "  -cleanup-tags       - perform tags table maintenance\n";
-               print "  -get-feeds          - receive popular feeds from linked instances\n";
-               print "  -import USER FILE   - import articles from XML\n";
                print "  -quiet              - don't show messages\n";
                print "  -indexes            - recreate missing schema indexes\n";
                print "  -convert-filters    - convert type1 filters to type2\n";
                print "  -force-update       - force update of all feeds\n";
+               print "  -list-plugins       - list all available plugins\n";
                print "  -help               - show this help\n";
                print "Plugin options:\n";
 
@@ -98,7 +96,8 @@
                $rc = cleanup_tags($link, 14, 50000);
                _debug("Cleaned $rc cached tags.");
 
-               get_linked_feeds($link);
+               global $pluginhost;
+               $pluginhost->run_hooks($pluginhost::HOOK_UPDATE_TASK, "hook_update_task", $op);
        }
 
        if (in_array("-feedbrowser", $op)) {
 
                        _debug("Cleaned $rc cached tags.");
 
-                       get_linked_feeds($link);
+                       global $pluginhost;
+                       $pluginhost->run_hooks($pluginhost::HOOK_UPDATE_TASK, "hook_update_task", $op);
                }
 
        }
                _debug("$rc tags deleted.\n");
        }
 
-       if (in_array("-get-feeds", $op)) {
-               get_linked_feeds($link);
-       }
-
-       if (in_array("-import",$op)) {
-               $username = $argv[count($argv) - 2];
-               $filename = $argv[count($argv) - 1];
-
-               if (!$username) {
-                       print "error: please specify username.\n";
-                       return;
-               }
-
-               if (!is_file($filename)) {
-                       print "error: input filename ($filename) doesn't exist.\n";
-                       return;
-               }
-
-               _debug("importing $filename for user $username...\n");
-
-               $result = db_query($link, "SELECT id FROM ttrss_users WHERE login = '$username'");
-
-               if (db_num_rows($result) == 0) {
-                       print "error: could not find user $username.\n";
-                       return;
-               }
-
-               $owner_uid = db_fetch_result($result, 0, "id");
-
-               perform_data_import($link, $filename, $owner_uid);
-
-       }
-
        if (in_array("-indexes", $op)) {
                _debug("PLEASE BACKUP YOUR DATABASE BEFORE PROCEEDING!");
                _debug("Type 'yes' to continue.");
                                last_updated = '1970-01-01'");
        }
 
+       if (in_array("-list-plugins", $op)) {
+               $tmppluginhost = new PluginHost($link);
+               $tmppluginhost->load_all($tmppluginhost::KIND_ALL);
+               $enabled = array_map("trim", explode(",", PLUGINS));
+
+               echo "List of all available plugins:\n";
+
+               foreach ($tmppluginhost->get_plugins() as $name => $plugin) {
+                       $about = $plugin->about();
+
+                       $status = $about[3] ? "system" : "user";
+
+                       if (in_array($name, $enabled)) $name .= "*";
+
+                       printf("%-50s %-10s v%.2f (by %s)\n%s\n\n",
+                               $name, $status, $about[0], $about[2], $about[1]);
+               }
+
+               echo "Plugins marked by * are currently enabled for all users.\n";
+
+       }
+
        $pluginhost->run_commands($op);
 
        db_close($link);