Пример #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Try skip IIS http errors
        Response.TrySkipIisCustomErrors = true;

        btnSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlScript);

        titleElem.TitleImage = GetImageUrl("Others/Messages/denied.png");

        string title   = GetString("CMSDesk.AccessDenied");
        string message = GetString("CMSMessages.AccessDenied");

        GetTexts(ref message, ref title);

        lblMessage.Text     = message;
        titleElem.TitleText = title;

        // Display SignOut button
        if (CMSContext.CurrentUser.IsAuthenticated())
        {
            if (!RequestHelper.IsWindowsAuthentication())
            {
                btnSignOut.Visible = true;
            }
        }
        else
        {
            btnLogin.Visible = true;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        btnSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlScript);

        // Setup page title text and image
        CurrentMaster.Title.TitleImage = GetImageUrl("Others/Messages/denied.png");

        string title   = GetString("CMSDesk.AccessDenied");
        string message = GetString("CMSDesk.IsNotEditorMsg");

        bool hideLinks = GetTexts(ref message, ref title);

        lblMessage.Text = message;
        CurrentMaster.Title.TitleText = title;

        if (!hideLinks)
        {
            lnkGoBack.Text = GetString("CMSDesk.GoBack");

            // Hide for windows authentication
            if (RequestHelper.IsWindowsAuthentication())
            {
                btnSignOut.Visible = false;
            }
        }
        else
        {
            btnSignOut.Visible = false;
            lnkGoBack.Visible  = false;
        }
    }
Пример #3
0
    /// <summary>
    /// Checks Sign out link settings.
    /// </summary>
    private bool EnsureSignOut()
    {
        if (RequestHelper.IsWindowsAuthentication())
        {
            // Hide sign out link
            lnkSignOut.Visible = false;
            return(false);
        }

        // Init Facebook Connect and join logout script to sign out button
        string logoutScript = FacebookConnectHelper.FacebookConnectInitForSignOut(SiteContext.CurrentSiteName, ltlFBConnectScript);

        if (!String.IsNullOrEmpty(logoutScript))
        {
            // If Facebook Connect initialized include 'CheckChanges()' to logout script
            logoutScript = "if (CheckChanges()) { " + logoutScript + " } return false; ";
        }
        else
        {
            // If Facebook Connect not initialized just return 'CheckChanges()' script
            logoutScript = "return CheckChanges();";
        }
        lnkSignOut.OnClientClick = logoutScript;

        return(true);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        CurrentMaster.Title.HideTitle = false;
        btnSignOut.OnClientClick      = FacebookConnectHelper.FacebookConnectInitForSignOut(SiteContext.CurrentSiteName, ltlScript);

        // Setup page title text and image
        string title   = GetString("CMSDesk.AccessDenied");
        string message = GetString("CMSDesk.IsNotEditorMsg");

        bool hideLinks = GetTexts(ref message, ref title);

        lblMessage.Text    = message;
        hdnPermission.Text = PageTitle.TitleText = title;

        // hide signout button for not authenticated users
        if (!AuthenticationHelper.IsAuthenticated())
        {
            btnSignOut.Visible = false;
        }

        if (!hideLinks)
        {
            lnkGoBack.Text = GetString("CMSDesk.GoBack");

            // Hide for windows authentication
            if (RequestHelper.IsWindowsAuthentication())
            {
                btnSignOut.Visible = false;
            }
        }
        else
        {
            btnSignOut.Style.Add("display", "none");
            lnkGoBack.Visible = false;
        }
    }
    /// <summary>
    /// Initializes the control properties.
    /// </summary>
    protected void SetupControl()
    {
        if (StopProcessing)
        {
            // Do not process
        }
        else
        {
            // Facebook Connect sign out
            if (CMSContext.CurrentUser.IsAuthenticated())
            {
                if (QueryHelper.GetInteger("logout", 0) > 0)
                {
                    // Sign out from CMS

                    // Remove Facebook user object from session
                    SessionHelper.Remove(SESSION_NAME_USERDATA);

                    FormsAuthentication.SignOut();
                    CMSContext.ClearShoppingCart();
                    CMSContext.CurrentUser = null;
                    Response.Cache.SetNoStore();
                    URLHelper.Redirect(URLHelper.RemoveParameterFromUrl(URLHelper.CurrentURL, "logout"));
                    return;
                }
            }

            // Show only desired button
            btnSignOut.Visible     = !ShowAsLink;
            btnSignOutLink.Visible = ShowAsLink;

            if (!CMSContext.CurrentUser.IsPublic())
            {
                // Hide for windows authentication
                if (RequestHelper.IsWindowsAuthentication())
                {
                    Visible = false;
                }
                else
                {
                    // Set signout text
                    btnSignOutLink.Text = SignOutText;
                    btnSignOut.Text     = SignOutText;
                }
            }
            else
            {
                // Set signin text
                btnSignOutLink.Text = SignInText;
                btnSignOut.Text     = SignInText;
            }

            // Facebook Connect initialization
            btnSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlScript);
        }

        if (!StandAlone && (PageCycle < PageCycleEnum.Initialized) && (ValidationHelper.GetString(Page.StyleSheetTheme, "") == ""))
        {
            btnSignOut.SkinID = SkinID;
        }


        // if user is not authenticated and ShowOnlyWhenAuthenticated is set
        if (CMSContext.CurrentUser.IsPublic() && ShowOnlyWhenAuthenticated)
        {
            Visible = false;
        }
    }
