diff options
Diffstat (limited to 'phpBB/includes/bbcode.php')
-rw-r--r-- | phpBB/includes/bbcode.php | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php index eb6133d013..e8492a82a3 100644 --- a/phpBB/includes/bbcode.php +++ b/phpBB/includes/bbcode.php @@ -154,14 +154,13 @@ class bbcode $phpbb_container->get('config'), $phpbb_container->get('filesystem'), $phpbb_container->get('path_helper'), - $phpbb_container, - $phpbb_container->getParameter('core.root_path') . 'cache/', + $phpbb_container->getParameter('core.cache_dir'), $phpbb_container->get('ext.manager'), new \phpbb\template\twig\loader( $phpbb_filesystem ) ), - $phpbb_container->getParameter('core.root_path') . 'cache/', + $phpbb_container->getParameter('core.cache_dir'), $phpbb_container->get('user'), $phpbb_container->get('template.twig.extensions.collection'), $phpbb_extension_manager @@ -219,20 +218,25 @@ class bbcode { switch ($bbcode_id) { - case 0: + case BBCODE_ID_QUOTE: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[/quote:$uid]' => $this->bbcode_tpl('quote_close', $bbcode_id) ), 'preg' => array( '#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#is' => function ($match) { + if (!isset($match[2])) + { + $match[2] = ''; + } + return $this->bbcode_second_pass_quote($match[1], $match[2]); }, ) ); break; - case 1: + case BBCODE_ID_B: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[b:$uid]' => $this->bbcode_tpl('b_open', $bbcode_id), @@ -241,7 +245,7 @@ class bbcode ); break; - case 2: + case BBCODE_ID_I: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[i:$uid]' => $this->bbcode_tpl('i_open', $bbcode_id), @@ -250,7 +254,7 @@ class bbcode ); break; - case 3: + case BBCODE_ID_URL: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[url:$uid\]((.*?))\[/url:$uid\]#s' => $this->bbcode_tpl('url', $bbcode_id), @@ -259,7 +263,7 @@ class bbcode ); break; - case 4: + case BBCODE_ID_IMG: if ($user->optionget('viewimg')) { $this->bbcode_cache[$bbcode_id] = array( @@ -278,7 +282,7 @@ class bbcode } break; - case 5: + case BBCODE_ID_SIZE: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[size=([\-\+]?\d+):$uid\](.*?)\[/size:$uid\]#s' => $this->bbcode_tpl('size', $bbcode_id), @@ -286,7 +290,7 @@ class bbcode ); break; - case 6: + case BBCODE_ID_COLOR: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '!\[color=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+):$uid\](.*?)\[/color:$uid\]!is' => $this->bbcode_tpl('color', $bbcode_id), @@ -294,7 +298,7 @@ class bbcode ); break; - case 7: + case BBCODE_ID_U: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[u:$uid]' => $this->bbcode_tpl('u_open', $bbcode_id), @@ -303,7 +307,7 @@ class bbcode ); break; - case 8: + case BBCODE_ID_CODE: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#is' => function ($match) { @@ -313,7 +317,7 @@ class bbcode ); break; - case 9: + case BBCODE_ID_LIST: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#(\[\/?(list|\*):[mou]?:?$uid\])[\n]{1}#' => "\$1", @@ -333,7 +337,7 @@ class bbcode ); break; - case 10: + case BBCODE_ID_EMAIL: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[email:$uid\]((.*?))\[/email:$uid\]#is' => $this->bbcode_tpl('email', $bbcode_id), @@ -342,7 +346,7 @@ class bbcode ); break; - case 11: + case BBCODE_ID_FLASH: if ($user->optionget('viewflash')) { $this->bbcode_cache[$bbcode_id] = array( @@ -361,7 +365,7 @@ class bbcode } break; - case 12: + case BBCODE_ID_ATTACH: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[/attachment:$uid]' => $this->bbcode_tpl('inline_attachment_close', $bbcode_id) |