aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrxu <rxu@mail.ru>2015-12-17 23:06:51 +0700
committerrxu <rxu@mail.ru>2015-12-17 23:06:51 +0700
commitfb78fc7ae0d870262483f9dcc588601cd656b66b (patch)
treefd79359e0eb246c133d85221dab6211421f6625b
parent67f3017274fdc749c9e5c75930dd15e3b1d0317d (diff)
downloadforums-fb78fc7ae0d870262483f9dcc588601cd656b66b.tar
forums-fb78fc7ae0d870262483f9dcc588601cd656b66b.tar.gz
forums-fb78fc7ae0d870262483f9dcc588601cd656b66b.tar.bz2
forums-fb78fc7ae0d870262483f9dcc588601cd656b66b.tar.xz
forums-fb78fc7ae0d870262483f9dcc588601cd656b66b.zip
[ticket/14366] Add core events to the function decode_message()
Add core event to the function decode_message() in includes/functions_content.php to allow extensions performing additional message handling before/after decoding. PHPBB3-14366
-rw-r--r--phpBB/includes/functions_content.php28
1 files changed, 27 insertions, 1 deletions
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)));
}
/**