/// <summary> /// Loads the user control. /// </summary> protected void LoadUserControl() { if (!string.IsNullOrEmpty(UserControlPath)) { try { Control ctrl = Page.LoadUserControl(UserControlPath); ctrl.ID = "userControlElem"; Controls.Add(ctrl); } catch (Exception ex) { lblError.Text = "[" + ID + "] " + GetString("WebPartUserControl.ErrorLoad") + ": " + ex.Message; lblError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); lblError.Visible = true; } } }
private void DisplayError(Exception ex) { pnlProgress.Visible = false; pnlDetails.Visible = false; btnOk.Enabled = false; pnlContent.Visible = true; string displayName = null; if (exportObj != null) { displayName = exportObj.ObjectDisplayName; } lblResult.Text = string.Format(GetString("ExportObject.Error"), ResHelper.LocalizeString(HTMLHelper.HTMLEncode(displayName)), ex.Message); lblResult.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); lblResult.CssClass = "ErrorLabel"; EventLogProvider.LogException("Export", "ExportObject", ex); }
protected void btnExport_Click(object sender, EventArgs e) { try { string selectedSite = ValidationHelper.GetString(siteSelector.Value, String.Empty); string targetPath = Server.MapPath("~/App_Data/Templates/" + selectedSite); string[] excludedNames = txtExcluded.Text.Trim().Split(';'); ExportProvider.ExportWebTemplate(selectedSite, null, targetPath, excludedNames, CMSContext.CurrentUser); lblInfo.Text = "Template has been exported to " + targetPath; } catch (Exception ex) { lblError.Text = ex.Message; lblError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); } }
private void DisplayError(Exception ex) { pnlProgress.Visible = false; btnOk.Enabled = false; pnlDetails.Visible = false; string displayName = null; if (exportObj != null) { displayName = exportObj.ObjectDisplayName; } lblResult.Text = string.Format(GetString("RestoreObject.Error"), HTMLHelper.HTMLEncode(displayName), ex.Message); lblResult.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); lblResult.CssClass = "ErrorLabel"; // Log to the event log EventLogProvider ev = new EventLogProvider(); ev.LogEvent("Export", "RestoreObject", ex); }
private void btnDelete_Click(object sender, EventArgs e) { // Only community manager can delete group if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Groups", CMSAdminControl.PERMISSION_MANAGE)) { RedirectToCMSDeskAccessDenied("CMS.Groups", CMSAdminControl.PERMISSION_MANAGE); } if (gi != null) { try { GroupInfoProvider.DeleteGroupInfo(gi, chkDeleteAll.Checked); } catch (Exception ex) { ShowError(ex.Message, EventLogProvider.GetExceptionLogMessage(ex), null); return; } } URLHelper.Redirect(mGroupListUrl); }
/// <summary> /// Handles email sending. /// </summary> protected void Send() { txtFrom.Text = txtFrom.Text.Trim(); txtTo.Text = txtTo.Text.Trim(); txtCc.Text = txtCc.Text.Trim(); txtBcc.Text = txtBcc.Text.Trim(); // Validate no required emails fields are empty string result = new Validator() .NotEmpty(txtFrom.Text, GetString("System_Email.EmptyEmail")) .NotEmpty(txtTo.Text, GetString("System_Email.EmptyEmail")) .Result; if (result != string.Empty) { ShowError(result); return; } // Validate e-mail addresses if (!AreEmailsValid()) { ShowError(GetString("System_Email.ErrorEmail")); return; } // Send the e-mail try { SendEmail(); ShowConfirmation(GetString("System_Email.EmailSent")); } catch (Exception ex) { string message = EventLogProvider.GetExceptionLogMessage(ex); ShowError(ex.Message, message, null); } }
/// <summary> /// Handles the Click event of the btnSend control. /// </summary> /// <param name="sender">The source of the event</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data</param> protected void btnSend_Click(object sender, EventArgs e) { txtFrom.Text = txtFrom.Text.Trim(); txtTo.Text = txtTo.Text.Trim(); txtServer.Text = txtServer.Text.Trim(); string result = new Validator() .NotEmpty(txtServer.Text, GetString("System_Email.ErrorServer")) .NotEmpty(txtFrom.Text, GetString("System_Email.EmptyEmail")) .NotEmpty(txtTo.Text, GetString("System_Email.EmptyEmail")) .Result; if (!string.IsNullOrEmpty(result)) { ShowError(result); return; } // Validate e-mail addresses if (!(txtFrom.IsValid() && txtTo.IsValid())) { ShowError(GetString("System_Email.ErrorEmail")); return; } // Send the testing e-mail try { SendEmail(); ShowInformation(GetString("System_Email.EmailSent")); } catch (Exception ex) { string message = EventLogProvider.GetExceptionLogMessage(ex); ShowError(ex.Message, message, null); } }
void gridElem_OnAction(string actionName, object actionArgument) { switch (actionName.ToLower()) { case "edit": this.SelectedItemID = ValidationHelper.GetInteger(actionArgument, 0); this.RaiseOnEdit(); break; case "delete": MediaLibraryInfo mli = MediaLibraryInfoProvider.GetMediaLibraryInfo(ValidationHelper.GetInteger(actionArgument, 0)); // Check 'Manage' permission if (!MediaLibraryInfoProvider.IsUserAuthorizedPerLibrary(mli, CMSAdminControl.PERMISSION_MANAGE)) { this.lblError.Text = MediaLibraryHelper.GetAccessDeniedMessage(CMSAdminControl.PERMISSION_MANAGE); this.lblError.Visible = true; return; } try { MediaLibraryInfoProvider.DeleteMediaLibraryInfo(ValidationHelper.GetInteger(actionArgument, 0)); } catch (Exception ex) { EventLogProvider eventLog = new EventLogProvider(); eventLog.LogEvent("Media library", "DELETEOBJ", ex, CMSContext.CurrentSiteID); this.lblError.Text = ex.Message; this.lblError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); this.lblError.Visible = true; } break; } this.RaiseOnAction(actionName, actionArgument); }
public void RaisePostBackEvent(string eventArgument) { if (eventArgument == "move") { // Keep current user object var cu = MembershipContext.AuthenticatedUser; // Parse input value string[] values = hdnMoveId.Value.Split(';'); // Create tree provider TreeProvider tree = new TreeProvider(cu); // Get tree node object int nodeId = ValidationHelper.GetInteger(values[1], 0); TreeNode node = tree.SelectSingleNode(nodeId); // Check whether node exists if (node == null) { ShowError(GetString("ContentRequest.ErrorMissingSource")); return; } try { // Check permissions if (cu.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed) { // Switch by action switch (values[0]) { case "up": tree.MoveNodeUp(node); break; case "down": tree.MoveNodeDown(node); break; case "top": tree.SetNodeOrder(node, DocumentOrderEnum.First); break; case "bottom": tree.SetNodeOrder(node, DocumentOrderEnum.Last); break; } if (!RequiresDialog) { ScriptHelper.RegisterStartupScript(this, typeof(string), "refreshAfterMove", ScriptHelper.GetScript("parent.RefreshTree(" + node.NodeParentID + ", " + node.NodeParentID + ");")); } // Log the synchronization tasks for the entire tree level DocumentSynchronizationHelper.LogDocumentChangeOrder(node.NodeSiteName, node.NodeAliasPath, tree); } else { ShowError(GetString("ContentRequest.MoveDenied")); } } catch (Exception ex) { var logData = new EventLogData(EventTypeEnum.Error, "Content", "MOVE") { EventDescription = EventLogProvider.GetExceptionLogMessage(ex), EventUrl = RequestContext.RawURL, UserID = cu.UserID, UserName = cu.UserName, NodeID = nodeId, DocumentName = node.DocumentName, IPAddress = RequestContext.UserHostAddress, SiteID = SiteContext.CurrentSite.SiteID }; Service.Resolve <IEventLogService>().LogEvent(logData); ShowError(GetString("ContentRequest.MoveFailed") + " : " + ex.Message); } } else if (eventArgument == "refresh") { // Register the refresh script after the 'move' action is performed Hashtable parameters = WindowHelper.GetItem(Identifier) as Hashtable; if ((parameters == null) || (parameters.Count <= 0)) { return; } int refreshNodeId = ValidationHelper.GetInteger(parameters["refreshnodeid"], 0); string refreshScript = "parent.RefreshTree(" + refreshNodeId + ", " + refreshNodeId + ")"; ScriptHelper.RegisterStartupScript(this, typeof(string), "refreshAfterMove", refreshScript, true); } }
/// <summary> /// When exception occurs, log it to event log. /// </summary> /// <param name="ex">Exception to log</param> private void LogExceptionToEventLog(Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "DELETEDOC", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, currentUser.UserID, currentUser.UserName, 0, null, RequestContext.UserHostAddress, currentSite.SiteID); AddError(ResHelper.GetString("ContentRequest.DeleteFailed", currentCulture) + ": " + ex.Message); }
private void LoadSettingsControl() { try { if (Settings != null) { plcControl.Controls.Clear(); plcControl.Visible = false; settingsControl = null; if (!string.IsNullOrEmpty(SelectedNodeValue)) { string virtualPath = SiteNode ? ImportSettingsControlsRegister.GetSiteSettingsControl(SelectedNodeValue) : ImportSettingsControlsRegister.GetSettingsControl(SelectedNodeValue); if (virtualPath != null) { // 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) { ShowError("[ImportPanel.LoadSettingsControl]: Error loading settings control for object type '" + SelectedNodeValue + "'. " + EventLogProvider.GetExceptionLogMessage(ex)); } }
/// <summary> /// When exception occurs, log it to event log. /// </summary> /// <param name="eventCode">Code of event</param> /// <param name="errorTitle">Message to log to asynchronous log</param> /// <param name="ex">Exception to log</param> /// <param name="siteId">ID of site</param> private void LogExceptionToEventLog(string eventCode, string errorTitle, Exception ex, int siteId) { AddError(GetString(errorTitle, mCurrentCulture) + ": " + ex.Message); LogContext.LogEventToCurrent(EventType.ERROR, "Content", eventCode, EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, mCurrentUser.UserID, mCurrentUser.UserName, 0, null, RequestContext.UserHostAddress, siteId, SystemContext.MachineName, RequestContext.URLReferrer, RequestContext.UserAgent, DateTime.Now); }
/// <summary> /// When exception occurs, log it to event log. /// </summary> private void LogExceptionToEventLog(Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "System deployment", "DEPLOYMENT", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, CurrentUser.UserID, CurrentUser.UserName, 0, null, RequestContext.UserHostAddress, SiteContext.CurrentSiteID); AddError(GetString("Deployment.DeploymentFailed") + ": " + ex.Message); }
/// <summary> /// Reload data. /// </summary> public override void ReloadData() { try { treeElem.Nodes.Clear(); // Get root files string rootDir = RootFolderPath; if (rootDir != null) { rootDir = rootDir.TrimEnd('\\'); } if (!String.IsNullOrEmpty(MediaLibraryPath)) { rootDir = DirectoryHelper.CombinePath(rootDir, MediaLibraryPath); } else if (!String.IsNullOrEmpty(MediaLibraryFolder)) { rootDir = DirectoryHelper.CombinePath(rootDir, MediaLibraryFolder); } // Get the file and directories count int dirCount = 0; string[] directories = null; if (rootDir != null) { if (!Directory.Exists(rootDir)) { DirectoryHelper.EnsureDiskPath(Path.EnsureEndBackslash(rootDir), Server.MapPath("~")); } directories = Directory.GetDirectories(rootDir); } if (directories != null) { // Each directory contains directory for thumbnails dirCount = directories.Length - 1; } // Create root tree node TreeNode root; if (DisplayFilesCount) { int fileCount = 0; string[] files = Directory.GetFiles(rootDir); if (files != null) { fileCount = files.Length; } root = CreateNode("<span class=\"Name\">" + MediaLibraryFolder + " (" + fileCount + ")</span>", MediaLibraryFolder, null, dirCount, 0); } else { root = CreateNode("<span class=\"Name\">" + MediaLibraryFolder + "</span>", MediaLibraryFolder, null, dirCount, 0); } // Keep root expanded root.Expand(); // Add root node treeElem.Nodes.Add(root); if (!StopProcessing) { // Bind tree nodes if (String.IsNullOrEmpty(MediaLibraryPath)) { BindTreeView(RootFolderPath + MediaLibraryFolder, root, true); } else { BindTreeView(DirectoryHelper.CombinePath(RootFolderPath, MediaLibraryPath), root, true); } } ScriptHelper.RegisterStartupScript(Page, typeof(Page), "RemoveMultipleNodes_" + ClientID, ScriptHelper.GetScript("if (typeof(ResolveDuplicateNodes) != 'undefined') { ResolveDuplicateNodes('" + treeElem.ClientID + "') }")); } catch (Exception ex) { // Set error message lblError.Text = GetString("FolderTree.FailedLoad") + ": " + ex.Message; lblError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); } finally { // Check for root node RootNodeLoaded = (treeElem.Nodes.Count > 0); } }
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); } }
private void wzdExport_NextButtonClick(object sender, WizardNavigationEventArgs e) { switch (e.CurrentStepIndex) { case 0: // Apply settings if (!configExport.ApplySettings()) { e.Cancel = true; return; } // Update settings ExportSettings = configExport.Settings; if (!configExport.ExportHistory) { ltlScriptAfter.Text = ScriptHelper.GetScript( "var actDiv = document.getElementById('actDiv'); \n" + "if (actDiv != null) { actDiv.style.display='block'; } \n" + "var buttonsDiv = document.getElementById('buttonsDiv'); if (buttonsDiv != null) { buttonsDiv.disabled=true; } \n" + "BTN_Disable('" + NextButton.ClientID + "'); \n" + "StartSelectionTimer();" ); // Select objects asynchronously ctrlAsync.RunAsync(SelectObjects, WindowsIdentity.GetCurrent()); e.Cancel = true; } else { pnlExport.Settings = ExportSettings; pnlExport.ReloadData(); } break; case 1: // Apply settings if (!pnlExport.ApplySettings()) { e.Cancel = true; return; } ExportSettings = pnlExport.Settings; // Delete temporary files try { ExportProvider.DeleteTemporaryFiles(ExportSettings, true); } catch (Exception ex) { SetErrorLabel(ex.Message); e.Cancel = true; return; } try { // Save export history ExportHistoryInfo history = new ExportHistoryInfo(); history.ExportDateTime = DateTime.Now; history.ExportFileName = ExportSettings.TargetFileName; history.ExportSettings = ExportSettings.GetXML(); history.ExportSiteID = ExportSettings.SiteId; history.ExportUserID = MembershipContext.AuthenticatedUser.UserID; ExportHistoryInfoProvider.SetExportHistoryInfo(history); } catch (Exception ex) { SetErrorLabel(ex.Message); pnlError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); e.Cancel = true; return; } // Init the Mimetype helper (required for the export) MimeTypeHelper.LoadMimeTypes(); if (ExportSettings.SiteId > 0) { ExportSettings.EventLogSource = string.Format(ExportSettings.GetAPIString("ExportSite.EventLogSiteSource", "Export '{0}' site"), ResHelper.LocalizeString(ExportSettings.SiteInfo.DisplayName)); } // Start asynchronnous export ExportManager.Settings = ExportSettings; AsyncWorker worker = new AsyncWorker(); worker.OnFinished += worker_OnFinished; worker.OnError += worker_OnError; worker.RunAsync(ExportManager.Export, WindowsIdentity.GetCurrent()); lblProgress.Text = GetString("SiteExport.PreparingExport"); break; } ReloadSteps(); wzdExport.ActiveStepIndex = e.NextStepIndex; }
public void RaisePostBackEvent(string eventArgument) { CurrentUserInfo currentUser = CMSContext.CurrentUser; // Current Node ID int nodeId = ValidationHelper.GetInteger(Param1, 0); TreeProvider tree = new TreeProvider(currentUser); EventLogProvider log = new EventLogProvider(); string documentName = ""; string action = Action.ToLower(); // Process the request switch (action) { case "moveup": case "movedown": // Move the document up (document order) try { if (nodeId == 0) { AddAlert(GetString("ContentRequest.ErrorMissingSource")); return; } // Get document to move TreeNode node = tree.SelectSingleNode(nodeId); // Check the permissions for document if (currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed) { switch (action) { case "moveup": node = tree.MoveNodeUp(nodeId); break; case "movedown": node = tree.MoveNodeDown(nodeId); break; } string siteName = CMSContext.CurrentSiteName; if (SettingsKeyProvider.GetBoolValue(siteName + ".CMSStagingLogChanges")) { // Load all nodes under parent node if (node != null) { string parentPath = TreePathUtils.GetParentPath(node.NodeAliasPath); DataSet ds = tree.SelectNodes(siteName, parentPath.TrimEnd('/') + "/%", TreeProvider.ALL_CULTURES, true, null, null, null, 1); // Check if data source is not empty if (!DataHelper.DataSourceIsEmpty(ds)) { // Go through all nodes foreach (DataRow dr in ds.Tables[0].Rows) { // Update child nodes int logNodeId = ValidationHelper.GetInteger(dr["NodeID"], 0); string culture = ValidationHelper.GetString(dr["DocumentCulture"], ""); string className = ValidationHelper.GetString(dr["ClassName"], ""); TreeNode tn = tree.SelectSingleNode(logNodeId, culture, className); DocumentSynchronizationHelper.LogDocumentChange(tn, TaskTypeEnum.UpdateDocument, tree); } } } } // Move the node if (node != null) { documentName = node.DocumentName; treeContent.ExpandNodeID = node.NodeParentID; treeContent.NodeID = node.NodeID; } else { AddAlert(GetString("ContentRequest.MoveFailed")); } } else { AddAlert(GetString("ContentRequest.MoveDenied")); } } catch (Exception ex) { log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "Content", "MOVE", currentUser.UserID, currentUser.UserName, nodeId, documentName, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), CMSContext.CurrentSite.SiteID, HTTPHelper.GetAbsoluteUri()); AddAlert(GetString("ContentRequest.MoveFailed") + " : " + ex.Message); } break; case "delete": // Delete the document try { if (nodeId == 0) { AddAlert(GetString("DefineSiteStructure.ErrorMissingSource")); return; } // Get the node TreeNode node = tree.SelectSingleNode(nodeId); // Delete the node if (node != null) { treeContent.NodeID = node.NodeParentID; node.Delete(); // Delete search index for given node if (SearchIndexInfoProvider.SearchEnabled) { SearchTaskInfoProvider.CreateTask(SearchTaskTypeEnum.Delete, PredefinedObjectType.DOCUMENT, SearchHelper.ID_FIELD, node.GetSearchID()); } if (node.NodeAliasPath == "/") { // Refresh root document treeContent.NodeID = node.NodeID; AddScript("SelectNode(" + node.NodeID + "); \n"); } else { AddScript("SelectNode(" + node.NodeParentID + "); \n"); } } } catch (Exception ex) { AddAlert(GetString("DefineSiteStructure.DeleteFailed") + " : " + ex.Message); } break; } }
/// <summary> /// Reload data. /// </summary> public override void ReloadData() { try { treeElem.Nodes.Clear(); // Get root files string rootDir = RootFolderPath; rootDir = DirectoryHelper.CombinePath(rootDir, !String.IsNullOrEmpty(MediaLibraryPath) ? MediaLibraryPath : MediaLibraryFolder); // Get the file and directories count int dirCount = 0; int fileCount = 0; string[] files = null; string[] directories = null; if ((rootDir != null) && (Directory.Exists(rootDir))) { files = Directory.GetFiles(rootDir); directories = Directory.GetDirectories(rootDir); } if (files != null) { fileCount = files.Length; } if (directories != null) { // Each directory contains directory for thumbnails dirCount = directories.Length - 1; } // Create root tree node TreeNode root; if (DisplayFilesCount) { root = CreateNode("<span class=\"Name\">" + MediaLibraryFolder + " (" + fileCount + ")</span>", MediaLibraryFolder, null, dirCount, 0); } else { root = CreateNode("<span class=\"Name\">" + MediaLibraryFolder + "</span>", MediaLibraryFolder, null, dirCount, 0); } // Keep root expanded root.Expand(); // Add root node treeElem.Nodes.Add(root); // Bind tree nodes if (String.IsNullOrEmpty(MediaLibraryPath)) { BindTreeView(RootFolderPath + MediaLibraryFolder, root, true); } else { BindTreeView(DirectoryHelper.CombinePath(RootFolderPath, MediaLibraryPath), root, true); } } catch (Exception ex) { if (!IgnoreAccessDenied) { lblError.Text = GetString("FolderTree.FailedLoad") + ": " + ex.Message; lblError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); } } }
/// <summary> /// When exception occures, log it to event log. /// </summary> /// <param name="ex">Exception to log</param> private void LogExceptionToEventLog(Exception ex) { EventLogProvider log = new EventLogProvider(); log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "System deployment", "DEPLOYMENT", CurrentUser.UserID, CurrentUser.UserName, 0, null, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), CMSContext.CurrentSiteID, HTTPHelper.GetAbsoluteUri()); AddError(ResHelper.GetString("Deployment.DeploymentFailed") + ": " + ex.Message); }
private void wzdExport_NextButtonClick(object sender, WizardNavigationEventArgs e) { switch (e.CurrentStepIndex) { case 0: // Apply settings if (!configExport.ApplySettings()) { e.Cancel = true; return; } // Update settings ExportSettings = configExport.Settings; if (!configExport.ExportHistory) { ltlScriptAfter.Text = ScriptHelper.GetScript( @"var actDiv = document.getElementById('actDiv'); if (actDiv != null) { actDiv.style.display='block'; } var buttonsDiv = document.getElementById('buttonsDiv'); if (buttonsDiv != null) { buttonsDiv.disabled=true; } BTN_Disable('" + NextButton.ClientID + @"'); StartSelectionTimer();"); // Select objects asynchronously ctrlAsyncSelection.RunAsync(SelectObjects, WindowsIdentity.GetCurrent()); e.Cancel = true; } else { pnlExport.Settings = ExportSettings; pnlExport.ReloadData(); wzdExport.ActiveStepIndex = e.NextStepIndex; } break; case 1: // Apply settings if (!pnlExport.ApplySettings()) { e.Cancel = true; return; } ExportSettings = pnlExport.Settings; // Delete temporary files try { ExportProvider.DeleteTemporaryFiles(ExportSettings, true); } catch (Exception ex) { SetErrorLabel(ex.Message); e.Cancel = true; return; } try { // Save export history ExportHistoryInfo history = new ExportHistoryInfo { ExportDateTime = DateTime.Now, ExportFileName = ExportSettings.TargetFileName, ExportSettings = ExportSettings.GetXML(), ExportSiteID = ExportSettings.SiteId, ExportUserID = MembershipContext.AuthenticatedUser.UserID }; ExportHistoryInfoProvider.SetExportHistoryInfo(history); } catch (Exception ex) { SetErrorLabel(ex.Message); pnlError.ToolTip = EventLogProvider.GetExceptionLogMessage(ex); e.Cancel = true; return; } if (ExportSettings.SiteId > 0) { ExportSettings.EventLogSource = String.Format(ExportSettings.GetAPIString("ExportSite.EventLogSiteSource", "Export '{0}' site"), ResHelper.LocalizeString(ExportSettings.SiteInfo.DisplayName)); } // Start asynchronous export var manager = ExportManager; ExportSettings.LogContext = ctlAsyncExport.CurrentLog; manager.Settings = ExportSettings; ctlAsyncExport.RunAsync(manager.Export, WindowsIdentity.GetCurrent()); wzdExport.ActiveStepIndex = e.NextStepIndex; break; } }
public void RaisePostBackEvent(string eventArgument) { var currentUser = MembershipContext.AuthenticatedUser; // Current Node ID int nodeId = ValidationHelper.GetInteger(Param1, 0); TreeProvider tree = new TreeProvider(currentUser); string documentName = string.Empty; string action = Action.ToLowerCSafe(); string siteName = SiteContext.CurrentSiteName; // Process the request switch (action) { case "refresh": treeElem.SelectedNodeID = nodeId; AddScript("currentNodeId = " + nodeId + ";"); break; case "moveup": case "movedown": case "movetop": case "movebottom": // Move the document up (document order) try { if (nodeId == 0) { AddAlert(GetString("ContentRequest.ErrorMissingSource")); return; } // Get document to move TreeNode node = tree.SelectSingleNode(nodeId); // Check whether node exists if (node == null) { ShowError(GetString("ContentRequest.ErrorMissingSource")); return; } // Check the permissions for document if (currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed) { // Root of products tree can not be moved if (!IsProductTree || (node.NodeAliasPath.CompareToCSafe(StartingAliasPath, true) != 0)) { switch (action) { case "moveup": tree.MoveNodeUp(node); break; case "movedown": tree.MoveNodeDown(node); break; case "movetop": tree.SetNodeOrder(node, DocumentOrderEnum.First); break; case "movebottom": tree.SetNodeOrder(node, DocumentOrderEnum.Last); break; } // Log the synchronization tasks for the entire tree level DocumentSynchronizationHelper.LogDocumentChangeOrder(siteName, node.NodeAliasPath, tree); // Select the document in the tree documentName = node.GetDocumentName(); treeElem.ExpandNodeID = node.NodeParentID; treeElem.SelectedNodeID = node.NodeID; AddScript("currentNodeId = " + node.NodeID + ";"); } } else { // Select the document in the tree treeElem.SelectedNodeID = nodeId; AddAlert(GetString("ContentRequest.MoveDenied")); } } catch (Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "MOVE", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, currentUser.UserID, currentUser.UserName, nodeId, documentName, RequestContext.UserHostAddress, SiteContext.CurrentSite.SiteID); AddAlert(GetString("ContentRequest.MoveFailed") + " : " + ex.Message); } break; case "setculture": // Set the preferred culture code try { // Set the culture code string language = ValidationHelper.GetString(Param2, string.Empty); if (!string.IsNullOrEmpty(language)) { LocalizationContext.PreferredCultureCode = language; treeElem.Culture = language; } // Refresh the document if (nodeId > 0) { treeElem.SelectedNodeID = nodeId; AddScript("SelectNode(" + nodeId + ");"); } } catch (Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "SETCULTURE", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, currentUser.UserID, currentUser.UserName, nodeId, documentName, RequestContext.UserHostAddress, SiteContext.CurrentSite.SiteID); AddAlert(GetString("ContentRequest.ErrorChangeLanguage")); } break; case "setdevice": // Set the device profile try { // Set the device name string deviceName = ValidationHelper.GetString(Param2, string.Empty); DeviceContext.CurrentDeviceProfileName = deviceName; // Refresh the document if (nodeId > 0) { treeElem.SelectedNodeID = nodeId; AddScript("SelectNode(" + nodeId + ");"); } } catch (Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "SETDEVICE", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, currentUser.UserID, currentUser.UserName, nodeId, documentName, RequestContext.UserHostAddress, SiteContext.CurrentSite.SiteID); AddAlert(GetString("ContentRequest.ErrorChangeLanguage")); } break; // Sorting case "sortalphaasc": case "sortalphadesc": case "sortdateasc": case "sortdatedesc": int siteId = SiteContext.CurrentSite.SiteID; try { // Get document to sort TreeNode node = tree.SelectSingleNode(nodeId); // Check the permissions for document if ((node != null) && (currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed) && (currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.ExploreTree) == AuthorizationResultEnum.Allowed)) { siteId = node.NodeSiteID; switch (action) { case "sortalphaasc": tree.SortNodesAlphabetically(nodeId, siteId, true); break; case "sortalphadesc": tree.SortNodesAlphabetically(nodeId, siteId, false); break; case "sortdateasc": tree.SortNodesByDate(nodeId, siteId, true); break; case "sortdatedesc": tree.SortNodesByDate(nodeId, siteId, false); break; } // Log the synchronization tasks for the entire tree level string fakeAlias = node.NodeAliasPath.TrimEnd('/') + "/child"; DocumentSynchronizationHelper.LogDocumentChangeOrder(siteName, fakeAlias, tree); } else { AddAlert(GetString("ContentRequest.SortDenied")); } // Refresh the tree if (nodeId > 0) { treeElem.ExpandNodeID = nodeId; treeElem.SelectedNodeID = nodeId; if (IsProductTree) { AddScript("window.frames['contentview'].location.replace(window.frames['contentview'].location);"); } else { AddScript("SelectNode(" + nodeId + ");"); } } } catch (Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "SORT", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, currentUser.UserID, currentUser.UserName, nodeId, documentName, RequestContext.UserHostAddress, siteId); AddAlert(GetString("ContentRequest.ErrorSort")); } break; } // Maintain scrollbar position string script = @" SetSelectedNodeId(currentNodeId); MaintainScroll('" + nodeId + @"','" + pnlTreeArea.ClientID + @"', " + ScrollPosition + @"); HideAllContextMenus(); "; ScriptHelper.RegisterStartupScript(Page, typeof(string), "MaintainScrollbar", script, true); }
/// <summary> /// When exception occures, log it to event log. /// </summary> /// <param name="ex">Exception to log</param> private void LogExceptionToEventLog(Exception ex) { EventLogProvider log = new EventLogProvider(); log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "Content", "TRANSLATEDOC", currentUser.UserID, currentUser.UserName, 0, null, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), currentSite.SiteID, HTTPHelper.GetAbsoluteUri()); AddError(ResHelper.GetString("ContentRequest.TranslationFailed", currentCulture) + ": " + ex.Message); }
public void RaisePostBackEvent(string eventArgument) { CurrentUserInfo currentUser = CMSContext.CurrentUser; // Current Node ID int nodeId = ValidationHelper.GetInteger(Param1, 0); TreeProvider tree = new TreeProvider(currentUser); EventLogProvider log = new EventLogProvider(); string documentName = string.Empty; string action = Action.ToLower(); string siteName = CMSContext.CurrentSiteName; // Process the request switch (action) { case "refresh": treeContent.NodeID = nodeId; AddScript("currentNodeId = " + nodeId + ";\n"); break; case "moveup": case "movedown": case "movetop": case "movebottom": // Move the document up (document order) try { if (nodeId == 0) { AddAlert(GetString("ContentRequest.ErrorMissingSource")); return; } // Get document to move TreeNode node = tree.SelectSingleNode(nodeId); // Check the permissions for document if (currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed) { switch (action) { case "moveup": node = tree.MoveNodeUp(nodeId); break; case "movedown": node = tree.MoveNodeDown(nodeId); break; case "movetop": node = tree.SelectSingleNode(nodeId); tree.SetNodeOrder(nodeId, DocumentOrderEnum.First); break; case "movebottom": node = tree.SelectSingleNode(nodeId); tree.SetNodeOrder(nodeId, DocumentOrderEnum.Last); break; } if (node != null) { // Log the synchronization tasks for the entire tree level if (SettingsKeyProvider.GetBoolValue(siteName + ".CMSStagingLogChanges")) { // Log the synchronization tasks for the entire tree level DocumentSynchronizationHelper.LogDocumentChangeOrder(siteName, node.NodeAliasPath, tree); } // Select the document in the tree documentName = node.DocumentName; treeContent.ExpandNodeID = node.NodeParentID; treeContent.NodeID = node.NodeID; AddScript("currentNodeId = " + node.NodeID + ";\n"); } else { AddAlert(GetString("ContentRequest.MoveFailed")); } } else { // Select the document in the tree treeContent.NodeID = nodeId; AddAlert(GetString("ContentRequest.MoveDenied")); } } catch (Exception ex) { log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "Content", "MOVE", currentUser.UserID, currentUser.UserName, nodeId, documentName, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), CMSContext.CurrentSite.SiteID, HTTPHelper.GetAbsoluteUri()); AddAlert(GetString("ContentRequest.MoveFailed") + " : " + ex.Message); } break; case "setculture": // Set the preferred culture code try { // Set the culture code string language = ValidationHelper.GetString(Param2, ""); if (!string.IsNullOrEmpty(language)) { CMSContext.PreferredCultureCode = language; } // Refresh the document if (nodeId > 0) { treeContent.NodeID = nodeId; AddScript("SelectNode(" + nodeId + "); \n"); } } catch (Exception ex) { log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "Content", "SETCULTURE", currentUser.UserID, currentUser.UserName, nodeId, documentName, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), CMSContext.CurrentSite.SiteID, HTTPHelper.GetAbsoluteUri()); AddAlert(GetString("ContentRequest.ErrorChangeLanguage")); } break; // Sorting case "sortalphaasc": case "sortalphadesc": case "sortdateasc": case "sortdatedesc": // Set the preferred culture code try { // Get document to sort TreeNode node = tree.SelectSingleNode(nodeId); // Check the permissions for document if ((currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Allowed) && (currentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.ExploreTree) == AuthorizationResultEnum.Allowed)) { switch (action) { case "sortalphaasc": tree.OrderNodesAlphabetically(nodeId, true); break; case "sortalphadesc": tree.OrderNodesAlphabetically(nodeId, false); break; case "sortdateasc": tree.OrderNodesByDate(nodeId, true); break; case "sortdatedesc": tree.OrderNodesByDate(nodeId, false); break; } // Log the synchronization tasks for the entire tree level if (SettingsKeyProvider.GetBoolValue(siteName + ".CMSStagingLogChanges")) { // Log the synchronization tasks for the entire tree level string fakeAlias = node.NodeAliasPath.TrimEnd('/') + "/child"; DocumentSynchronizationHelper.LogDocumentChangeOrder(siteName, fakeAlias, tree); } } else { AddAlert(GetString("ContentRequest.SortDenied")); } // Refresh the tree if (nodeId > 0) { treeContent.ExpandNodeID = nodeId; treeContent.NodeID = nodeId; AddScript("SelectNode(" + nodeId + "); \n"); } } catch (Exception ex) { log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "Content", "SORT", currentUser.UserID, currentUser.UserName, nodeId, documentName, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), CMSContext.CurrentSite.SiteID, HTTPHelper.GetAbsoluteUri()); AddAlert(GetString("ContentRequest.ErrorSort")); } break; } // Maintain scrollbar position string script = @"var elm = jQuery('#handle_" + nodeId + @"'); var pnl = jQuery('#" + pnlTreeArea.ClientID + @"'); var origScroll = " + ScrollPosition + @"; var elmOff = elm.offset(); var elmPos = (elmOff == null) ? 0 : elmOff.top; var scroll = ((elmPos < origScroll) || (elmPos > (origScroll + pnl.height()))); pnl.scrollTop(origScroll); if(scroll){pnl.animate({ scrollTop: elmPos - 20 }, 300);};"; ScriptHelper.RegisterStartupScript(Page, typeof(string), "MaintainScrollbar", script, true); }
/// <summary> /// Get the transformation to interpret task related object data. /// </summary> /// <param name="row">Grid row</param> /// <returns>Transformation that displays object identified by object type and ID.</returns> private object RenderRelatedObject(DataRowView row) { if (row == null) { return(String.Empty); } int objectId = ValidationHelper.GetInteger(row.Row["SearchTaskRelatedObjectID"], 0); string taskTypeRaw = ValidationHelper.GetString(row.Row["SearchTaskType"], ""); SearchTaskTypeEnum taskType; string objectType = null; // try to get search task type. Type doesn't have a default value. try { taskType = ValidationHelper.GetString(taskTypeRaw, "").ToEnum <SearchTaskTypeEnum>(); } catch (Exception ex) { EventLogProvider.LogEvent( EventType.ERROR, "Smart search", "LISTSEARCHTASKS", "Unknown search task type: " + taskTypeRaw + ". Original exception:" + Environment.NewLine + EventLogProvider.GetExceptionLogMessage(ex) ); return(String.Empty); } // Object type objectType = SearchTaskInfoProvider.GetSearchTaskRelatedObjectType(ValidationHelper.GetString(row.Row["SearchTaskObjectType"], ""), taskType); // Object cannot be interpreted if (String.IsNullOrEmpty(objectType) || (objectId == 0)) { return(String.Empty); } // create transformation ObjectTransformation transformation = new ObjectTransformation(objectType, objectId); transformation.Transformation = String.Format("{{% Object.GetFullObjectName(false, true) %}}"); ObjectTypeInfo typeInfo = ObjectTypeManager.GetTypeInfo(objectType); if (typeInfo != null) { transformation.NoDataTransformation = LocalizationHelper.GetStringFormat("smartsearch.searchtaskrelatedobjectnotexist", typeInfo.GetNiceObjectTypeName(), objectId); } return(transformation); }
/// <summary> /// Yes button click event handler. /// </summary> protected void btnYes_Click(object sender, EventArgs e) { if (IsBannedIP()) { return; } // Prepare the where condition string where = "NodeID = " + NodeID; // Get the documents DataSet ds = null; if (chkAllCultures.Checked) { ds = TreeProvider.SelectNodes(SiteName, "/%", TreeProvider.ALL_CULTURES, true, null, where, null, -1, false); } else { ds = TreeProvider.SelectNodes(SiteName, "/%", CultureCode, false, null, where, null, -1, false); } if (!DataHelper.DataSourceIsEmpty(ds)) { // Get node alias string nodeAlias = ValidationHelper.GetString(DataHelper.GetDataRowValue(ds.Tables[0].Rows[0], "NodeAlias"), string.Empty); // Get parent alias path string parentAliasPath = TreePathUtils.GetParentPath(ValidationHelper.GetString(DataHelper.GetDataRowValue(ds.Tables[0].Rows[0], "NodeAliasPath"), string.Empty)); string aliasPath = null; string culture = null; string className = null; bool hasUserDeletePermission = false; TreeNode treeNode = null; // Delete the documents foreach (DataRow dr in ds.Tables[0].Rows) { aliasPath = ValidationHelper.GetString(dr["NodeAliasPath"], string.Empty); culture = ValidationHelper.GetString(dr["DocumentCulture"], string.Empty); className = ValidationHelper.GetString(dr["ClassName"], string.Empty); // Get the node treeNode = TreeProvider.SelectSingleNode(SiteName, aliasPath, culture, false, className, false); if (treeNode != null) { // Check delete permissions hasUserDeletePermission = !CheckPermissions || IsUserAuthorizedToDeleteDocument(treeNode, chkDestroy.Checked); if (hasUserDeletePermission) { // Delete the document try { LogDeleteActivity(treeNode); DocumentHelper.DeleteDocument(treeNode, TreeProvider, chkAllCultures.Checked, chkDestroy.Checked, true); } catch (Exception ex) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "DELETEDOC", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, MembershipContext.AuthenticatedUser.UserID, MembershipContext.AuthenticatedUser.UserName, treeNode.NodeID, treeNode.GetDocumentName(), RequestContext.UserHostAddress, SiteContext.CurrentSiteID); AddAlert(GetString("ContentRequest.DeleteFailed") + ": " + ex.Message); return; } } // Access denied - not authorized to delete the document else { AddAlert(String.Format(GetString("cmsdesk.notauthorizedtodeletedocument"), treeNode.NodeAliasPath)); return; } } else { AddAlert(GetString("ContentRequest.ErrorMissingSource")); return; } } RaiseOnAfterDelete(); string rawUrl = RequestContext.RawURL.TrimEnd(new char[] { '/' }); if ((!string.IsNullOrEmpty(nodeAlias)) && (rawUrl.Substring(rawUrl.LastIndexOfCSafe('/')).Contains(nodeAlias))) { // Redirect to the parent url when current url belongs to deleted document URLHelper.Redirect(DocumentURLProvider.GetUrl(parentAliasPath)); } else { // Redirect to current url URLHelper.Redirect(rawUrl); } } else { AddAlert(GetString("DeleteDocument.CultureNotExists")); return; } }
protected void Page_Load(object sender, EventArgs e) { // Get order id orderId = ValidationHelper.GetInteger(Request.Form["invoice"], 0); // Get transaction id transactionId = ValidationHelper.GetString(Request.Form["txn_id"], ""); // Get payment status paymentStatus = ValidationHelper.GetString(Request.Form["payment_status"], ""); // Get notification culture stored in custom field orderCulture = ValidationHelper.GetString(Request.Form["custom"], ""); CMSPayPalProvider payPalProvider = null; string errorMessage = ""; // Get paypal provider OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId); if (oi != null) { try { payPalProvider = (CMSPayPalProvider)CMSPaymentGatewayProvider.GetPaymentGatewayProvider(oi.OrderPaymentOptionID); payPalProvider.OrderId = orderId; } catch (Exception ex) { // Log exception errorMessage = EventLogProvider.GetExceptionLogMessage(ex); LogEvent(errorMessage, "Payment_Provider_Not_Found"); return; } } else { // Order not found errorMessage = string.Format(GetString("PaymentGatewayProvider.ordernotfound"), orderId); LogEvent(errorMessage, "Order_Not_Found"); return; } PayPalPaymentResultInfo paypalResult = (PayPalPaymentResultInfo)(payPalProvider.PaymentResult); // Confirm payment and get PayPal payment gateway response string response = payPalProvider.ConfirmPayment(Request.Form); // Set payment as verified / not verified paypalResult.PayPalPaymentVerified = (response.ToLowerCSafe() == "verified"); // Set transaction ID paypalResult.PaymentTransactionID = transactionId; // Set payment status (take received status seriously only if payment was verified) paypalResult.PayPalPaymentStatus = PayPalPaymentResultInfo.GetPayPalPaymentStatus(paypalResult.PayPalPaymentVerified ? paymentStatus : "failed"); // Set payment as completed / not completed switch (paypalResult.PayPalPaymentStatus) { case PayPalPaymentStatusEnum.CanceledReversal: case PayPalPaymentStatusEnum.Completed: case PayPalPaymentStatusEnum.Processed: paypalResult.PaymentIsCompleted = true; break; default: paypalResult.PaymentIsCompleted = false; break; } // Compare payment data to order data string error = payPalProvider.ComparePaymentDataToOrderData(Request.Form); if (error != "") { paypalResult.PaymentIsCompleted = false; paypalResult.PayPalPaymentVerified = false; paypalResult.PaymentDescription = error; } // Order culture payPalProvider.ShoppingCartInfoObj.ShoppingCartCulture = orderCulture; // Update order payment result in database errorMessage = payPalProvider.UpdateOrderPaymentResult(); if (errorMessage != "") { // Log the event errorMessage += error; LogEvent(errorMessage, "Order_Payment_Result_Update"); } }
private void LogExceptionToEventLog(Exception ex, string uiCulture) { EventLogProvider.LogEvent(EventType.ERROR, "Content", "TRANSLATEDOC", EventLogProvider.GetExceptionLogMessage(ex), RequestContext.RawURL, currentUser.UserID, currentUser.UserName, 0, null, RequestContext.UserHostAddress, SiteInfoProvider.GetSiteID(CurrentSiteName)); AddError(ResHelper.GetString("ContentRequest.TranslationFailed", uiCulture) + ex.Message); }
/// <summary> /// Yes button click event handler. /// </summary> protected void btnYes_Click(object sender, EventArgs e) { // Prepare the where condition string where = "NodeID = " + NodeID; // Get the documents DataSet ds = null; if (chkAllCultures.Checked) { ds = TreeProvider.SelectNodes(SiteName, "/%", TreeProvider.ALL_CULTURES, true, null, where, null, -1, false); } else { ds = TreeProvider.SelectNodes(SiteName, "/%", CultureCode, false, null, where, null, -1, false); } if (!DataHelper.DataSourceIsEmpty(ds)) { // Get node alias var nodeAlias = DataHelper.GetStringValue(ds.Tables[0].Rows[0], "NodeAlias", string.Empty); // Get parent alias path var parentAliasPath = TreePathUtils.GetParentPath(DataHelper.GetStringValue(ds.Tables[0].Rows[0], "NodeAliasPath", string.Empty)); // Delete the documents foreach (DataRow dr in ds.Tables[0].Rows) { var aliasPath = ValidationHelper.GetString(dr["NodeAliasPath"], string.Empty); var culture = ValidationHelper.GetString(dr["DocumentCulture"], string.Empty); var className = ValidationHelper.GetString(dr["ClassName"], string.Empty); // Get the node var treeNode = TreeProvider.SelectSingleNode(SiteName, aliasPath, culture, false, className, false); if (treeNode != null) { // Check delete permissions var hasUserDeletePermission = !CheckPermissions || IsUserAuthorizedToDeleteDocument(treeNode, chkDestroy.Checked); if (hasUserDeletePermission) { // Delete the document try { DocumentHelper.DeleteDocument(treeNode, TreeProvider, chkAllCultures.Checked, chkDestroy.Checked); } catch (Exception ex) { var logData = new EventLogData(EventTypeEnum.Error, "Content", "DELETEDOC") { EventDescription = EventLogProvider.GetExceptionLogMessage(ex), EventUrl = RequestContext.RawURL, UserID = MembershipContext.AuthenticatedUser.UserID, UserName = MembershipContext.AuthenticatedUser.UserName, NodeID = treeNode.NodeID, DocumentName = treeNode.GetDocumentName(), IPAddress = RequestContext.UserHostAddress, SiteID = SiteContext.CurrentSiteID }; Service.Resolve <IEventLogService>().LogEvent(logData); AddAlert(GetString("ContentRequest.DeleteFailed") + ": " + ex.Message); return; } } // Access denied - not authorized to delete the document else { AddAlert(String.Format(GetString("cmsdesk.notauthorizedtodeletedocument"), HTMLHelper.HTMLEncode(treeNode.GetDocumentName()))); return; } } else { AddAlert(GetString("ContentRequest.ErrorMissingSource")); return; } } RaiseOnAfterDelete(); } else { AddAlert(GetString("DeleteDocument.CultureNotExists")); } }
/// <summary> /// When exception occurs, log it to event log. /// </summary> /// <param name="ex">Exception to log</param> private void LogExceptionToEventLog(Exception ex) { EventLogProvider log = new EventLogProvider(); log.LogEvent(EventLogProvider.EVENT_TYPE_ERROR, DateTime.Now, "Content", "IMPORTFILE", CMSContext.CurrentUser.UserID, CMSContext.CurrentUser.UserName, 0, null, HTTPHelper.UserHostAddress, EventLogProvider.GetExceptionLogMessage(ex), CMSContext.CurrentSiteID, HTTPHelper.GetAbsoluteUri()); AddError(GetString("tools.fileimport.failed") + " (" + ex.Message + ")"); }
/// <summary> /// Runs the Generation on the given Slug Generation Queue, runs regardless of whether or not any other queues are running. /// </summary> /// <param name="SlugGenerationQueueID"></param> public static void RunSlugGenerationQueueItem(int SlugGenerationQueueID) { SlugGenerationQueueInfo ItemToRun = SlugGenerationQueueInfoProvider.GetSlugGenerationQueues() .WhereEquals("SlugGenerationQueueID", SlugGenerationQueueID) .FirstOrDefault(); if (ItemToRun == null) { return; } // Update item with thread and times ItemToRun.SlugGenerationQueueThreadID = Thread.CurrentThread.ManagedThreadId; ItemToRun.SlugGenerationQueueStarted = DateTime.Now; ItemToRun.SlugGenerationQueueRunning = true; ItemToRun.SlugGenerationQueueApplicationID = SystemHelper.ApplicationIdentifier; ItemToRun.SetValue("SlugGenerationQueueErrors", null); ItemToRun.SetValue("SlugGenerationQueueEnded", null); SlugGenerationQueueInfoProvider.SetSlugGenerationQueueInfo(ItemToRun); // Get the NodeItem from the SlugGenerationQueueItem var serializer = new XmlSerializer(typeof(NodeItem)); NodeItem QueueItem; using (TextReader reader = new StringReader(ItemToRun.SlugGenerationQueueNodeItem)) { QueueItem = (NodeItem)serializer.Deserialize(reader); } // Build and Save Items try { QueueItem.BuildChildren(); if (ErrorOnConflict() && QueueItem.ConflictsExist()) { ItemToRun.SlugGenerationQueueErrors = $"The Following Conflicts were found:\n\r{string.Join("\n\r", QueueItem.GetConflictItems())}\n\rPlease Correct and re-run queue item."; ItemToRun.SlugGenerationQueueEnded = DateTime.Now; ItemToRun.SetValue("SlugGenerationQueueThreadID", null); ItemToRun.SetValue("SlugGenerationQueueApplicationID", null); ItemToRun.SlugGenerationQueueRunning = false; SlugGenerationQueueInfoProvider.SetSlugGenerationQueueInfo(ItemToRun); return; } else { QueueItem.SaveChanges(); // If completed successfully, delete the item ItemToRun.Delete(); } } catch (Exception ex) { ItemToRun.SlugGenerationQueueErrors = EventLogProvider.GetExceptionLogMessage(ex); ItemToRun.SlugGenerationQueueRunning = false; ItemToRun.SlugGenerationQueueEnded = DateTime.Now; SlugGenerationQueueInfoProvider.SetSlugGenerationQueueInfo(ItemToRun); } // Now that we are 'finished' call the Check again to processes next item. CheckUrlSlugGenerationQueue(); }