From d6427e777c6208485714db08902088e73459088d Mon Sep 17 00:00:00 2001 From: 3D-I <480857+3D-I@users.noreply.github.com> Date: Thu, 24 Dec 2020 00:04:36 +0100 Subject: [PATCH 1/3] [ticket/16665] Fix Emoji for strings in board settings PHPBB3-16665 --- phpBB/includes/acp/acp_board.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index 968c9762cc..9001459928 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -582,7 +582,20 @@ class acp_board continue; } - $config->set($config_name, $config_value); + $config_name_ary = ['sitename', 'site_desc', 'site_home_text', 'board_index_text', 'board_disable_msg']; + + if (in_array($config_name, $config_name_ary)) + { + /** + * Replace Emojis and other 4bit UTF-8 chars not allowed by MySQL to UCR/NCR. + * Using their Numeric Character Reference's Hexadecimal notation. + */ + $config->set($config_name, utf8_encode_ucr($config_value)); + } + else + { + $config->set($config_name, $config_value); + } if ($config_name == 'allow_quick_reply' && isset($_POST['allow_quick_reply_enable'])) { From c37e8ae8b9754e70f8bb38db5c95b6fd29179a32 Mon Sep 17 00:00:00 2001 From: 3D-I <480857+3D-I@users.noreply.github.com> Date: Thu, 24 Dec 2020 05:27:12 +0100 Subject: [PATCH 2/3] [ticket/16665] Fix Emoji for strings in board settings Add event PHPBB3-16665 --- phpBB/includes/acp/acp_board.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index 9001459928..9f89bd74cf 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -584,6 +584,16 @@ class acp_board $config_name_ary = ['sitename', 'site_desc', 'site_home_text', 'board_index_text', 'board_disable_msg']; + /** + * Event to manage the array of emoji-enabled configurations + * + * @event core.acp_board_config_emoji_enabled + * @var array config_name_ary Array of config names to process + * @since 3.3.3-RC1 + */ + $vars = ['config_name_ary']; + extract($phpbb_dispatcher->trigger_event('core.acp_board_config_emoji_enabled', compact($vars))); + if (in_array($config_name, $config_name_ary)) { /** From f95802c2117f6e3f9909868a2e4482ff441b2d19 Mon Sep 17 00:00:00 2001 From: 3D-I <480857+3D-I@users.noreply.github.com> Date: Tue, 29 Dec 2020 20:53:57 +0100 Subject: [PATCH 3/3] [ticket/16665] Fix Emoji for strings in board settings PHPBB3-16665 --- phpBB/includes/acp/acp_board.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index 9f89bd74cf..e22d493a0f 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -582,7 +582,14 @@ class acp_board continue; } - $config_name_ary = ['sitename', 'site_desc', 'site_home_text', 'board_index_text', 'board_disable_msg']; + // Array of emoji-enabled configurations + $config_name_ary = [ + 'sitename', + 'site_desc', + 'site_home_text', + 'board_index_text', + 'board_disable_msg', + ]; /** * Event to manage the array of emoji-enabled configurations