diff --git a/templates/themes/rrdtool/info.php b/templates/themes/rrdtool/info.php index 824609a4..68210ad6 100644 --- a/templates/themes/rrdtool/info.php +++ b/templates/themes/rrdtool/info.php @@ -40,6 +40,29 @@ 'default' => implode(' ', $__default_boards) ); + $theme['install_callback'] = 'rrdtool_install'; + if(!function_exists('rrdtool_install')) { + function rrdtool_install($settings) { + global $config; + + $job = '* * * * * php -q ' . str_replace('\\', '/', dirname(__FILE__)) . '/cron.php' . PHP_EOL; + + if(function_exists('system')) { + $crontab = tempnam($config['tmp'], 'tinyboard-rrdtool'); + file_write($crontab, $job); + @system('crontab ' . escapeshellarg($crontab) . '; echo $?', $ret); + unlink($crontab); + + if($ret === 0) + return; // it seems to install okay? + } + + return '

I couldn\'t install the crontab!

' . + 'In order to use this plugin, you must add the following crontab entry:' . + '
' . $job . '
'; + } + } + // Unique function name for building everything $theme['build_function'] = 'rrdtool_build'; ?> \ No newline at end of file