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 }); } } }
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); }
protected override NavBarPack GetMockNavBarPack() { return(MockNavBar.GetMockNavBarPack(this.userPuid, this.userPrincipalName, this.cultureName, RtlUtil.IsRtl, this.isGallatin, true)); }
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"); } } }