From 1272d0837eeefb96af69bbb24a93b05cc818837f Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 11 Jun 2009 00:44:34 -0700 Subject: Changed rss_theme::sidebar_blocks to fire the event "request_feed_links" to allow modules to contribute rss feed links to the rss sidebar block. Ticket #388. --- modules/comment/helpers/comment_event.php | 6 ++++++ modules/gallery/helpers/gallery_event.php | 4 ++++ modules/rss/helpers/rss_theme.php | 13 ++++++------- 3 files changed, 16 insertions(+), 7 deletions(-) (limited to 'modules') diff --git a/modules/comment/helpers/comment_event.php b/modules/comment/helpers/comment_event.php index a3beb27a..6370e27d 100644 --- a/modules/comment/helpers/comment_event.php +++ b/modules/comment/helpers/comment_event.php @@ -21,4 +21,10 @@ class comment_event_Core { static function item_before_delete($item) { Database::instance()->delete("comments", array("item_id" => $item->id)); } + + static function request_feed_links($event_data) { + $event_data->feeds[t("All new comments")] = url::site("rss/comments"); + $event_data->feeds[sprintf(t("Comments on %s"), $event_data->item->title)] = + url::site("rss/comments/{$event_data->item->id}"); + } } diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php index aa11b7c0..b652d9a4 100644 --- a/modules/gallery/helpers/gallery_event.php +++ b/modules/gallery/helpers/gallery_event.php @@ -43,4 +43,8 @@ class gallery_event_Core { module::clear_var("gallery", "choose_default_tookit"); } } + + static function request_feed_links($event_data) { + $event_data->feeds[t("New photos or movies")] = url::site("rss/updates"); + } } diff --git a/modules/rss/helpers/rss_theme.php b/modules/rss/helpers/rss_theme.php index 54bba210..185d9d45 100644 --- a/modules/rss/helpers/rss_theme.php +++ b/modules/rss/helpers/rss_theme.php @@ -43,13 +43,12 @@ class rss_theme_Core { // @todo consider pushing the code for the feeds back to the associated modules // and create an event 'generate_rss_feeds' that modules can respond to create // the list of feeds. - $feeds = array(t("New photos or movies") => url::site("rss/updates")); - if (module::is_active("comment")) { - $feeds[t("All new comments")] = url::site("rss/comments"); - $feeds[sprintf(t("Comments on %s"), $theme->item()->title)] = - url::site("rss/comments/{$theme->item()->id}"); - } - $block->content->feeds = $feeds; + $event_data = new stdClass(); + $event_data->feeds = array(); + $event_data->item = $theme->item(); + + module::event("request_feed_links", $event_data); + $block->content->feeds = $event_data->feeds; return $block; } } -- cgit v1.2.3