Пример #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CheckUserImpersonate();

        // Facebook Connect sign out
        if (CMSContext.CurrentUser.IsAuthenticated())
        {
            if (QueryHelper.GetInteger("logout", 0) > 0)
            {
                btnSignOut_Click(this, EventArgs.Empty);
                return;
            }
        }

        InitializeVersion();

        // Make 'Site manager' link visible for global administrators
        CurrentUserInfo ui = CMSContext.CurrentUser;

        if ((ui != null) && (ui.UserSettings != null))
        {
            lnkSiteManager.Visible = ui.UserSiteManagerAdmin;
        }

        // Site selector settings
        siteSelector.DropDownSingleSelect.CssClass = "HeaderSiteDrop";
        siteSelector.UpdatePanel.RenderMode        = UpdatePanelRenderMode.Inline;
        siteSelector.AllowAll = false;
        siteSelector.UniSelector.OnSelectionChanged   += SiteSelector_OnSelectionChanged;
        siteSelector.UniSelector.OnBeforeClientChanged = "if (!CheckChanges()) { this.value = this.originalValue; return false; }";
        siteSelector.DropDownSingleSelect.AutoPostBack = true;
        siteSelector.OnlyRunningSites = true;

        if (!RequestHelper.IsPostBack())
        {
            siteSelector.Value = CMSContext.CurrentSiteID;
        }

        // Show only assigned sites for not global admins
        if (!CMSContext.CurrentUser.IsGlobalAdministrator)
        {
            siteSelector.UserId = CMSContext.CurrentUser.UserID;
        }

        section = QueryHelper.GetString("section", string.Empty).ToLower();

        lblUser.Text     = GetString("Header.User");
        lblUserInfo.Text = HTMLHelper.HTMLEncode(CMSContext.CurrentUser.FullName);

        lnkLiveSite.Text = ResHelper.GetString("Header.LiveSite");

        lnkTestingMode.Text        = GetString("cmstesting.headerlink");
        lnkTestingMode.Visible     = SettingsKeyProvider.TestingMode;
        lnkTestingMode.NavigateUrl = "~/CMSPages/GetTestingModeReport.aspx";

        // Initialize variables from query string
        int    nodeId  = QueryHelper.GetInteger("nodeid", 0);
        string culture = QueryHelper.GetText("culture", null);
        string url     = "~";

        // Set url to node from which CMSDesk was opened
        if ((nodeId > 0) && !String.IsNullOrEmpty(culture))
        {
            TreeProvider treeProvider = new TreeProvider(CMSContext.CurrentUser);
            TreeNode     node         = treeProvider.SelectSingleNode(nodeId, culture, false, false);
            if (node != null)
            {
                url = CMSContext.GetUrl(node.NodeAliasPath, node.DocumentUrlPath);
            }
        }
        // Resolve Url and add live site view mode
        url = ResolveUrl(url);
        url = URLHelper.AddParameterToUrl(url, "viewmode", "livesite");

        lnkLiveSite.NavigateUrl = url;
        lnkLiveSite.Target      = "_parent";

        lnkSiteManager.Text        = GetString("Header.SiteManager");
        lnkSiteManager.NavigateUrl = "~/CMSSiteManager/default.aspx";
        lnkSiteManager.Target      = "_parent";

        lnkSiteManagerLogo.NavigateUrl = "~/CMSDesk/default.aspx";
        lnkSiteManagerLogo.Target      = "_parent";

        elemLinks.RedirectURL = URLHelper.CurrentURL;

        BasicTabControlHeader.OnTabCreated += tabElem_OnTabCreated;
        BasicTabControlHeader.UrlTarget     = "cmsdesktop";

        BasicTabControlHeader.QueryParameterName = "section";

        if (RequestHelper.IsWindowsAuthentication())
        {
            pnlSignOut.Visible = false;
            pnlRight.CssClass += " HeaderWithoutSignOut";
        }
        else
        {
            pnlSignOut.BackImageUrl = GetImageUrl("Design/Buttons/SignOutButton.png");
            lblSignOut.Text         = GetString("signoutbutton.signout");

            // Init Facebook Connect and join logout script to sign out button
            string logoutScript = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlFBConnectScript);
            if (!String.IsNullOrEmpty(logoutScript))
            {
                // If Facebook Connect initialized include 'CheckChanges()' to logout script
                logoutScript = "if (CheckChanges()) { " + logoutScript + " } return false; ";
            }
            else
            {
                // If Facebook Connect not initialized just return 'CheckChanges()' script
                logoutScript = "return CheckChanges();";
            }
            lnkSignOut.OnClientClick = logoutScript;
        }

        // Displays windows azure and EMS icons
        if (AzureHelper.IsRunningOnAzure && SettingsKeyProvider.GetBoolValue(CMSContext.CurrentSiteName + ".CMSShowAzureLogo"))
        {
            imgWindowsAzure.Visible  = true;
            imgWindowsAzure.ImageUrl = GetImageUrl("General/IconWindowsAzure.png");
            pnlExtraIcons.Visible    = true;
        }
        if (LicenseHelper.CurrentEdition == ProductEditionEnum.EnterpriseMarketingSolution)
        {
            imgEnterpriseSolution.Visible  = true;
            imgEnterpriseSolution.ImageUrl = GetImageUrl("General/IconEnterpriseSolution.png");
            pnlExtraIcons.Visible          = true;
        }
    }
