aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/content_visibility.php8
-rw-r--r--phpBB/includes/functions.php3
2 files changed, 9 insertions, 2 deletions
diff --git a/phpBB/includes/content_visibility.php b/phpBB/includes/content_visibility.php
index 5c3e9d39dd..287c46a335 100644
--- a/phpBB/includes/content_visibility.php
+++ b/phpBB/includes/content_visibility.php
@@ -43,9 +43,15 @@ class phpbb_content_visibility
{
$status_ary[] = ITEM_DELETED;
+ if (sizeof($status_ary) == 3)
+ {
+ // The user can see all types, so we simplify this to an empty string,
+ // as we don't need to restrict anything on the query.
+ return '';
+ }
+
// If the user has m_restore, the rest of the function will not
// make more content visible, so we can return the query here.
- // This avoids one OR in all queries
return $db->sql_in_set($table_alias . $mode . '_visibility', $status_ary);
}
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index ecec1e5e4a..4b7b3d5057 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -1855,7 +1855,8 @@ function update_forum_tracking_info($forum_id, $forum_last_post_time, $f_mark_ti
// Handle update of unapproved topics info.
// Only update for moderators having m_approve permission for the forum.
- $sql_update_unapproved = ($auth->acl_get('m_approve', $forum_id)) ? '': 'AND t.topic_approved = 1';
+ $sql_update_unapproved = phpbb_content_visibility::get_visibility_sql('topic', $forum_id, 't.');
+ $sql_update_unapproved = ($sql_update_unapproved) ? ' AND ' . $sql_update_unapproved : '';
// Check the forum for any left unread topics.
// If there are none, we mark the forum as read.