From f59b92e06cd76e39df4093bae8dd8a498a75ed92 Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sun, 23 Feb 2014 09:27:50 +0100 Subject: [PATCH] Fixed showing hidden posts in /comments If user has no privileges to list the hidden posts, comments on such posts won't show in /comments anymore. --- src/Models/SearchServices/CommentSearchService.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Models/SearchServices/CommentSearchService.php b/src/Models/SearchServices/CommentSearchService.php index c779ac1d..45f290ec 100644 --- a/src/Models/SearchServices/CommentSearchService.php +++ b/src/Models/SearchServices/CommentSearchService.php @@ -7,7 +7,10 @@ class CommentSearchService extends AbstractSearchService $stmt->addInnerJoin('post', new SqlEqualsOperator('post_id', 'post.id')); $allowedSafety = PrivilegesHelper::getAllowedSafety(); - $stmt->setCriterion(SqlInOperator::fromArray('post.safety', SqlBinding::fromArray($allowedSafety))); + $stmt->setCriterion(new SqlConjunction()); + $stmt->getCriterion()->add(SqlInOperator::fromArray('post.safety', SqlBinding::fromArray($allowedSafety))); + if (!PrivilegesHelper::confirm(Privilege::ListPosts, 'hidden')) + $stmt->getCriterion()->add(new SqlNegationOperator(new SqlStringExpression('hidden'))); $stmt->addOrderBy('comment.id', SqlSelectStatement::ORDER_DESC); }