mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-18 19:23:10 +01:00
Aggiunta controllo su impostazioni
This commit is contained in:
parent
0dace8b900
commit
453b3603cc
1
.gitignore
vendored
1
.gitignore
vendored
@ -93,6 +93,7 @@ manifest.json
|
||||
checksum.json
|
||||
database.json
|
||||
database_5_7.json
|
||||
settings.json
|
||||
|
||||
/tests/_log/*
|
||||
/tests/_temp/*
|
||||
|
@ -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
|
||||
|
@ -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'),
|
||||
];
|
||||
|
||||
|
@ -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 '
|
||||
<p>'.tr("Segue l'elenco delle tabelle del database che presentano una struttura diversa rispetto a quella prevista nella versione ufficiale del gestionale").'.</p>
|
||||
<div class="alert alert-warning">
|
||||
@ -187,9 +193,35 @@ if (!empty($results)) {
|
||||
</table>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo '
|
||||
if (!empty($results_settings)) {
|
||||
echo'
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<h3>Impostazioni mancanti</h3>
|
||||
<tr>
|
||||
<th>'.tr('Nome').'</th>
|
||||
<th>'.tr('Tipo').'</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
foreach ($results_settings as $key => $setting) {
|
||||
echo'
|
||||
<tr>
|
||||
<td>
|
||||
'.$key.'
|
||||
</td>
|
||||
<td>
|
||||
'.$setting.'
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '
|
||||
</tbody>
|
||||
</table>';
|
||||
}
|
||||
} else{
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info-circle"></i> '.tr('Il database non presenta problemi di integrità').'.
|
||||
<i class="fa fa-info-circle"></i> '.tr('Il database non presenta problemi di integrità').'.
|
||||
</div>';
|
||||
}
|
@ -208,7 +208,7 @@ class Update
|
||||
self::normalizeDatabase($database->getDatabaseName());
|
||||
|
||||
if (class_exists('\Models\Cache')) {
|
||||
\Models\Cache::pool('Ultima versione di OpenSTAManager disponibile')->set(null);
|
||||
Models\Cache::pool('Ultima versione di OpenSTAManager disponibile')->set(null);
|
||||
}
|
||||
|
||||
// Correzione permessi per le cartelle backup e files
|
||||
@ -259,7 +259,7 @@ class Update
|
||||
for ($i = $start; $i < $end; ++$i) {
|
||||
try {
|
||||
$database->query($queries[$i]);
|
||||
} catch (\Exception $e) {
|
||||
} catch (Exception $e) {
|
||||
throw new PDOException(tr('Aggiornamento fallito').': '.$queries[$i]);
|
||||
}
|
||||
|
||||
@ -343,9 +343,9 @@ class Update
|
||||
self::normalizeDatabase($database->getDatabaseName());
|
||||
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
} catch (Exception $e) {
|
||||
$logger = logger();
|
||||
$logger->addRecord(\Monolog\Logger::EMERGENCY, $e->getMessage());
|
||||
$logger->addRecord(Monolog\Logger::EMERGENCY, $e->getMessage());
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -419,6 +419,13 @@ class Update
|
||||
return $info;
|
||||
}
|
||||
|
||||
public static function getSettings()
|
||||
{
|
||||
$settings = database()->table('zz_settings')->pluck('tipo', 'nome')->toArray();
|
||||
|
||||
return $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* Controlla la presenza di aggiornamenti e prepara il database per la procedura.
|
||||
*/
|
||||
|
11
update/settings.php
Normal file
11
update/settings.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
error_reporting(0);
|
||||
|
||||
$skip_permissions = true;
|
||||
include_once __DIR__.'/../core.php';
|
||||
|
||||
$info = Update::getSettings();
|
||||
$response = json_encode($info);
|
||||
|
||||
echo $response;
|
Loading…
Reference in New Issue
Block a user