diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php index 6f861b8607..4fb76a6f7e 100644 --- a/phpBB/includes/functions_content.php +++ b/phpBB/includes/functions_content.php @@ -392,7 +392,7 @@ function phpbb_clean_search_string($search_string) */ function decode_message(&$message, $bbcode_uid = '') { - global $config; + global $config, $phpbb_dispatcher; if ($bbcode_uid) { @@ -405,12 +405,38 @@ function decode_message(&$message, $bbcode_uid = '') $replace = array("\n"); } + /** + * Use this event to modify the message before it is decoded + * + * @event core.decode_message_before + * @var string message The message content + * @var string bbcode_uid The message BBCode UID + * @var string match Match pattern to replace + * @var int replace Replacement for the matched text + * @since 3.1.8-RC1 + */ + $vars = array('message', 'bbcode_uid', 'match', 'replace'); + extract($phpbb_dispatcher->trigger_event('core.decode_message_before', compact($vars))); + $message = str_replace($match, $replace, $message); $match = get_preg_expression('bbcode_htm'); $replace = array('\1', '\1', '\2', '\1', '', ''); $message = preg_replace($match, $replace, $message); + + /** + * Use this event to modify the message after it is decoded + * + * @event core.decode_message_after + * @var string message The message content + * @var string bbcode_uid The message BBCode UID + * @var string match Match pattern to replace + * @var int replace Replacement for the matched text + * @since 3.1.8-RC1 + */ + $vars = array('message', 'bbcode_uid', 'match', 'replace'); + extract($phpbb_dispatcher->trigger_event('core.decode_message_after', compact($vars))); } /**