protected object UniGridAlias_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        switch (sourceName.ToLowerCSafe())
        {
        case "culture":
            return(UniGridFunctions.CultureDisplayName(parameter));

        case "urlpath":
        {
            // Parse the URL path
            string urlPath = ValidationHelper.GetString(parameter, "");

            return(TreePathUtils.GetURLPathDisplayName(urlPath));
        }
        }

        return(parameter);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterDialogScript(Page);

        btnOk.OnClientClick = DocumentManager.GetAllowSubmitScript();

        EditedObject = DocumentAlias;

        if (IsDialog)
        {
            PageTitle.TitleText = GetString("doc.urls.aliaslist");
        }
        else
        {
            HeaderActions.AddAction(new HeaderAction
            {
                Text        = GetString("doc.urls.addnewalias"),
                RedirectUrl = ResolveUrl("Alias_Edit.aspx?nodeid=" + NodeID),
                ButtonStyle = ButtonStyle.Default
            });

            HeaderActions.AddAction(new HeaderAction
            {
                Text          = GetString("doc.urls.viewallalias"),
                OnClientClick = "modalDialog('" + ResolveUrl("~/CMSModules/Content/CMSDesk/Properties/Alias_AliasList.aspx") + "?nodeid=" + NodeID + "&dialog=1" + "','AliasManagement','90%','85%');",
                ButtonStyle   = ButtonStyle.Default
            });
        }

        if (Node != null)
        {
            lblUrlInfoText.Text = Node.NodeAliasPath;

            // Check modify permissions
            if (!DocumentUIHelper.CheckDocumentPermissions(Node, PermissionsEnum.Modify))
            {
                ShowInformation(String.Format(GetString("cmsdesk.notauthorizedtoeditdocument"), Node.NodeAliasPath));

                usSelectCampaign.Enabled = false;
                txtURLExtensions.Enabled = false;

                ctrlURL.Enabled = false;

                cultureSelector.Enabled = false;
            }

            if (!RequestHelper.IsPostBack() && QueryHelper.GetInteger("saved", 0) == 1)
            {
                ShowChangesSaved();
            }

            lblDocumentCulture.Text = GetString("general.culture") + ResHelper.Colon;
            lblTrackCampaign.Text   = GetString("doc.urls.trackcampaign") + ResHelper.Colon;
            lblURLExtensions.Text   = GetString("doc.urls.urlextensions") + ResHelper.Colon;

            // Show path of document alias only if dialog mode edit
            pnlUrlInfo.Visible = IsDialog;

            // For dialog mode use DefaultNodeID
            defaultNodeID = (IsDialog) ? QueryHelper.GetInteger("defaultNodeID", 0) : NodeID;

            CreateBreadcrumbs();

            cultureSelector.AllowDefault = false;
            cultureSelector.UniSelector.SpecialFields.Add(new SpecialField
            {
                Text  = GetString("general.selectall"),
                Value = String.Empty
            });


            if (!RequestHelper.IsPostBack())
            {
                cultureSelector.Value = Node.DocumentCulture;

                // Edit existing alias
                if (DocumentAlias != null && DocumentAlias.AliasID > 0)
                {
                    usSelectCampaign.Value = DocumentAlias.AliasCampaign;

                    txtURLExtensions.Text = DocumentAlias.AliasExtensions;
                    ctrlURL.URLPath       = DocumentAlias.AliasURLPath;

                    cultureSelector.Value         = DocumentAlias.AliasCulture;
                    PageBreadcrumbs.Items[1].Text = TreePathUtils.GetURLPathDisplayName(DocumentAlias.AliasURLPath);

                    drpAction.SelectedValue = DocumentAlias.AliasActionMode.ToStringRepresentation();
                }
            }

            // Register js synchronization script for split mode
            if (QueryHelper.GetBoolean("refresh", false) && UIContext.DisplaySplitMode)
            {
                RegisterSplitModeSync(true, false, true);
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterDialogScript(Page);

        if (isManagement)
        {
            CurrentMaster.PanelFooter.CssClass = "FloatRight";

            CurrentMaster.Title.TitleText  = GetString("doc.urls.aliaslist");
            CurrentMaster.Title.TitleImage = GetImageUrl("CMSModules/CMS_Content/Menu/New.png");

            // Add close button
            CurrentMaster.PanelFooter.Controls.Add(new LocalizedButton
            {
                ID              = "btnCancel",
                ResourceString  = "general.close",
                EnableViewState = false,
                OnClientClick   = "return CloseDialog();",
                CssClass        = "SubmitButton"
            });
        }
        else
        {
            HeaderActions.AddAction(new HeaderAction()
            {
                ImageUrl    = GetImageUrl("CMSModules/CMS_Content/Properties/adddocumentalias.png"),
                Text        = GetString("doc.urls.addnewalias"),
                RedirectUrl = ResolveUrl("Alias_Edit.aspx?nodeid=" + NodeID),
            });

            rightHeaderActions.AddAction(new HeaderAction()
            {
                ImageUrl      = GetImageUrl("CMSModules/CMS_Content/Properties/documentaliases.png"),
                Text          = GetString("doc.urls.viewallalias"),
                OnClientClick = "modalDialog('" + ResolveUrl("~/CMSModules/Content/CMSDesk/Properties/Alias_AliasList.aspx") + "?nodeid=" + NodeID + "','AliasManagement','90%','85%');",
            });
        }

        if (Node != null)
        {
            lblUrlInfoText.Text = Node.NodeAliasPath;

            // Check modify permissions
            if (!CheckDocumentPermissions(Node, PermissionsEnum.Modify))
            {
                ShowInformation(String.Format(GetString("cmsdesk.notauthorizedtoeditdocument"), Node.NodeAliasPath));

                usSelectCampaign.Enabled = false;
                txtURLExtensions.Enabled = false;

                ctrlURL.Enabled = false;

                cultureSelector.Enabled = false;
            }

            if (!RequestHelper.IsPostBack() && QueryHelper.GetInteger("saved", 0) == 1)
            {
                ShowChangesSaved();
            }

            lblDocumentCulture.Text = GetString("general.culture") + ResHelper.Colon;
            lblTrackCampaign.Text   = GetString("doc.urls.trackcampaign") + ResHelper.Colon;
            lblURLExtensions.Text   = GetString("doc.urls.urlextensions") + ResHelper.Colon;

            // Show path of document alias only if management mode edit
            pnlUrlInfo.Visible = isManagement;

            // For management mode use DefaultNodeID
            defaultNodeID = (isManagement) ? QueryHelper.GetInteger("defaultNodeID", 0) : NodeID;

            // Initialize page title
            string urls            = GetString("Properties.Urls");
            string urlsUrl         = string.Format("~/CMSModules/Content/CMSDesk/Properties/Alias_List.aspx?nodeid={0}&compare=1", defaultNodeID.ToString());
            string addAlias        = GetString("doc.urls.addnewalias");
            string aliasManagement = GetString("doc.urls.aliaslist");
            string managementUrl   = "~/CMSModules/Content/CMSDesk/Properties/Alias_AliasList.aspx?nodeid=" + defaultNodeID.ToString();

            string[,] pageTitleTabs = null;

            pageTitleTabs = new string[2, 3];
            // Initializes page title
            pageTitleTabs[0, 0]             = isManagement ? aliasManagement : urls;
            pageTitleTabs[0, 1]             = ResolveUrl(isManagement ? managementUrl : urlsUrl);
            pageTitleTabs[0, 2]             = "";
            pageTitleTabs[1, 0]             = addAlias;
            pageTitleTabs[1, 1]             = "";
            pageTitleTabs[1, 2]             = "";
            CurrentMaster.Title.Breadcrumbs = pageTitleTabs;

            cultureSelector.AddDefaultRecord = false;
            cultureSelector.SpecialFields    = new string[, ] {
                { GetString("general.selectall"), "" }
            };
            cultureSelector.CssClass = "ContentMenuLangDrop";

            aliasId = ValidationHelper.GetInteger(Request.QueryString["aliasid"], 0);

            CurrentMaster.Title.HelpName      = "helpTopic";
            CurrentMaster.Title.HelpTopicName = "doc_documentalias_edit";

            if (!RequestHelper.IsPostBack())
            {
                cultureSelector.Value = Node.DocumentCulture;

                // Edit existing alias
                if (aliasId > 0)
                {
                    DocumentAliasInfo dai = DocumentAliasInfoProvider.GetDocumentAliasInfo(aliasId);

                    if (dai != null)
                    {
                        usSelectCampaign.Value = dai.AliasCampaign;

                        txtURLExtensions.Text = dai.AliasExtensions;
                        ctrlURL.URLPath       = dai.AliasURLPath;

                        cultureSelector.Value = dai.AliasCulture;
                        pageTitleTabs[1, 0]   = addAlias = TreePathUtils.GetURLPathDisplayName(dai.AliasURLPath);

                        drpAction.SelectedValue = DocumentAliasInfoProvider.AliasActionModeEnumString(dai.AliasActionMode);
                    }
                }
            }

            CurrentMaster.Title.Breadcrumbs = pageTitleTabs;

            // Register js synchronization script for split mode
            if (QueryHelper.GetBoolean("refresh", false) && CMSContext.DisplaySplitMode)
            {
                RegisterSplitModeSync(true, false, true);
            }
        }
    }