Пример #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Logging out of Facebook
        if (QueryHelper.GetInteger("logout", 0) > 0)
        {
            btnSignOut_Click(this, EventArgs.Empty);
        }
        btnSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlScript);

        // Setup page title text and image
        this.CurrentMaster.Title.TitleText  = GetString("CMSDesk.AccessDenied");
        this.CurrentMaster.Title.TitleImage = GetImageUrl("Others/Messages/denied.png");

        bool hideLinks = false;

        this.LabelMessage.Text = GetString("CMSDesk.IsNotEditorMsg");

        // If specification parameters given, display custom message
        string resourceName = QueryHelper.GetString("resource", null);
        int    nodeId       = QueryHelper.GetInteger("nodeid", 0);
        string message      = QueryHelper.GetText("message", null);

        if (!String.IsNullOrEmpty(resourceName))
        {
            // Access denied to resource
            ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(resourceName);
            if (ri != null)
            {
                this.CurrentMaster.Title.TitleText = String.Format(GetString("CMSSiteManager.AccessDeniedOnResource"), HTMLHelper.HTMLEncode(ri.ResourceDisplayName));
            }
        }
        else if (nodeId > 0)
        {
            // Access denied to document
            TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
            TreeNode     node = tree.SelectSingleNode(nodeId);
            if (node != null)
            {
                this.CurrentMaster.Title.TitleText = String.Format(GetString("CMSSiteManager.AccessDeniedOnNode"), HTMLHelper.HTMLEncode(node.DocumentName));
            }
        }
        // Add custom message
        else if (!String.IsNullOrEmpty(message))
        {
            this.LabelMessage.Text = message;
            hideLinks = true;
        }

        // Add missing permission name message
        string permission = QueryHelper.GetText("permission", null);
        string uielement  = QueryHelper.GetText("uielement", null);

        if (!String.IsNullOrEmpty(permission))
        {
            if (permission.Contains("|"))
            {
                permission = String.Join(GetString("CMSSiteManager.AccessDeniedOr"), permission.Split('|'));
            }

            this.LabelMessage.Text = String.Format(GetString("CMSSiteManager.AccessDeniedOnPermissionName"), permission);
            hideLinks = true;
        }
        // Add missing UI element name message
        else if (!String.IsNullOrEmpty(uielement))
        {
            if (uielement.Contains("|"))
            {
                uielement = String.Join(GetString("CMSSiteManager.AccessDeniedOr"), uielement.Split('|'));
            }

            this.LabelMessage.Text = String.Format(GetString("CMSSiteManager.AccessDeniedOnUIElementName"), uielement);
            hideLinks = true;
        }

        if (!hideLinks)
        {
            this.lnkGoBack.Text = GetString("CMSDesk.GoBack");

            // Hide for windows authentication
            if (RequestHelper.IsWindowsAuthentication())
            {
                btnSignOut.Visible = false;
            }
        }
        else
        {
            btnSignOut.Visible = false;
            lnkGoBack.Visible  = false;
        }
    }
