From: Andrew Dolgov Date: Mon, 24 Dec 2012 10:13:03 +0000 (+0400) Subject: implement HOOK_FEED_PARSED, add example plugin (refs #424) X-Git-Tag: 1.7.0~141 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=4412b877d02c16c033a28fd2b9d9fafa9fd16214;p=tt-rss.git implement HOOK_FEED_PARSED, add example plugin (refs #424) --- diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 25569302..e87f3a7e 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -11,6 +11,7 @@ class PluginHost { const HOOK_PREFS_TAB = 3; const HOOK_PREFS_SECTION = 4; const HOOK_PREFS_TABS = 5; + const HOOK_FEED_PARSED = 6; function __construct($link) { $this->link = $link; diff --git a/include/rssfuncs.php b/include/rssfuncs.php index a28cb206..817490a8 100644 --- a/include/rssfuncs.php +++ b/include/rssfuncs.php @@ -261,6 +261,9 @@ if (!$rss->error()) { + global $pluginhost; + $pluginhost->run_hooks($pluginhost::HOOK_FEED_PARSED, "hook_feed_parsed", $rss); + if ($debug_enabled) { _debug("update_rss_feed: processing feed data..."); } @@ -521,7 +524,6 @@ } // TODO: less memory-hungry implementation - global $pluginhost; if ($debug_enabled) { _debug("update_rss_feed: applying plugin filters.."); @@ -534,6 +536,7 @@ "tags" => $entry_tags, "author" => $entry_author); + global $pluginhost; foreach ($pluginhost->get_hooks($pluginhost::HOOK_ARTICLE_FILTER) as $plugin) { $article = $plugin->hook_article_filter($article); } diff --git a/plugins/example_feed/example_feed.php b/plugins/example_feed/example_feed.php new file mode 100644 index 00000000..26f392bd --- /dev/null +++ b/plugins/example_feed/example_feed.php @@ -0,0 +1,22 @@ +link = $host->get_link(); + $this->host = $host; + + $host->add_hook($host::HOOK_FEED_PARSED, $this); + } + + function hook_feed_parsed($feed) { + _debug("I'm a little feed short and stout, here's my title: " . $feed->get_title()); + _debug("... here's my link element: " . $feed->get_link()); + } +} +?>