Пример #1
0
 private static void EnsureInitialized()
 {
     if (Util.IsMicrosoftHostedOnly && NavBarClientBase.endPointConfiguration == null)
     {
         NavBarClientBase.endPointConfiguration = ConfigurationManager.AppSettings["ShellServiceEndPointConfiguration"];
         NavBarClientBase.showPerfConsole       = StringComparer.OrdinalIgnoreCase.Equals("true", WebConfigurationManager.AppSettings["ShowPerformanceConsole"]);
         NavBarClientBase.certificateSubject    = ConfigurationManager.AppSettings["MsOnlineShellService_CertSubject"];
         NavBarClientBase.certificateThumbprint = ConfigurationManager.AppSettings["MsOnlineShellService_CertThumbprint"];
         string text   = string.Format("{0}{1}/scripts/o365shared.js", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion);
         string theme  = ((PagesSection)ConfigurationManager.GetSection("system.web/pages")).Theme;
         string text2  = string.Format("{0}{1}/themes/{2}/o365shared.css", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text3  = string.Format("{0}{1}/themes/{2}/o365shared-rtl.css", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text4  = string.Format("{0}{1}/themes/{2}/o365shared.png", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text5  = string.Format("{0}{1}/scripts/CoreShellBundle.js", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion);
         string text6  = string.Format("{0}{1}/themes/{2}/O365ShellCore.css", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text7  = string.Format("{0}{1}/themes/{2}/O365ShellCore-rtl.css", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text8  = string.Format("{0}{1}/scripts/O365ShellPlusTestExtension.js", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion);
         string text9  = string.Format("{0}{1}/themes/{2}/O365ShellPlus.css", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text10 = string.Format("{0}{1}/themes/{2}/O365ShellPlus-rtl.css", EcpUrl.EcpVDirForStaticResource, Util.ApplicationVersion, theme);
         string text11 = ConfigurationManager.AppSettings["O365Url"];
         MockNavBar.Initialize(text11, text, text2, text3, text4, text5, text6, text7, text8, text9, text10);
         if (NavBarClientBase.endPointConfiguration != null && !string.IsNullOrEmpty(NavBarClientBase.certificateThumbprint))
         {
             NavBarClientBase.certificate       = TlsCertificateInfo.FindCertByThumbprint(NavBarClientBase.certificateThumbprint);
             NavBarClientBase.loadConfigSuccess = (NavBarClientBase.certificate != null);
         }
         ExTraceGlobals.WebServiceTracer.TraceInformation(0, 0L, "NavBarHelper load config success: {0}. EndPointConfiguration: '{1}'; ShellJs: '{2}'; Certicate: '{3}' {4}.", new object[]
         {
             NavBarClientBase.loadConfigSuccess,
             NavBarClientBase.endPointConfiguration,
             text,
             NavBarClientBase.certificateSubject,
             (NavBarClientBase.certificate != null) ? "found" : "not found"
         });
         if (!NavBarClientBase.loadConfigSuccess)
         {
             EcpEventLogConstants.Tuple_Office365NavBarLoadConfigFailed.LogEvent(new object[]
             {
                 NavBarClientBase.loadConfigSuccess,
                 NavBarClientBase.endPointConfiguration,
                 text,
                 NavBarClientBase.certificateSubject
             });
         }
     }
 }
Пример #2
0
        public NavBarPack GetNavBarPack()
        {
            if (this.userPuid != null && !this.fallbackMode && (this.forceReload || !this.UseNavBarPackCache))
            {
                this.navBarPack = this.EndGetNavBarPack();
            }
            bool isMockObject = false;

            if (this.navBarPack == null && !this.forceReload)
            {
                this.navBarPack = this.GetMockNavBarPack();
                NavBarData navBarData = this.navBarPack.NavBarData;
                navBarData.UserDisplayName = this.rbacPrincipal.Name;
                if (NavigationUtil.ShouldRenderLogoutLink(this.rbacPrincipal))
                {
                    navBarData.SignOutLink = MockNavBar.CreateLink("signout_O365L", Strings.SignOff, "logoff.aspx?src=exch", null);
                }
                if (!this.isGallatin)
                {
                    navBarData.FooterCopyrightText = this.Office365Copyright;
                    navBarData.LegalLink           = MockNavBar.CreateLink("legal_O365L", Strings.Legal, "http://g.microsoftonline.com/1BX10en/20", "_blank");
                    navBarData.CommunityLink       = MockNavBar.CreateLink("community_O365L", Strings.Community, "http://g.microsoftonline.com/1BX10en/142", "_blank");
                    navBarData.PrivacyLink         = MockNavBar.CreateLink("privacy_O365L", Strings.Privacy, "http://g.microsoftonline.com/1BX10en/11", "_blank");
                }
                navBarData.HelpLink = MockNavBar.CreateLink("help_O365L", Strings.Help, null, null);
                isMockObject        = true;
                if (this.fallbackMode)
                {
                    this.navBarPack.IsFresh = true;
                }
            }
            if (this.navBarPack != null)
            {
                this.UpdateAppsLinks();
                this.AddCustomSubLinks(isMockObject);
            }
            return(this.navBarPack);
        }
Пример #3
0
 protected override NavBarPack GetMockNavBarPack()
 {
     return(MockNavBar.GetMockNavBarPack(this.userPuid, this.userPrincipalName, this.cultureName, RtlUtil.IsRtl, this.isGallatin, true));
 }
Пример #4
0
        private void AddCustomSubLinks(bool isMockObject)
        {
            NavBarLinkData[] currentWorkloadUserSubLinks = null;
            if (this.showAdminFeature)
            {
                this.navBarPack.FeatureSet = "myorg";
                this.navBarPack.NavBarData.CurrentMainLinkElementID = "ShellAdmin";
                if (this.rbacPrincipal.IsInRole("UserOptions+OrgMgmControlPanel"))
                {
                    currentWorkloadUserSubLinks = new NavBarLinkData[]
                    {
                        MockNavBar.CreateLink("eso_O365L", Strings.EntryOnBehalfOf, null, null)
                    };
                }
            }
            else
            {
                this.navBarPack.FeatureSet = "myself";
                this.navBarPack.NavBarData.CurrentMainLinkElementID = "ShellOutlook";
                if (isMockObject && NavigationUtil.ShouldRenderOwaLink(this.rbacPrincipal, this.showAdminFeature))
                {
                    NavBarLinkData[] workloadLinks = new NavBarLinkData[]
                    {
                        MockNavBar.CreateLink("ShellOutlook", Strings.NavBarMail, EcpUrl.OwaVDir, null)
                    };
                    this.navBarPack.NavBarData.WorkloadLinks = workloadLinks;
                }
            }
            this.navBarPack.NavBarData.CurrentWorkloadUserSubLinks = currentWorkloadUserSubLinks;
            List <NavBarLinkData> list = new List <NavBarLinkData>();
            string flightName          = this.navBarPack.NavBarData.FlightName;

            if (!string.IsNullOrEmpty(flightName) && flightName.Contains("GeminiShellUX"))
            {
                this.navBarPack.HelpParameters          = this.navBarPack.NavBarData.HelpLink.Url;
                this.navBarPack.NavBarData.HelpLink.Id  = (this.showAdminFeature ? "openHelp_O365L" : "openOptionHelp_O365L");
                this.navBarPack.NavBarData.HelpLink.Url = HelpUtil.BuildEhcHref(this.showAdminFeature ? EACHelpId.Default.ToString() : OptionsHelpId.OwaOptionsDefault.ToString());
            }
            else if (this.showAdminFeature)
            {
                list.Add(MockNavBar.CreateLink("openHelp_O365L", Strings.Help, HelpUtil.BuildEhcHref(EACHelpId.Default.ToString()), null));
            }
            else
            {
                list.Add(MockNavBar.CreateLink("openOptionHelp_O365L", Strings.Help, HelpUtil.BuildEhcHref(OptionsHelpId.OwaOptionsDefault.ToString()), null));
            }
            HttpCookie httpCookie = HttpContext.Current.Request.Cookies["msExchEcpFvaHelp"];
            bool       flag       = httpCookie != null && httpCookie.Value != null && httpCookie.Value.StartsWith("0");

            list.Add(MockNavBar.CreateLink("toggleFVA_O365L", flag ? ClientStrings.EnableFVA : ClientStrings.DisableFVA, null, null));
            if (NavBarClientBase.showPerfConsole)
            {
                list.Add(MockNavBar.CreateLink("perfConsole_O365L", Strings.PerformanceConsole, null, null));
            }
            if (this.showAdminFeature && EacFlightUtility.GetSnapshotForCurrentUser().Eac.CmdletLogging.Enabled)
            {
                list.Add(MockNavBar.CreateLink("cmdletLogging_O365L", Strings.CmdLogButtonText, null, null));
            }
            this.navBarPack.NavBarData.CurrentWorkloadHelpSubLinks = list.ToArray();
            if (this.isGallatin && this.navBarPack.NavBarData.FooterICPLink != null)
            {
                if (!string.IsNullOrEmpty(this.navBarPack.NavBarData.FooterICPLink.Text))
                {
                    this.navBarPack.NavBarData.FooterICPLink.Text = this.navBarPack.NavBarData.FooterICPLink.Text.Replace("-10", "-22");
                }
                if (!string.IsNullOrEmpty(this.navBarPack.NavBarData.FooterICPLink.Title))
                {
                    this.navBarPack.NavBarData.FooterICPLink.Title = this.navBarPack.NavBarData.FooterICPLink.Title.Replace("-10", "-22");
                }
            }
        }