protected override void OnLoad(EventArgs e) { base.OnLoad(e); UserValidator.EnsureValidRoles(); Response.Expires = -1; Response.ContentType = "application/json"; if (!Request.ContentType.Contains("json")) { Response.Write("Request does not contain JSON data."); Response.End(); return; } var streamReader = new StreamReader(Request.InputStream, Encoding.UTF8); var jsonString = streamReader.ReadToEnd(); var jObject = JObject.Parse(jsonString); var targetFile = (string)jObject["targetFilename"]; var patternFile = (string)jObject["patternFilename"]; PathValidator.EnsureValid(Path.To(targetFile)); PathValidator.EnsureValid(Path.To(patternFile)); var languageFileUpdater = new LanguageFileUpdater { NewContent = (JObject)jObject["xmlContent"] }; languageFileUpdater.ExecuteApplyFor(targetFile, patternFile); Response.Write("{\"Status\":\"200 OK\"}"); Response.End(); }
private static IEnumerable <string> GetAllFilenamesFrom(string directory) { PathValidator.EnsureValid(directory); var xmlFilePaths = Directory.GetFiles(directory, "*.xml"); return(xmlFilePaths.Select(path => path.Split(System.IO.Path.DirectorySeparatorChar).Last())); }
protected void lbDeleteFile_OnCommand(object sender, CommandEventArgs e) { var filename = e.CommandArgument.ToString(); var filePath = Path.To(filename); PathValidator.EnsureValid(filePath); File.Delete(filePath); RefreshCreateNewArea(); RefreshLanguageFileList(); litMessage.Text = string.Format("File {0} was successfully deleted.", filename); ShowMessage = true; }
private void InitEditFor(string filename) { hfPatternFilename.Value = filename; var filePath = Path.To(filename); PathValidator.EnsureValid(filePath); var xmlDocument = new XmlDocument(); using (var fileStream = new FileStream(filePath, FileMode.Open)) { xmlDocument.Load(fileStream); } csEditableTree.XmlDeclaration = xmlDocument.FirstChild as XmlDeclaration; xmlDocument.RemoveChild(xmlDocument.FirstChild); csEditableTree.DataSource = xmlDocument.ChildNodes; csEditableTree.DataBind(); }
protected void btnRestoreBackup_OnClick(object sender, EventArgs e) { var backupId = ddlRestoreBackup.SelectedValue; var store = typeof(LangFileBackupContainer).GetStore(); var backup = store .ItemsAsPropertyBag() .First(item => backupId.Equals(item["BackupId"] as string)); var fileContent = backup["Content"] as string; var path = Path.To(backup["Filename"] as string); PathValidator.EnsureValid(path); using (var streamWriter = new StreamWriter(path)) { streamWriter.Write(fileContent); } RefreshLanguageFileList(); litMessage.Text = string.Format("File {0} was successfully restored.", backup["Filename"] as string); ShowMessage = true; }
protected void lbBackUpFile_OnCommand(object sender, CommandEventArgs e) { var filename = e.CommandArgument.ToString(); var filePath = Path.To(filename); PathValidator.EnsureValid(filePath); var store = typeof(LangFileBackupContainer).GetStore(); store.Save(new LangFileBackupContainer { BackupId = Guid.NewGuid().ToString(), Filename = filename, Content = File.ReadAllText(filePath), Created = DateTime.Now }); RefreshBackupArea(); litMessage.Text = string.Format("File {0} was successfully backed up.", filename); ShowMessage = true; }