1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-11 11:13:59 +02:00

[ticket/13638] Inject $filesystem in \phpbb\template\asset

PHPBB3-13638
This commit is contained in:
Nicofuma
2015-05-04 23:50:16 +02:00
committed by Tristan Darricau
parent 321ed2a3dd
commit 51376a4391
15 changed files with 58 additions and 16 deletions

View File

@@ -20,15 +20,20 @@ class asset
/** @var \phpbb\path_helper **/
protected $path_helper;
/** @var \phpbb\filesystem\filesystem */
protected $filesystem;
/**
* Constructor
*
* @param string $url URL
* @param \phpbb\path_helper $path_helper Path helper object
* @param \phpbb\filesystem\filesystem $filesystem
*/
public function __construct($url, \phpbb\path_helper $path_helper)
public function __construct($url, \phpbb\path_helper $path_helper, \phpbb\filesystem\filesystem $filesystem)
{
$this->path_helper = $path_helper;
$this->filesystem = $filesystem;
$this->set_url($url);
}
@@ -153,7 +158,7 @@ class asset
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.
$real_root_path = phpbb_realpath($this->path_helper->get_phpbb_root_path()) . DIRECTORY_SEPARATOR;
$real_root_path = $this->filesystem->realpath($this->path_helper->get_phpbb_root_path()) . DIRECTORY_SEPARATOR;
// 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)
@@ -163,7 +168,7 @@ class asset
else
{
// Else we make the path relative to the current working directory
$real_root_path = phpbb_realpath('.') . DIRECTORY_SEPARATOR;
$real_root_path = $this->filesystem->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)));