Merge branch '3.2.x'

* 3.2.x:
  [ticket/14527] Decode automatically generated postlink without prefix
  [ticket/14527] Add tests for reverted improper fix
  [ticket/14527] Retrieve link URL from href and not link text
This commit is contained in:
Tristan Darricau 2016-03-25 11:35:47 +01:00
commit 5d118581ce
3 changed files with 20 additions and 2 deletions

View file

@ -2746,7 +2746,8 @@ function get_preg_expression($mode)
return array( return array(
'#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#', '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
'#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#', '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">(.*?)</a><!\-\- \1 \-\->#', '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="http://(.*?)">\2</a><!\-\- \1 \-\->#',
'#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
'#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
'#<!\-\- .*? \-\->#s', '#<!\-\- .*? \-\->#s',
'#<.*?>#s', '#<.*?>#s',

View file

@ -469,7 +469,7 @@ function decode_message(&$message, $bbcode_uid = '')
$message = str_replace($match, $replace, $message); $message = str_replace($match, $replace, $message);
$match = get_preg_expression('bbcode_htm'); $match = get_preg_expression('bbcode_htm');
$replace = array('\1', '\1', '\3', '\1', '', ''); $replace = array('\1', '\1', '\2', '\2', '\1', '', '');
$message = preg_replace($match, $replace, $message); $message = preg_replace($match, $replace, $message);
} }

View file

@ -16,6 +16,15 @@ require_once dirname(__FILE__) . '/../../phpBB/includes/functions_content.php';
class phpbb_text_processing_decode_message_test extends phpbb_test_case class phpbb_text_processing_decode_message_test extends phpbb_test_case
{ {
public function setUp()
{
parent::setUp();
global $phpbb_dispatcher;
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
}
/** /**
* @dataProvider get_legacy_tests * @dataProvider get_legacy_tests
*/ */
@ -46,6 +55,14 @@ class phpbb_text_processing_decode_message_test extends phpbb_test_case
'<!-- m --><a class="postlink" href="http://www.phpbb.com">http://www.phpbb.com</a><!-- m -->', '<!-- m --><a class="postlink" href="http://www.phpbb.com">http://www.phpbb.com</a><!-- m -->',
'http://www.phpbb.com' 'http://www.phpbb.com'
), ),
array(
'<!-- m --><a class="postlink" href="http://www.phpbb.com">this is just text</a><!-- m -->',
'http://www.phpbb.com'
),
array(
'<!-- m --><a class="postlink" href="http://www.phpbb.com/some/more/link/that/is/shortened">http://www.phpbb.com/some/ ... /shortened</a><!-- m -->',
'http://www.phpbb.com/some/more/link/that/is/shortened'
),
/** /**
* Fails as per PHPBB3-8420 * Fails as per PHPBB3-8420
* @link http://tracker.phpbb.com/browse/PHPBB3-8420 * @link http://tracker.phpbb.com/browse/PHPBB3-8420