aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/posting.php
diff options
context:
space:
mode:
author3D-I <480857+3D-I@users.noreply.github.com>2019-12-30 02:25:26 +0100
committer3D-I <480857+3D-I@users.noreply.github.com>2019-12-30 02:26:31 +0100
commit364461b58fd40af8fe8c7513fe9424de483055b9 (patch)
treedfa19502064c10b05b8f27d1a769fc498795c28b /phpBB/posting.php
parent3e5090e792e6ba2be4ee1119ebdd6e82d9ef53e3 (diff)
downloadforums-364461b58fd40af8fe8c7513fe9424de483055b9.tar
forums-364461b58fd40af8fe8c7513fe9424de483055b9.tar.gz
forums-364461b58fd40af8fe8c7513fe9424de483055b9.tar.bz2
forums-364461b58fd40af8fe8c7513fe9424de483055b9.tar.xz
forums-364461b58fd40af8fe8c7513fe9424de483055b9.zip
[ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
Diffstat (limited to 'phpBB/posting.php')
-rw-r--r--phpBB/posting.php27
1 files changed, 15 insertions, 12 deletions
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 59616a2858..57b52320a3 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -1184,21 +1184,24 @@ if ($submit || $preview || $refresh)
/**
* Replace Emojis and other 4bit UTF-8 chars not allowed by MySQL to UCR/NCR.
* Using their Numeric Character Reference's Hexadecimal notation.
+ * Check the permissions for posting Emojis first.
*/
- $post_data['post_subject'] = utf8_encode_ucr($post_data['post_subject']);
-
- /**
- * This should never happen again.
- * Leaving the fallback here just in case there will be the need of it.
- *
- * Check for out-of-bounds characters that are currently
- * not supported by utf8_bin in MySQL
- */
- if (preg_match_all('/[\x{10000}-\x{10FFFF}]/u', $post_data['post_subject'], $matches))
+ if ($auth->acl_get('u_emoji'))
+ {
+ $post_data['post_subject'] = utf8_encode_ucr($post_data['post_subject']);
+ }
+ else
{
- $character_list = implode('<br>', $matches[0]);
+ /**
+ * Check for out-of-bounds characters that are currently
+ * not supported by utf8_bin in MySQL
+ */
+ if (preg_match_all('/[\x{10000}-\x{10FFFF}]/u', $post_data['post_subject'], $matches))
+ {
+ $character_list = implode('<br>', $matches[0]);
- $error[] = $user->lang('UNSUPPORTED_CHARACTERS_SUBJECT', $character_list);
+ $error[] = $user->lang('UNSUPPORTED_CHARACTERS_SUBJECT', $character_list);
+ }
}
$post_data['poll_last_vote'] = (isset($post_data['poll_last_vote'])) ? $post_data['poll_last_vote'] : 0;