Introduzione options per connessione al db
This commit is contained in:
parent
d34e77530b
commit
d775541f75
|
@ -23,6 +23,10 @@ $db_username = '|username|';
|
||||||
$db_password = '|password|';
|
$db_password = '|password|';
|
||||||
$db_name = '|database|';
|
$db_name = '|database|';
|
||||||
//$port = '|port|';
|
//$port = '|port|';
|
||||||
|
$db_options = [
|
||||||
|
//'sort_buffer_size' => '4M',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
// Percorso della cartella di backup
|
// Percorso della cartella di backup
|
||||||
$backup_dir = __DIR__.'/backup/';
|
$backup_dir = __DIR__.'/backup/';
|
||||||
|
|
|
@ -182,29 +182,76 @@ if ($database->isInstalled()){
|
||||||
$db = [
|
$db = [
|
||||||
|
|
||||||
'mysql_version' => [
|
'mysql_version' => [
|
||||||
'type' => 'mysql',
|
'type' => 'version',
|
||||||
'description' => '5.7.x - 8.0.x',
|
'description' => '5.7.x - 8.0.x',
|
||||||
'minimum' => '5.7.0',
|
'minimum' => '5.7.0',
|
||||||
'maximum' => '8.0.99',
|
'maximum' => '8.0.99',
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
foreach (App::getConfig()['db_options'] as $n => $v){
|
||||||
|
|
||||||
|
switch ($n){
|
||||||
|
case 'sort_buffer_size':
|
||||||
|
$db[$n] = [
|
||||||
|
'type' => 'value',
|
||||||
|
'description' => '>4M',
|
||||||
|
];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($db as $name => $values) {
|
foreach ($db as $name => $values) {
|
||||||
$description = $values['description'];
|
|
||||||
$description = tr('Valore consigliato: _VALUE_ (Valore attuale: _MYSQL_VERSION_)', [
|
|
||||||
'_VALUE_' => $description,
|
|
||||||
'_MYSQL_VERSION_' => $database->getMySQLVersion(),
|
|
||||||
]);
|
|
||||||
|
|
||||||
$status = ((version_compare($database->getMySQLVersion(), $values['minimum'], ">=") && version_compare($database->getMySQLVersion(), $values['maximum'], "<=")) ? 1 : 0);
|
$description = $values['description'];
|
||||||
|
|
||||||
|
if ($values['type'] == 'version') {
|
||||||
|
|
||||||
|
$type = tr('Versione');
|
||||||
|
$description = tr('Valore consigliato: _VALUE_ (Valore attuale: _MYSQL_VERSION_)', [
|
||||||
|
'_VALUE_' => $description,
|
||||||
|
'_MYSQL_VERSION_' => $database->getMySQLVersion(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
$status = ((version_compare($database->getMySQLVersion(), $values['minimum'], ">=") && version_compare($database->getMySQLVersion(), $values['maximum'], "<=")) ? 1 : 0);
|
||||||
|
|
||||||
|
} else{
|
||||||
|
$type = tr('Impostazione');
|
||||||
|
|
||||||
|
$inc = str_replace(['k', 'M'], ['000', '000000'], App::getConfig()['db_options'][$name]);
|
||||||
|
$real = str_replace(['k', 'M'], ['000', '000000'], $description);
|
||||||
|
|
||||||
|
if (string_starts_with($real, '>')) {
|
||||||
|
$status = $inc >= substr($real, 1);
|
||||||
|
} elseif (string_starts_with($real, '<')) {
|
||||||
|
$status = $inc <= substr($real, 1);
|
||||||
|
} else {
|
||||||
|
$status = ($real == $inc);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_bool($description)) {
|
||||||
|
$description = !empty($description) ? 'On' : 'Off';
|
||||||
|
} else {
|
||||||
|
$description = str_replace(['>', '<'], '', $description);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$description = tr('Valore consigliato: _VALUE_ (Valore attuale: _INI_)', [
|
||||||
|
'_VALUE_' => $description,
|
||||||
|
'_INI_' => App::getConfig()['db_options'][$name],
|
||||||
|
]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
$mysql[] = [
|
$mysql[] = [
|
||||||
'name' => $name,
|
'name' => $name,
|
||||||
'description' => $description,
|
'description' => $description,
|
||||||
'status' => $status,
|
'status' => $status,
|
||||||
'type' => tr('Versione'),
|
'type' => $type,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +279,7 @@ foreach ($dirs_to_check as $name => $description) {
|
||||||
|
|
||||||
// File di servizio
|
// File di servizio
|
||||||
$files_to_check = [
|
$files_to_check = [
|
||||||
'manifest.json' => tr('Necessario per aggiunta a schermata home da terminale'),
|
'manifest.json' => tr('Necessario per l\'aggiunta a schermata home da terminale'),
|
||||||
'database_5_7.json' => tr('Necessario per il controllo integrità con database MySQL 5.7.x'),
|
'database_5_7.json' => tr('Necessario per il controllo integrità con database MySQL 5.7.x'),
|
||||||
'database.json' => tr('Necessario per il controllo integrità con database MySQL 8.0.x'),
|
'database.json' => tr('Necessario per il controllo integrità con database MySQL 8.0.x'),
|
||||||
'checksum.json' => tr('Necessario per il controllo integrità dei files del gestionale'),
|
'checksum.json' => tr('Necessario per il controllo integrità dei files del gestionale'),
|
||||||
|
|
|
@ -80,9 +80,11 @@ class Database extends Util\Singleton
|
||||||
'database' => $database_name,
|
'database' => $database_name,
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
'password' => $password,
|
'password' => $password,
|
||||||
'charset' => 'utf8',
|
'charset' => 'utf8mb4',
|
||||||
|
'collation' => 'utf8mb4_general_ci',
|
||||||
'prefix' => '',
|
'prefix' => '',
|
||||||
'port' => $port,
|
'port' => $port,
|
||||||
|
'options' => App::getConfig()['db_options'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$this->is_connected = !empty($this->getPDO());
|
$this->is_connected = !empty($this->getPDO());
|
||||||
|
|
Loading…
Reference in New Issue