diff options
author | Máté Bartus <CHItA@users.noreply.github.com> | 2017-09-07 15:09:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-07 15:09:48 +0200 |
commit | 114f38648b837530e2656d3c67941c003ae9f91b (patch) | |
tree | 6ed0ccc78b40c1175af407b34900c306550d9798 | |
parent | f6166225cfea68e5b7f8dd1e6ef7df8e4fd1e8b3 (diff) | |
parent | de6a0a7dc1e0e52f05e7b5ced085ef8f17650ff1 (diff) | |
download | forums-114f38648b837530e2656d3c67941c003ae9f91b.tar forums-114f38648b837530e2656d3c67941c003ae9f91b.tar.gz forums-114f38648b837530e2656d3c67941c003ae9f91b.tar.bz2 forums-114f38648b837530e2656d3c67941c003ae9f91b.tar.xz forums-114f38648b837530e2656d3c67941c003ae9f91b.zip |
Merge pull request #4900 from rxu/ticket/15318
[ticket/15318] Make user option to disable word censoring effective again
-rw-r--r-- | phpBB/includes/functions_content.php | 8 | ||||
-rw-r--r-- | tests/text_processing/generate_text_for_display_test.php | 17 |
2 files changed, 21 insertions, 4 deletions
diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php index c3e7a7ceb7..06223027d8 100644 --- a/phpBB/includes/functions_content.php +++ b/phpBB/includes/functions_content.php @@ -557,6 +557,7 @@ function strip_bbcode(&$text, $uid = '') function generate_text_for_display($text, $uid, $bitfield, $flags, $censor_text = true) { static $bbcode; + global $auth, $config, $user; global $phpbb_dispatcher, $phpbb_container; if ($text === '') @@ -584,6 +585,13 @@ function generate_text_for_display($text, $uid, $bitfield, $flags, $censor_text // Temporarily switch off viewcensors if applicable $old_censor = $renderer->get_viewcensors(); + + // Check here if the user is having viewing censors disabled (and also allowed to do so). + if (!$user->optionget('viewcensors') && $config['allow_nocensors'] && $auth->acl_get('u_chgcensors')) + { + $censor_text = false; + } + if ($old_censor !== $censor_text) { $renderer->set_viewcensors($censor_text); diff --git a/tests/text_processing/generate_text_for_display_test.php b/tests/text_processing/generate_text_for_display_test.php index 9c7152a008..86bc803c98 100644 --- a/tests/text_processing/generate_text_for_display_test.php +++ b/tests/text_processing/generate_text_for_display_test.php @@ -29,7 +29,7 @@ class phpbb_text_processing_generate_text_for_display_test extends phpbb_test_ca */ public function test_legacy($original, $expected, $uid = '', $bitfield = '', $flags = 0, $censor_text = true) { - global $cache, $user; + global $auth, $cache, $config, $user; global $phpbb_root_path, $phpEx; @@ -63,7 +63,7 @@ class phpbb_text_processing_generate_text_for_display_test extends phpbb_test_ca public function test_censor_is_restored() { - global $phpbb_container; + global $auth, $user, $config, $phpbb_container; $phpbb_container = new phpbb_mock_container_builder; @@ -72,7 +72,8 @@ class phpbb_text_processing_generate_text_for_display_test extends phpbb_test_ca $lang_loader = new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx); $lang = new \phpbb\language\language($lang_loader); $user = new \phpbb\user($lang, '\phpbb\datetime'); - $user->optionset('viewcensors', false); + // Do not ignore word censoring by user (switch censoring on in UCP) + $user->optionset('viewcensors', true); $config = new \phpbb\config\config(array('allow_nocensors' => true)); @@ -102,6 +103,14 @@ class phpbb_text_processing_generate_text_for_display_test extends phpbb_test_ca $this->assertSame('apple', $renderer->render($original)); $this->assertSame('banana', generate_text_for_display($original, '', '', 0, true)); $this->assertSame('apple', $renderer->render($original), 'The original setting was not restored'); + + // Test user option switch to ignore censoring + $renderer->set_viewcensors(true); + // 1st: censoring is still on in UCP + $this->assertSame('banana', generate_text_for_display($original, '', '', 0, true)); + // 2nd: switch censoring off in UCP + $user->optionset('viewcensors', false); + $this->assertSame('apple', generate_text_for_display($original, '', '', 0, true)); } /** @@ -109,7 +118,7 @@ class phpbb_text_processing_generate_text_for_display_test extends phpbb_test_ca */ public function test_text_formatter($original, $expected, $censor_text = true, $setup = null) { - global $phpbb_container; + global $auth, $user, $config, $phpbb_container; $phpbb_container = new phpbb_mock_container_builder; |