From 7d66ab2e949bc915f108737f08cac2f9057ef729 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Thu, 29 Mar 2012 13:06:44 -0700 Subject: Improve comment RSS feed visibility, initially added by Thomas E. Horner in fc942aacda07346fa9af04853659eaeac1e766d3. Change some variable names, refactor out visibility checking code, actually check visibility at generation time instead of just suppressing the UI, update module.info Fixes #1829. --- modules/comment/controllers/admin_comments.php | 13 ++++++------- modules/comment/helpers/comment_installer.php | 2 +- modules/comment/helpers/comment_rss.php | 20 +++++++++++++------- modules/comment/module.info | 2 +- 4 files changed, 21 insertions(+), 16 deletions(-) (limited to 'modules/comment') diff --git a/modules/comment/controllers/admin_comments.php b/modules/comment/controllers/admin_comments.php index 684ce15d..bcd6a939 100644 --- a/modules/comment/controllers/admin_comments.php +++ b/modules/comment/controllers/admin_comments.php @@ -47,13 +47,12 @@ class Admin_Comments_Controller extends Admin_Controller { ->options(array("everybody" => t("Everybody"), "registered_users" => t("Only registered users"))) ->selected(module::get_var("comment", "access_permissions")); - $comment_settings->dropdown("rss_available") - ->label(t("Which RSS feeds should be available?")) - ->options(array("both" => t("Both"), - "newest" => t("Only All new comments"), - "onitem" => t("Only Comments on item"), - "none" => t("None"))) - ->selected(module::get_var("comment", "rss_available")); + $comment_settings->dropdown("rss_visible") + ->label(t("Which RSS feeds can users see?")) + ->options(array("all" => t("All comment feeds"), + "newest" => t("New comments feed only"), + "per_item" => t("Comments on photos, movies and albums only"))) + ->selected(module::get_var("comment", "rss_visible")); $comment_settings->submit("save")->value(t("Save")); return $form; } diff --git a/modules/comment/helpers/comment_installer.php b/modules/comment/helpers/comment_installer.php index e8d5e82c..a64064f6 100644 --- a/modules/comment/helpers/comment_installer.php +++ b/modules/comment/helpers/comment_installer.php @@ -78,7 +78,7 @@ class comment_installer { } if ($version == 4) { - module::set_var("comment", "rss_available", "both"); + module::set_var("comment", "rss_visible", "all"); module::set_version("comment", $version = 5); } } diff --git a/modules/comment/helpers/comment_rss.php b/modules/comment/helpers/comment_rss.php index 919aac95..cfee4727 100644 --- a/modules/comment/helpers/comment_rss.php +++ b/modules/comment/helpers/comment_rss.php @@ -19,17 +19,23 @@ */ class comment_rss_Core { - static function available_feeds($item, $tag) { - $avail = module::get_var("comment", "rss_available"); - if($avail == "none") { - return array(); + static function feed_visible($feed_id) { + $visible = module::get_var("comment", "rss_visible"); + if (!in_array($feed_id, array("newest", "per_item"))) { + return false; } - if($avail == "both" || $avail == "newest") { + return ($visible == "all" || $visible == $feed_id); + } + + static function available_feeds($item, $tag) { + $feeds = array(); + + if (comment_rss::feed_visible("newest")) { $feeds["comment/newest"] = t("All new comments"); } - if ($item && ($avail == "both" || $avail == "onitem")) { + if ($item && comment_rss::feed_visible("per_item")) { $feeds["comment/item/$item->id"] = t("Comments on %title", array("title" => html::purify($item->title))); } @@ -37,7 +43,7 @@ class comment_rss_Core { } static function feed($feed_id, $offset, $limit, $id) { - if ($feed_id != "newest" && $feed_id != "item") { + if (!comment_rss::feed_visible($feed_id)) { return; } diff --git a/modules/comment/module.info b/modules/comment/module.info index 4e7df6f1..ecbf8885 100644 --- a/modules/comment/module.info +++ b/modules/comment/module.info @@ -1,6 +1,6 @@ name = "Comments" description = "Allows users and guests to leave comments on photos and albums." -version = 4 +version = 5 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" info_url = "http://codex.gallery2.org/Gallery3:Modules:comment" -- cgit v1.2.3