Skip to content

Commit

Permalink
[ticket/13294] Add function parse() core event for additional message…
Browse files Browse the repository at this point in the history
… 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
  • Loading branch information
rxu committed Nov 19, 2014
1 parent a1b58d0 commit 1e867ce
Showing 1 changed file with 44 additions and 1 deletion.
45 changes: 44 additions & 1 deletion phpBB/includes/message_parser.php
Expand Up @@ -1103,7 +1103,7 @@ function parse_message($message = '')
*/
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;

Expand Down Expand Up @@ -1158,6 +1158,49 @@ function parse($allow_bbcode, $allow_magic_url, $allow_smilies, $allow_img_bbcod
}
}

/**
* 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)
{
Expand Down

0 comments on commit 1e867ce

Please sign in to comment.