diff options
| author | javiexin <javiexin@gmail.com> | 2017-07-12 13:25:22 +0200 |
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2017-12-27 13:27:38 +0100 |
| commit | bd81af3b9e3174d1ea2dbf405b694e535e8b1b40 (patch) | |
| tree | 36a7797ae5d140a67f31e19e59a9613f5f97e61f /phpBB/includes | |
| parent | 31b93280ee906f7ac4052540cffc210bf323f056 (diff) | |
| download | forums-bd81af3b9e3174d1ea2dbf405b694e535e8b1b40.tar forums-bd81af3b9e3174d1ea2dbf405b694e535e8b1b40.tar.gz forums-bd81af3b9e3174d1ea2dbf405b694e535e8b1b40.tar.bz2 forums-bd81af3b9e3174d1ea2dbf405b694e535e8b1b40.tar.xz forums-bd81af3b9e3174d1ea2dbf405b694e535e8b1b40.zip | |
[ticket/15266] Expand functionality of content_visibility
Added new function "is_visible", and replaced several immediate
uses of the above, including a single event in the new function
to handle change in all places consistently, and much simpler.
PHPBB3-15266
Diffstat (limited to 'phpBB/includes')
| -rw-r--r-- | phpBB/includes/functions_download.php | 6 | ||||
| -rw-r--r-- | phpBB/includes/functions_mcp.php | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/phpBB/includes/functions_download.php b/phpBB/includes/functions_download.php index 053e362682..ad1762da63 100644 --- a/phpBB/includes/functions_download.php +++ b/phpBB/includes/functions_download.php @@ -650,6 +650,8 @@ function phpbb_increment_downloads($db, $ids) */ function phpbb_download_handle_forum_auth($db, $auth, $topic_id) { + global $phpbb_container; + $sql_array = array( 'SELECT' => 't.topic_visibility, t.forum_id, f.forum_name, f.forum_password, f.parent_id', 'FROM' => array( @@ -665,7 +667,9 @@ function phpbb_download_handle_forum_auth($db, $auth, $topic_id) $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); - if ($row && $row['topic_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $row['forum_id'])) + $phpbb_content_visibility = $phpbb_container->get('content.visibility'); + + if ($row && !$phpbb_content_visibility->is_visible('topic', $row['forum_id'], $row)) { send_status_line(404, 'Not Found'); trigger_error('ERROR_NO_ATTACHMENT'); diff --git a/phpBB/includes/functions_mcp.php b/phpBB/includes/functions_mcp.php index 1e08864bdc..0e26ca9b2a 100644 --- a/phpBB/includes/functions_mcp.php +++ b/phpBB/includes/functions_mcp.php @@ -197,7 +197,7 @@ function phpbb_get_topic_data($topic_ids, $acl_list = false, $read_tracking = fa */ function phpbb_get_post_data($post_ids, $acl_list = false, $read_tracking = false) { - global $db, $auth, $config, $user; + global $db, $auth, $config, $user, $phpbb_container; $rowset = array(); @@ -246,6 +246,8 @@ function phpbb_get_post_data($post_ids, $acl_list = false, $read_tracking = fals $result = $db->sql_query($sql); unset($sql_array); + $phpbb_content_visibility = $phpbb_container->get('content.visibility'); + while ($row = $db->sql_fetchrow($result)) { if ($acl_list && !$auth->acl_gets($acl_list, $row['forum_id'])) @@ -253,7 +255,7 @@ function phpbb_get_post_data($post_ids, $acl_list = false, $read_tracking = fals continue; } - if ($row['post_visibility'] != ITEM_APPROVED && !$auth->acl_get('m_approve', $row['forum_id'])) + if (!$phpbb_content_visibility->is_visible('post', $row['forum_id'], $row)) { // Moderators without the permission to approve post should at least not see them. ;) continue; |
