From 32ea4406c87049b25d3d82351097e69f13168311 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 14 Jun 2009 21:51:54 -0700 Subject: Refactor the way that the rss module works so that we're not allowing the url to dictate arbitrary static method calls. * Each xxx_rss helper has a single feed() call which takes an id as the argument * xxx_rss::available_feedS() only returns feeds when they're applicable (ie if you're viewing a tag, it won't show you an item feed). * Feed urls are now in the module/feed_id form so that we can bind a feed id to a given module * Tightened up the Rss_Controller by using url::merge and some other tricks. * Made the slideshow module express its own feed. --- modules/rss/helpers/rss.php | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) (limited to 'modules/rss/helpers/rss.php') diff --git a/modules/rss/helpers/rss.php b/modules/rss/helpers/rss.php index 8a7d0c97..81ff175f 100644 --- a/modules/rss/helpers/rss.php +++ b/modules/rss/helpers/rss.php @@ -19,34 +19,18 @@ */ class rss_Core { - static function feed_link($uri) { - $url = url::site("rss/feed/$uri"); - return ""; - } - /** - * Get all available rss feeds + * Convert a rss feed id into a rss feed url. */ - static function available_feeds($item) { - $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) { - $feeds[$feed["description"]] = url::site("rss/feed/{$feed['uri']}"); - } - } - } - - return $feeds; + static function url($uri) { + return url::site("rss/feed/$uri"); } - static function feed_data($method, $offset, $limit, $id) { - foreach (module::active() as $module) { - $class_name = "{$module->name}_rss"; - if (method_exists($class_name, $feed)) { - return call_user_func(array($class_name, $feed), $offset, $limit, $id); - } - } + /** + * Return a element for a given rss feed id. + */ + static function feed_link($uri) { + $url = url::site("rss/feed/$uri"); + return ""; } } \ No newline at end of file -- cgit v1.2.3