parent
78b97c5094
commit
bfbdc16036
@ -0,0 +1,121 @@ |
||||
<?php |
||||
$failure = false; |
||||
?> |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Install</title> |
||||
</head> |
||||
<body> |
||||
<h1>Installation check</h1> |
||||
<?php |
||||
|
||||
// PDO |
||||
$ext = get_loaded_extensions(); |
||||
$msg = '<p>PDO database interface: <span style="color:%s">%s</span>'."</p>\n"; |
||||
$failure = ! in_array('PDO', $ext); |
||||
$res = $failure ? ['red', 'Error'] : ['green', 'OK']; |
||||
echo vsprintf($msg, $res); |
||||
|
||||
// config file |
||||
if (! $failure) { |
||||
$conffile = '../config.php'; |
||||
$perms = fileperms($conffile); |
||||
if ($perms & 0x07) { |
||||
echo '<p>Config file world readable: <span style="color:red">Error</span>', "</p>\n"; |
||||
} |
||||
if ($perms & 0x10) { |
||||
echo '<p>Config file writeable by webserver: <span style="color:red">Error</span>', "</p>\n"; |
||||
} |
||||
$msg = '<p>Read config file: <span style="color:%s">%s</span>'."</p>\n"; |
||||
$failure = (! include($conffile)); |
||||
$res = $failure ? ['red', 'Error'] : ['green', 'OK']; |
||||
echo vsprintf($msg, $res); |
||||
} else { |
||||
echo "<p>Configfile correct?</p>"; |
||||
} |
||||
|
||||
// Database connection |
||||
if (! $failure) { |
||||
try { |
||||
$dbh = new PDO("mysql:host=$config_mysql_host", $config_mysql_username, $config_mysql_password); |
||||
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
} catch (PDOException $e) { |
||||
$details = "<pre>" . $e->getMessage() . "</pre>\n"; |
||||
$failure = true; |
||||
} |
||||
$msg = '<p>Database connection: <span style="color:%s">%s</span>'."</p>\n"; |
||||
$res = $failure ? ['red', 'Error'] : ['green', 'OK']; |
||||
echo vsprintf($msg, $res); |
||||
if ($failure) { |
||||
echo $details; |
||||
} |
||||
} else { |
||||
echo "<p>Database connection available?</p>\n"; |
||||
} |
||||
|
||||
// Ipreg database exists |
||||
if (! $failure) { |
||||
$sql = "SELECT SCHEMA_NAME FROM |
||||
INFORMATION_SCHEMA.SCHEMATA |
||||
WHERE SCHEMA_NAME=?"; |
||||
$sth = $dbh->prepare($sql); |
||||
$sth->execute([$config_mysql_dbname]); |
||||
$failure = ! $sth->fetchColumn(); |
||||
$msg = '<p>Database exists: <span style="color:%s">%s</span>'."</p>\n"; |
||||
$res = $failure ? ['red', 'Error'] : ['green', 'OK']; |
||||
echo vsprintf($msg, $res); |
||||
$dbh->query("USE $config_mysql_dbname"); |
||||
} else { |
||||
echo "<p>Database available?</p>\n"; |
||||
} |
||||
?> |
||||
|
||||
<h2>Rights</h2> |
||||
<?php |
||||
// Admin-user? |
||||
if (! $failure) { |
||||
$admincount = 0; |
||||
|
||||
// Admin count |
||||
$sql = "SELECT user_id FROM user WHERE FIND_IN_SET('admin',user_role)>0"; |
||||
$sth = $dbh->query($sql); |
||||
$adminlist = $sth->fetchAll(PDO::FETCH_ASSOC); |
||||
$admincount = count($adminlist); |
||||
if ($admincount == 0) { |
||||
echo '<p>No admin user exists: <span style="color:red">Error</span>'."</p>\n"; |
||||
} |
||||
|
||||
// Default admin |
||||
$sql = "SELECT user_pass FROM user WHERE user_name='admin' AND FIND_IN_SET('admin',user_role)>0"; |
||||
$sth = $dbh->query($sql); |
||||
if ($rec = $sth->fetchColumn()) { |
||||
// Check default password |
||||
if ($rec == '$2y$10$HTs0lSaFrfr.q4Gmy5zWfeDg3jhYZkqEGZEnDkMiHZ641nso38mt6') { |
||||
echo '<p>Password for default admin has not been changed: <span style="color:yellow">Warnung</span>'."</p>\n"; |
||||
} else { |
||||
echo '<p>Default admin exists: <span style="color:green">OK</span>'."</p>\n"; |
||||
} |
||||
} else { |
||||
echo "<p>Default admin does not exist.</p>\n"; |
||||
if ($admincount > 0) { |
||||
echo '<p>There are more admin accounts: <span style="color:green">OK</span>', "</p>\n"; |
||||
} |
||||
} |
||||
} else { |
||||
echo "<p>Administrative user available?</p>\n"; |
||||
} |
||||
|
||||
// Smarty |
||||
$compiledir = '../tpl_c'; |
||||
$failure = ! is_writeable($compiledir); |
||||
$msg = '<p>Smarty compile directory writable: <span style="color:%s">%s</span>'."</p>\n"; |
||||
$res = $failure ? ['red', 'Error'] : ['green', 'OK']; |
||||
echo vsprintf($msg, $res); |
||||
|
||||
?> |
||||
<h2>Summary</h2> |
||||
<p>If everything here checks ok the installation directory <tt>install</tt> |
||||
should be removed.</p> |
||||
</body> |
||||
</html> |
Reference in new issue