summaryrefslogtreecommitdiff
path: root/modules/rss/helpers/rss.php
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-06-14 21:51:54 -0700
committerBharat Mediratta <bharat@menalto.com>2009-06-14 21:51:54 -0700
commit32ea4406c87049b25d3d82351097e69f13168311 (patch)
tree43c12a5dcf25b3414772b0bfe88fca27318a7ed9 /modules/rss/helpers/rss.php
parent00fad54c0babfb0643c2ab9da98b4b74af84d466 (diff)
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.
Diffstat (limited to 'modules/rss/helpers/rss.php')
-rw-r--r--modules/rss/helpers/rss.php34
1 files changed, 9 insertions, 25 deletions
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 "<link rel=\"alternate\" type=\"" . rest::RSS . "\" href=\"$url\" />";
- }
-
/**
- * 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 <link> element for a given rss feed id.
+ */
+ static function feed_link($uri) {
+ $url = url::site("rss/feed/$uri");
+ return "<link rel=\"alternate\" type=\"" . rest::RSS . "\" href=\"$url\" />";
}
} \ No newline at end of file