aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2020-01-25 15:35:29 +0100
committerMarc Alexander <admin@m-a-styles.de>2020-01-25 15:35:29 +0100
commitceaf6fcffee44c7ae698872485d4ad0c8a42f9d2 (patch)
tree9b4c22d5c1e7449db8472a5b45085222c8f1d24e
parentMerge pull request #5836 from 3D-I/ticket/16316 (diff)
parent[ticket/16337] Fix Emoji in BBcode Helpline (diff)
downloadphpbb-ceaf6fcffee44c7ae698872485d4ad0c8a42f9d2.tar.gz
phpbb-ceaf6fcffee44c7ae698872485d4ad0c8a42f9d2.tar.bz2
phpbb-ceaf6fcffee44c7ae698872485d4ad0c8a42f9d2.zip
Merge pull request #5837 from 3D-I/ticket/16337
[ticket/16337] Fix Emoji in BBcode Helpline
-rw-r--r--phpBB/includes/acp/acp_bbcodes.php6
-rw-r--r--phpBB/includes/functions_display.php3
2 files changed, 9 insertions, 0 deletions
diff --git a/phpBB/includes/acp/acp_bbcodes.php b/phpBB/includes/acp/acp_bbcodes.php
index bd8df6a63b..a74bf03b1e 100644
--- a/phpBB/includes/acp/acp_bbcodes.php
+++ b/phpBB/includes/acp/acp_bbcodes.php
@@ -226,6 +226,12 @@ class acp_bbcodes
trigger_error($user->lang['BBCODE_HELPLINE_TOO_LONG'] . adm_back_link($this->u_action), E_USER_WARNING);
}
+ /**
+ * Replace Emojis and other 4bit UTF-8 chars not allowed by MySQL to UCR/NCR.
+ * Using their Numeric Character Reference's Hexadecimal notation.
+ */
+ $bbcode_helpline = utf8_encode_ucr($bbcode_helpline);
+
$sql_ary = array_merge($sql_ary, array(
'bbcode_tag' => $data['bbcode_tag'],
'bbcode_match' => $bbcode_match,
diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php
index e4adce14fc..0f6efca34e 100644
--- a/phpBB/includes/functions_display.php
+++ b/phpBB/includes/functions_display.php
@@ -1114,6 +1114,9 @@ function display_custom_bbcodes()
$row['bbcode_helpline'] = $user->lang[strtoupper($row['bbcode_helpline'])];
}
+ // Convert Numeric Character References to UTF-8 chars.
+ $row['bbcode_helpline'] = utf8_decode_ncr($row['bbcode_helpline']);
+
$custom_tags = array(
'BBCODE_NAME' => "'[{$row['bbcode_tag']}]', '[/" . str_replace('=', '', $row['bbcode_tag']) . "]'",
'BBCODE_ID' => $num_predefined_bbcodes + ($i * 2),