public void LoadData() { if (node != null) { string layoutText = String.Empty; // get template info pti = PageTemplateInfoProvider.GetPageTemplateInfo(node.GetUsedPageTemplateId()); if ((pti == null) && (DocumentContext.CurrentPageInfo != null) && (DocumentContext.CurrentPageInfo.UsedPageTemplateInfo != null)) { pti = DocumentContext.CurrentPageInfo.UsedPageTemplateInfo; } if (pti != null) { PageTemplateLayoutTypeEnum type = PageTemplateLayoutTypeEnum.PageTemplateLayout; // Try get device layout object layoutObject = PageTemplateDeviceLayoutInfoProvider.GetLayoutObject(pti, DeviceContext.CurrentDeviceProfile, out type); layoutText = pti.PageTemplateLayout; // Set layout text with dependence on current layout type switch (type) { // Shared layouts case PageTemplateLayoutTypeEnum.SharedLayout: case PageTemplateLayoutTypeEnum.DeviceSharedLayout: case PageTemplateLayoutTypeEnum.SharedLayoutMapped: layoutText = (layoutObject as LayoutInfo).LayoutCode; break; // Custom device layout case PageTemplateLayoutTypeEnum.DeviceLayout: layoutText = (layoutObject as PageTemplateDeviceLayoutInfo).LayoutCode; break; } } ltlLayoutCode.Text = HTMLHelper.EnsureHtmlLineEndings(HTMLHelper.HighlightHTML(layoutText)); ltlLayoutCode.Text = RegexHelper.GetRegex("[ ](?![^<>]*>)").Replace(ltlLayoutCode.Text, " "); // Load node data if (!RequestHelper.IsPostBack()) { txtBodyCss.Text = node.NodeBodyElementAttributes; txtBodyScripts.Value = node.NodeBodyScripts; txtDocType.Text = node.NodeDocType; txtHeadTags.Value = node.NodeHeadTags; } } lblAfterDocType.Text = HighlightHTML("<html>") + "<br />" + AddSpaces(1) + HighlightHTML("<head>"); lblAfterHeadTags.Text = AddSpaces(1) + HighlightHTML("</head>"); lblAfterLayout.Text = AddSpaces(1) + HighlightHTML("</body>") + "<br />" + HighlightHTML("</html>"); lblBodyEnd.Text = HighlightHTML(">"); lblBodyStart.Text = AddSpaces(1) + HighlightHTML("<body " + HttpUtility.HtmlDecode(mBody)); }
/// <summary> /// Validates customer payment data. /// </summary> public override string ValidateData() { var errorMessage = base.ValidateData(); if (!string.IsNullOrEmpty(errorMessage)) { lblError.Visible = true; lblError.Text = HTMLHelper.EnsureHtmlLineEndings(HTMLHelper.HTMLEncode(errorMessage)); } else { lblError.Visible = false; } return(errorMessage); }
/// <summary> /// Gets row column content. /// </summary> /// <param name="dr">DataRow</param> /// <param name="dc">DataColumn</param> /// <param name="toCompare">Indicates if comparison will be used for content</param> /// <returns>String with column content</returns> private string GetRowColumnContent(DataRow dr, DataColumn dc, bool toCompare) { if (dr == null) { // Data row was not specified return(string.Empty); } if (!dr.Table.Columns.Contains(dc.ColumnName)) { // Data row does not contain the required column return(string.Empty); } var value = dr[dc.ColumnName]; if (DataHelper.IsEmpty(value)) { // Column is empty return(string.Empty); } var content = ValidationHelper.GetString(value, ""); Func <string> render = () => { if (toCompare) { return(content); } content = HTMLHelper.EnsureHtmlLineEndings(content); return(content); }; Func <string> standardRender = () => { if (toCompare) { return(content); } if (EncodeDisplayedData) { content = HTMLHelper.HTMLEncode(content); } content = content.Replace("\t", " "); content = "<div style=\"max-height: 300px; overflow: auto;\">" + content + "</div>"; content = HTMLHelper.EnsureHtmlLineEndings(content); return(content); }; // Binary columns if (dc.DataType == typeof(byte[])) { var data = (byte[])dr[dc.ColumnName]; content = string.Format("<{0}: {1}>", GetString("General.BinaryData"), DataHelper.GetSizeString(data.Length)); return(standardRender()); } // DataTime columns if (dc.DataType == typeof(DateTime)) { var dateTime = Convert.ToDateTime(content); var cultureInfo = CultureHelper.GetCultureInfo(MembershipContext.AuthenticatedUser.PreferredUICultureCode); content = dateTime.ToString(cultureInfo); return(standardRender()); } switch (dc.ColumnName.ToLowerCSafe()) { // Document content case "documentcontent": var sb = new StringBuilder(); Action <MultiKeyDictionary <string>, string, string> addItems = (dictionary, titleClass, textClass) => { foreach (DictionaryEntry item in dictionary) { var regionContent = HTMLHelper.ResolveUrls((string)item.Value, SystemContext.ApplicationPath); if (toCompare) { sb.AppendLine((string)item.Key); sb.AppendLine(regionContent); } else { sb.AppendFormat("<span class=\"{0}\">{1}</span>", titleClass, item.Key); sb.AppendFormat("<span class=\"{0}\">{1}</span>", textClass, HTMLHelper.HTMLEncode(regionContent)); } } }; var items = new EditableItems(); items.LoadContentXml(ValidationHelper.GetString(value, "")); // Add regions addItems(items.EditableRegions, "VersionEditableRegionTitle", "VersionEditableRegionText"); // Add web parts addItems(items.EditableWebParts, "VersionEditableWebPartTitle", "VersionEditableWebPartText"); content = sb.ToString(); return(render()); // XML columns case "pagetemplatewebparts": case "webpartproperties": case "reportparameters": case "classformdefinition": case "classxmlschema": case "classformlayout": case "userdialogsconfiguration": case "siteinvoicetemplate": case "userlastlogoninfo": case "formdefinition": case "formlayout": case "classsearchsettings": case "graphsettings": case "tablesettings": case "issuetext": case "issuewidgets": case "savedreportparameters": case "emailwidgetproperties": // HTML columns case "emailtemplatetext": case "emailwidgetcode": case "templatebody": case "templateheader": case "templatefooter": case "containertextbefore": case "containertextafter": case "savedreporthtml": case "layoutcode": case "webpartlayoutcode": case "transformationcode": case "reportlayout": #pragma warning disable CS0618 // Type or member is obsolete if (BrowserHelper.IsIE()) #pragma warning restore CS0618 // Type or member is obsolete { content = HTMLHelper.ReformatHTML(content, " "); } else { content = HTMLHelper.ReformatHTML(content); } break; // File columns case "metafilename": var metaFileName = HTMLHelper.HTMLEncode(ValidationHelper.GetString(dr["MetaFileName"], "")); if (ShowLinksForMetafiles) { var metaFileGuid = ValidationHelper.GetGuid(dr["MetaFileGuid"], Guid.Empty); if (metaFileGuid != Guid.Empty) { var metaFileUrl = ResolveUrl(MetaFileInfoProvider.GetMetaFileUrl(metaFileGuid, metaFileName)); content = string.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>", metaFileUrl, metaFileName); } } else { content = metaFileName; } return(render()); } return(standardRender()); }
/// <summary> /// Processes the content. /// </summary> /// <param name="sb">StringBuilder to write</param> /// <param name="source">Source object</param> /// <param name="column">Column</param> /// <param name="content">Content</param> protected void ProcessContent(StringBuilder sb, object source, string column, ref string content) { bool standard = true; switch (column.ToLowerCSafe()) { // Document content case "documentcontent": EditableItems items = new EditableItems(); items.LoadContentXml(content); // Add regions foreach (DictionaryEntry region in items.EditableRegions) { sb.Append("<span class=\"VersionEditableRegionTitle\">" + (string)region.Key + "</span>"); string regionContent = HTMLHelper.ResolveUrls((string)region.Value, SystemContext.ApplicationPath); sb.Append("<span class=\"VersionEditableRegionText\">" + regionContent + "</span>"); } // Add web parts foreach (DictionaryEntry part in items.EditableWebParts) { sb.Append("<span class=\"VersionEditableWebPartTitle\">" + (string)part.Key + "</span>"); string regionContent = HTMLHelper.ResolveUrls((string)part.Value, SystemContext.ApplicationPath); sb.Append("<span class=\"VersionEditableWebPartText\">" + regionContent + "</span>"); } standard = false; break; // XML columns case "pagetemplatewebparts": case "webpartproperties": case "reportparameters": case "classformdefinition": case "classxmlschema": case "classformlayout": case "userdialogsconfiguration": content = HTMLHelper.ReformatHTML(content); break; // File columns case "metafilename": { Guid metaFileGuid = ValidationHelper.GetGuid(GetValueFromSource(source, "MetaFileGuid"), Guid.Empty); if (metaFileGuid != Guid.Empty) { string metaFileName = ValidationHelper.GetString(GetValueFromSource(source, "MetaFileName"), ""); content = "<a href=\"" + ResolveUrl(MetaFileInfoProvider.GetMetaFileUrl(metaFileGuid, metaFileName)) + "\" target=\"_blank\" >" + HTMLHelper.HTMLEncode(metaFileName) + "</a>"; sb.Append(content); standard = false; } } break; } // Standard rendering if (standard) { if (content.Length > 500) { content = TextHelper.EnsureMaximumLineLength(content, 50, "​", true); } else { content = HTMLHelper.HTMLEncode(content); } content = HTMLHelper.EnsureHtmlLineEndings(content); content = content.Replace("\t", " "); sb.Append("<div style=\"max-height: 300px; overflow: auto;\">" + content + "</div>"); } }