protected void Page_PreRender(object sender, EventArgs e) { Master.PageTitle = DatabaseBackupStrings.GetText(@"BackupPageTitle"); Master.ActiveMenu = "Backup"; chkAcceptRestore1.Checked = chkAcceptRestore2.Checked = false; }
protected void btnRestore_Click(object sender, EventArgs e) { if (Page.IsValid) { if (fuRestoreFile.PostedFile == null || fuRestoreFile.PostedFile.ContentLength == 0) { Master.MessageCenter.DisplayWarningMessage(DatabaseBackupStrings.GetText(@"BackupFileEmptyErrorMessage")); return; } string fullSqlPath = Files.AquireUploadFileName(@"MySqlBackup.sql", Settings.GetSetting(Settings.Keys.SECURE_UPLOAD_FOLDER), null, true, true, false); fuRestoreFile.PostedFile.SaveAs(fullSqlPath); Files.TemporaryFileDeleter fileDeleter = new Files.TemporaryFileDeleter(fullSqlPath); try { string sql = @""; if (Path.GetExtension(fuRestoreFile.PostedFile.FileName).ToLower() == @".gz") { using (GZipStream gzipStream = new GZipStream(File.Open(fullSqlPath, FileMode.Open, FileAccess.Read, FileShare.Read), CompressionMode.Decompress)) { using (StreamReader reader = new StreamReader(gzipStream, Encoding.UTF8, true)) { sql = reader.ReadToEnd(); } } } else { sql = File.ReadAllText(fullSqlPath, Encoding.UTF8); } using (ConnectorBase conn = ConnectorBase.NewInstance()) { conn.ExecuteScript(sql); } fileDeleter.DeleteFile(); Master.MessageCenter.DisplaySuccessMessage(DatabaseBackupStrings.GetText(@"RestoreFinishedMessage")); } catch (System.Exception ex) { Master.MessageCenter.DisplayErrorMessage(string.Format(DatabaseBackupStrings.GetText(@"RestoreGeneralError"), ex.Message)); } } }