phpBB

Code Changes

File: phpbb/template/asset.php

  Unmodified   Added   Modified   Removed
Line 19Line 19

/** @var \phpbb\path_helper **/
protected $path_helper;


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


/**
* 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->path_helper = $path_helper;

 
		$this->filesystem = $filesystem;


$this->set_url($url);
}


$this->set_url($url);
}

Line 152Line 157
	*/
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.
$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)
{
$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 = $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)));
}
}


		if ($urlencode)
{
$paths = explode('/', $path);

		if ($urlencode)
{
$paths = explode('/', $path);

Line 161Line 184
			}
$path = implode('/', $paths);
}

			}
$path = implode('/', $paths);
}

 


		$this->components['path'] = $path;
}


		$this->components['path'] = $path;
}