Пример #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CheckUserImpersonate();
        CheckTrial();

        // Facebook Connect sign out
        if (CMSContext.CurrentUser.IsAuthenticated())
        {
            if (QueryHelper.GetInteger("logout", 0) > 0)
            {
                // Stop processing for all controls during logout
                ucUsers.StopProcessing      = true;
                siteSelector.StopProcessing = true;
                ucUICultures.StopProcessing = true;
                btnSignOut_Click(this, EventArgs.Empty);
                return;
            }
        }

        // Display the techPreview info if there is a key in the web.config
        pnlTechPreview.Visible = ValidationHelper.GetBoolean(SettingsHelper.AppSettings["CMSUseTechnicalPreview"], false);

        InitializeVersion();

        lnkTestingMode.Text        = GetString("cmstesting.headerlink");
        lnkTestingMode.Visible     = SettingsKeyProvider.TestingMode;
        lnkTestingMode.NavigateUrl = "~/CMSPages/GetTestingModeReport.aspx";

        lblUserInfo.Text = HTMLHelper.HTMLEncode(CMSContext.CurrentUser.FullName);

        pnlBody.CssClass = IsAPIExampleHeader ? "APIExamplesHeader" : (IsCMSDesk ? "CMSDeskHeader" : "SMHeader");

        tabControl.Visible = !IsCMSDesk && !IsAPIExampleHeader || IsCMSDesk;

        lblSignOut.Text = GetString("signoutbutton.signout");

        lnkCMSDesk.Text        = GetString("Header.CMSDesk");
        lnkCMSDesk.NavigateUrl = EnsureViewModeParam("~/CMSDesk/default.aspx", "returnviewmode");
        lnkCMSDesk.Target      = "_parent";

        lnkCMSSiteManager.Text        = GetString("Header.SiteManager");
        lnkCMSSiteManager.NavigateUrl = EnsureViewModeParam("~/CMSSiteManager/default.aspx", "returnviewmode");
        lnkCMSSiteManager.Target      = "_parent";

        string eventLogText = GetString("administration.ui.eventlog");

        lnkLog.NavigateUrl   = ResolveUrl("~/CMSModules/EventLog/EventLog.aspx");
        lnkLog.ToolTip       = eventLogText;
        imgLog.ImageUrl      = GetImageUrl("Objects/CMS_EventLog/list.png");
        imgLog.AlternateText = eventLogText;

        string debugText = GetString("administration-system.debug");

        lnkDebug.NavigateUrl   = ResolveUrl("~/CMSModules/System/Debug/System_DebugFrameset.aspx");
        lnkDebug.ToolTip       = debugText;
        imgDebug.ImageUrl      = GetImageUrl("CMSModules/CMS_System/debug.png");
        imgDebug.AlternateText = debugText;

        pwdExpiration.ShowChangePasswordLink      = true;
        pwdExpiration.ExpirationTextBefore        = GetString("passwordexpiration.expired");
        pwdExpiration.ExpirationWarningTextBefore = string.Format(GetString("passwordexpiration.willexpire"), CMSContext.CurrentUser.UserPasswordExpiration);

        // Displays windows azure and EMS icons
        if (AzureHelper.IsRunningOnAzure && SettingsKeyProvider.GetBoolValue(CMSContext.CurrentSiteName + ".CMSShowAzureLogo"))
        {
            imgWindowsAzure.Visible  = true;
            imgWindowsAzure.ImageUrl = GetImageUrl("General/IconWindowsAzure.png");
            pnlExtraIcons.Visible    = true;
        }
        if (LicenseHelper.CurrentEdition == ProductEditionEnum.EnterpriseMarketingSolution)
        {
            imgEnterpriseSolution.Visible  = true;
            imgEnterpriseSolution.ImageUrl = GetImageUrl("General/IconEnterpriseSolution.png");
            pnlExtraIcons.Visible          = true;
        }
        if (!CMSContext.CurrentUser.UserSiteManagerAdmin)
        {
            plcLog.Visible   = false;
            plcDebug.Visible = false;
        }
        string redirectURL = null;

        string scHideWarning = @"
