Bug in backups.php, 'protect', fixed.
[fa-stable.git] / admin / backups.php
index e4364def3b5537bd5ed4d3862e84c31a62fc11e3..01ef0732acc41e8be64c2903e651c0a87a4eeec9 100644 (file)
@@ -24,14 +24,21 @@ if (get_post('view')) {
                if (in_ajax()) 
                        $Ajax->popup( $filename );
                else {
-                   header('Content-type: text/plain');
-               header('Content-Length: '.filesize($filename));
+                       header('Content-type: text/plain');
+                       header('Content-Length: '.filesize($filename));
                        header("Content-Disposition: inline; filename=".basename($filename));
-               readfile($filename);
+                       if (substr($filename, -3, 3) == '.gz')
+                               header("Content-Encoding: gzip");
+
+                       if (substr($filename, -4, 4) == '.zip')
+                               echo db_unzip('', $filename);
+                       else
+                               readfile($filename);
                        exit();
                }
        }
 };
+
 if (get_post('download')) {
        if (get_post('backups')) {
                download_file($SysPrefs->backup_dir().clean_file_name(get_post('backups')));
@@ -139,7 +146,7 @@ if (get_post('creat')) {
 
 if (get_post('restore')) {
        if ($backup_name) {
-               if (db_import($backup_path, $conn, true, false, check_value('protected')))
+               if (db_import($backup_path, $conn, true, false, check_value('protect')))
                        display_notification(_("Restore backup completed."));
                $SysPrefs->refresh(); // re-read system setup
        } else
@@ -196,7 +203,7 @@ table_section_title(_("Backup scripts maintenance"));
        echo "<td style='padding-left:20px' valign='top'>";
        start_table();
        submit_row('view',_("View Backup"), false, '', '', false);
-       submit_row('download',_("Download Backup"), false, '', '', false);
+       submit_row('download',_("Download Backup"), false, '', '', 'download');
        submit_row('restore',_("Restore Backup"), false, '','', 'process');
        submit_js_confirm('restore',_("You are about to restore database from backup file.\nDo you want to continue?"));