diff options
author | brunoais <brunoaiss@gmail.com> | 2015-02-09 10:44:12 +0000 |
---|---|---|
committer | brunoais <brunoaiss@gmail.com> | 2015-02-09 10:44:12 +0000 |
commit | bb7d294190fec9f0ef83787d6ae5a57266ad7091 (patch) | |
tree | 04935c33891ff10c079cf28e87614c4383da68c3 /phpBB/phpbb/content_visibility.php | |
parent | 8a4df90dac51a6232d9fccbd8ec1144cfabd83c0 (diff) | |
download | forums-bb7d294190fec9f0ef83787d6ae5a57266ad7091.tar forums-bb7d294190fec9f0ef83787d6ae5a57266ad7091.tar.gz forums-bb7d294190fec9f0ef83787d6ae5a57266ad7091.tar.bz2 forums-bb7d294190fec9f0ef83787d6ae5a57266ad7091.tar.xz forums-bb7d294190fec9f0ef83787d6ae5a57266ad7091.zip |
[ticket/13592] Allow full override of get_visibility_sql()
PHPBB3-13592
Diffstat (limited to 'phpBB/phpbb/content_visibility.php')
-rw-r--r-- | phpBB/phpbb/content_visibility.php | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/phpBB/phpbb/content_visibility.php b/phpBB/phpbb/content_visibility.php index 8db8bcc3be..a324c6b8b5 100644 --- a/phpBB/phpbb/content_visibility.php +++ b/phpBB/phpbb/content_visibility.php @@ -145,6 +145,7 @@ class content_visibility { $where_sql = ''; + $get_visibility_sql_overwrite = false; /** * Allow changing the result of calling get_visibility_sql * @@ -153,6 +154,9 @@ class content_visibility * @var string mode Either "topic" or "post" depending on the query this is being used in * @var array forum_id The forum id in which the search is made. * @var string table_alias Table alias to prefix in SQL queries + * @var mixed get_visibility_sql_overwrite If a string, forces the function to return get_forums_visibility_sql_overwrite after executing the event + * If false, get_visibility_sql continues normally + * It must be either boolean or string * @since 3.1.4-RC1 */ $vars = array( @@ -160,9 +164,15 @@ class content_visibility 'mode', 'forum_id', 'table_alias', + 'get_visibility_sql_overwrite', ); extract($this->phpbb_dispatcher->trigger_event('core.phpbb_content_get_visibility_sql_visibility_before', compact($vars))); + if ($get_visibility_sql_overwrite !== false) + { + return $get_visibility_sql_overwrite; + } + if ($this->auth->acl_get('m_approve', $forum_id)) { return $where_sql . '1 = 1'; |