function HideWarning() {
  var panel = document.getElementById('" + pnlPwdExp.ClientID + @"');
  if(panel)
  {
    panel.style.display = ""none"";
    window.top.layouts[0].resizeAll(); 
  }
}";

        ScriptHelper.RegisterStartupScript(this, typeof(string), "HideHeaderWarning", scHideWarning, true);

        SiteInfo si = CMSContext.CurrentSite;

        if ((si != null) && (!si.SiteIsOffline))
        {
            // Initialize variables from query string
            int    nodeId      = QueryHelper.GetInteger("nodeid", 0);
            string culture     = QueryHelper.GetText("culture", null);
            string liveSiteUrl = "~";

            // Set url to node from which CMSDesk was opened
            if (IsCMSDesk && (nodeId > 0) && !String.IsNullOrEmpty(culture))
            {
                TreeProvider treeProvider = new TreeProvider(CMSContext.CurrentUser);
                TreeNode     node         = treeProvider.SelectSingleNode(nodeId, culture, false, false);
                if (node != null)
                {
                    liveSiteUrl = CMSContext.GetUrl(node.NodeAliasPath, node.DocumentUrlPath);
                }
            }
            // Resolve Url and add live site view mode
            liveSiteUrl             = ResolveUrl(liveSiteUrl);
            liveSiteUrl             = URLHelper.AddParameterToUrl(liveSiteUrl, "viewmode", "livesite");
            liveSiteUrl             = EnsureViewModeParam(liveSiteUrl, "viewmode");
            lnkLiveSite.Text        = ResHelper.GetString("Header.LiveSite");
            lnkLiveSite.NavigateUrl = liveSiteUrl;
            lnkLiveSite.Target      = "_parent";
        }

        if (IsCMSDesk)
        {
            // Make 'Site manager' link visible for global administrators
            CurrentUserInfo ui = CMSContext.CurrentUser;
            if (ui.UserSettings != null)
            {
                plcSiteManagerRedirect.Visible = ui.UserSiteManagerAdmin;
            }

            // Site selector settings
            siteSelector.DropDownSingleSelect.CssClass = "HeaderSiteDrop";
            siteSelector.UpdatePanel.RenderMode        = UpdatePanelRenderMode.Inline;
            siteSelector.AllowAll = false;
            siteSelector.UniSelector.OnSelectionChanged   += SiteSelector_OnSelectionChanged;
            siteSelector.UniSelector.OnBeforeClientChanged = "if (!CheckChanges()) { this.value = this.originalValue; return false; }";
            siteSelector.DropDownSingleSelect.AutoPostBack = true;
            siteSelector.OnlyRunningSites = true;

            if (!RequestHelper.IsPostBack())
            {
                siteSelector.Value = CMSContext.CurrentSiteID;
            }

            // Show only assigned sites for not global admins
            if (!CMSContext.CurrentUser.IsGlobalAdministrator)
            {
                siteSelector.UserId = CMSContext.CurrentUser.UserID;
            }

            StringBuilder script = new StringBuilder();
            script.Append(
                @"function SetActivePage() {}
  function SiteRedirect(url) { parent.location = url; }
  function CheckChanges() {
    try { if (!parent.frames['cmsdesktop'].CheckChanges()) return false; } catch (ex) { }
    return true;
  }
");
            ScriptHelper.RegisterStartupScript(this, typeof(string), "headerScript", ScriptHelper.GetScript(script.ToString()));

            lnkLogo.NavigateUrl = "~/CMSDesk/default.aspx";
            lnkLogo.Target      = "_parent";

            redirectURL = URLHelper.CurrentURL;

            tabControl.UrlTarget          = "cmsdesktop";
            tabControl.QueryParameterName = "section";
            tabControl.ModuleName         = "CMS.Desk";
            tabControl.ModuleAvailabilityForSiteRequired = true;
            tabControl.OnTabCreated += tabControl_OnTabCreated;

            if (RequestHelper.IsWindowsAuthentication())
            {
                pnlSignOut.Visible = false;
                pnlRight.CssClass += " HeaderWithoutSignOut";
            }
            else
            {
                // Init Facebook Connect and join logout script to sign out button
                string logoutScript = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlFBConnectScript);
                if (!String.IsNullOrEmpty(logoutScript))
                {
                    // If Facebook Connect initialized include 'CheckChanges()' to logout script
                    logoutScript = "if (CheckChanges()) { " + logoutScript + " } return false; ";
                }
                else
                {
                    // If Facebook Connect not initialized just return 'CheckChanges()' script
                    logoutScript = "return CheckChanges();";
                }
                lnkSignOut.OnClientClick = logoutScript;
            }
        }
        else
        {
            plcSiteSelector.Visible = false;
            pnlSeparator.Visible    = true;

            lblUserInfo.Text               = HTMLHelper.HTMLEncode(CMSContext.CurrentUser.FullName);
            plcCMSDeskRedirect.Visible     = true;
            plcSiteManagerRedirect.Visible = IsAPIExampleHeader;

            lnkTestingMode.Text        = GetString("cmstesting.headerlink");
            lnkTestingMode.Visible     = SettingsKeyProvider.TestingMode;
            lnkTestingMode.NavigateUrl = "~/CMSPages/GetTestingModeReport.aspx";

            string url = null;
            if (IsAPIExampleHeader)
            {
                url = "~/CMSAPIExamples/default.aspx";
            }
            else
            {
                url = "~/CMSSiteManager/default.aspx";
            }
            lnkLogo.NavigateUrl = url;
            lnkLogo.Target      = "_parent";

            redirectURL = "~/CMSMessages/Redirect.aspx?frame=top&url=" + url;

            tabControl.OnTabCreated      += new UITabs.TabCreatedEventHandler(tabControl_OnTabCreated);
            tabControl.UrlTarget          = "cmsdesktop";
            tabControl.QueryParameterName = "section";
            tabControl.ModuleName         = "CMS.SiteManager";
            tabControl.UseClientScript    = true;

            if (RequestHelper.IsWindowsAuthentication())
            {
                pnlSignOut.Visible = false;
                pnlRight.CssClass += " HeaderWithoutSignOut";
            }
            else
            {
                lblSignOut.Text          = GetString("signoutbutton.signout");
                lnkSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlFBConnectScript);
            }
        }

        CheckUICultureChange(redirectURL);

        if (ModuleEntry.IsModuleRegistered("CMS.Chat") && ModuleEntry.IsModuleLoaded("CMS.Chat") && (CMSContext.CurrentSiteID > 0))
        {
            CMSUserControl supportChatControl = Page.LoadUserControl("~/CMSModules/Chat/Controls/SupportChatHeader.ascx") as CMSUserControl;
            if (supportChatControl != null)
            {
                plcSupportChatControl.Controls.Add(supportChatControl);
                pnlSupportChat.Visible = true;
            }
        }
    }
