diff options
author | rxu <rxu@mail.ru> | 2014-11-06 10:53:19 +0700 |
---|---|---|
committer | rxu <rxu@mail.ru> | 2014-11-20 00:47:51 +0700 |
commit | 1e867ce52b1f3354e963b83c7d48f592bbd583e9 (patch) | |
tree | b40d7c4bb412b11b8c24a092a603b345e61edc4a /phpBB/includes/message_parser.php | |
parent | a1b58d05d158ff7afd789c1b27821e17198f8d58 (diff) | |
download | forums-1e867ce52b1f3354e963b83c7d48f592bbd583e9.tar forums-1e867ce52b1f3354e963b83c7d48f592bbd583e9.tar.gz forums-1e867ce52b1f3354e963b83c7d48f592bbd583e9.tar.bz2 forums-1e867ce52b1f3354e963b83c7d48f592bbd583e9.tar.xz forums-1e867ce52b1f3354e963b83c7d48f592bbd583e9.zip |
[ticket/13294] Add function parse() core event for additional message checks
Add core event to the function parse() in includes/message_parser.php to allow
additional handling message before parsing (i.e. perform custom message
checks, cleanup etc.).
PHPBB3-13294
Diffstat (limited to 'phpBB/includes/message_parser.php')
-rw-r--r-- | phpBB/includes/message_parser.php | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 92ace7b585..bc996cf275 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -1103,7 +1103,7 @@ class parse_message extends bbcode_firstpass */ function parse($allow_bbcode, $allow_magic_url, $allow_smilies, $allow_img_bbcode = true, $allow_flash_bbcode = true, $allow_quote_bbcode = true, $allow_url_bbcode = true, $update_this_message = true, $mode = 'post') { - global $config, $db, $user; + global $config, $db, $user, $phpbb_dispatcher; $this->mode = $mode; @@ -1158,6 +1158,49 @@ class parse_message extends bbcode_firstpass } } + /** + * This event can be used for additional message checks/cleanup before parsing + * + * @event core.message_parser_check_message + * @var bool allow_bbcode Do we allow BBCodes + * @var bool allow_magic_url Do we allow magic urls + * @var bool allow_smilies Do we allow smilies + * @var bool allow_img_bbcode Do we allow image BBCode + * @var bool allow_flash_bbcode Do we allow flash BBCode + * @var bool allow_quote_bbcode Do we allow quote BBCode + * @var bool allow_url_bbcode Do we allow url BBCode + * @var bool update_this_message Do we alter the parsed message + * @var string mode Posting mode + * @var string message The message text to parse + * @var bool return Do we return after the event is triggered if $warn_msg is not empty + * @var array warn_msg Array of the warning messages + * @since 3.1.2-RC1 + */ + $message = $this->message; + $warn_msg = $this->warn_msg; + $return = false; + $vars = array( + 'allow_bbcode', + 'allow_magic_url', + 'allow_smilies', + 'allow_img_bbcode', + 'allow_flash_bbcode', + 'allow_quote_bbcode', + 'allow_url_bbcode', + 'update_this_message', + 'mode', + 'message', + 'return', + 'warn_msg', + ); + extract($phpbb_dispatcher->trigger_event('core.message_parser_check_message', compact($vars))); + $this->message = $message; + $this->warn_msg = $warn_msg; + if ($return && !empty($this->warn_msg)) + { + return (!$update_this_message) ? $return_message : $this->warn_msg; + } + // Prepare BBcode (just prepares some tags for better parsing) if ($allow_bbcode && strpos($this->message, '[') !== false) { |