// //======================================================================== // //======================================================================== // public static string get(CoreController core) { string tempGetForm_Downloads = null; try { // string Button = core.docProperties.getText(RequestNameButton); if (Button == ButtonCancel) { return(core.webServer.redirect("/" + core.appConfig.adminRoute, "Downloads, Cancel Button Pressed")); } string ButtonListLeft = ""; string ButtonListRight = ""; string Content = ""; // if (!core.session.isAuthenticatedAdmin()) { // // Must be a developer // ButtonListLeft = ButtonCancel; ButtonListRight = ""; Content = Content + AdminUIController.getFormBodyAdminOnly(); } else { int ContentId = core.docProperties.getInteger("ContentID"); string Format = core.docProperties.getText("Format"); // // Process Requests // if (!string.IsNullOrEmpty(Button)) { int RowCnt = 0; switch (Button) { case ButtonDelete: RowCnt = core.docProperties.getInteger("RowCnt"); if (RowCnt > 0) { int RowPtr = 0; for (RowPtr = 0; RowPtr < RowCnt; RowPtr++) { if (core.docProperties.getBoolean("Row" + RowPtr)) { DownloadModel.delete <DownloadModel>(core.cpParent, core.docProperties.getInteger("RowID" + RowPtr)); } } } break; } } // // Build Tab0 // string RQS = core.doc.refreshQueryString; int PageSize = core.docProperties.getInteger(RequestNamePageSize); if (PageSize == 0) { PageSize = 50; } int PageNumber = core.docProperties.getInteger(RequestNamePageNumber); if (PageNumber == 0) { PageNumber = 1; } string AdminURL = "/" + core.appConfig.adminRoute; int TopCount = PageNumber * PageSize; // const int ColumnCnt = 5; // // Setup Headings // string[] ColCaption = new string[ColumnCnt + 1]; string[] ColAlign = new string[ColumnCnt + 1]; string[] ColWidth = new string[ColumnCnt + 1]; string[,] Cells = new string[PageSize + 1, ColumnCnt + 1]; int ColumnPtr = 0; // ColCaption[ColumnPtr] = " "; ColAlign[ColumnPtr] = "center"; ColWidth[ColumnPtr] = "10px"; ColumnPtr = ColumnPtr + 1; // ColCaption[ColumnPtr] = "Name"; ColAlign[ColumnPtr] = "left"; ColWidth[ColumnPtr] = ""; ColumnPtr = ColumnPtr + 1; // ColCaption[ColumnPtr] = "For"; ColAlign[ColumnPtr] = "left"; ColWidth[ColumnPtr] = "200px"; ColumnPtr = ColumnPtr + 1; // ColCaption[ColumnPtr] = "Requested"; ColAlign[ColumnPtr] = "left"; ColWidth[ColumnPtr] = "200px"; ColumnPtr = ColumnPtr + 1; // ColCaption[ColumnPtr] = "File"; ColAlign[ColumnPtr] = "Left"; ColWidth[ColumnPtr] = "100px"; ColumnPtr = ColumnPtr + 1; // // Get Downloads available // int DataRowCount = 0; var downloadList = DbBaseModel.createList <DownloadModel>(core.cpParent, "", "id desc", PageSize, PageNumber); int RowPointer = 0; if (downloadList.Count == 0) { Cells[0, 1] = "There are no download requests"; RowPointer = 1; } else { RowPointer = 0; DataRowCount = DbBaseModel.getCount <DownloadModel>(core.cpParent); string LinkPrefix = "<a href=\"" + core.appConfig.cdnFileUrl; string LinkSuffix = "\" target=_blank>Download</a>"; foreach (var download in downloadList) { if (RowPointer >= PageSize) { break; } var requestedBy = DbBaseModel.create <PersonModel>(core.cpParent, download.requestedBy); Cells[RowPointer, 0] = HtmlController.checkbox("Row" + RowPointer) + HtmlController.inputHidden("RowID" + RowPointer, download.id); Cells[RowPointer, 1] = download.name; Cells[RowPointer, 2] = (requestedBy == null) ? "unknown" : requestedBy.name; Cells[RowPointer, 3] = download.dateRequested.ToString(); if (string.IsNullOrEmpty(download.resultMessage)) { Cells[RowPointer, 4] = "\r\n<div id=\"pending" + RowPointer + "\">Pending <img src=\"/ccLib/images/ajax-loader-small.gif\" width=16 height=16></div>"; } else if (!string.IsNullOrEmpty(download.filename.filename)) { Cells[RowPointer, 4] = "<div id=\"pending" + RowPointer + "\">" + LinkPrefix + download.filename.filename + LinkSuffix + "</div>"; } else { Cells[RowPointer, 4] = "<div id=\"pending" + RowPointer + "\">error</div>"; } RowPointer = RowPointer + 1; } } StringBuilderLegacyController Tab0 = new StringBuilderLegacyController(); Tab0.add(HtmlController.inputHidden("RowCnt", RowPointer)); string PreTableCopy = ""; string PostTableCopy = ""; string Cell = AdminUIController.getReport(core, RowPointer, ColCaption, ColAlign, ColWidth, Cells, PageSize, PageNumber, PreTableCopy, PostTableCopy, DataRowCount, "ccPanel"); Tab0.add(Cell); Content = Tab0.text; ButtonListLeft = ButtonCancel + "," + ButtonRefresh + "," + ButtonDelete; ButtonListRight = ""; Content = Content + HtmlController.inputHidden(rnAdminSourceForm, AdminFormDownloads); } // string Caption = "Download Manager"; string Description = "" + "<p>The Download Manager holds all downloads requested from anywhere on the website. It also provides tools to request downloads from any Content.</p>" + "<p>To add a new download of any content in Contensive, click Export on the filter tab of the content listing page. To add a new download from a SQL statement, use Custom Reports under Reports on the Navigator.</p>"; int ContentPadding = 0; string ContentSummary = ""; tempGetForm_Downloads = AdminUIController.getToolBody(core, Caption, ButtonListLeft, ButtonListRight, true, true, Description, ContentSummary, ContentPadding, Content); // core.html.addTitle(Caption); } catch (Exception ex) { LogController.logError(core, ex); } return(tempGetForm_Downloads); }
// /// <summary> /// /// </summary> /// <param name="cp"></param> /// <returns></returns> // public static string sampleTool(CPClass cp) { string result = ""; CoreController core = cp.core; try { var resultForm = new StringBuilder(); resultForm.Append(AdminUIController.getHeaderTitleDescription("Sample Tool", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Erat imperdiet sed euismod nisi. In vitae turpis massa sed elementum tempus egestas sed sed. Tortor consequat id porta nibh. Pulvinar sapien et ligula ullamcorper malesuada. Facilisi nullam vehicula ipsum a. Nibh venenatis cras sed felis eget. Lectus magna fringilla urna porttitor rhoncus dolor. Auctor urna nunc id cursus metus aliquam. Gravida neque convallis a cras semper auctor neque. Faucibus nisl tincidunt eget nullam non nisi est sit amet. In nisl nisi scelerisque eu ultrices vitae auctor eu augue. In egestas erat imperdiet sed euismod nisi. Adipiscing diam donec adipiscing tristique. Ullamcorper eget nulla facilisi etiam dignissim diam quis enim. Sed libero enim sed faucibus turpis in eu. Ultrices neque ornare aenean euismod elementum nisi quis eleifend.")); // // process form string button = cp.Doc.GetText("button"); string PageSize = cp.Doc.GetText("pageSize"); int countryId = cp.Doc.GetInteger("countryId"); var buttonList = new List <string> { ButtonCancel }; if (button == ButtonCancel) { // // Cancel just exits with no content // return(string.Empty); } else if (!core.session.isAuthenticatedAdmin()) { // // Not Admin Error // resultForm.Append(AdminUIController.getFormBodyAdminOnly()); } else { // // Process Requests // switch (button) { case ButtonSave: case ButtonOK: { // // perform action break; } default: { // nothing break; } } if (button.Equals(ButtonOK)) { // // Exit on OK // return(string.Empty); } } // // display form resultForm.Append(cp.Html5.P("Enter sample data.")); resultForm.Append(HtmlController.inputTextarea(core, "sampleText", "", 10)); // // Buttons // buttonList.Add(ButtonSave); buttonList.Add(ButtonOK); // // Close Tables // resultForm.Append(HtmlController.inputHidden(rnAdminSourceForm, AdminFormSecurityControl)); bool isEmptyList = false; resultForm.Append(AdminUIController.getToolFormInputRow(core, "Caption", AdminUIEditorController.getLookupContentEditor(core, "countryId", countryId, ContentMetadataModel.getContentId(core, "countries"), ref isEmptyList, false, "", "", false, ""))); resultForm.Append(AdminUIController.getToolFormInputRow(core, "Caption", AdminUIEditorController.getTextEditor(core, "PageSize", PageSize.ToString()))); // // -- assemble form result = AdminUIController.getToolForm(core, resultForm.ToString(), String.Join(",", buttonList)); } catch (Exception ex) { LogController.logError(core, ex); throw; } return(result); }
// //======================================================================== // //======================================================================== // public static string get(CPClass cp) { string tempGetForm_HouseKeepingControl = null; try { // StringBuilderLegacyController Content = new StringBuilderLegacyController(); string Copy = null; string SQL = null; string Button = null; int PagesTotal = 0; string Caption = null; DateTime DateValue = default(DateTime); string AgeInDays = null; int ArchiveRecordAgeDays = 0; string ArchiveTimeOfDay = null; bool ArchiveAllowFileClean = false; string ButtonList = ""; string Description = null; // Button = cp.core.docProperties.getText(RequestNameButton); if (Button == ButtonCancel) { // // // return(cp.core.webServer.redirect("/" + cp.core.appConfig.adminRoute, "HouseKeepingControl, Cancel Button Pressed")); } else if (!cp.core.session.isAuthenticatedAdmin()) { // // // ButtonList = ButtonCancel; Content.add(AdminUIController.getFormBodyAdminOnly()); } else { // string tableBody = ""; // // Set defaults // ArchiveRecordAgeDays = (cp.core.siteProperties.getInteger("ArchiveRecordAgeDays", 0)); ArchiveTimeOfDay = cp.core.siteProperties.getText("ArchiveTimeOfDay", "12:00:00 AM"); ArchiveAllowFileClean = (cp.core.siteProperties.getBoolean("ArchiveAllowFileClean", false)); // // Process Requests // switch (Button) { case ButtonOK: case ButtonSave: // ArchiveRecordAgeDays = cp.core.docProperties.getInteger("ArchiveRecordAgeDays"); cp.core.siteProperties.setProperty("ArchiveRecordAgeDays", GenericController.encodeText(ArchiveRecordAgeDays)); // ArchiveTimeOfDay = cp.core.docProperties.getText("ArchiveTimeOfDay"); cp.core.siteProperties.setProperty("ArchiveTimeOfDay", ArchiveTimeOfDay); // ArchiveAllowFileClean = cp.core.docProperties.getBoolean("ArchiveAllowFileClean"); cp.core.siteProperties.setProperty("ArchiveAllowFileClean", GenericController.encodeText(ArchiveAllowFileClean)); break; } // if (Button == ButtonOK) { return(cp.core.webServer.redirect("/" + cp.core.appConfig.adminRoute, "StaticPublishControl, OK Button Pressed")); } // // ----- Status // tableBody += HtmlController.tableRowStart() + "<td colspan=\"3\" class=\"ccPanel3D ccAdminEditSubHeader\"><b>Status</b>" + tableCellEnd + kmaEndTableRow; // // ----- Visits Found // PagesTotal = 0; SQL = "SELECT Count(ID) as Result FROM ccVisits;"; using (var csData = new CsModel(cp.core)) { csData.openSql(SQL); if (csData.ok()) { PagesTotal = csData.getInteger("Result"); } } tableBody += AdminUIController.getEditRowLegacy(cp.core, SpanClassAdminNormal + PagesTotal, "Visits Found", "", false, false, ""); // // ----- Oldest Visit // Copy = "unknown"; AgeInDays = "unknown"; using (var csData = new CsModel(cp.core)) { SQL = cp.core.db.getSQLSelect("ccVisits", "DateAdded", "", "ID", "", 1); csData.openSql(SQL); if (csData.ok()) { DateValue = csData.getDate("DateAdded"); if (DateValue != DateTime.MinValue) { Copy = GenericController.encodeText(DateValue); AgeInDays = GenericController.encodeText(encodeInteger(Math.Floor(encodeNumber(cp.core.doc.profileStartTime - DateValue)))); } } } tableBody += (AdminUIController.getEditRowLegacy(cp.core, SpanClassAdminNormal + Copy + " (" + AgeInDays + " days)", "Oldest Visit", "", false, false, "")); // // ----- Viewings Found // PagesTotal = 0; SQL = "SELECT Count(ID) as result FROM ccViewings;"; using (var csData = new CsModel(cp.core)) { csData.openSql(SQL); if (csData.ok()) { PagesTotal = csData.getInteger("Result"); } csData.close(); } tableBody += (AdminUIController.getEditRowLegacy(cp.core, SpanClassAdminNormal + PagesTotal, "Viewings Found", "", false, false, "")); // tableBody += (HtmlController.tableRowStart() + "<td colspan=\"3\" class=\"ccPanel3D ccAdminEditSubHeader\"><b>Options</b>" + tableCellEnd + kmaEndTableRow); // Caption = "Archive Age"; Copy = HtmlController.inputText_Legacy(cp.core, "ArchiveRecordAgeDays", ArchiveRecordAgeDays.ToString(), -1, 20) + " Number of days to keep visit records. 0 disables housekeeping."; tableBody += (AdminUIController.getEditRowLegacy(cp.core, Copy, Caption)); // Caption = "Housekeeping Time"; Copy = HtmlController.inputText_Legacy(cp.core, "ArchiveTimeOfDay", ArchiveTimeOfDay, -1, 20) + " The time of day when record deleting should start."; tableBody += (AdminUIController.getEditRowLegacy(cp.core, Copy, Caption)); // Caption = "Purge Content Files"; Copy = HtmlController.checkbox("ArchiveAllowFileClean", ArchiveAllowFileClean) + " Delete Contensive content files with no associated database record."; tableBody += (AdminUIController.getEditRowLegacy(cp.core, Copy, Caption)); // Content.add(AdminUIController.editTable(tableBody)); Content.add(HtmlController.inputHidden(rnAdminSourceForm, AdminformHousekeepingControl)); ButtonList = ButtonCancel + ",Refresh," + ButtonSave + "," + ButtonOK; } // Caption = "Data Housekeeping Control"; Description = "This tool is used to control the database record housekeeping process. This process deletes visit history records, so care should be taken before making any changes."; tempGetForm_HouseKeepingControl = AdminUIController.getToolBody(cp.core, Caption, ButtonList, "", false, false, Description, "", 0, Content.text); // cp.core.html.addTitle(Caption); } catch (Exception ex) { LogController.logError(cp.core, ex); } return(tempGetForm_HouseKeepingControl); }
// //============================================================================= // Create a child content //============================================================================= // public static string get(CPClass cp) { string result = ""; try { // bool IsEmptyList = false; int ParentContentId = 0; string ChildContentName = ""; int ChildContentId = 0; bool AddAdminMenuEntry = false; StringBuilderLegacyController Content = new StringBuilderLegacyController(); string FieldValue = null; bool NewGroup = false; int GroupId = 0; string NewGroupName = ""; string Button = null; string Caption = null; string Description = ""; string ButtonList = ""; bool BlockForm = false; // Button = cp.core.docProperties.getText(RequestNameButton); if (Button == ButtonCancel) { // // // return(cp.core.webServer.redirect("/" + cp.core.appConfig.adminRoute, "GetContentChildTool, Cancel Button Pressed")); } else if (!cp.core.session.isAuthenticatedAdmin()) { // // // ButtonList = ButtonCancel; Content.add(AdminUIController.getFormBodyAdminOnly()); } else { // if (Button != ButtonOK) { // // Load defaults // ParentContentId = cp.core.docProperties.getInteger("ParentContentID"); if (ParentContentId == 0) { ParentContentId = ContentMetadataModel.getContentId(cp.core, "Page Content"); } AddAdminMenuEntry = true; GroupId = 0; } else { // // Process input // ParentContentId = cp.core.docProperties.getInteger("ParentContentID"); var parentContentMetadata = ContentMetadataModel.create(cp.core, ParentContentId); ChildContentName = cp.core.docProperties.getText("ChildContentName"); AddAdminMenuEntry = cp.core.docProperties.getBoolean("AddAdminMenuEntry"); GroupId = cp.core.docProperties.getInteger("GroupID"); NewGroup = cp.core.docProperties.getBoolean("NewGroup"); NewGroupName = cp.core.docProperties.getText("NewGroupName"); // if ((parentContentMetadata == null) || (string.IsNullOrEmpty(ChildContentName))) { Processor.Controllers.ErrorController.addUserError(cp.core, "You must select a parent and provide a child name."); } else { // // Create Definition // Description = Description + "<div> </div>" + "<div>Creating content [" + ChildContentName + "] from [" + parentContentMetadata.name + "]</div>"; var childContentMetadata = parentContentMetadata.createContentChild(cp.core, ChildContentName, cp.core.session.user.id); ChildContentId = ContentMetadataModel.getContentId(cp.core, ChildContentName); // // Create Group and Rule // if (NewGroup && (!string.IsNullOrEmpty(NewGroupName))) { using (var csData = new CsModel(cp.core)) { csData.open("Groups", "name=" + DbController.encodeSQLText(NewGroupName)); if (csData.ok()) { Description = Description + "<div>Group [" + NewGroupName + "] already exists, using existing group.</div>"; GroupId = csData.getInteger("ID"); } else { Description = Description + "<div>Creating new group [" + NewGroupName + "]</div>"; csData.close(); csData.insert("Groups"); if (csData.ok()) { GroupId = csData.getInteger("ID"); csData.set("Name", NewGroupName); csData.set("Caption", NewGroupName); } } } } if (GroupId != 0) { using (var csData = new CsModel(cp.core)) { csData.insert("Group Rules"); if (csData.ok()) { Description = Description + "<div>Assigning group [" + MetadataController.getRecordName(cp.core, "Groups", GroupId) + "] to edit content [" + ChildContentName + "].</div>"; csData.set("GroupID", GroupId); csData.set("ContentID", ChildContentId); } } } // // Add Admin Menu Entry // if (AddAdminMenuEntry) { // // Add Navigator entries } // Description = Description + "<div> </div>" + "<div>Your new content is ready. <a href=\"?" + rnAdminForm + "=22\">Click here</a> to create another Content Definition, or hit [Cancel] to return to the main menu.</div>"; ButtonList = ButtonCancel; BlockForm = true; } cp.core.clearMetaData(); cp.core.cache.invalidateAll(); } // // Get the form // if (!BlockForm) { string tableBody = ""; // FieldValue = "<select size=\"1\" name=\"ParentContentID\" ID=\"\"><option value=\"\">Select One</option>"; FieldValue = FieldValue + GetContentChildTool_Options(cp, 0, ParentContentId); FieldValue = FieldValue + "</select>"; tableBody += AdminUIController.getEditRowLegacy(cp.core, FieldValue, "Parent Content Name", "", false, false, ""); // FieldValue = HtmlController.inputText_Legacy(cp.core, "ChildContentName", ChildContentName, 1, 40); tableBody += AdminUIController.getEditRowLegacy(cp.core, FieldValue, "New Child Content Name", "", false, false, ""); // FieldValue = "" + HtmlController.inputRadio("NewGroup", false.ToString(), NewGroup.ToString()) + cp.core.html.selectFromContent("GroupID", GroupId, "Groups", "", "", "", ref IsEmptyList) + "(Select a current group)" + "<br>" + HtmlController.inputRadio("NewGroup", true.ToString(), NewGroup.ToString()) + HtmlController.inputText_Legacy(cp.core, "NewGroupName", NewGroupName) + "(Create a new group)"; tableBody += AdminUIController.getEditRowLegacy(cp.core, FieldValue, "Content Manager Group", "", false, false, ""); // Content.add(AdminUIController.editTable(tableBody)); Content.add("</td></tr>" + kmaEndTable); // ButtonList = ButtonOK + "," + ButtonCancel; } Content.add(HtmlController.inputHidden(rnAdminSourceForm, AdminFormContentChildTool)); } // Caption = "Create Content Definition"; Description = "<div>This tool is used to create content definitions that help segregate your content into authorable segments.</div>" + Description; result = AdminUIController.getToolBody(cp.core, Caption, ButtonList, "", false, false, Description, "", 0, Content.text); } catch (Exception ex) { LogController.logError(cp.core, ex); } return(result); }
// //======================================================================== // Editor features are stored in the \config\EditorFeatures.txt file // This is a crlf delimited list, with each row including: // admin:featurelist // contentmanager:featurelist // public:featurelist //======================================================================== // public static string get(CoreController core) { string result = null; try { string Description = "This tool is used to configure the wysiwyg content editor for different uses. Check the Administrator column if you want administrators to have access to this feature when editing a page. Check the Content Manager column to allow non-admins to have access to this feature. Check the Public column if you want those on the public site to have access to the feature when the editor is used for public forms."; string Button = core.docProperties.getText(RequestNameButton); if (Button == ButtonCancel) { // // Cancel button pressed, return with nothing goes to root form } else { StringBuilderLegacyController Content = new StringBuilderLegacyController(); string ButtonList = null; // // From here down will return a form if (!core.session.isAuthenticatedAdmin()) { // // Does not have permission ButtonList = ButtonCancel; Content.add(AdminUIController.getFormBodyAdminOnly()); core.html.addTitle("Style Editor"); result = AdminUIController.getToolBody(core, "Site Styles", ButtonList, "", true, true, Description, "", 0, Content.text); } else { string AdminList = ""; string CMList = ""; string PublicList = ""; int Ptr = 0; string FeatureName = null; // // OK to see and use this form if (Button == ButtonSave || Button == ButtonOK) { // // Save the Previous edits core.siteProperties.setProperty("Editor Background Color", core.docProperties.getText("editorbackgroundcolor")); for (Ptr = 0; Ptr <= ((string[])null).GetUpperBound(0); Ptr++) { FeatureName = ((string[])null)[Ptr]; if (GenericController.toLCase(FeatureName) == "styleandformatting") { // // must always be on or it throws js error (editor bug I guess) // AdminList = AdminList + "," + FeatureName; CMList = CMList + "," + FeatureName; PublicList = PublicList + "," + FeatureName; } else { if (core.docProperties.getBoolean(FeatureName + ".admin")) { AdminList = AdminList + "," + FeatureName; } if (core.docProperties.getBoolean(FeatureName + ".cm")) { CMList = CMList + "," + FeatureName; } if (core.docProperties.getBoolean(FeatureName + ".public")) { PublicList = PublicList + "," + FeatureName; } } } core.privateFiles.saveFile(InnovaEditorFeaturefilename, "admin:" + AdminList + Environment.NewLine + "contentmanager:" + CMList + Environment.NewLine + "public:" + PublicList); // // Clear the editor style rules template cache so next edit gets new background color string EditorStyleRulesFilename = GenericController.strReplace(EditorStyleRulesFilenamePattern, "$templateid$", "0", 1, 99, 1); core.privateFiles.deleteFile(EditorStyleRulesFilename); // using (var csData = new CsModel(core)) { csData.openSql("select id from cctemplates"); while (csData.ok()) { EditorStyleRulesFilename = GenericController.strReplace(EditorStyleRulesFilenamePattern, "$templateid$", csData.getText("ID"), 1, 99, 1); core.privateFiles.deleteFile(EditorStyleRulesFilename); csData.goNext(); } } } if (Button != ButtonOK) { // // Draw the form string FeatureList = core.cdnFiles.readFileText(InnovaEditorFeaturefilename); if (string.IsNullOrEmpty(FeatureList)) { FeatureList = "admin:" + InnovaEditorFeatureList + Environment.NewLine + "contentmanager:" + InnovaEditorFeatureList + Environment.NewLine + "public:" + InnovaEditorPublicFeatureList; } if (!string.IsNullOrEmpty(FeatureList)) { string[] Features = stringSplit(FeatureList, Environment.NewLine); AdminList = Features[0].Replace("admin:", ""); if (Features.GetUpperBound(0) > 0) { CMList = Features[1].Replace("contentmanager:", ""); if (Features.GetUpperBound(0) > 1) { PublicList = Features[2].Replace("public:", ""); } } } string Copy = Environment.NewLine + "<tr class=\"ccAdminListCaption\">" + "<td align=left style=\"width:200;\">Feature</td>" + "<td align=center style=\"width:100;\">Administrators</td>" + "<td align=center style=\"width:100;\">Content Managers</td>" + "<td align=center style=\"width:100;\">Public</td>" + "</tr>"; int RowPtr = 0; for (Ptr = 0; Ptr <= ((string[])null).GetUpperBound(0); Ptr++) { FeatureName = ((string[])null)[Ptr]; if (GenericController.toLCase(FeatureName) == "styleandformatting") { // // hide and force on during process - editor bug I think. // } else { string TDLeft = HtmlController.tableCellStart("", 0, encodeBoolean(RowPtr % 2), "left"); string TDCenter = HtmlController.tableCellStart("", 0, encodeBoolean(RowPtr % 2), "center"); bool AllowAdmin = GenericController.encodeBoolean("," + AdminList + ",".IndexOf("," + FeatureName + ",", System.StringComparison.OrdinalIgnoreCase) + 1); bool AllowCM = GenericController.encodeBoolean("," + CMList + ",".IndexOf("," + FeatureName + ",", System.StringComparison.OrdinalIgnoreCase) + 1); bool AllowPublic = GenericController.encodeBoolean("," + PublicList + ",".IndexOf("," + FeatureName + ",", System.StringComparison.OrdinalIgnoreCase) + 1); Copy += Environment.NewLine + "<tr>" + TDLeft + FeatureName + "</td>" + TDCenter + HtmlController.checkbox(FeatureName + ".admin", AllowAdmin) + "</td>" + TDCenter + HtmlController.checkbox(FeatureName + ".cm", AllowCM) + "</td>" + TDCenter + HtmlController.checkbox(FeatureName + ".public", AllowPublic) + "</td>" + "</tr>"; RowPtr = RowPtr + 1; } } Copy = "" + Environment.NewLine + "<div><b>body background style color</b> (default='white')</div>" + Environment.NewLine + "<div>" + HtmlController.inputText_Legacy(core, "editorbackgroundcolor", core.siteProperties.getText("Editor Background Color", "white")) + "</div>" + Environment.NewLine + "<div> </div>" + Environment.NewLine + "<div><b>Toolbar features available</b></div>" + Environment.NewLine + "<table border=\"0\" cellpadding=\"4\" cellspacing=\"0\" width=\"500px\" align=left>" + GenericController.nop(Copy) + Environment.NewLine + kmaEndTable; Copy = Environment.NewLine + HtmlController.tableStart(20, 0, 0) + "<tr><td>" + GenericController.nop(Copy) + "</td></tr>\r\n" + kmaEndTable; Content.add(Copy); ButtonList = ButtonCancel + "," + ButtonRefresh + "," + ButtonSave + "," + ButtonOK; Content.add(HtmlController.inputHidden(rnAdminSourceForm, AdminFormEditorConfig)); core.html.addTitle("Editor Settings"); result = AdminUIController.getToolBody(core, "Editor Configuration", ButtonList, "", true, true, Description, "", 0, Content.text); } } } } catch (Exception ex) { LogController.logError(core, ex); } return(result); }