diff options
author | Bharat Mediratta <bharat@menalto.com> | 2009-06-12 12:00:20 -0700 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2009-06-12 12:00:20 -0700 |
commit | 1406cb7c0fc401b530c10286aa26434a92a2b113 (patch) | |
tree | fd12da0853060f134bdaa5cb4be87a6b3879ffb4 /modules/rss/helpers/rss.php | |
parent | 6749a835e71826d4f8cffb0d859edc0e2b4e6b96 (diff) | |
parent | 30bdaa81233fc2904367cd39017597b33f05efa9 (diff) |
Merge branch 'master' of git@github.com:gallery/gallery3
Diffstat (limited to 'modules/rss/helpers/rss.php')
-rw-r--r-- | modules/rss/helpers/rss.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/rss/helpers/rss.php b/modules/rss/helpers/rss.php index b320aeae..1d30425f 100644 --- a/modules/rss/helpers/rss.php +++ b/modules/rss/helpers/rss.php @@ -27,4 +27,33 @@ class rss_Core { static function tag_feed($tag) { return url::site("rss/tags/$tag->id}"); } + + /** + * Get all available rss feeds + */ + static function get_feeds($item, $sidebar_only=true) { + $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) { + if ($sidebar_only && !$feed["sidebar"]) { + continue; + } + $feeds[$feed["description"]] = url::site("rss/{$feed['uri']}"); + } + } + } + + return $feeds; + } + + static function process_feed($feed, $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); + } + } + } }
\ No newline at end of file |