diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2015-05-28 10:49:45 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2015-05-28 10:49:45 +0200 |
commit | 95b3b4605a073edde70027c4ad4c889cec89c7a8 (patch) | |
tree | a647b817a46876469a6de8e38a0187f9e53555bb /phpBB/includes/message_parser.php | |
parent | 2ee9baa3d0d8ca1d1b31dbf8aa471d5726aacedc (diff) | |
parent | 7580798a5a24599ba7ed8de6d7a4a60875d8e2ec (diff) | |
download | forums-95b3b4605a073edde70027c4ad4c889cec89c7a8.tar forums-95b3b4605a073edde70027c4ad4c889cec89c7a8.tar.gz forums-95b3b4605a073edde70027c4ad4c889cec89c7a8.tar.bz2 forums-95b3b4605a073edde70027c4ad4c889cec89c7a8.tar.xz forums-95b3b4605a073edde70027c4ad4c889cec89c7a8.zip |
Merge branch '3.1.x'
Diffstat (limited to 'phpBB/includes/message_parser.php')
-rw-r--r-- | phpBB/includes/message_parser.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index 8526195664..cbd2282e96 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -128,6 +128,9 @@ class bbcode_firstpass extends bbcode // [quote] in second position. // To parse multiline URL we enable dotall option setting only for URL text // but not for link itself, thus [url][/url] is not affected. + // + // To perform custom validation in extension, use $this->validate_bbcode_by_extension() + // method which accepts variable number of parameters $this->bbcodes = array( 'code' => array('bbcode_id' => 8, 'regexp' => array('#\[code(?:=([a-z]+))?\](.+\[/code\])#uise' => "\$this->bbcode_code('\$1', '\$2')")), 'quote' => array('bbcode_id' => 0, 'regexp' => array('#\[quote(?:="(.*?)")?\](.+)\[/quote\]#uise' => "\$this->bbcode_quote('\$0')")), @@ -1855,4 +1858,36 @@ class parse_message extends bbcode_firstpass { $this->mimetype_guesser = $mimetype_guesser; } + + /** + * Function to perform custom bbcode validation by extensions + * can be used in bbcode_init() to assign regexp replacement + * Example: 'regexp' => array('#\[b\](.*?)\[/b\]#uise' => "\$this->validate_bbcode_by_extension('\$1')") + * + * Accepts variable number of parameters + * + * @return mixed Validation result + */ + public function validate_bbcode_by_extension() + { + global $phpbb_dispatcher; + + $return = false; + $params_array = func_get_args(); + + /** + * Event to validate bbcode with the custom validating methods + * provided by extensions + * + * @event core.validate_bbcode_by_extension + * @var array params_array Array with the function parameters + * @var mixed return Validation result to return + * + * @since 3.1.5-RC1 + */ + $vars = array('params_array', 'return'); + extract($phpbb_dispatcher->trigger_event('core.validate_bbcode_by_extension', compact($vars))); + + return $return; + } } |