diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-02-19 15:24:17 +0000 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-02-19 15:24:17 +0000 |
commit | 8b2c05afc0a9f8ad7490fd46bb1c8249d03c2fb8 (patch) | |
tree | 9ddf3b460679f93d81637d593baaa855a8f1db23 /modules | |
parent | 237656f6c85697c41a935d0b05979cebbb2cc87b (diff) |
1) Rename the module media_rss to rss
2) Protect the fullsize image with a permission check
3) Added a content:encoded element to each item which allows the image to show up in the body of the feed.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/media_rss/module.info | 3 | ||||
-rw-r--r-- | modules/rss/controllers/rss.php (renamed from modules/media_rss/controllers/media_rss.php) | 22 | ||||
-rw-r--r-- | modules/rss/helpers/rss.php (renamed from modules/media_rss/helpers/media_rss.php) | 6 | ||||
-rw-r--r-- | modules/rss/helpers/rss_installer.php (renamed from modules/media_rss/helpers/media_rss_installer.php) | 10 | ||||
-rw-r--r-- | modules/rss/helpers/rss_theme.php (renamed from modules/media_rss/helpers/media_rss_theme.php) | 6 | ||||
-rw-r--r-- | modules/rss/module.info | 3 | ||||
-rw-r--r-- | modules/rss/views/feed.mrss.php (renamed from modules/media_rss/views/feed.mrss.php) | 15 |
7 files changed, 40 insertions, 25 deletions
diff --git a/modules/media_rss/module.info b/modules/media_rss/module.info deleted file mode 100644 index 09b12c27..00000000 --- a/modules/media_rss/module.info +++ /dev/null @@ -1,3 +0,0 @@ -name = Media RSS -description = Provide a Media RSS feed for albums -version = 1 diff --git a/modules/media_rss/controllers/media_rss.php b/modules/rss/controllers/rss.php index 1bc34557..24ba7249 100644 --- a/modules/media_rss/controllers/media_rss.php +++ b/modules/rss/controllers/rss.php @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -class Media_RSS_Controller extends Controller { +class Rss_Controller extends Controller { public static $page_size = 30; public function albums($id) { @@ -28,7 +28,7 @@ class Media_RSS_Controller extends Controller { $page = $this->input->get("page", 1); if ($page < 1) { - url::redirect("media_rss/albums/{$item->id}"); + url::redirect("rss/albums/{$item->id}"); } $children = $item @@ -37,24 +37,24 @@ class Media_RSS_Controller extends Controller { $max_pages = ceil($item->viewable()->descendants_count("photo") / self::$page_size); if ($page > $max_pages) { - url::redirect("media_rss/albums/{$item->id}?page=$max_pages"); + url::redirect("rss/albums/{$item->id}?page=$max_pages"); } $view = new View("feed.mrss"); $view->title = $item->title; $view->link = url::abs_site("albums/{$item->id}"); $view->description = $item->description; - $view->feed_link = url::abs_site("media_rss/albums/{$item->id}"); + $view->feed_link = url::abs_site("rss/albums/{$item->id}"); $view->children = $children; if ($page > 1) { $previous_page = $page - 1; - $view->previous_page_link = url::site("media_rss/albums/{$item->id}?page={$previous_page}"); + $view->previous_page_link = url::site("rss/albums/{$item->id}?page={$previous_page}"); } if ($page < $max_pages) { $next_page = $page + 1; - $view->next_page_link = url::site("media_rss/albums/{$item->id}?page={$next_page}"); + $view->next_page_link = url::site("rss/albums/{$item->id}?page={$next_page}"); } // @todo do we want to add an upload date to the items table? @@ -72,31 +72,31 @@ class Media_RSS_Controller extends Controller { $page = $this->input->get("page", 1); if ($page < 1) { - url::redirect("media_rss/tags/{$tag->id}"); + url::redirect("rss/tags/{$tag->id}"); } $children = $tag->items(self::$page_size, ($page - 1) * self::$page_size, "photo"); $max_pages = ceil($tag->count / self::$page_size); if ($page > $max_pages) { - url::redirect("media_rss/tags/{$tag->id}?page=$max_pages"); + url::redirect("rss/tags/{$tag->id}?page=$max_pages"); } $view = new View("feed.mrss"); $view->title = $tag->name; $view->link = url::abs_site("tags/{$tag->id}"); $view->description = t("Photos related to %tag_name", array("tag_name" => $tag->name)); - $view->feed_link = url::abs_site("media_rss/tags/{$tag->id}"); + $view->feed_link = url::abs_site("rss/tags/{$tag->id}"); $view->children = $children; if ($page > 1) { $previous_page = $page - 1; - $view->previous_page_link = url::site("media_rss/tags/{$tag->id}?page={$previous_page}"); + $view->previous_page_link = url::site("rss/tags/{$tag->id}?page={$previous_page}"); } if ($page < $max_pages) { $next_page = $page + 1; - $view->next_page_link = url::site("media_rss/tags/{$tag->id}?page={$next_page}"); + $view->next_page_link = url::site("rss/tags/{$tag->id}?page={$next_page}"); } // @todo do we want to add an upload date to the items table? diff --git a/modules/media_rss/helpers/media_rss.php b/modules/rss/helpers/rss.php index 3f98277f..728c2847 100644 --- a/modules/media_rss/helpers/media_rss.php +++ b/modules/rss/helpers/rss.php @@ -18,13 +18,13 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -class media_rss_Core { +class rss_Core { static function item_feed($item) { $id = $item->is_album() ? $item->id : $item->parent_id; - return url::site("media_rss/albums/$id"); + return url::site("rss/albums/$id"); } static function tag_feed($tag) { - return url::site("media_rss/tags/$tag->id}"); + return url::site("rss/tags/$tag->id}"); } }
\ No newline at end of file diff --git a/modules/media_rss/helpers/media_rss_installer.php b/modules/rss/helpers/rss_installer.php index 170f2dfb..aabd5664 100644 --- a/modules/media_rss/helpers/media_rss_installer.php +++ b/modules/rss/helpers/rss_installer.php @@ -17,15 +17,17 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -class media_rss_installer { +class rss_installer { static function install() { - $version = module::get_version("media_rss"); + $version = module::get_version("rss"); if ($version == 0) { - module::set_version("media_rss", 1); + module::set_version("rss", 1); + // @todo remove this before the final or after the next intermin release + module::delete("media_rss"); } } static function uninstall() { - module::delete("media_rss"); + module::delete("rss"); } } diff --git a/modules/media_rss/helpers/media_rss_theme.php b/modules/rss/helpers/rss_theme.php index 84788e61..2880baa5 100644 --- a/modules/media_rss/helpers/media_rss_theme.php +++ b/modules/rss/helpers/rss_theme.php @@ -17,12 +17,12 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -class media_rss_theme_Core { +class rss_theme_Core { static function head($theme) { if ($theme->item()) { - $url = media_rss::item_feed($theme->item()); + $url = rss::item_feed($theme->item()); } else if ($theme->tag()) { - $url = media_rss::tag_feed($theme->tag()); + $url = rss::tag_feed($theme->tag()); } if (!empty($url)) { diff --git a/modules/rss/module.info b/modules/rss/module.info new file mode 100644 index 00000000..ffd26192 --- /dev/null +++ b/modules/rss/module.info @@ -0,0 +1,3 @@ +name = RSS +description = Provide a RSS feeds +version = 1 diff --git a/modules/media_rss/views/feed.mrss.php b/modules/rss/views/feed.mrss.php index d56b8ee0..6015f471 100644 --- a/modules/media_rss/views/feed.mrss.php +++ b/modules/rss/views/feed.mrss.php @@ -2,6 +2,7 @@ <? echo "<?xml version=\"1.0\" ?>" ?> <rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:content="http://purl.org/rss/1.0/modules/content" xmlns:fh="http://purl.org/syndication/history/1.0"> <channel> <generator>gallery3</generator> @@ -34,6 +35,16 @@ height="<?= $child->thumb_height ?>" width="<?= $child->thumb_width ?>" /> + <content:encoded> + <![CDATA[ + <p> + <img alt="" src="<?= $child->resize_url(true) ?>" + title="<?= htmlspecialchars($child->title) ?>" + height="<?= $child->resize_height ?>" width="<?= $child->resize_width ?>" /><br /> + <?= $child->description ?> + </p> + ]]> + </content:encoded> <media:group> <media:content url="<?= $child->resize_url(true) ?>" fileSize="<?= filesize($child->resize_path()) ?>" @@ -42,12 +53,14 @@ width="<?= $child->resize_width ?>" isDefault="true" /> - <media:content url="<?= $child->file_url(true) ?>" + <? if (access::can("view_full", $child)): ?> + <media:content url="<?= $child->file_url(true) ?>" fileSize="<?= filesize($child->file_path()) ?>" type="<?= $child->mime_type ?>" height="<?= $child->height ?>" width="<?= $child->width ?>" /> + <? endif ?> </media:group> </item> <? endforeach ?> |