summaryrefslogtreecommitdiff
path: root/modules/rss/helpers
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-06-12 07:46:42 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-06-12 07:46:42 -0700
commitd4d145a44302a1438df7416e3046457bc9582806 (patch)
tree80fbb73c554451cc5d1771ae292bd96fe32a5542 /modules/rss/helpers
parente5793b5b2680cba14dda6bd0242b262baa0d00a6 (diff)
Change from an event driven model to a call driven model similiar to the task
api.
Diffstat (limited to 'modules/rss/helpers')
-rw-r--r--modules/rss/helpers/rss.php21
-rw-r--r--modules/rss/helpers/rss_theme.php9
2 files changed, 22 insertions, 8 deletions
diff --git a/modules/rss/helpers/rss.php b/modules/rss/helpers/rss.php
index b320aeae..b0e7b30f 100644
--- a/modules/rss/helpers/rss.php
+++ b/modules/rss/helpers/rss.php
@@ -27,4 +27,25 @@ class rss_Core {
static function tag_feed($tag) {
return url::site("rss/tags/$tag->id}");
}
+
+ /**
+ * Get all available rss feeds
+ */
+ static function get_feeds($item, $sidebar_only=true) {
+ $feeds = array();
+ foreach (module::active() as $module) {
+ $class_name = "{$module->name}_rss";
+ if (method_exists($class_name, "available_feeds")) {
+ foreach (call_user_func(array($class_name, "available_feeds"), $item) as $feed) {
+ if ($sidebar_only && !$feed["sidebar"]) {
+ continue;
+ }
+ $feeds[$feed["description"]] = url::site("rss/{$feed['uri']}");
+ }
+ }
+ }
+
+ return $feeds;
+ }
+
} \ No newline at end of file
diff --git a/modules/rss/helpers/rss_theme.php b/modules/rss/helpers/rss_theme.php
index 2e4e141b..b82133bd 100644
--- a/modules/rss/helpers/rss_theme.php
+++ b/modules/rss/helpers/rss_theme.php
@@ -36,18 +36,11 @@ class rss_theme_Core {
return;
}
- $event_data = new stdClass();
- $event_data->feeds = array();
- $event_data->item = $theme->item();
- module::event("request_feed_links", $event_data);
- foreach ($event_data->feeds as $key => $feed) {
- $event_data->feeds[$key] = url::site("rss/$feed");
- }
$block = new Block();
$block->css_id = "gRss";
$block->title = t("Available RSS Feeds");
$block->content = new View("rss_block.html");
- $block->content->feeds = $event_data->feeds;
+ $block->content->feeds = rss::get_feeds($theme->item());
return $block;
}