Пример #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CheckUserImpersonate();

        // Facebook Connect sign out
        if (CMSContext.CurrentUser.IsAuthenticated())
        {
            if (QueryHelper.GetInteger("logout", 0) > 0)
            {
                btnSignOut_Click(this, EventArgs.Empty);
                return;
            }
        }

        InitializeVersion();

        lblUser.Text           = GetString("Header.User");
        lblUserInfo.Text       = HTMLHelper.HTMLEncode(CMSContext.CurrentUser.FullName);
        lnkCmsDesk.Text        = GetString("Header.CMSDesk");
        lnkCmsDesk.NavigateUrl = "~/CMSDesk/default.aspx";
        lnkCmsDesk.Target      = "_parent";

        lnkTestingMode.Text        = GetString("cmstesting.headerlink");
        lnkTestingMode.Visible     = SettingsKeyProvider.TestingMode;
        lnkTestingMode.NavigateUrl = "~/CMSPages/GetTestingModeReport.aspx";

        string url = "~/CMSSiteManager/default.aspx";

        lnkCmsDeskLogo.NavigateUrl = url;
        lnkCmsDeskLogo.Target      = "_parent";

        elemLinks.RedirectURL = "~/CMSMessages/Redirect.aspx?frame=top&url=" + url;

        // Include 'Buy' tab if only trial and free licenses are present
        int buy = 1;

        if (!LicenseKeyInfoProvider.OnlyTrialLicenseKeys)
        {
            buy = 0;
        }

        string[,] tabs = new string[8 + buy, 4];
        tabs[0, 0]     = GetString("general.sites");
        tabs[0, 2]     = "sites/site_list.aspx";
        tabs[1, 0]     = GetString("Header.Administration");
        tabs[1, 2]     = "administration/default.aspx";
        tabs[2, 0]     = GetString("Header.Settings");
        tabs[2, 2]     = ResolveUrl("~/CMSModules/Settings/SiteManager/Default.aspx");
        tabs[3, 0]     = GetString("Header.Development");
        tabs[3, 2]     = "development/default.aspx";
        tabs[4, 0]     = GetString("Header.Tools");
        tabs[4, 2]     = "tools/default.aspx";
        tabs[5, 0]     = GetString("Header.Dashboard");
        tabs[5, 2]     = URLHelper.EnsureHashToQueryParameters("Dashboard.aspx?dashboardName=SiteManagerDashboard&templateName=Administratordashboard&{hash}");
        tabs[6, 0]     = GetString("Header.Licenses");
        tabs[6, 2]     = ResolveUrl("~/CMSModules/licenses/Pages/License_List.aspx");
        tabs[7, 0]     = GetString("Header.Support");
        tabs[7, 2]     = ResolveUrl("~/CMSModules/Support/Pages/default.aspx");

        // Add 'Buy' tab if needed
        if (buy > 0)
        {
            tabs[8, 0] = GetString("Header.Buy");
            tabs[8, 2] = BUY_PAGE;
        }

        BasicTabControlHeader.Tabs = tabs;

        string section     = ValidationHelper.GetString(Request.QueryString["section"], "sites").ToLower();
        int    selectedTab = 0;

        switch (section)
        {
        case "sites":
            selectedTab = 0;
            break;

        case "administration":
            selectedTab = 1;
            break;

        case "settings":
            selectedTab = 2;
            break;

        case "development":
            selectedTab = 3;
            break;

        case "tools":
            selectedTab = 4;
            break;

        case "dashboard":
            selectedTab = 5;
            break;

        case "licenses":
            selectedTab = 6;
            break;

        default:
            selectedTab = 0;
            break;
        }

        BasicTabControlHeader.SelectedTab = selectedTab;
        BasicTabControlHeader.UrlTarget   = "cmsdesktop";

        if (RequestHelper.IsWindowsAuthentication())
        {
            pnlSignOut.Visible   = false;
            PanelRight.CssClass += " HeaderWithoutSignOut";
        }
        else
        {
            pnlSignOut.BackImageUrl = GetImageUrl("Design/Buttons/SignOutButton.png");
            lblSignOut.Text         = GetString("signoutbutton.signout");

            lnkSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlFBConnectScript);
        }

        // Displays windows azure and EMS icons
        if (AzureHelper.IsRunningOnAzure && SettingsKeyProvider.GetBoolValue(CMSContext.CurrentSiteName + ".CMSShowAzureLogo"))
        {
            imgWindowsAzure.Visible  = true;
            imgWindowsAzure.ImageUrl = GetImageUrl("General/IconWindowsAzure.png");
            pnlExtraIcons.Visible    = true;
        }
        if (LicenseHelper.CurrentEdition == ProductEditionEnum.EnterpriseMarketingSolution)
        {
            imgEnterpriseSolution.Visible  = true;
            imgEnterpriseSolution.ImageUrl = GetImageUrl("General/IconEnterpriseSolution.png");
            pnlExtraIcons.Visible          = true;
        }
    }
