コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        SetPropertyTab(TAB_URLS);

        // Set where condition - show nothing when nodeId is zero
        UniGridAlias.WhereCondition = "AliasNodeID = " + NodeID;

        if (Node != null)
        {
            if (Node.NodeAliasPath == "/")
            {
                valAlias.Visible = false;
            }

            // Check modify permissions
            if ((MembershipContext.AuthenticatedUser.IsAuthorizedPerDocument(Node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Denied))
            {
                pnlAlias.Enabled = false;
                menuElem.Enabled = false;
                UniGridAlias.GridView.Enabled = false;
                btnNewAlias.Enabled           = false;

                chkCustomExtensions.Enabled = false;
                ctrlURL.Enabled             = false;
            }
            else
            {
                ltlScript.Text = ScriptHelper.GetScript("var node = " + NodeID + "; \n var deleteMsg = '" + GetString("DocumentAlias.DeleteMsg") + "';");

                UniGridAlias.OnAction            += UniGridAlias_OnAction;
                UniGridAlias.OnExternalDataBound += UniGridAlias_OnExternalDataBound;
                btnNewAlias.OnClientClick         = "window.location.replace('" + URLHelper.ResolveUrl("Alias_Edit.aspx?nodeid=" + NodeID) + "'); return false;";
            }

            chkCustomExtensions.Text = GetString("GeneralProperties.UseCustomExtensions");
            valAlias.ErrorMessage    = GetString("GeneralProperties.RequiresAlias");

            lblExtensions.Text = GetString("doc.urls.urlextensions") + ResHelper.Colon;

            if (!isRoot)
            {
                txtAlias.Enabled = !TreePathUtils.AutomaticallyUpdateDocumentAlias(SiteContext.CurrentSiteName);
            }

            if (!RequestHelper.IsPostBack())
            {
                ReloadData();
            }

            ctrlURL.AutomaticURLPath = TreePathUtils.GetUrlPathFromNamePath(Node.DocumentNamePath, Node.NodeLevel, SiteContext.CurrentSiteName);

            // Reflect processing action
            pnlPageContent.Enabled = DocumentManager.AllowSave;
        }
    }
コード例 #2
0
    private void DocumentManager_OnSaveData(object sender, DocumentManagerEventArgs e)
    {
        aliasChanged = false;

        // ALIAS group is displayed
        if (!pnlUIAlias.IsHidden)
        {
            if (!String.IsNullOrEmpty(txtAlias.Text.Trim()) || mIsRoot)
            {
                string nodeAlias = txtAlias.Text.Trim();

                aliasChanged = (Node.NodeAlias != nodeAlias);

                mOldAliasPath  = Node.NodeAliasPath;
                Node.NodeAlias = nodeAlias;
            }
            else
            {
                e.IsValid      = false;
                e.ErrorMessage = GetString("general.errorvalidationerror");
                return;
            }
        }

        // PATH group is displayed
        if (!pnlUIPath.IsHidden)
        {
            // Validate URL path
            if (!ctrlURL.IsValid())
            {
                e.IsValid      = false;
                e.ErrorMessage = ctrlURL.ValidationError;
                return;
            }

            aliasChanged |= (ctrlURL.URLPath != Node.DocumentUrlPath);

            Node.DocumentUseNamePathForUrlPath = !ctrlURL.IsCustom;
            Node.DocumentUrlPath = Node.DocumentUseNamePathForUrlPath ? TreePathUtils.GetUrlPathFromNamePath(Node) : TreePathUtils.GetSafeUrlPath(ctrlURL.URLPath, Node.NodeSiteName);
        }

        // EXTENDED group is displayed
        if (!pnlUIExtended.IsHidden)
        {
            Node.DocumentUseCustomExtensions = chkCustomExtensions.Checked;
            if (Node.DocumentUseCustomExtensions)
            {
                Node.DocumentExtensions = txtExtensions.Text;
            }
        }
    }
