1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-08 08:35:31 +02:00

[ticket/11647] Always use & for URLs

Remove code for URLs separated with ;
Add test case for mix of & and & in URLs

PHPBB3-11647
This commit is contained in:
Vjacheslav Trushkin 2013-07-11 18:13:48 -04:00
parent 94fc0cccdc
commit f5c2119e7c
3 changed files with 9 additions and 16 deletions

View File

@ -40,7 +40,7 @@ class phpbb_template_asset
{
// Workaround for PHP 5.4.6 and older bug #62844 - add fake scheme and then remove it
$this->components = parse_url('http:' . $url);
unset($this->components['scheme']);
$this->components['scheme'] = '';
return;
}
$this->components = parse_url($url);
@ -176,8 +176,7 @@ class phpbb_template_asset
$query = $this->components['query'];
if (!preg_match('/(^|[&;])assets_version=/', $query))
{
$separator = (strpos($query, '&') === false) && (strpos($query, ';') !== false) && preg_match('/^.*=.*;.*=.*$/', $query) ? ';' : '&';
$this->components['query'] = $query . $separator . 'assets_version=' . $version;
$this->components['query'] = $query . '&assets_version=' . $version;
}
}
}

View File

@ -36,10 +36,6 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
array('TEST' => 4),
'<script type="text/javascript" src="' . $this->test_path . '/templates/parent_and_child.js?test=1&amp;assets_version=0"></script>',
),
array(
array('TEST' => 5),
'<script type="text/javascript" src="' . $this->test_path . '/templates/parent_and_child.js?test=1;assets_version=0"></script>',
),
array(
array('TEST' => 6),
'<script type="text/javascript" src="' . $this->test_path . '/parent_templates/parent_only.js?assets_version=1"></script>',
@ -68,10 +64,6 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
array('TEST' => 12),
'<script type="text/javascript" src="' . $this->test_path . '/parent_templates/parent_only.js?test1=1&amp;test2=2&amp;assets_version=1#test3"></script>',
),
array(
array('TEST' => 13),
'<script type="text/javascript" src="' . $this->test_path . '/parent_templates/parent_only.js?test1=1;test2=2;assets_version=1#test3"></script>',
),
array(
array('TEST' => 14),
'<script type="text/javascript" src="' . $this->test_path . '/parent_templates/parent_only.js?test1=&quot;&amp;assets_version=1#test3"></script>',
@ -88,6 +80,10 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
array('TEST' => 17),
'<script type="text/javascript" src="//phpbb.com/b.js"></script>',
),
array(
array('TEST' => 18),
'<script type="text/javascript" src="' . $this->test_path . '/templates/parent_and_child.js?test=1&test2=0&amp;assets_version=1"></script>',
),
);
}

View File

@ -6,8 +6,6 @@
<!-- INCLUDEJS parent_and_child.js?test=1&assets_version=0 -->
<!-- ELSEIF TEST === 4 -->
<!-- INCLUDEJS parent_and_child.js?test=1&amp;assets_version=0 -->
<!-- ELSEIF TEST === 5 -->
<!-- INCLUDEJS parent_and_child.js?test=1;assets_version=0 -->
<!-- ELSEIF TEST === 6 -->
<!-- INCLUDEJS {PARENT} -->
<!-- ELSEIF TEST === 7 -->
@ -24,8 +22,6 @@
<!-- INCLUDEJS {$TEST} -->
<!-- ELSEIF TEST === 12 -->
<!-- INCLUDEJS parent_only.js?test1=1&amp;test2=2#test3 -->
<!-- ELSEIF TEST === 13 -->
<!-- INCLUDEJS parent_only.js?test1=1;test2=2#test3 -->
<!-- ELSEIF TEST === 14 -->
<!-- INCLUDEJS parent_only.js?test1=&quot;#test3 -->
<!-- ELSEIF TEST === 15 -->
@ -34,5 +30,7 @@
<!-- INCLUDEJS http://phpbb.com/b.js?c=d&assets_version=2#f -->
<!-- ELSEIF TEST === 17 -->
<!-- INCLUDEJS //phpbb.com/b.js -->
<!-- ELSEIF TEST === 18 -->
<!-- INCLUDEJS parent_and_child.js?test=1&test2=0 -->
<!-- ENDIF -->
{$SCRIPTS}