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.

Signed-off-by:  <unostar@danalan.info>
This commit is contained in:
Bharat Mediratta
2009-06-15 17:31:22 +08:00
committed by
parent 0204a5c9e8
commit 0051c2c89b
9 changed files with 162 additions and 145 deletions
+11 -1
View File
@@ -20,7 +20,17 @@
class slideshow_theme_Core {
static function head($theme) {
$proto = (empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] === "off") ? "http" : "https";
return "<script src=\"$proto://lite.piclens.com/current/piclens_optimized.js\"" .
if (module::is_active("rss")) {
if ($item = $theme->item()) {
$buf = rss::feed_link("gallery/album/{$item->id}");
} else if ($tag = $theme->tag()) {
$buf = rss::feed_link("tag/{$tag->id}");
}
}
$buf .= "<script src=\"$proto://lite.piclens.com/current/piclens_optimized.js\"" .
"type=\"text/javascript\"></script>";
return $buf;
}
}