ciao a tutti,
ho provato a fare un backup tramite l'apposita procedura, e il backup viene eseguitro correttamente.
Al momento del ripristino, però, non viene ripristinato niente, sembra che il comando di ripristino database non venga dato.
Ho controllato il file backup.php presente in ../modules/backup/ e ho notato che non veniva passato dall'array
$permessi[$nome_modulo]
il valore che indica l'autorizzazione attuale.
Non conosco php, ma ho notato che l'array
$permessi[$nome_modulo]
viene inizializzato da questa inclusione
include($docroot."/topmenu.php");
che però viene chiamata dopo l'esecuzione della funzione di controllo del livello di accesso
if( $permessi[$nome_modulo] == 'rw' )
Ho quindi spostato l'inclusione prima del blocco di codice che si occupa di verificare le condizioni per il restore.
Questo il codice originale
include($docroot."/lib/user_check.php");
include($docroot."/top.php");
//Restore database
if( $op == "restore" ){
if( $permessi[$nome_modulo] == 'rw' ){
$tmp = $_FILES['restore_file']['tmp_name'];
$filename = $_FILES['restore_file']['name'];
$filetype = $_FILES['restore_file']['type'];
$size = $_FILES['restore_file']['size'];
$type = $_POST['type'];
//importazione file temporaneo uploadato nel db
$dbo->multiQuery( $tmp );
array_push( $infos, "Dati importati correttamente!Nome file: $filenameDimensione: $size bytes" );
}
}
include($docroot."/topmenu.php");
questo il codice modificato
include($docroot."/lib/user_check.php");
include($docroot."/top.php");
include($docroot."/topmenu.php");
//Restore database
if( $op == "restore" ){
if( $permessi[$nome_modulo] == 'rw' ){
$tmp = $_FILES['restore_file']['tmp_name'];
$filename = $_FILES['restore_file']['name'];
$filetype = $_FILES['restore_file']['type'];
$size = $_FILES['restore_file']['size'];
$type = $_POST['type'];
//importazione file temporaneo uploadato nel db
$dbo->multiQuery( $tmp );
array_push( $infos, "Dati importati correttamente!Nome file: $filenameDimensione: $size bytes" );
}
}
Ho provato il ripristino dopo questa modifica e sembra tutto ok. Non so se questo è il modo corretto per fare il ripristino o se ci sono altri motivi perchè prima non riuscivo ad eseguirlo.
Saluti