コード例 #3
0
    private void DocumentManager_OnSaveData(object sender, DocumentManagerEventArgs e)
    {
        bool aliasChanged = false;

        // ALIAS group is displayed
        if (!pnlUIAlias.IsHidden)
        {
            if (!String.IsNullOrEmpty(txtAlias.Text.Trim()) || isRoot)
            {
                string nodeAlias = txtAlias.Text.Trim();

                aliasChanged = (Node.NodeAlias != nodeAlias);

                oldAliasPath   = Node.NodeAliasPath;
                Node.NodeAlias = nodeAlias;
            }
            else
            {
                e.IsValid      = false;
                e.ErrorMessage = GetString("general.errorvalidationerror");
                return;
            }
        }

        // PATH group is displayed
        if (!pnlUIPath.IsHidden)
        {
            // Validate URL path
            if (!ctrlURL.IsValid())
            {
                e.IsValid      = false;
                e.ErrorMessage = ctrlURL.ValidationError;
                return;
            }

            aliasChanged |= (ctrlURL.URLPath != Node.DocumentUrlPath);

            Node.DocumentUseNamePathForUrlPath = !ctrlURL.IsCustom;
            if (Node.DocumentUseNamePathForUrlPath)
            {
                string urlPath = TreePathUtils.GetUrlPathFromNamePath(Node.DocumentNamePath, Node.NodeLevel, SiteContext.CurrentSiteName);
                Node.DocumentUrlPath = urlPath;
            }
            else
            {
                Node.DocumentUrlPath = TreePathUtils.GetSafeUrlPath(ctrlURL.URLPath, SiteContext.CurrentSiteName, true);
            }
        }

        if ((!pnlUIAlias.IsHidden || !pnlUIPath.IsHidden) && aliasChanged && (PortalContext.ViewMode == ViewModeEnum.EditLive))
        {
            // Redirect the parent page to the new document alias
            string newAliasPath = string.Empty;
            if (Node.Parent != null)
            {
                newAliasPath = Node.Parent.NodeAliasPath.TrimEnd('/');
            }
            newAliasPath += "/" + Node.NodeAlias;

            // Get the updated document url
            string url = URLHelper.ResolveUrl(DocumentURLProvider.GetUrl(newAliasPath, Node.DocumentUrlPath, Node.NodeSiteName, RequestContext.CurrentURLLangPrefix));

            // Register redirect script
            string reloadScript = "if (parent.parent.frames['header'] != null) { parent.parent.frames['header'].reloadPageUrl =" + ScriptHelper.GetString(url) + "; }";
            ScriptHelper.RegisterStartupScript(this, typeof(string), "reloadScript", reloadScript, true);
        }

        // EXTENDED group is displayed
        if (!pnlUIExtended.IsHidden)
        {
            Node.DocumentUseCustomExtensions = chkCustomExtensions.Checked;
            if (Node.DocumentUseCustomExtensions)
            {
                Node.DocumentExtensions = txtExtensions.Text;
            }
        }
    }
コード例 #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        UIContext.PropertyTab = PropertyTabEnum.URLs;

        // Set where condition - show nothing when nodeId is zero
        UniGridAlias.WhereCondition = "AliasNodeID = " + NodeID;

        if (Node != null)
        {
            imgNewAlias.ImageUrl         = GetImageUrl("CMSModules/CMS_Content/Properties/adddocumentalias.png");
            imgNewAlias.DisabledImageUrl = GetImageUrl("CMSModules/CMS_Content/Properties/adddocumentaliasdisabled.png");

            if (Node.NodeAliasPath == "/")
            {
                valAlias.Visible = false;
            }

            // Check modify permissions
            if ((CMSContext.CurrentUser.IsAuthorizedPerDocument(Node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Denied))
            {
                pnlAlias.Enabled = false;
                menuElem.Enabled = false;
                UniGridAlias.GridView.Enabled = false;
                lnkNewAlias.Disabled          = true;
                imgNewAlias.Enabled           = false;

                chkCustomExtensions.Enabled = false;
                ctrlURL.Enabled             = false;
            }
            else
            {
                ltlScript.Text = ScriptHelper.GetScript("var node = " + NodeID + "; \n var deleteMsg = '" + GetString("DocumentAlias.DeleteMsg") + "';");

                UniGridAlias.OnAction            += UniGridAlias_OnAction;
                UniGridAlias.OnExternalDataBound += UniGridAlias_OnExternalDataBound;
                lnkNewAlias.HRef = URLHelper.ResolveUrl("Alias_Edit.aspx?nodeid=" + NodeID);
            }

            Literal ltl = new Literal();
            ltl.Text = GetString("doc.urls.addnewalias");
            lnkNewAlias.Controls.Add(ltl);

            ltl      = new Literal();
            ltl.Text = GetString("doc.urls.aliaslist");

            lblAlias.Text = GetString("GeneralProperties.Alias");

            chkCustomExtensions.Text = GetString("GeneralProperties.UseCustomExtensions");
            valAlias.ErrorMessage    = GetString("GeneralProperties.RequiresAlias");

            lblExtensions.Text = GetString("doc.urls.urlextensions") + ResHelper.Colon;

            pnlURLPath.GroupingText = GetString("GeneralProperties.UrlPath");
            pnlAlias.GroupingText   = GetString("GeneralProperties.DocumentAlias");

            pnlDocumentAlias.GroupingText = GetString("doc.urls.documentalias");
            pnlExtended.GroupingText      = GetString("doc.urls.extendedproperties");

            if (!isRoot)
            {
                txtAlias.Enabled = !TreePathUtils.AutomaticallyUpdateDocumentAlias(CMSContext.CurrentSiteName);
            }

            if (!RequestHelper.IsPostBack())
            {
                ReloadData();
            }

            ctrlURL.AutomaticURLPath = TreePathUtils.GetUrlPathFromNamePath(Node.DocumentNamePath, Node.NodeLevel, CMSContext.CurrentSiteName);

            // Reflect processing action
            pnlPageContent.Enabled = DocumentManager.AllowSave;
        }
    }
