// Token: 0x0600036E RID: 878 RVA: 0x0000D874 File Offset: 0x0000BA74
        protected void UpdateAppsLinks(NavBarData navBarData, AuthZClientInfo effectiveCaller)
        {
            string domain = string.Empty;

            if (navBarData.AppsLinks == null)
            {
                return;
            }
            if (effectiveCaller != null && !string.IsNullOrWhiteSpace(effectiveCaller.PrimarySmtpAddress))
            {
                SmtpAddress smtpAddress = new SmtpAddress(effectiveCaller.PrimarySmtpAddress);
                if (smtpAddress.IsValidAddress)
                {
                    domain = smtpAddress.Domain;
                }
            }
            string deploymentId        = ExtensionDataHelper.GetDeploymentId(domain);
            List <NavBarLinkData> list = new List <NavBarLinkData>(navBarData.AppsLinks.Length);

            NavBarLinkData[] appsLinks = navBarData.AppsLinks;
            int i = 0;

            while (i < appsLinks.Length)
            {
                NavBarLinkData navBarLinkData = appsLinks[i];
                if ("ShellMarketplace".Equals(navBarLinkData.Id, StringComparison.Ordinal))
                {
                    if (Globals.IsPreCheckinApp)
                    {
                        navBarLinkData.Url          = ExtensionData.GetClientExtensionMarketplaceUrl(this.culture.LCID, HttpContext.Current.Request, false, deploymentId, null);
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_169;
                    }
                    ExchangeRunspaceConfiguration exchangeRunspaceConfiguration = ExchangeRunspaceConfigurationCache.Singleton.Get(effectiveCaller, null, false);
                    if (exchangeRunspaceConfiguration.HasRoleOfType(RoleType.MyMarketplaceApps) && (string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["OfficeStoreUnavailable"]) || StringComparer.OrdinalIgnoreCase.Equals("false", ConfigurationManager.AppSettings["OfficeStoreUnavailable"])))
                    {
                        navBarLinkData.Url          = ExtensionData.GetClientExtensionMarketplaceUrl(this.culture.LCID, HttpContext.Current.Request, exchangeRunspaceConfiguration.HasRoleOfType(RoleType.MyReadWriteMailboxApps), deploymentId, null);
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_169;
                    }
                }
                else
                {
                    if ("ShellOfficeDotCom".Equals(navBarLinkData.Id, StringComparison.Ordinal))
                    {
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_169;
                    }
                    goto IL_169;
                }
IL_171:
                i++;
                continue;
IL_169:
                list.Add(navBarLinkData);
                goto IL_171;
            }
            navBarData.AppsLinks = list.ToArray();
        }
Пример #2
0
        private void UpdateAppsLinks()
        {
            if (this.navBarPack.NavBarData.AppsLinks == null)
            {
                return;
            }
            List <NavBarLinkData> list = new List <NavBarLinkData>(this.navBarPack.NavBarData.AppsLinks.Length);

            NavBarLinkData[] appsLinks = this.navBarPack.NavBarData.AppsLinks;
            int i = 0;

            while (i < appsLinks.Length)
            {
                NavBarLinkData navBarLinkData = appsLinks[i];
                if ("ShellMarketplace".Equals(navBarLinkData.Id, StringComparison.Ordinal))
                {
                    ExchangeRunspaceConfiguration rbacConfiguration = RbacPrincipal.Current.RbacConfiguration;
                    if (rbacConfiguration.HasRoleOfType(RoleType.MyMarketplaceApps) && OfficeStoreAvailableQueryProcessor.IsOfficeStoreAvailable)
                    {
                        navBarLinkData.Url          = ExtensionData.GetClientExtensionMarketplaceUrl(CultureInfo.CurrentCulture.LCID, rbacConfiguration.HasRoleOfType(RoleType.MyReadWriteMailboxApps), this.showAdminFeature ? ExtensionUtility.UrlEncodedOfficeCallBackUrlForOrg : ExtensionUtility.UrlEncodedOfficeCallBackUrl, ExtensionUtility.DeploymentId, null);
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_DA;
                    }
                }
                else
                {
                    if ("ShellOfficeDotCom".Equals(navBarLinkData.Id, StringComparison.Ordinal))
                    {
                        navBarLinkData.TargetWindow = "_blank";
                        goto IL_DA;
                    }
                    goto IL_DA;
                }
IL_E1:
                i++;
                continue;
IL_DA:
                list.Add(navBarLinkData);
                goto IL_E1;
            }
            this.navBarPack.NavBarData.AppsLinks = list.ToArray();
        }
Пример #3
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");
                }
            }
        }