private void LoadContextHelp() { titleElem.HelpName = "site_import"; // Special context help for special control if (SelectedNodeValue == CMSObjectHelper.GROUP_OBJECTS) { titleElem.HelpTopicName = "importGridObjects"; } else if (plcControl.Visible) { titleElem.HelpTopicName = "importGrid_" + ImportExportHelper.GetSafeObjectTypeName(SelectedNodeValue); } else { titleElem.HelpTopicName = "importGrid"; } }
/// <summary> /// Reloads all data. /// </summary> public override void ReloadData(bool forceLoad) { if (CurrentReport != null) { // Load labels if (!RequestHelper.IsPostBack() || forceLoad) { // Create query parameters string query = "?ObjectID=" + CurrentReport.ReportObjectID; // Set link value string url = CurrentReport.ReportURL; if (CurrentReport.ReportCulture != String.Empty) { url = URLHelper.AddParameterToUrl(url, URLHelper.LanguageParameterName, CurrentReport.ReportCulture); } lnkUrlValue.Text = HTMLHelper.HTMLEncode(url); lnkUrlValue.NavigateUrl = url; lnkUrlValue.ToolTip = HTMLHelper.HTMLEncode(url); lnkUrlValue.Target = "_blank"; // Set culture value var cultureInfo = CultureHelper.GetCultureInfo(CurrentReport.ReportCulture); lblCultureValue.Text = (cultureInfo != null) ? cultureInfo.DisplayName : ResHelper.Dash; // Set site value SiteInfo si = SiteInfoProvider.GetSiteInfo(CurrentReport.ReportSiteID); lblSiteValue.Text = (si != null) ? HTMLHelper.HTMLEncode(si.DisplayName) : ResHelper.Dash; // Set title lblTitleValue.Text = HTMLHelper.HTMLEncode(CurrentReport.ReportTitle); // Set labels if (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) { lblObjectTypeValue.Text = GetString("ObjectType." + ImportExportHelper.GetSafeObjectTypeName(CurrentReport.ReportObjectType)); query += "&ObjectType=" + CurrentReport.ReportObjectType; } else { lblObjectTypeValue.Text = ResHelper.Dash; } // Get object display name lblObjectNameValue.Text = ResHelper.Dash; string objectType = CurrentReport.ReportObjectType; int objectId = CurrentReport.ReportObjectID; if ((objectId > 0) && !string.IsNullOrEmpty(objectType) && !DocumentHelper.IsDocumentObjectType(objectType)) { GeneralizedInfo obj = ProviderHelper.GetInfoById(objectType, objectId); if ((obj != null) && !string.IsNullOrEmpty(obj.ObjectDisplayName)) { lblObjectNameValue.Text = HTMLHelper.HTMLEncode(obj.ObjectDisplayName); } } // Set Reported by label lblReportedByValue.Text = ResHelper.Dash; if (CurrentReport.ReportUserID != 0) { UserInfo ui = UserInfoProvider.GetUserInfo(CurrentReport.ReportUserID); lblReportedByValue.Text = (ui != null) ? HTMLHelper.HTMLEncode(ui.FullName) : GetString("general.NA"); } // Set other parameters lblReportedWhenValue.Text = CurrentReport.ReportWhen.ToString(); CMSPage page = Page as CMSPage; if ((CurrentReport.ReportObjectID > 0) && (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) && AbuseReportInfoProvider.IsObjectTypeSupported(CurrentReport.ReportObjectType)) { // Add Object details button string detailUrl = "~/CMSModules/AbuseReport/AbuseReport_ObjectDetails.aspx" + query; detailUrl = URLHelper.AddParameterToUrl(detailUrl, "hash", QueryHelper.GetHash(detailUrl)); var onClientClickScript = ScriptHelper.GetModalDialogScript(UrlResolver.ResolveUrl(detailUrl), "objectdetails", 960, 600); if (page != null) { var headerActions = page.HeaderActions; headerActions.AddAction(new HeaderAction { Text = GetString("abuse.details"), OnClientClick = onClientClickScript, ButtonStyle = ButtonStyle.Default }); btnObjectDetails.Visible = false; } else { btnObjectDetails.OnClientClick = onClientClickScript; ScriptHelper.RegisterDialogScript(Page); } } else { btnObjectDetails.Visible = false; } Control postback = ControlsHelper.GetPostBackControl(Page); // Not post-back not caused by OK button or Save action in header if ((postback != btnOk) && ((page == null) || (postback != page.HeaderActions))) { txtCommentValue.Text = CurrentReport.ReportComment; LoadStatus((int)CurrentReport.ReportStatus); } } } }
public static DataSet LoadObjects(SiteImportSettings settings, string objectType, bool siteObjects, bool selectionOnly = false, bool forceXMLStructure = false) { DataSet ds; var e = new ImportGetDataEventArgs { Settings = settings, ObjectType = objectType, SiteObjects = siteObjects, SelectionOnly = selectionOnly }; // Get empty data set GeneralizedInfo infoObj; ds = GetEmptyDataSet(settings, objectType, siteObjects, selectionOnly, out infoObj, forceXMLStructure); // Turn off constrains check ds.EnforceConstraints = false; // Raise prepare data event var eData = new ImportGetDataEventArgs { Data = ds, Settings = settings, ObjectType = objectType, SiteObjects = siteObjects, SelectionOnly = selectionOnly }; // Handle the event SpecialActionsEvents.PrepareDataStructure.StartEvent(eData); // Lowercase table names for compatibility DataHelper.LowerCaseTableNames(ds); Stream reader = null; XmlReader xml = null; string safeObjectType = ImportExportHelper.GetSafeObjectTypeName(objectType); // Prepare the path string filePath = DirectoryHelper.CombinePath(settings.TemporaryFilesPath, ImportExportHelper.DATA_FOLDER) + "\\"; // Get object type subfolder filePath += ImportExportHelper.GetObjectTypeSubFolder(settings, objectType, siteObjects); filePath += safeObjectType + ".xml"; string rootElement = safeObjectType; filePath = ImportExportHelper.GetExportFilePath(filePath); // Import only if file exists if (System.IO.File.Exists(filePath)) { // Reader setting XmlReaderSettings rs = new XmlReaderSettings(); rs.CloseInput = true; rs.CheckCharacters = false; // Open reader reader = FileStream.New(filePath, CMS.IO.FileMode.Open, CMS.IO.FileAccess.Read, CMS.IO.FileShare.Read, 8192); xml = XmlReader.Create(reader, rs); // Read main document element do { xml.Read(); } while ((xml.NodeType != XmlNodeType.Element) && !xml.EOF); if (xml.Name.ToLowerInvariant() != rootElement.ToLowerInvariant()) { throw new Exception("[ImportProvider.LoadObjects]: The required page element is '" + safeObjectType + "', element found is '" + xml.Name + "'."); } // Get version if (xml.HasAttributes) { xml.MoveToAttribute("version"); } if ((xml.NodeType != XmlNodeType.Attribute) || (xml.Name.ToLowerInvariant() != "version")) { throw new Exception("[ImportProvider.LoadObjects]: Cannot find version attribute."); } // Get the dataset do { xml.Read(); } while (((xml.NodeType != XmlNodeType.Element) || (xml.Name != "NewDataSet")) && !xml.EOF); // Read data if (xml.Name == "NewDataSet") { ds.ReadXml(xml); } // Filter data by object type condition for selection, some object types may overlap if (selectionOnly && !DataHelper.DataSourceIsEmpty(ds)) { // Remove unwanted rows from data collection with dependence on type condition if (infoObj.TypeInfo.TypeCondition != null) { var dt = ObjectHelper.GetTable(ds, infoObj); var where = infoObj.TypeInfo.WhereCondition; where.Replace(" N'", " '").Replace("(N'", "('"); DataHelper.KeepOnlyRows(dt, where); dt.AcceptChanges(); } } } // Safely close readers if (xml != null) { xml.Close(); } if (reader != null) { reader.Close(); } return(ds); }
/// <summary> /// Unigrid external databound handler. /// </summary> protected object UniGrid_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { // Display link instead of title case "title": if (parameter != DBNull.Value) { DataRowView row = (DataRowView)parameter; string url = ValidationHelper.GetString(row["ReportURL"], ""); string title = HTMLHelper.HTMLEncode(ValidationHelper.GetString(row["ReportTitle"], "")); HyperLink link = new HyperLink(); string culture = ValidationHelper.GetString(row["ReportCulture"], ""); if (culture != String.Empty) { url = URLHelper.AddParameterToUrl(url, URLHelper.LanguageParameterName, culture); } link.NavigateUrl = url; link.Target = "_blank"; link.Text = title; link.ToolTip = HTMLHelper.HTMLEncode(url); link.Style.Add("cursor", "help"); return(link); } return(sourceName); // Insert status label case "status": if (parameter != DBNull.Value) { switch (parameter.ToString().ToLowerCSafe()) { default: return(ResHelper.GetString("general.new")); case "1": return("<span class=\"AbuseSolved\">" + ResHelper.GetString("general.solved") + "</span>"); case "2": return("<span class=\"AbuseRejected\">" + ResHelper.GetString("general.rejected") + "</span>"); } } return(sourceName); case "solve": if (parameter != DBNull.Value) { string status = ValidationHelper.GetString(((DataRowView)((GridViewRow)parameter).DataItem).Row["ReportStatus"], ""); var button = ((CMSGridActionButton)sender); switch (status) { // Disables the button and changes its icon case "1": button.Enabled = false; break; case "2": button.Enabled = true; break; } } break; case "reject": if (parameter != DBNull.Value) { string status = ValidationHelper.GetString(((DataRowView)((GridViewRow)parameter).DataItem).Row["ReportStatus"], ""); var button = ((CMSGridActionButton)sender); switch (status) { // Disables the button and changes its icon case "1": button.Enabled = true; break; case "2": button.Enabled = false; break; } } break; case "objecttype": string objectType = ImportExportHelper.GetSafeObjectTypeName(parameter.ToString()); if (!string.IsNullOrEmpty(objectType)) { parameter = ResHelper.GetString("ObjectType." + objectType); } else { return("-"); } break; case "comment": string resultText = parameter.ToString(); parameter = HTMLHelper.HTMLEncode(TextHelper.LimitLength(resultText, 297, "...")); break; } return(parameter.ToString()); }
private void LoadSettingsControl() { try { if (Settings != null) { plcControl.Controls.Clear(); plcControl.Visible = false; settingsControl = null; if (!string.IsNullOrEmpty(SelectedNodeValue)) { string virtualPath = "~/CMSModules/ImportExport/Controls/Import/" + (SiteNode ? "Site/" : "") + ImportExportHelper.GetSafeObjectTypeName(SelectedNodeValue) + ".ascx"; string filePath = Server.MapPath(virtualPath); if (File.Exists(filePath)) { // Load control settingsControl = (ImportExportControl)Page.LoadUserControl(virtualPath); settingsControl.EnableViewState = true; settingsControl.ID = "settingControl"; settingsControl.Settings = Settings; if (settingsControl.Visible) { plcControl.Controls.Add(settingsControl); plcControl.Visible = true; } } } } } catch (Exception ex) { lblError.Text = "[ImportPanel.LoadSettingsControl]: Error loading settings control for object type '" + SelectedNodeValue + "'. " + EventLogProvider.GetExceptionLogMessage(ex); } }
/// <summary> /// Reloads all data. /// </summary> public override void ReloadData(bool forceLoad) { if (CurrentReport != null) { // Load labels if (!RequestHelper.IsPostBack() || forceLoad) { // Create query parameters string query = "?ObjectID=" + CurrentReport.ReportObjectID; // Set link value string url = CurrentReport.ReportURL; if (CurrentReport.ReportCulture != String.Empty) { url = URLHelper.AddParameterToUrl(url, URLHelper.LanguageParameterName, CurrentReport.ReportCulture); } lnkUrlValue.Text = HTMLHelper.HTMLEncode(url); lnkUrlValue.NavigateUrl = url; lnkUrlValue.ToolTip = HTMLHelper.HTMLEncode(url); lnkUrlValue.Target = "_blank"; // Set culture value CultureInfo ci = CultureHelper.GetCultureInfo(CurrentReport.ReportCulture); lblCultureValue.Text = (ci != null) ? ci.DisplayName : ResHelper.Dash; // Set site value SiteInfo si = SiteInfoProvider.GetSiteInfo(CurrentReport.ReportSiteID); lblSiteValue.Text = (si != null) ? HTMLHelper.HTMLEncode(si.DisplayName) : ResHelper.Dash; // Set title lblTitleValue.Text = HTMLHelper.HTMLEncode(CurrentReport.ReportTitle); // Set labels if (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) { lblObjectTypeValue.Text = GetString("ObjectType." + ImportExportHelper.GetSafeObjectTypeName(CurrentReport.ReportObjectType)); query += "&ObjectType=" + CurrentReport.ReportObjectType; if ((CurrentReport.ReportObjectID > 0) && (CurrentReport.ReportObjectType.ToLowerCSafe() != DocumentObjectType.DOCUMENT)) { pnlLink.Visible = true; } } else { lblObjectTypeValue.Text = ResHelper.Dash; } // Get object display name lblObjectNameValue.Text = ResHelper.Dash; string objectType = CurrentReport.ReportObjectType; int objectId = CurrentReport.ReportObjectID; if ((objectId > 0) && !string.IsNullOrEmpty(objectType) && !objectType.EqualsCSafe(DocumentObjectType.DOCUMENT, true)) { GeneralizedInfo obj = CMSObjectHelper.GetObjectById(objectType, objectId); if ((obj != null) && !string.IsNullOrEmpty(obj.ObjectDisplayName)) { lblObjectNameValue.Text = HTMLHelper.HTMLEncode(obj.ObjectDisplayName); } } // Set Reported by label lblReportedByValue.Text = ResHelper.Dash; if (CurrentReport.ReportUserID != 0) { UserInfo ui = UserInfoProvider.GetUserInfo(CurrentReport.ReportUserID); lblReportedByValue.Text = (ui != null) ? HTMLHelper.HTMLEncode(ui.FullName) : GetString("general.NA"); } // Set other parameters lblReportedWhenValue.Text = CurrentReport.ReportWhen.ToString(); if ((CurrentReport.ReportObjectID > 0) && (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) && AbuseReportInfoProvider.IsObjectTypeSupported(CurrentReport.ReportObjectType)) { lnkShowDetails.Visible = true; string detailUrl = "~/CMSModules/AbuseReport/AbuseReport_ObjectDetails.aspx" + query; lnkShowDetails.NavigateUrl = URLHelper.AddParameterToUrl(detailUrl, "hash", QueryHelper.GetHash(detailUrl)); } Control postback = ControlsHelper.GetPostBackControl(Page); CMSPage page = Page as CMSPage; // Not post-back not caused by OK button or Save action in header if ((postback != btnOk) && ((page == null) || (postback != page.HeaderActions))) { txtCommentValue.Text = CurrentReport.ReportComment; LoadStatus((int)CurrentReport.ReportStatus); } } } }