mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-27 04:18:55 +00:00
[ticket/13638] Handle assets outside of phpbb_root_path
PHPBB3-13638
This commit is contained in:
parent
3b631cb40d
commit
f097f84f16
1 changed files with 15 additions and 3 deletions
|
@ -152,11 +152,23 @@ 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.
|
||||||
$real_root_path = realpath($this->path_helper->get_phpbb_root_path()) . DIRECTORY_SEPARATOR;
|
$real_root_path = phpbb_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 ($real_root_path && substr($path . DIRECTORY_SEPARATOR, 0, strlen($real_root_path)) === $real_root_path)
|
||||||
|
{
|
||||||
$path = $this->path_helper->get_phpbb_root_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 = phpbb_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)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue