[ticket/14099] Fix the assets

PHPBB3-14099
This commit is contained in:
Tristan Darricau 2015-08-18 21:03:03 +02:00
parent 5b534369d1
commit 5f905f67ee

View file

@ -153,10 +153,21 @@ class asset
public function set_path($path, $urlencode = false) public function set_path($path, $urlencode = false)
{ {
// Since 1.7.0 Twig returns the real path of the file. We need it to be relative to the working directory. // Since 1.7.0 Twig returns the real path of the file. We need it to be relative to the working directory.
$real_root_path = realpath('.') . DIRECTORY_SEPARATOR; $real_root_path = realpath($this->path_helper->get_phpbb_root_path()) . DIRECTORY_SEPARATOR;
if ($real_root_path && substr($path . DIRECTORY_SEPARATOR, 0, strlen($real_root_path)) === $real_root_path)
// If the asset is under the phpBB root path we need to remove its path and then prepend $phpbb_root_path
if (substr($path . DIRECTORY_SEPARATOR, 0, strlen($real_root_path)) === $real_root_path)
{ {
$path = str_replace('\\', '/', substr($path, strlen($real_root_path))); $path = $this->path_helper->get_phpbb_root_path() . str_replace('\\', '/', substr($path, strlen($real_root_path)));
}
else
{
// Else we make the path relative to the current working directory
$real_root_path = realpath('.') . DIRECTORY_SEPARATOR;
if ($real_root_path && substr($path . DIRECTORY_SEPARATOR, 0, strlen($real_root_path)) === $real_root_path)
{
$path = str_replace('\\', '/', substr($path, strlen($real_root_path)));
}
} }
if ($urlencode) if ($urlencode)