private void SaveData() { if (node != null) { // Update fields node.NodeBodyElementAttributes = txtBodyCss.Text; node.NodeBodyScripts = txtBodyScripts.Value.ToString(); node.NodeDocType = txtDocType.Text; node.NodeHeadTags = txtHeadTags.Value.ToString(); // Update the node node.Update(); // Update search index if (DocumentHelper.IsSearchTaskCreationAllowed(node)) { SearchTaskInfoProvider.CreateTask(SearchTaskTypeEnum.Update, TreeNode.OBJECT_TYPE, SearchFieldsConstants.ID, node.GetSearchID(), node.DocumentID); } // Log synchronization DocumentSynchronizationHelper.LogDocumentChange(node, TaskTypeEnum.UpdateDocument, tree); RegisterRefreshScript(); // Empty variable for exitwithoutchanges dialog ScriptHelper.RegisterClientScriptBlock(Page, typeof(String), "SubmitAction", "CMSContentManager.changed(false);", true); // Clear cache PageInfoCacheHelper.ClearCache(); ShowChangesSaved(); // Clear content changed flag DocumentManager.ClearContentChanged(); } }
/// <summary> /// OnSaveData event handler. Sets security properties. /// </summary> protected void DocumentManager_OnSaveData(object sender, DocumentManagerEventArgs e) { TreeNode node = e.Node; if (node != null) { string message = null; bool clearCache = false; // Authentication if (pnlAccessPart.Visible) { if (!pnlAuth.IsHidden) { bool?isSecuredNode = node.IsSecuredNode; if (radYes.Checked) { isSecuredNode = true; } else if (radNo.Checked) { isSecuredNode = false; } else if (radParent.Checked) { isSecuredNode = null; } // Set secured areas settings if (isSecuredNode != node.IsSecuredNode) { node.IsSecuredNode = isSecuredNode; clearCache = true; message += ResHelper.GetAPIString("security.documentaccessauthchanged", "Page authentication settings have been modified."); } } // SSL if (!pnlSSL.IsHidden) { int?requiresSSL = node.RequiresSSL; if (radYesSSL.Checked) { requiresSSL = 1; } else if (radNoSSL.Checked) { requiresSSL = 0; } else if (radParentSSL.Checked) { requiresSSL = null; } else if (radNeverSSL.Checked) { requiresSSL = 2; } // Set SSL settings if (requiresSSL != node.RequiresSSL) { node.RequiresSSL = requiresSSL; clearCache = true; if (message != null) { message += "<br />"; } message += ResHelper.GetAPIString("security.documentaccesssslchanged", "Page SSL settings have been modified."); } } } // Insert information about this event to event log. if (DocumentManager.Tree.LogEvents && (message != null)) { EventLogProvider.LogEvent(EventType.INFORMATION, "Content", "DOCACCESSMODIFIED", message, eventUrl, currentUser.UserID, currentUser.UserName, node.NodeID, DocumentName, ipAddress, node.NodeSiteID); } // Clear cache if security settings changed if (clearCache) { PageInfoCacheHelper.ClearCache(node.NodeSiteName); CacheHelper.ClearFileNodeCache(node.NodeSiteName); } // Clear ACL settings securityElem.InvalidateAcls(); } }