mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-06 07:35:29 +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_parts = parse_url($page);
|
||||||
|
|
||||||
// URL
|
// 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;
|
$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
|
* This replaces $phpbb_root_path . some_url with
|
||||||
* get_web_root_path() . some_url OR if $phpbb_root_path
|
* get_web_root_path() . some_url
|
||||||
* is not at the beginning of $path, just prepends the
|
|
||||||
* web root path
|
|
||||||
*
|
*
|
||||||
* @param string $path The path to be updated
|
* @param string $path The path to be updated
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function update_web_root_path($path)
|
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)
|
if (strpos($path, $this->phpbb_root_path) === 0)
|
||||||
{
|
{
|
||||||
$path = substr($path, strlen($this->phpbb_root_path));
|
$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();
|
$this->set_phpbb_root_path();
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
|
array(
|
||||||
|
'http://www.test.com/test.php',
|
||||||
|
'http://www.test.com/test.php',
|
||||||
|
'/',
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
$this->phpbb_root_path . 'test.php',
|
$this->phpbb_root_path . 'test.php',
|
||||||
$this->phpbb_root_path . 'test.php',
|
$this->phpbb_root_path . 'test.php',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'test.php',
|
'test.php',
|
||||||
$this->phpbb_root_path . 'test.php',
|
'test.php',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
$this->phpbb_root_path . $this->phpbb_root_path . 'test.php',
|
$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
|
// Prepare correct result
|
||||||
$scripts = array(
|
$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="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/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />',
|
||||||
);
|
);
|
||||||
|
|
||||||
// Run test
|
// Run test
|
||||||
|
@ -24,51 +24,51 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
|
|||||||
*/
|
*/
|
||||||
array(
|
array(
|
||||||
array('TEST' => 1),
|
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(
|
||||||
array('TEST' => 2),
|
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(
|
||||||
array('TEST' => 3),
|
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(
|
||||||
array('TEST' => 4),
|
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(
|
||||||
array('TEST' => 6),
|
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(
|
||||||
array('TEST' => 7),
|
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(
|
||||||
array('TEST' => 8),
|
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(
|
||||||
array('TEST' => 9),
|
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(
|
||||||
array('TEST' => 10),
|
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(
|
||||||
array('TEST' => 11),
|
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(
|
||||||
array('TEST' => 12),
|
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(
|
||||||
array('TEST' => 14),
|
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(
|
||||||
array('TEST' => 15),
|
array('TEST' => 15),
|
||||||
@ -84,7 +84,7 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
|
|||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
array('TEST' => 18),
|
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