";
}
function check($title, $test) {
global $body, $count;
$count[$test]++;
$body .= '
' . $title . ' | ' . image($test) . ' |
';
}
function title($text) {
global $body;
$body .= '' . $text . ' |
';
}
$count = Array('ok'=>0, 'warning'=>0, 'error'=>0);
$todo = Array();
$body = '';
$extensions = Array('mysql', 'gd');
// Extensions
title('Extensions');
foreach($extensions as &$ext) {
if(extension_loaded($ext)) {
$body .= check($ext, 'ok');
} else {
$body .= check($ext, 'error');
$todo[] = 'Install module "' . $ext . '"';
}
}
// Database
title('Database');
if($sql = @mysql_connect(MY_SERVER, MY_USER, MY_PASSWORD)) {
$body .= check('Connection to server.', 'ok');
if(@mysql_select_db(MY_DATABASE, $sql))
$body .= check('Select database.', 'ok');
else {
$body .= check('Select database.', 'error');
$todo[] = 'config.php: Check database configuration.';
}
} else {
$body .= check('Connection to server.', 'error');
$todo[] = 'config.php: Check database configuration.';
}
// Configuration
title('Configuration');
$root = dirname($_SERVER['REQUEST_URI']) . '/';
if(ROOT != $root) {
$body .= check('Correct document root.', 'error');
$todo[] = "config.php: Change ROOT to '{$root}'";
} else
$body .= check('Correct document root.', 'ok');
// Permissions
title('Permissions');
$directories = Array(DIR_IMG, DIR_THUMB, DIR_RES, '.');
foreach($directories as $dir) {
if(file_exists($dir)) {
if(is_writable($dir) && is_readable($dir)) {
$body .= check($dir, 'ok');
} else {
$body .= check($dir, 'error');
$todo[] = 'CHMOD ' . $dir . ' to allow PHP to read and write.';
}
} else {
$body .= check($dir, 'error');
$todo[] = 'Create directory: ' . $dir;
}
}
// Other
title('Other');
if(get_magic_quotes_gpc()) {
$body .= check('magic_quotes_gpc', 'warning');
$todo[] = 'Recommended: Disable magic_quotes_gpc in your PHP configuration.';
} else
$body .= check('magic_quotes_gpc', 'ok');
$body .= '
';
if(!empty($todo)) {
$body .= '';
foreach($todo as $do)
$body .= "{$do}\n";
$body .= '
';
}
if(!$count['error']) {
$body .= 'Everything seems okay.
';
}
die(Element('page.html', Array('index' => ROOT, 'title'=>'Tinyboard', 'subtitle'=>'Installation', 'body'=>$body)));
?>