From 58739875999831ebf9ba9e4d99049ea21d35ad81 Mon Sep 17 00:00:00 2001 From: Zankaria Date: Sun, 31 Mar 2024 23:10:07 +0200 Subject: [PATCH] template.php install.php: handle cache directory being a symlink --- inc/template.php | 7 +++++-- install.php | 5 ++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/inc/template.php b/inc/template.php index 54d2130e..9ec93d34 100644 --- a/inc/template.php +++ b/inc/template.php @@ -13,12 +13,15 @@ $twig = false; function load_twig() { global $twig, $config; + + $cache_dir = "{$config['dir']['template']}/cache/"; + $loader = new Twig_Loader_Filesystem($config['dir']['template']); $loader->setPaths($config['dir']['template']); $twig = new Twig_Environment($loader, array( 'autoescape' => false, - 'cache' => is_writable('templates') || (is_dir('templates/cache') && is_writable('templates/cache')) ? - "{$config['dir']['template']}/cache" : false, + 'cache' => is_writable('templates/') || (is_dir($cache_dir) && is_writable($cache_dir)) ? + $cache_dir : false, 'debug' => $config['debug'] )); $twig->addExtension(new Twig_Extensions_Extension_Tinyboard()); diff --git a/install.php b/install.php index dfd0df73..8c3c9208 100644 --- a/install.php +++ b/install.php @@ -818,14 +818,14 @@ if ($step == 0) { array( 'category' => 'File permissions', 'name' => getcwd() . '/templates/cache', - 'result' => is_writable('templates') || (is_dir('templates/cache') && is_writable('templates/cache')), + 'result' => is_dir('templates/cache/') && is_writable('templates/cache/'), 'required' => true, 'message' => 'You must give vichan permission to create (and write to) the templates/cache directory or performance will be drastically reduced.' ), array( 'category' => 'File permissions', 'name' => getcwd() . '/tmp/cache', - 'result' => is_dir('tmp/cache') && is_writable('tmp/cache'), + 'result' => is_dir('tmp/cache/') && is_writable('tmp/cache/'), 'required' => true, 'message' => 'You must give vichan permission to write to the tmp/cache directory.' ), @@ -993,4 +993,3 @@ if ($step == 0) { echo Element('page.html', $page); } -