コード例 #1
0
    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();
        }
    }
コード例 #2
0
    /// <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();
        }
    }