summaryrefslogtreecommitdiff
path: root/modules/rss/helpers/rss_theme.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/rss/helpers/rss_theme.php')
-rw-r--r--modules/rss/helpers/rss_theme.php19
1 files changed, 12 insertions, 7 deletions
diff --git a/modules/rss/helpers/rss_theme.php b/modules/rss/helpers/rss_theme.php
index 52d988bf..3d1b9a29 100644
--- a/modules/rss/helpers/rss_theme.php
+++ b/modules/rss/helpers/rss_theme.php
@@ -19,17 +19,22 @@
*/
class rss_theme_Core {
static function sidebar_blocks($theme) {
- // @todo this needs to be data driven
- if (!$theme->item()) {
- return;
- }
-
$block = new Block();
$block->css_id = "gRss";
$block->title = t("Available RSS Feeds");
$block->content = new View("rss_block.html");
- $block->content->feeds = rss::available_feeds($theme->item());
+ $block->content->feeds = array();
+ foreach (module::active() as $module) {
+ $class_name = "{$module->name}_rss";
+ if (method_exists($class_name, "available_feeds")) {
+ $block->content->feeds = array_merge(
+ $block->content->feeds,
+ call_user_func(array($class_name, "available_feeds"), $theme->item(), $theme->tag()));
+ }
+ }
- return $block;
+ if ($block->content->feeds) {
+ return $block;
+ }
}
}