コード例 #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Register the scripts
        ScriptHelper.RegisterProgress(Page);

        UIContext.PropertyTab = PropertyTabEnum.URLs;

        nodeId = QueryHelper.GetInteger("nodeid", 0);

        // Set where condition - show nothing when nodeId is zero
        UniGridAlias.WhereCondition = "AliasNodeID = " + nodeId;

        if (nodeId > 0)
        {
            // Get the node
            tree = new TreeProvider(CMSContext.CurrentUser);
            node = tree.SelectSingleNode(nodeId, CMSContext.PreferredCultureCode, false);

            // Redirect to page 'New culture version' in split mode. It must be before setting EditedDocument.
            if ((node == null) && displaySplitMode)
            {
                URLHelper.Redirect("~/CMSModules/Content/CMSDesk/New/NewCultureVersion.aspx" + URLHelper.Url.Query);
            }
            // Set edited document
            EditedDocument = node;

            if (node != null)
            {
                // Set IsRoot flag
                isRoot = (node.NodeClassName.ToLower() == "cms.root");

                imgSave.DisabledImageUrl     = GetImageUrl("CMSModules/CMS_Content/EditMenu/savedisabled.png");
                imgSave.ImageUrl             = GetImageUrl("CMSModules/CMS_Content/EditMenu/save.png");
                imgNewAlias.ImageUrl         = GetImageUrl("CMSModules/CMS_Content/Properties/adddocumentalias.png");
                imgNewAlias.DisabledImageUrl = GetImageUrl("CMSModules/CMS_Content/Properties/adddocumentaliasdisabled.png");
                if (node.NodeAliasPath == "/")
                {
                    valAlias.Visible = false;
                }

                // Check read permissions
                if (CMSContext.CurrentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Read) == AuthorizationResultEnum.Denied)
                {
                    RedirectToAccessDenied(String.Format(GetString("cmsdesk.notauthorizedtoreaddocument"), node.NodeAliasPath));
                }
                // Check modify permissions
                else if (CMSContext.CurrentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Denied)
                {
                    UniGridAlias.GridView.Enabled = false;
                    lnkNewAlias.Enabled           = false;
                    imgNewAlias.Enabled           = false;

                    chkCustomExtensions.Enabled = false;
                    ctrlURL.Enabled             = false;

                    lblInfo.Visible = true;
                    lblInfo.Text    = String.Format(GetString("cmsdesk.notauthorizedtoeditdocument"), node.NodeAliasPath);

                    // Disable save button
                    lnkSave.Enabled  = false;
                    lnkSave.CssClass = "MenuItemEditDisabled";
                }
                else
                {
                    lblInfo.Visible = false;
                    ltlScript.Text  = ScriptHelper.GetScript("var node = " + nodeId + "; \n var deleteMsg = '" + GetString("DocumentAlias.DeleteMsg") + "';");

                    UniGridAlias.OnAction            += UniGridAlias_OnAction;
                    UniGridAlias.OnExternalDataBound += UniGridAlias_OnExternalDataBound;

                    // Register Save Document script
                    ScriptHelper.RegisterSaveShortcut(lnkSave, null, false);
                }

                lnkNewAlias.Text        = GetString("doc.urls.addnewalias");
                lnkNewAlias.NavigateUrl = "Alias_Edit.aspx?nodeid=" + nodeId;


                mSave         = GetString("general.save");
                lblAlias.Text = GetString("GeneralProperties.Alias");

                chkCustomExtensions.Text = GetString("GeneralProperties.UseCustomExtensions");
                valAlias.ErrorMessage    = GetString("GeneralProperties.RequiresAlias");

                lblExtensions.Text = GetString("doc.urls.urlextensions") + ResHelper.Colon;

                pnlURLPath.GroupingText = GetString("GeneralProperties.UrlPath");
                pnlAlias.GroupingText   = GetString("GeneralProperties.DocumentAlias");

                pnlDocumentAlias.GroupingText = GetString("doc.urls.documentalias");
                pnlExtended.GroupingText      = GetString("doc.urls.extendedproperties");

                if (!isRoot)
                {
                    txtAlias.Enabled = !TreePathUtils.AutomaticallyUpdateDocumentAlias(CMSContext.CurrentSiteName);
                }

                if (!RequestHelper.IsPostBack())
                {
                    ReloadData();
                }

                ctrlURL.AutomaticURLPath = TreePathUtils.GetUrlPathFromNamePath(node.DocumentNamePath, node.NodeLevel, CMSContext.CurrentSiteName);
            }

            // Register js synchronization script for split mode
            if (displaySplitMode)
            {
                RegisterSplitModeSync(true, false);
            }
        }
    }
