mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
Merge branch '3.1.x'
This commit is contained in:
commit
95b3b4605a
2 changed files with 69 additions and 0 deletions
|
@ -202,6 +202,8 @@ class bbcode
|
||||||
$db->sql_freeresult($result);
|
$db->sql_freeresult($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// To perform custom second pass in extension, use $this->bbcode_second_pass_by_extension()
|
||||||
|
// method which accepts variable number of parameters
|
||||||
foreach ($bbcode_ids as $bbcode_id)
|
foreach ($bbcode_ids as $bbcode_id)
|
||||||
{
|
{
|
||||||
switch ($bbcode_id)
|
switch ($bbcode_id)
|
||||||
|
@ -633,4 +635,36 @@ class bbcode
|
||||||
|
|
||||||
return $code;
|
return $code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to perform custom bbcode second pass by extensions
|
||||||
|
* can be used to assign bbcode pattern replacement
|
||||||
|
* Example: '#\[list=([^\[]+):$uid\]#e' => "\$this->bbcode_second_pass_by_extension('\$1')"
|
||||||
|
*
|
||||||
|
* Accepts variable number of parameters
|
||||||
|
*
|
||||||
|
* @return mixed Second pass result
|
||||||
|
*/
|
||||||
|
function bbcode_second_pass_by_extension()
|
||||||
|
{
|
||||||
|
global $phpbb_dispatcher;
|
||||||
|
|
||||||
|
$return = false;
|
||||||
|
$params_array = func_get_args();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event to perform bbcode second pass with
|
||||||
|
* the custom validating methods provided by extensions
|
||||||
|
*
|
||||||
|
* @event core.bbcode_second_pass_by_extension
|
||||||
|
* @var array params_array Array with the function parameters
|
||||||
|
* @var mixed return Second pass result to return
|
||||||
|
*
|
||||||
|
* @since 3.1.5-RC1
|
||||||
|
*/
|
||||||
|
$vars = array('params_array', 'return');
|
||||||
|
extract($phpbb_dispatcher->trigger_event('core.bbcode_second_pass_by_extension', compact($vars)));
|
||||||
|
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,6 +128,9 @@ class bbcode_firstpass extends bbcode
|
||||||
// [quote] in second position.
|
// [quote] in second position.
|
||||||
// To parse multiline URL we enable dotall option setting only for URL text
|
// To parse multiline URL we enable dotall option setting only for URL text
|
||||||
// but not for link itself, thus [url][/url] is not affected.
|
// 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(
|
$this->bbcodes = array(
|
||||||
'code' => array('bbcode_id' => 8, 'regexp' => array('#\[code(?:=([a-z]+))?\](.+\[/code\])#uise' => "\$this->bbcode_code('\$1', '\$2')")),
|
'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')")),
|
'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;
|
$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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue