From 681eff9eda070dcf7e1dc5334964446b3ef4d3da Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Tue, 2 Mar 2010 01:37:13 +0000 Subject: [PATCH] ENHANCEMENT: allow ordering of page commented to be configurabled git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.4@100327 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/sitefeatures/PageCommentInterface.php | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/code/sitefeatures/PageCommentInterface.php b/code/sitefeatures/PageCommentInterface.php index ae1b7716..b3dae5e0 100755 --- a/code/sitefeatures/PageCommentInterface.php +++ b/code/sitefeatures/PageCommentInterface.php @@ -54,6 +54,15 @@ class PageCommentInterface extends RequestHandler { */ static $show_comments_when_disabled = true; + /** + * Define how you want to order page comments by. By default order by newest + * to oldest. + * + * @var String - used as $orderby in DB query + * @since 2.4 + */ + static $order_comments_by = "\"Created\" DESC"; + /** * Create a new page comment interface * @param controller The controller that the interface is used on @@ -97,8 +106,19 @@ class PageCommentInterface extends RequestHandler { static function set_show_comments_when_disabled($state) { self::$show_comments_when_disabled = $state; } + + /** + * See {@link PageCommentInterface::$order_comments_by} + * + * @param String + */ + static function set_order_comments_by($order) { + self::$order_comments_by = $order; + } + /** * See {@link PageCommentInterface::$use_ajax_commenting} + * * @param bool */ static function set_use_ajax_commenting($state) { @@ -212,7 +232,8 @@ class PageCommentInterface extends RequestHandler { $spamfilter = isset($_GET['showspam']) ? '' : "AND \"IsSpam\" = 0"; $unmoderatedfilter = Permission::check('ADMIN') ? '' : "AND \"NeedsModeration\" = 0"; - $comments = DataObject::get("PageComment", "\"ParentID\" = '" . Convert::raw2sql($this->page->ID) . "' $spamfilter $unmoderatedfilter", '"Created" DESC', "", $limit); + $order = self::$order_comments_by; + $comments = DataObject::get("PageComment", "\"ParentID\" = '" . Convert::raw2sql($this->page->ID) . "' $spamfilter $unmoderatedfilter", $order, "", $limit); if(is_null($comments)) { return;