summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/pluginhost.php1
-rw-r--r--include/rssfuncs.php5
-rw-r--r--plugins/example_feed/example_feed.php22
3 files changed, 27 insertions, 1 deletions
diff --git a/classes/pluginhost.php b/classes/pluginhost.php
index 25569302b..e87f3a7e3 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 a28cb2063..817490a84 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 000000000..26f392bd7
--- /dev/null
+++ b/plugins/example_feed/example_feed.php
@@ -0,0 +1,22 @@
+<?php
+class Example_Feed extends Plugin {
+
+ // Demonstrates how to query data from the parsed feed object (SimplePie)
+ // don't enable unless debugging feed through f D hotkey or manually.
+
+ private $link;
+ private $host;
+
+ function __construct($host) {
+ $this->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());
+ }
+}
+?>