} @chmod(DIR_FS_BACKUP . $this->filename, 0666); } } $action = isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : ''; if (DEBUG_MODE != 'on' && ($action == 'restorenow' || $action == 'restorelocalnow')) { $action = ''; } if (tep_not_null($action)) { switch ($action) { case 'forget': $messageStack->add_session(SUCCESS_LAST_RESTORE_CLEARED, 'success'); tep_redirect(tep_href_link(FILENAME_BACKUP)); break; case 'backupnow': $dump->backup(); if (isset($HTTP_POST_VARS['download']) && $HTTP_POST_VARS['download'] == 'yes') { 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']))) {
} else { $error = '#' . mysql_errno() . ': ' . mysql_error(); } 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() {
$smarty->assign("is_dev", true); } define('PATH', BASE_PATH . '/backup/'); define('URL', BASE_URL . '/backup/'); define('LIMIT', 1); define('SC', 1); define('GS', 1); define('DBNAMES', DB_NAME); define('C_DEFAULT', 1); define('C_RESULT', 2); define('C_ERROR', 3); if (isset($_POST['submit_backup'])) { Common::check_priv("{$priv}"); require_once BASE_PATH . '/lib/class.db_backup.php'; $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']); }