Пример #1
0
         header('Content-type: application/x-octet-stream');
         header('Content-disposition: attachment; filename=' . basename($dump->backup_file));
         readfile($dump->backup_file);
         unlink($dump->backup_file);
         exit;
     } else {
         $messageStack->add_session(SUCCESS_DATABASE_SAVED, 'success');
     }
     tep_redirect(tep_href_link(FILENAME_BACKUP));
     break;
 case 'restorenow':
 case 'restorelocalnow':
     if ($action == 'restorenow') {
         if (file_exists(DIR_FS_BACKUP . basename($HTTP_GET_VARS['file']))) {
             $dump->restore_file = DIR_FS_BACKUP . basename($HTTP_GET_VARS['file']);
             $dump->restore();
         }
     } elseif ($action == 'restorelocalnow') {
         if (is_uploaded_file($_FILES['sql_file']['tmp_name'])) {
             $dump->restore_file = $_FILES['sql_file']['tmp_name'];
             $dump->restore();
         }
     }
     $messageStack->add_session(SUCCESS_DATABASE_RESTORED, 'success');
     tep_redirect(tep_href_link(FILENAME_BACKUP));
     break;
 case 'download':
     $extension = substr($HTTP_GET_VARS['file'], -3);
     if ($extension == 'zip' || $extension == '.gz' || $extension == 'sql') {
         if ($fp = fopen(DIR_FS_BACKUP . basename($HTTP_GET_VARS['file']), 'rb')) {
             $buffer = fread($fp, filesize(DIR_FS_BACKUP . basename($HTTP_GET_VARS['file'])));
Пример #2
0
if (!file_exists(PATH)) {
    @mkdir(PATH, 0777) || die("Не удалось создать каталог для бекапа");
    @chmod(PATH, 0777);
}
$SK = new dumper();
define('C_DEFAULT', 1);
define('C_RESULT', 2);
define('C_ERROR', 3);
define('C_WARNING', 4);
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
switch ($action) {
    case 'backup':
        $SK->backup();
        break;
    case 'restore':
        $SK->restore();
        break;
    default:
        $SK->main();
}
mysql_close();
if (!defined('AUTOMODE')) {
    echo "<SCRIPT>document.getElementById('timer').innerHTML = '" . round(array_sum(explode(' ', microtime())) - $timer, 4) . " sec.'</SCRIPT>";
}
class dumper
{
    function dumper()
    {
        $this->SET['last_action'] = 0;
        $this->SET['last_db_backup'] = '';
        $this->SET['tables'] = '';
Пример #3
0
     $dumper = new dumper();
     $dumper->backup($_POST['filter'], $_POST['pack'], $_POST['pack_rate']);
     $smarty->assign("file_name", $dumper->filename);
     $smarty->assign("tables_list", $dumper->tables_list);
     $smarty->assign("table_size", $dumper->table_size);
     $smarty->assign("file_size", $dumper->file_size);
     $smarty->assign("tables_count", $dumper->tables_count);
     $smarty->assign("rows_count", $dumper->rows_count);
     $smarty->assign("action", "backup");
 }
 if (isset($_POST['submit_restore'])) {
     Common::check_priv("0");
     require_once BASE_PATH . '/lib/class.db_backup.php';
     $dumper = new dumper();
     if (isset($_POST['file']) && $_POST['file'] != '') {
         $dumper->restore($_POST['file']);
     }
     $smarty->assign("file_date", $dumper->file_date);
     $smarty->assign("q_number", $dumper->q_number);
     $smarty->assign("t_number", $dumper->t_number);
     $smarty->assign("r_number", $dumper->r_number);
     $smarty->assign("action", "restore");
 }
 if ($_SESSION['fw_user']['priv'] == '0') {
     foreach (glob(BASE_PATH . "/backup/" . DB_NAME . "_*.*") as $filename) {
         $filename = explode("/", $filename);
         $files_list[] = $filename[count($filename) - 1];
     }
     if (isset($files_list)) {
         $smarty->assign("files_list", $files_list);
     }