mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-05 07:07:51 +02:00
Merge pull request #1764 from EXreaction/ticket/11874
[ticket/11874] Do not always prepend the web path; only replace phpbb_root_path
This commit is contained in:
commit
446dc9b47e
@ -2866,7 +2866,7 @@ function build_url($strip_vars = false)
|
||||
$url_parts = parse_url($page);
|
||||
|
||||
// URL
|
||||
if ($url_parts !== false && !empty($url_parts['scheme']) && !empty($url_parts['host']))
|
||||
if ($url_parts === false || empty($url_parts['scheme']) || empty($url_parts['host']))
|
||||
{
|
||||
$page = $phpbb_root_path . $page;
|
||||
}
|
||||
|
@ -89,26 +89,24 @@ class path_helper
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a path to the correct relative root path
|
||||
* Update a web path to the correct relative root path
|
||||
*
|
||||
* This replaces $phpbb_root_path . some_url with
|
||||
* get_web_root_path() . some_url OR if $phpbb_root_path
|
||||
* is not at the beginning of $path, just prepends the
|
||||
* web root path
|
||||
* get_web_root_path() . some_url
|
||||
*
|
||||
* @param string $path The path to be updated
|
||||
* @return string
|
||||
*/
|
||||
public function update_web_root_path($path)
|
||||
{
|
||||
$web_root_path = $this->get_web_root_path($this->symfony_request);
|
||||
|
||||
if (strpos($path, $this->phpbb_root_path) === 0)
|
||||
{
|
||||
$path = substr($path, strlen($this->phpbb_root_path));
|
||||
|
||||
return $this->get_web_root_path() . $path;
|
||||
}
|
||||
|
||||
return $web_root_path . $path;
|
||||
return $path;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -52,13 +52,18 @@ class phpbb_path_helper_web_root_path_test extends phpbb_test_case
|
||||
$this->set_phpbb_root_path();
|
||||
|
||||
return array(
|
||||
array(
|
||||
'http://www.test.com/test.php',
|
||||
'http://www.test.com/test.php',
|
||||
'/',
|
||||
),
|
||||
array(
|
||||
$this->phpbb_root_path . 'test.php',
|
||||
$this->phpbb_root_path . 'test.php',
|
||||
),
|
||||
array(
|
||||
'test.php',
|
||||
$this->phpbb_root_path . 'test.php',
|
||||
'test.php',
|
||||
),
|
||||
array(
|
||||
$this->phpbb_root_path . $this->phpbb_root_path . 'test.php',
|
||||
|
@ -18,8 +18,8 @@ class phpbb_template_template_includecss_test extends phpbb_template_template_te
|
||||
|
||||
// Prepare correct result
|
||||
$scripts = array(
|
||||
'<link href="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />',
|
||||
'<link href="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />',
|
||||
'<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />',
|
||||
'<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />',
|
||||
);
|
||||
|
||||
// Run test
|
||||
|
@ -24,51 +24,51 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
|
||||
*/
|
||||
array(
|
||||
array('TEST' => 1),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/parent_and_child.js?assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?assets_version=1"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 2),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/parent_and_child.js?assets_version=0"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?assets_version=0"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 3),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 4),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 6),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/parent_templates/parent_only.js?assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?assets_version=1"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 7),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/child_only.js?assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/child_only.js?assets_version=1"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 8),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 9),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 10),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 11),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/child_only.js?test1=1&test2=2&assets_version=1#test3"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/child_only.js?test1=1&test2=2&assets_version=1#test3"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 12),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/parent_templates/parent_only.js?test1=1&test2=2&assets_version=1#test3"></script>',
|
||||
'<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1=1&test2=2&assets_version=1#test3"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 14),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/parent_templates/parent_only.js?test1="&assets_version=1#test3"></script>',
|
||||
'<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1="&assets_version=1#test3"></script>',
|
||||
),
|
||||
array(
|
||||
array('TEST' => 15),
|
||||
@ -84,7 +84,7 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
|
||||
),
|
||||
array(
|
||||
array('TEST' => 18),
|
||||
'<script type="text/javascript" src="' . $this->phpbb_path_helper->get_web_root_path() . 'tests/template/templates/parent_and_child.js?test=1&test2=0&assets_version=1"></script>',
|
||||
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&test2=0&assets_version=1"></script>',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user