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; $this->config['twig_config'] = $defaultTwigConfig;
} else { } else {
$this->config['twig_config'] += $defaultTwigConfig; $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']) { if (!$this->config['content_dir']) {
@ -2440,20 +2444,27 @@ class Pico
* This method also guarantees a trailing slash. * 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 * @return string absolute path
*/ */
public function getAbsolutePath($path) public function getAbsolutePath($path, $basePath = null)
{ {
if ($basePath === null) {
$basePath = $this->getRootDir();
}
if (DIRECTORY_SEPARATOR === '\\') { if (DIRECTORY_SEPARATOR === '\\') {
if (preg_match('/^(?>[a-zA-Z]:\\\\|\\\\\\\\)/', $path) !== 1) { if (preg_match('/^(?>[a-zA-Z]:\\\\|\\\\\\\\)/', $path) !== 1) {
$path = $this->getRootDir() . $path; $path = $basePath . $path;
} }
} else { } else {
if ($path[0] !== '/') { if ($path[0] !== '/') {
$path = $this->getRootDir() . $path; $path = $basePath . $path;
} }
} }
return rtrim($path, '/\\') . '/'; return rtrim($path, '/\\') . '/';
} }