aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2012-10-01 22:44:39 +0200
committerJoas Schilling <nickvergessen@gmx.de>2012-10-01 22:44:39 +0200
commitb629b2cd95a9da67376f7a628c15199007e2ebd6 (patch)
tree2d6f56ea3bf15d17e1cba873d506bf3e1d3d1698 /phpBB/includes
parent4a65940e6206aef6b85a0aacfb5324ecabf76e12 (diff)
downloadforums-b629b2cd95a9da67376f7a628c15199007e2ebd6.tar
forums-b629b2cd95a9da67376f7a628c15199007e2ebd6.tar.gz
forums-b629b2cd95a9da67376f7a628c15199007e2ebd6.tar.bz2
forums-b629b2cd95a9da67376f7a628c15199007e2ebd6.tar.xz
forums-b629b2cd95a9da67376f7a628c15199007e2ebd6.zip
[feature/soft-delete] Add unit tests for get_global_visibility_sql()
PHPBB3-9657
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/content_visibility.php12
1 files changed, 10 insertions, 2 deletions
diff --git a/phpBB/includes/content_visibility.php b/phpBB/includes/content_visibility.php
index a598d863a4..e927460a49 100644
--- a/phpBB/includes/content_visibility.php
+++ b/phpBB/includes/content_visibility.php
@@ -135,12 +135,20 @@ class phpbb_content_visibility
* @param $table_alias string - Table alias to prefix in SQL queries
* @return string with the appropriate combination SQL logic for topic/post_visibility
*/
- static public function get_visibility_sql_global($mode, $exclude_forum_ids = array(), $table_alias = '')
+ static public function get_global_visibility_sql($mode, $exclude_forum_ids = array(), $table_alias = '')
{
global $auth, $db, $user;
// users can always see approved posts
- $where_sql = "($table_alias{$mode}_visibility = " . ITEM_APPROVED;
+ if (sizeof($exclude_forum_ids))
+ {
+ $where_sql = '((' . $db->sql_in_set($table_alias . 'forum_id', $exclude_forum_ids, true, true) . "
+ AND $table_alias{$mode}_visibility = " . ITEM_APPROVED . ')';
+ }
+ else
+ {
+ $where_sql = "($table_alias{$mode}_visibility = " . ITEM_APPROVED;
+ }
// in set notation: {approve_forums} = {m_approve} - {exclude_forums}
$approve_forums = array_diff(array_keys($auth->acl_getf('m_approve', true)), $exclude_forum_ids);