'.tr('Il backup è molto importante perchè permette di creare una copia della propria installazione con relativi dati per poterla ripristinare in seguito a errori, cancellazione di dati accidentale o guasti hardware').'.
';
if (!extension_loaded('zip')) {
echo "
".tr('Estensione zip non supportata!').'
'.tr('Il backup verrà eseguito ma non in formato zip e quindi scaricabile solo tramite ftp o con copia-incolla').'.
';
}
echo '
';
if (!empty($backup_dir)) {
echo tr('Il percorso di backup è attualmente in').': '.slashes($backup_dir).'';
} else {
echo tr('Sembra che tu non abbia ancora specificato un percorso per il backup').'.';
}
echo '
'.tr('Puoi modificare il percorso di backup dal tuo file _FILE_', [
'_FILE_' => 'config.inc.php',
]).'
';
if (starts_with($backup_dir, $docroot)) {
echo '
'.tr('Per motivi di sicurezza si consiglia di modificare il percorso della cartella di backup al di fuori delle cartelle di OSM, possibilmente in una unità esterna').'.
';
}
if (!is_writable($backup_dir)) {
echo '
'.tr('La cartella di backup presente nella configurazione non è utilizzabile dal gestionale!').'.
'.tr('Verificare che la cartella abbia i permessi di scrittura abilitati').'.
';
}
echo '
';
//Lettura file di backup
if (file_exists($backup_dir)) {
$backups_zip = [];
$backups_file = [];
$files = glob($backup_dir.'*');
foreach ($files as $file) {
//I nomi dei file di backup hanno questa forma:
// OSM backup yyyy-mm-dd HH_ii_ss.zip (oppure solo cartella senza zip)
if (preg_match('/^OSM backup ([0-9\-]{10}) ([0-9_]{8})\.zip$/', basename($file), $m)) {
$backups_zip[] = $file;
} elseif (preg_match('/^OSM backup ([0-9\-]{10}) ([0-9_]{8})$/', basename($file), $m)) {
$backups_file[] = $file;
}
}
if (empty($backups_zip) && empty($backups_file)) {
echo '
'.tr('Non è ancora stato trovato alcun backup!').'
'.tr('Se hai già inserito dei dati su OSM crealo il prima possibile...').'
';
} else {
// Ordino i backup dal più recente al più vecchio
arsort($backups_zip);
arsort($backups_file);
echo '
'.tr('Backup compressi').'
';
if (!empty($backups_zip)) {
foreach ($backups_zip as $backup) {
$name = basename($backup);
preg_match('/^OSM backup ([0-9\-]{10}) ([0-9_]{8})\.zip$/', $name, $m);
echo '
'.tr('Backup del _DATE_ alle _TIME_', [
'_DATE_' => Translator::dateToLocale($m[1]),
'_TIME_' => Translator::timeToLocale(str_replace('_', ':', $m[2])),
]).'
'.tr('Nome del file').': '.$name.'
'.tr('Dimensione').': '.Translator::numberToLocale(filesize($backup) / 1024 / 1024).'MB
'.tr('Non è stato trovato alcun backup di questa tipologia!').'
';
}
echo '
'.tr('Backup non compressi').'
';
// Backup non compressi e quindi non scaricabili
if (!empty($backups_file)) {
foreach ($backups_file as $backup) {
$name = basename($backup);
preg_match('/^OSM backup ([0-9\-]{10}) ([0-9_]{8})$/', $name, $m);
echo '
'.tr('Backup del _DATE_ alle _TIME_', [
'_DATE_' => Translator::dateToLocale($m[1]),
'_TIME_' => Translator::timeToLocale(str_replace('_', ':', $m[2])),
]).'
'.tr('Nome del file').': '.$name.'
'.tr('Dimensione').': '.Translator::numberToLocale(filesize($backup) / 1024 / 1024).'MB