diff options
author | Oliver Schramm <oliver.schramm97@gmail.com> | 2017-10-05 14:54:47 +0200 |
---|---|---|
committer | Oliver Schramm <oliver.schramm97@gmail.com> | 2017-10-05 14:54:47 +0200 |
commit | 5514b1069968d451adb7eaf89278a6e1e5dc20df (patch) | |
tree | 245b21642c134c4509e46fab60d130065e123624 /phpBB/phpbb/template/twig/loader.php | |
parent | 93621aa1844ab48d9bae068d9872d2c49ae86de4 (diff) | |
parent | ca5678cc1c2a1f723d39127e0c066eba6c9a3336 (diff) | |
download | forums-5514b1069968d451adb7eaf89278a6e1e5dc20df.tar forums-5514b1069968d451adb7eaf89278a6e1e5dc20df.tar.gz forums-5514b1069968d451adb7eaf89278a6e1e5dc20df.tar.bz2 forums-5514b1069968d451adb7eaf89278a6e1e5dc20df.tar.xz forums-5514b1069968d451adb7eaf89278a6e1e5dc20df.zip |
Merge pull request #4960 from rxu/ticket/15367
[ticket/15367] Escape special characters in Sphinx search backend
Diffstat (limited to 'phpBB/phpbb/template/twig/loader.php')
-rw-r--r-- | phpBB/phpbb/template/twig/loader.php | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/phpBB/phpbb/template/twig/loader.php b/phpBB/phpbb/template/twig/loader.php index 139a413b70..c13e3ee298 100644 --- a/phpBB/phpbb/template/twig/loader.php +++ b/phpBB/phpbb/template/twig/loader.php @@ -21,6 +21,24 @@ class loader extends \Twig_Loader_Filesystem protected $safe_directories = array(); /** + * @var \phpbb\filesystem\filesystem_interface + */ + protected $filesystem; + + /** + * Constructor + * + * @param \phpbb\filesystem\filesystem_interface $filesystem + * @param string|array $paths + */ + public function __construct(\phpbb\filesystem\filesystem_interface $filesystem, $paths = array()) + { + $this->filesystem = $filesystem; + + parent::__construct($paths, $this->filesystem->realpath(dirname(__FILE__))); + } + + /** * Set safe directories * * @param array $directories Array of directories that are safe (empty to clear) @@ -49,7 +67,7 @@ class loader extends \Twig_Loader_Filesystem */ public function addSafeDirectory($directory) { - $directory = phpbb_realpath($directory); + $directory = $this->filesystem->realpath($directory); if ($directory !== false) { @@ -83,6 +101,16 @@ class loader extends \Twig_Loader_Filesystem } /** + * Adds a realpath call to fix a BC break in Twig 1.26 (https://github.com/twigphp/Twig/issues/2145) + * + * {@inheritdoc} + */ + public function addPath($path, $namespace = self::MAIN_NAMESPACE) + { + return parent::addPath($this->filesystem->realpath($path), $namespace); + } + + /** * Find the template * * Override for Twig_Loader_Filesystem::findTemplate to add support @@ -119,7 +147,7 @@ class loader extends \Twig_Loader_Filesystem // can now check if we're within a "safe" directory // Find the real path of the directory the file is in - $directory = phpbb_realpath(dirname($file)); + $directory = $this->filesystem->realpath(dirname($file)); if ($directory === false) { |