.
*/
use Models\OperationLog;
include_once __DIR__.'/../../core.php';
$file = basename(__FILE__);
$effettua_controllo = filter('effettua_controllo');
// Schermata di caricamento delle informazioni
if (empty($effettua_controllo)) {
echo '
'.tr('Caricamento in corso').'...
';
return;
}
$contents = file_get_contents(base_dir().'/checksum.json');
$checksum = json_decode($contents);
if (empty($checksum)) {
echo '
'.tr('Impossibile effettuare controlli di integrità in assenza del file _FILE_', [
'_FILE_' => 'checksum.json',
]).'.
';
return;
}
// Controllo degli errori
$errors = [];
foreach ($checksum as $file => $md5) {
$verifica = md5_file(base_dir().'/'.$file);
if ($verifica != $md5) {
$errors[] = $file;
}
}
OperationLog::setInfo('id_module', $id_module);
// Schermata di visualizzazione degli errori
if (!empty($errors)) {
OperationLog::setInfo('options', 'KO');
echo '
'.tr("Segue l'elenco dei file che presentano checksum diverso rispetto a quello registrato nella versione ufficiale").'.
'.tr('Attenzione: questa funzionalità può presentare dei risultati falsamente positivi, sulla base del contenuto del file _FILE_', [
'_FILE_' => 'checksum.json',
]).'.
'.tr('File con integrità errata').' |
';
foreach ($errors as $error) {
echo '
'.$error.'
|
';
}
echo '
';
} else {
OperationLog::setInfo('options', 'OK');
echo '
'.tr('Nessun file con problemi di integrità').'.
';
}
OperationLog::build('effettua_controllo');