Fix sul test del database

This commit is contained in:
Thomas Zilio 2018-01-30 20:05:12 +01:00
parent 29957f64f5
commit ef36f98f8e
1 changed files with 18 additions and 7 deletions

View File

@ -32,7 +32,6 @@ if (post('db_host') !== null) {
// Test della configurazione
if (post('test') !== null) {
ob_end_clean();
$state = 2;
if ($dbo->isConnected()) {
$requirements = [
@ -58,22 +57,34 @@ if (post('db_host') !== null) {
) {
$pieces = explode(', ', explode(' ON ', str_replace('GRANT ', '', $privileges))[0]);
// Permessi generici sul database
if (in_array('ALL', $pieces) || in_array('ALL PRIVILEGES', $pieces)) {
$requirements = [];
break;
}
// Permessi specifici sul database
foreach ($requirements as $key => $value) {
if (!in_array($value, $pieces)) {
$state = 1;
break 2;
} else {
if (in_array($value, $pieces)) {
unset($requirements[$key]);
}
}
}
}
} else {
// Permessi insufficienti
if (!empty($requirements)) {
$state = 1;
}
// Permessi completi
else {
$state = 2;
}
}
// Connessione fallita
else {
$state = 0;
}