コード例 #6
0
    protected void lnkSave_Click(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(txtAlias.Text.Trim()) && !isRoot)
        {
            lblError.Visible = true;
            lblError.Text    = GetString("general.errorvalidationerror");
        }
        else
        {
            // Get the document
            if (node != null)
            {
                // Check modify permissions
                if (CMSContext.CurrentUser.IsAuthorizedPerDocument(node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Denied)
                {
                    return;
                }

                // PATH group is displayed
                if (!this.pnlUIPath.IsHidden)
                {
                    node.NodeAlias = txtAlias.Text.Trim();

                    node.DocumentUseNamePathForUrlPath = !ctrlURL.IsCustom;
                    if (node.DocumentUseNamePathForUrlPath)
                    {
                        string urlPath = TreePathUtils.GetUrlPathFromNamePath(node.DocumentNamePath, node.NodeLevel, CMSContext.CurrentSiteName);
                        node.DocumentUrlPath = urlPath;
                    }
                    else
                    {
                        node.DocumentUrlPath = TreePathUtils.GetSafeUrlPath(ctrlURL.URLPath, CMSContext.CurrentSiteName, true);
                    }
                }

                // EXTENDED group is displayed
                if (!this.pnlUIExtended.IsHidden)
                {
                    node.DocumentUseCustomExtensions = chkCustomExtensions.Checked;
                    if (node.DocumentUseCustomExtensions)
                    {
                        node.DocumentExtensions = txtExtensions.Text;
                    }
                }

                // Save the data
                node.Update();

                // Update search index
                if ((node.PublishedVersionExists) && (SearchIndexInfoProvider.SearchEnabled))
                {
                    SearchTaskInfoProvider.CreateTask(SearchTaskTypeEnum.Update, PredefinedObjectType.DOCUMENT, SearchHelper.ID_FIELD, node.GetSearchID());
                }

                txtAlias.Text = node.NodeAlias;

                // Load the URL path
                LoadURLPath(node);

                // Log synchronization
                DocumentSynchronizationHelper.LogDocumentChange(node, TaskTypeEnum.UpdateDocument, tree);

                lblInfo.Visible = true;
                lblInfo.Text    = GetString("General.ChangesSaved");

                UniGridAlias.ReloadData();
            }
        }
    }