Pico::loadConfig(): Make twig cache path absolute

This commit is contained in:
Daniel Rudolf 2019-03-28 19:14:23 +01:00
parent c91518a7c8
commit 008ca6f41b
No known key found for this signature in database
GPG key ID: A061F02CD8DE4538

View file

@ -948,6 +948,10 @@ class Pico
$this->config['twig_config'] = $defaultTwigConfig;
} else {
$this->config['twig_config'] += $defaultTwigConfig;
if ($this->config['twig_config']['cache']) {
$this->config['twig_config']['cache'] = $this->getAbsolutePath($this->config['twig_config']['cache']);
}
}
if (!$this->config['content_dir']) {
@ -2439,21 +2443,28 @@ class Pico
*
* This method also guarantees a trailing slash.
*
* @param string $path relative or absolute path
* @param string $path relative or absolute path
* @param string $basePath treat relative paths relative to the given path;
* defaults to Pico::$rootDir
*
* @return string absolute path
*/
public function getAbsolutePath($path)
public function getAbsolutePath($path, $basePath = null)
{
if ($basePath === null) {
$basePath = $this->getRootDir();
}
if (DIRECTORY_SEPARATOR === '\\') {
if (preg_match('/^(?>[a-zA-Z]:\\\\|\\\\\\\\)/', $path) !== 1) {
$path = $this->getRootDir() . $path;
$path = $basePath . $path;
}
} else {
if ($path[0] !== '/') {
$path = $this->getRootDir() . $path;
$path = $basePath . $path;
}
}
return rtrim($path, '/\\') . '/';
}