From d4d145a44302a1438df7416e3046457bc9582806 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 12 Jun 2009 07:46:42 -0700 Subject: Change from an event driven model to a call driven model similiar to the task api. --- modules/rss/helpers/rss.php | 21 +++++++++++++++++++++ modules/rss/helpers/rss_theme.php | 9 +-------- 2 files changed, 22 insertions(+), 8 deletions(-) (limited to 'modules/rss/helpers') 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; } -- cgit v1.2.3