Пример #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Logging out of Facebook
        if (QueryHelper.GetInteger("logout", 0) > 0)
        {
            btnSignOut_Click(this, EventArgs.Empty);
        }
        btnSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, LiteralScript);

        this.LabelMessage.Text    = GetString("CMSMessages.AccessDenied");
        this.titleElem.TitleText  = GetString("CMSDesk.AccessDenied");
        this.titleElem.TitleImage = GetImageUrl("Others/Messages/denied.png");

        // If specification parameters given, display custom message
        string resourceName = QueryHelper.GetString("resource", null);
        int    nodeId       = QueryHelper.GetInteger("nodeid", 0);
        string message      = QueryHelper.GetText("message", null);

        if (!String.IsNullOrEmpty(resourceName))
        {
            // Access denied to resource
            ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(resourceName);
            if (ri != null)
            {
                this.titleElem.TitleText = String.Format(GetString("CMSSiteManager.AccessDeniedOnResource"), ri.ResourceDisplayName);
            }
        }
        else if (nodeId > 0)
        {
            // Access denied to document
            TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
            TreeNode     node = tree.SelectSingleNode(nodeId);
            if (node != null)
            {
                this.titleElem.TitleText = String.Format(GetString("CMSSiteManager.AccessDeniedOnNode"), HTMLHelper.HTMLEncode(node.DocumentName));
            }
        }
        else if (!String.IsNullOrEmpty(message))
        {
            // Custom message
            this.LabelMessage.Text = ResHelper.LocalizeString(message);
        }

        // Add missing permission name message
        string permission = QueryHelper.GetText("permission", null);

        if (!String.IsNullOrEmpty(permission))
        {
            this.LabelMessage.Text = String.Format(GetString("CMSSiteManager.AccessDeniedOnPermissionName"), permission);
        }

        // Display SignOut button
        if (CMSContext.CurrentUser.IsAuthenticated())
        {
            if (!RequestHelper.IsWindowsAuthentication())
            {
                this.btnSignOut.Visible = true;
            }
        }
        else
        {
            this.btnLogin.Visible = true;
        }

        this.lnkGoBack.Text = GetString("CMSDesk.GoBack");
    }
