summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Foster <savetheinternet@tinyboard.org>2013-08-22 03:35:57 +1000
committerMichael Foster <savetheinternet@tinyboard.org>2013-08-22 03:35:57 +1000
commit5cc7bd860fe653db831b20c7937a80ef35221f56 (patch)
treec85f7137a48c4fd8f6764b587afd06114fed6ec7
parenta65c4f2c1fa81073f380ad42b8073720de02fee2 (diff)
Add cache and gm to pre-installation test. Don't die when we can't write to templates/cache.
-rw-r--r--inc/template.php3
-rw-r--r--install.php24
2 files changed, 25 insertions, 2 deletions
diff --git a/inc/template.php b/inc/template.php
index 09e27c26..ef688944 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -26,7 +26,8 @@ function load_twig() {
$loader->setPaths($config['dir']['template']);
$twig = new Twig_Environment($loader, array(
'autoescape' => false,
- 'cache' => "{$config['dir']['template']}/cache",
+ 'cache' => is_writable('templates') && (!is_dir('templates/cache') || is_writable('templates/cache')) ?
+ "{$config['dir']['template']}/cache" : false,
'debug' => $config['debug']
));
$twig->addExtension(new Twig_Extensions_Extension_Tinyboard());
diff --git a/install.php b/install.php
index a6937028..8725df6d 100644
--- a/install.php
+++ b/install.php
@@ -514,6 +514,13 @@ if ($step == 0) {
),
array(
'category' => 'Image processing',
+ 'name' => '`gm` (command-line GraphicsMagick)',
+ 'result' => $can_exec && shell_exec('which gm'),
+ 'required' => false,
+ 'message' => '(Optional) `gm` was not found or executable; command-line GraphicsMagick (faster than ImageMagick) cannot be enabled.',
+ ),
+ array(
+ 'category' => 'Image processing',
'name' => '`gifsicle` (command-line animted GIF thumbnailing)',
'result' => $can_exec && shell_exec('which gifsicle'),
'required' => false,
@@ -528,10 +535,25 @@ if ($step == 0) {
),
array(
'category' => 'File permissions',
+ 'name' => getcwd() . '/templates/cache',
+ 'result' => is_writable('templates') && (!is_dir('templates/cache') || is_writable('templates/cache')),
+ 'required' => true,
+ 'message' => 'You must give Tinyboard permission to create (and write to) the <code>templates/cache</code> directory or performance will be drastically reduced.'
+ ),
+ array(
+ 'category' => 'File permissions',
'name' => getcwd() . '/inc/instance-config.php',
'result' => is_writable('inc/instance-config.php'),
'required' => false,
- 'message' => 'Tinyboard does not have permission to make changes to inc/instance-config.php. To complete the installation, you will be asked to manually copy and paste code into the file instead.'
+ 'message' => 'Tinyboard does not have permission to make changes to <code>inc/instance-config.php</code>. To complete the installation, you will be asked to manually copy and paste code into the file instead.'
+ ),
+ array(
+ 'category' => 'Misc',
+ 'name' => 'Caching available (APC, XCache, Memcached or Redis)',
+ 'result' => extension_loaded('apc') || extension_loaded('xcache')
+ || extension_loaded('memcached') || extension_loaded('redis'),
+ 'required' => false,
+ 'message' => 'You will not be able to enable the additional caching system, designed to minimize SQL queries and significantly improve performance. <a href="http://php.net/manual/en/book.apc.php">APC</a> is the recommended method of caching, but <a href="http://xcache.lighttpd.net/">XCache</a>, <a href="http://www.php.net/manual/en/intro.memcached.php">Memcached</a> and <a href="http://pecl.php.net/package/redis">Redis</a> are also supported.'
),
array(
'category' => 'Misc',