diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 00f54c0abf..3537cb5a0b 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -86,6 +86,7 @@
- [Change] Validate birthdays (Bug #15004)
- [Fix] Allow correct avatar caching for CGI installations. (thanks wildbill)
+ - [Fix] Fix disabling of word censor, now possible again
1.i. Changes since 3.0.RC8
diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php
index b072895226..c0acd2eb41 100644
--- a/phpBB/includes/functions_content.php
+++ b/phpBB/includes/functions_content.php
@@ -647,12 +647,21 @@ function make_clickable($text, $server_url = false, $class = 'postlink')
function censor_text($text)
{
static $censors;
- global $cache;
+ // We moved the word censor checks in here because we call this function quite often - and then only need to do the check once
if (!isset($censors) || !is_array($censors))
{
- // obtain_word_list is taking care of the users censor option and the board-wide option
- $censors = $cache->obtain_word_list();
+ global $config, $user, $auth, $cache;
+
+ // We 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'))
+ {
+ $censors = array();
+ }
+ else
+ {
+ $censors = $cache->obtain_word_list();
+ }
}
if (sizeof($censors))