diff --git a/.gitignore b/.gitignore index df892f4d5..b334e6f6a 100755 --- a/.gitignore +++ b/.gitignore @@ -93,6 +93,7 @@ manifest.json checksum.json database.json database_5_7.json +settings.json /tests/_log/* /tests/_temp/* diff --git a/gulpfile.js b/gulpfile.js index 09d21826c..2ebbae335 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -473,6 +473,7 @@ function release(done) { '!checksum.json', '!database.json', '!database_5_7.json', + '!settings.json', '!manifest.json', '!.idea/**', '!.git/**', @@ -487,6 +488,7 @@ function release(done) { '!config.inc.php', '!psalm.xml', '!update/structure.php', + '!update/settings.php', '!**/*.(lock|phar|log|zip|bak|jar|txt)', '!**/~*', '!vendor/tecnickcom/tcpdf/examples/**', @@ -535,6 +537,13 @@ function release(done) { name: 'database.json' }); + // Aggiunta del file per il controllo delle impostazioni + archive.append(shell.exec('php update/settings.php', { + silent: true + }).stdout, { + name: 'settings.json' + }); + // Aggiunta del commit corrente nel file REVISION archive.append(shell.exec('git rev-parse --short HEAD', { silent: true diff --git a/include/init/requirements.php b/include/init/requirements.php index d7cc382bf..88ff728ee 100755 --- a/include/init/requirements.php +++ b/include/init/requirements.php @@ -304,6 +304,7 @@ $files_to_check = [ 'manifest.json' => tr('Necessario per l\'aggiunta a schermata home da terminale (creato al termine della configurazione)'), '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'), + 'settings.json' => tr('Necessario per il controllo integrità impostazioni del database'), 'checksum.json' => tr('Necessario per il controllo integrità dei files del gestionale'), ]; diff --git a/modules/aggiornamenti/database.php b/modules/aggiornamenti/database.php index 266efe096..89da0a2e4 100644 --- a/modules/aggiornamenti/database.php +++ b/modules/aggiornamenti/database.php @@ -94,8 +94,14 @@ if (empty($data)) { $info = Update::getDatabaseStructure(); $results = integrity_diff($data, $info); +$contents = file_get_contents(base_dir().'/settings.json'); +$data = json_decode($contents, true); + +$settings = Update::getSettings(); +$results_settings = array_diff($data, $settings); + // Schermata di visualizzazione degli errori -if (!empty($results)) { +if (!empty($results) || !empty($results_settings)) { echo '
'.tr("Segue l'elenco delle tabelle del database che presentano una struttura diversa rispetto a quella prevista nella versione ufficiale del gestionale").'.
'.tr('Nome').' | +'.tr('Tipo').' | +
---|---|
+ '.$key.' + | ++ '.$setting.' + | +