1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/11832] update_web_root_path helper and tests

PHPBB3-11832
This commit is contained in:
Nathan Guse
2013-09-09 18:19:50 -05:00
parent f30b87519e
commit 6692db892f
3 changed files with 99 additions and 12 deletions

View File

@@ -46,17 +46,40 @@ class phpbb_filesystem
return $this->phpbb_root_path;
}
/**
* Update a 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
*
* @param Request $symfony_request Symfony Request object
* @return string
*/
public function update_web_root_path($path, Request $symfony_request = null)
{
$web_root_path = $this->get_web_root_path($symfony_request);
if (strpos($path, $this->phpbb_root_path) === 0)
{
$path = substr($path, strlen($this->phpbb_root_path));
}
return $web_root_path . $path;
}
/**
* Get a relative root path from the current URL
*
* @param Request $symfony_request Symfony Request object
* @return string
*/
function get_web_root_path(Request $symfony_request = null)
public function get_web_root_path(Request $symfony_request = null)
{
if ($symfony_request === null)
{
return '';
return $this->phpbb_root_path;
}
static $path;
@@ -68,8 +91,7 @@ class phpbb_filesystem
$path_info = $symfony_request->getPathInfo();
if ($path_info === '/')
{
$path = $this->phpbb_root_path;
return $path;
return $path = $this->phpbb_root_path;
}
$path_info = $this->clean_path($path_info);
@@ -84,9 +106,7 @@ class phpbb_filesystem
$corrections -= 1;
}
$path = $this->phpbb_root_path . str_repeat('../', $corrections);
return $path;
return $path = $this->phpbb_root_path . str_repeat('../', $corrections);
}
/**