gest366/modules/backup/edit.php

125 lines
4.7 KiB
PHP

<div class="row">
<div class="col-md-12 col-lg-6">
<div class="callout callout-info ">
<?php if ($backup_dir!="") {
echo _('Il percorso del tuo backup &egrave; in').":\n";
echo "<b>".$backup_dir."</b><br/>\n";
}else{
echo _('Sembra che tu non abbia ancora specificato un percorso per il backup').".<br>\n";
}
?>
<br>
<small class="help-block"><?php echo _("Puoi modificare il percorso dal tuo file") ?> <b>config.inc.php</b></small>
</div>
<?php
if( strstr( $backup_dir, $docroot ) ){
echo "<div class='alert alert-warning'><i class='fa fa-warning'></i> Per motivi di sicurezza si consiglia di modificare il percorso della cartella di backup al di fuori delle cartelle di gest366 , possibilmente in una unit&agrave; esterna.</div>\n";
}
?>
</div>
<div class="col-md-12 col-lg-6">
<?php
//Se la cartella di backup non esiste provo a crearla
if( !file_exists($backup_dir) ){
@mkdir( $backup_dir );
}
$backups_zip = array();
$backups_file = array();
//Lettura file di backup
if( $handle = opendir($backup_dir) ){
while( false !== ($file = readdir($handle)) ){
//I nomi dei file di backup hanno questa forma:
// ges360 backup yyyy-mm-dd HH_ii_ss.zip (oppure solo cartella senza zip)
if( preg_match( '/^ges360 backup ([0-9\-]{10}) ([0-9_]{8})\.zip$/', $file, $m ) ){
array_push( $backups_zip, $file );
}
else if( preg_match( '/^Backup del ([0-9\-]{10}) ([0-9_]{8})$/', $file, $m ) ){
array_push( $backups_file, $file );
}
}
closedir($handle);
if( ( sizeof($backups_zip) + sizeof($backups_file) ) == 0 ){
// echo "<div class='alert alert-warning'><i class='fa fa-warning'></i> <b>Attenzione:</b> non &egrave; ancora stato trovato alcun backup! Se hai gi&agrave; inserito dei dati su gest366 crealo il prima possibile...</div>\n";
}
else{
//Ordino i backup dal più recente al più vecchio
arsort($backups_zip);
arsort($backups_file);
foreach( $backups_zip as $backup ){
if( preg_match( '/^ges360 backup ([0-9\-]{10}) ([0-9_]{8})\.zip$/', $backup, $m ) ){
echo "<div class='callout callout-warning'>\n";
echo " <b>Backup del ".date( "d/m/Y", strtotime($m[1]) )." alle ".date( "H:i", strtotime(str_replace("_", ":", $m[2])) )."</b><br>\n";
echo " <small class='help-block'>\n";
echo " Nome file: ".$backup."<br>\n";
echo " Dimensione: ".number_format( filesize($backup_dir.$backup)/1024/1024, 1, ",", "." )."MB\n";
echo " </small>\n";
echo " <a class='btn btn-sm btn-primary' href='".$rootdir."/modules/backup/actions.php?op=getfile&file=".$backup."' target='_blank'><i class='fa fa-download'></i> Scarica</a>\n";
echo " <a href='javascript:;' data-toggle='tooltip' title='Elimina backup...' class='pull-right' onclick=\"if( confirm('Vuoi eliminare questo backup?') ){ location.href='".$rootdir."/editor.php?id_module=".$id_module."&op=del&file=".$backup."'; }\"><i class='fa fa-trash-o'></i></a>\n";
echo "</div>\n";
}
}
//Backup non compressi e quindi non scaricabili
if( sizeof($backups_file) > 0 ){
echo "<hr><b>Backup non compressi</b>\n";
foreach( $backups_file as $backup ){
if( preg_match( '/^Backup del ([0-9\-]{10}) ([0-9_]{8})$/', $backup, $m ) ){
echo "<div class='callout callout-info'>\n";
echo " <b>Backup del ".date( "d/m/Y", strtotime($m[1]) )." alle ".date( "H:i", strtotime(str_replace("_", ":", $m[2])) )."</b><br>\n";
echo " <small class='help-block'>\n";
echo " Nome cartella: ".$backup."<br>\n";
echo " </small>\n";
echo " <a href='javascript:;' data-toggle='tooltip' title='Elimina backup...' class='pull-right' onclick=\"if( confirm('Vuoi eliminare questo backup?') ){ location.href='".$rootdir."/editor.php?id_module=".$id_module."&op=del&file=".$backup."'; }\"><i class='fa fa-trash-o'></i></a>\n";
echo "</div>\n";
}
}
}
}
}
else{
echo "<div class='alert alert-danger'><b>ATTENZIONE:</b> la cartella di backup non esiste! Non &egrave; possibile eseguire i backup!</div>\n";
}
?>
</div>
</div>
<?php
if( !extension_loaded('zip') ){
echo "<div class='alert alert-warning'><i class='fa fa-times'></i> Estensione zip non supportata! Il backup verr&agrave; eseguito ma non in formato zip e quindi scaricabile solo tramite ftp o con copia-incolla.</div>\n";
}
if ($backup_dir!=""){
echo "<button type=\"button\" class=\"btn btn-info btn-lg\" onclick=\"if( confirm('Creare un nuovo backup ora?') ){ location.href='".$rootdir."/editor.php?id_module=".$id_module."&op=backup'; }\"><i class=\"fa fa-archive\"></i> Crea backup ora...</button>\n";
}
?>