Пример #11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Logging out of Facebook
        if (QueryHelper.GetInteger("logout", 0) > 0)
        {
            btnSignOut_Click(this, EventArgs.Empty);
        }
        btnSignOut.OnClientClick = FacebookConnectHelper.FacebookConnectInitForSignOut(CMSContext.CurrentSiteName, ltlScript);

        bool hideLinks = false;

        // Default message
        this.lblMessage.Text = GetString("CMSSiteManager.IsNotAdminMsg");

        CurrentMaster.Title.TitleText  = GetString("CMSSiteManager.AccessDenied");
        CurrentMaster.Title.TitleImage = GetImageUrl("Others/Messages/denied.png");

        // Resource access denied
        string resourceName = QueryHelper.GetString("resource", null);

        if (resourceName != null)
        {
            switch (resourceName.ToLower())
            {
            // Not enabled admin interface
            case "cms.adminui":
            {
                this.lblMessage.Text = GetString("CMSSiteManager.AdminUINotEnabled");
            }
            break;

            // Standard resource permission
            default:
            {
                ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(resourceName);
                if (ri != null)
                {
                    CurrentMaster.Title.TitleText = String.Format(GetString("CMSSiteManager.AccessDeniedOnResource"), ri.ResourceDisplayName);
                }
            }
            break;
            }
        }

        // Access denied to document
        int nodeId = QueryHelper.GetInteger("nodeid", 0);

        if (nodeId > 0)
        {
            TreeProvider tree = new TreeProvider(CMSContext.CurrentUser);
            TreeNode     node = tree.SelectSingleNode(nodeId);
            if (node != null)
            {
                CurrentMaster.Title.TitleText = String.Format(GetString("CMSSiteManager.AccessDeniedOnNode"), HTMLHelper.HTMLEncode(node.DocumentName));
            }
        }

        // Custom message
        string message = QueryHelper.GetText("message", null);

        if (message != null)
        {
            this.lblMessage.Text = ResHelper.LocalizeString(message);
            hideLinks            = true;
        }

        // Add missing permission name message
        string permission = QueryHelper.GetText("permission", null);

        if (permission != null)
        {
            this.lblMessage.Text = String.Format(GetString("CMSSiteManager.AccessDeniedOnPermissionName"), permission);
            hideLinks            = true;
        }

        // Override displaying of links
        hideLinks = QueryHelper.GetBoolean("hidelinks", hideLinks);

        if (!hideLinks)
        {
            this.lnkGoBack.Text = GetString("CMSSiteManager.GoBack");

            // Hide for windows authentication
            if (RequestHelper.IsWindowsAuthentication())
            {
                btnSignOut.Visible = false;
            }
        }
        else
        {
            btnSignOut.Visible = false;
            lnkGoBack.Visible  = false;
        }
    }