1
0
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:
Nils Adermann 2013-10-10 15:54:58 -07:00
commit 446dc9b47e
5 changed files with 27 additions and 24 deletions

View File

@ -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;
} }

View File

@ -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;
} }
/** /**

View File

@ -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',

View File

@ -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

View File

@ -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&amp;assets_version=0"></script>', '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&amp;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&amp;test2=2&amp;assets_version=1#test3"></script>', '<script type="text/javascript" src="tests/template/templates/child_only.js?test1=1&amp;test2=2&amp;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&amp;test2=2&amp;assets_version=1#test3"></script>', '<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1=1&amp;test2=2&amp;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=&quot;&amp;assets_version=1#test3"></script>', '<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1=&quot;&amp;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&amp;assets_version=1"></script>', '<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&test2=0&amp;assets_version=1"></script>',
), ),
); );
} }