protected void Page_Load(object sender, EventArgs e)
        {
            ChildList allFeatures = Sitecore.Context.Database.GetItem(headerItemPath).GetChildren();

            if (allFeatures != null)
            {
                List<FeaturedPromotionEventWidgetItem> features = allFeatures.ToList().ConvertAll(X => new FeaturedPromotionEventWidgetItem(X));
                fpew = features.First();

                features.Remove(fpew); //Remove the first child (Featured item)
                System.Text.StringBuilder markupBuilder = new System.Text.StringBuilder();

                FeatureList.DataSource = features;
                FeatureList.DataBind();
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //set current item
            currentItem = Sitecore.Context.Database.GetItem(ItemPaths.Header);

            //Header links
            Item[] links = currentItem.InnerItem.Axes.SelectItems(String.Format("child::*[@@tid='{0}']", LinkItem.TemplateId));
            if (links != null)
            {
                List<LinkItem> headerLinks = links.ToList().ConvertAll(X => new LinkItem(X));
                LinkList.DataSource = headerLinks;
                LinkList.DataBind();
            }

            //Set featured promo link and home page link
            Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions();
            urlOptions.AlwaysIncludeServerUrl = true;
            urlOptions.AddAspxExtension = true;
            urlOptions.LanguageEmbedding = LanguageEmbedding.Never;

            //set Featured Promo Event Teaser
            if (currentItem.InnerItem.HasChildren)
            {
                List<FeaturedPromotionEventWidgetItem> allFeatures = currentItem.InnerItem.Children.ToList().ConvertAll(X => new FeaturedPromotionEventWidgetItem(X));
                fpew = new FeaturedPromotionEventWidgetItem(allFeatures.First());
            }

            //Set home page link (set as club home if home club set)
            string startPath = Sitecore.Context.Site.StartPath.ToString();
            var homeItem = Sitecore.Context.Database.GetItem(startPath);
            hdnLastClubVisitedId.Value = "";

            //set hidden field for javascript referencing
            homePageUrl.Value = Sitecore.Links.LinkManager.GetItemUrl(homeItem, urlOptions);
            homePageUrl.Value = homePageUrl.Value.IndexOf("Home.aspx") != -1 ? homePageUrl.Value : homePageUrl.Value + "Home.aspx";

            //Set home page link
            homeOrClubPageUrl = Sitecore.Links.LinkManager.GetItemUrl(homeItem, urlOptions);

            //Set Header Text -need logic to display <h1> or <h2>
            //Format Contact Address
            System.Text.StringBuilder markupBuilder = new System.Text.StringBuilder();

            if (Sitecore.Context.Item.ID == homeItem.ID)
            {
                //Page is home page
                markupBuilder.Append(@"<h1 class=""headertext""><a href=""");
                markupBuilder.Append(HomeOrClubPageUrl + @""">");
                markupBuilder.Append(Translate.Text("Virgin Active") + " <span>");
                markupBuilder.Append(Translate.Text("Health Clubs") + "</span></a></h1>");
            }
            else
            {
                markupBuilder.Append(@"<h2 class=""headertext""><a href=""");
                markupBuilder.Append(HomeOrClubPageUrl + @""">");
                markupBuilder.Append(Translate.Text("Virgin Active") + " <span>");
                markupBuilder.Append(Translate.Text("Health Clubs") + "</span></a></h2>");
            }

            ltrHeaderText.Text = markupBuilder.ToString();

            //CREATE NEW USER SESSION
            //Check if we are loading home page for the first time
            User objUser = new User();

            //Check Session
            if (Session["sess_User"] == null)
            {
                newSession = true;
            }
            else
            {
                objUser = (User)Session["sess_User"];
            }

            //READ/SET COOKIE OPTIONS
            if (newSession)
            {
                //New Session

                //Check gallery preference
                if (!string.IsNullOrEmpty(CookieHelper.GetCookieValue(CookieKeyNames.ShowGallery)))
                {
                    //Store to session
                    objUser.ShowGallery = CookieHelper.GetCookieValue(CookieKeyNames.ShowGallery) == "Y" ? true : false;
                }

                //Check if cookie preferences session cookie exists
                if (!string.IsNullOrEmpty(CookieHelper.GetOptInCookieValue(CookieKeyNames.MarketingCookies)))
                {
                    Preferences preferences = new Preferences();

                    preferences.MarketingCookies = CookieHelper.GetOptInCookieValue(CookieKeyNames.MarketingCookies) == "Y" ? true : false;
                    preferences.MetricsCookies = CookieHelper.GetOptInCookieValue(CookieKeyNames.MetricsCookies) == "Y" ? true : false;
                    preferences.PersonalisedCookies = CookieHelper.GetOptInCookieValue(CookieKeyNames.PersonalisedCookies) == "Y" ? true : false;
                    preferences.SocialCookies = CookieHelper.GetOptInCookieValue(CookieKeyNames.SocialCookies) == "Y" ? true : false;

                    //Store to session
                    objUser.Preferences = preferences;
                }
                else
                {
                    //Interorgate the request 'Do Not Track' settings.
                    HttpContext objContext = HttpContext.Current;
                    bool headerDoNotTrack = false;

                    if (!string.IsNullOrEmpty(objContext.Request.Headers["DNT"]))
                    {
                        headerDoNotTrack = objContext.Request.Headers["DNT"] == "1" ? true : false;
                    }

                    if (headerDoNotTrack)
                    {
                        //Set Preferences in User Session -default to N
                        Preferences preferences = new Preferences();

                        preferences.MarketingCookies = false;
                        preferences.MetricsCookies = false;
                        preferences.PersonalisedCookies = false;
                        preferences.SocialCookies = false;

                        objUser.Preferences = preferences;

                        //Set Cookie Preferences Cookie
                        CookieHelper.AddUpdateOptInCookie(CookieKeyNames.MarketingCookies, "N");
                        CookieHelper.AddUpdateOptInCookie(CookieKeyNames.MetricsCookies, "N");
                        CookieHelper.AddUpdateOptInCookie(CookieKeyNames.PersonalisedCookies, "N");
                        CookieHelper.AddUpdateOptInCookie(CookieKeyNames.SocialCookies, "N");

                        //Delete Existing Personalisation Cookie
                        CookieHelper.DeleteCookie();
                    }
                }
            }

            //DEFAULT PREFERENCES
            if (objUser.Preferences == null)
            {
                //Set preferences in User Session -default to Y
                Preferences preferences = new Preferences();

                preferences.MarketingCookies = true;
                preferences.MetricsCookies = true;
                preferences.PersonalisedCookies = true;
                preferences.SocialCookies = true;

                //Store to session
                objUser.Preferences = preferences;

                //Set Cookie Preferences Cookie -default to permission allowed
                CookieHelper.AddUpdateOptInCookie(CookieKeyNames.MarketingCookies, "Y");
                CookieHelper.AddUpdateOptInCookie(CookieKeyNames.MetricsCookies, "Y");
                CookieHelper.AddUpdateOptInCookie(CookieKeyNames.PersonalisedCookies, "Y");
                CookieHelper.AddUpdateOptInCookie(CookieKeyNames.SocialCookies, "Y");
            }

            //SHOW/HIDE PERSONALISED CONTENT
            if (newSession && (Sitecore.Context.Item.ID == homeItem.ID))
            {
                //Loading home page for the first time -Check if last page visited cookie exists
                //if(!string.IsNullOrEmpty(CookieHelper.GetCookieValue(CookieKeyNames.ClubLastVisited)))
                if (!string.IsNullOrEmpty(CookieHelper.GetClubLastVisitedCookieValue(CookieKeyNames.ClubLastVisited)))
                {
                    //Display message prompting then to go to club
                    phLastClubVisitedPrompt.Visible = true;
                    //clubLastVisited = SitecoreHelper.GetClubOnClubId(CookieHelper.GetCookieValue(CookieKeyNames.ClubLastVisited));
                    clubLastVisited = SitecoreHelper.GetClubOnClubId(CookieHelper.GetClubLastVisitedCookieValue(CookieKeyNames.ClubLastVisited));
                    if (clubLastVisited != null)
                    {
                        ClubLastVisitedUrl = Sitecore.Links.LinkManager.GetItemUrl(clubLastVisited, urlOptions);
                        ClubName = clubLastVisited.Clubname.Rendered;
                        hdnLastClubVisitedId.Value = clubLastVisited.ClubId.Rendered;

                        //Store to session
                        objUser.ClubLastVisitedID = clubLastVisited.ClubId.Rendered;
                    }
                }
            }
            else
            {
                //User session already exists but only visiting home page for the first time
                if ((objUser.HomePageVisited == false) && (Sitecore.Context.Item.ID == homeItem.ID))
                {
                    //if (!string.IsNullOrEmpty(CookieHelper.GetCookieValue(CookieKeyNames.ClubLastVisited)))
                    if (!string.IsNullOrEmpty(CookieHelper.GetClubLastVisitedCookieValue(CookieKeyNames.ClubLastVisited)))
                    {
                        //Display message prompting then to go to club
                        phLastClubVisitedPrompt.Visible = true;
                        //clubLastVisited = SitecoreHelper.GetClubOnClubId(CookieHelper.GetCookieValue(CookieKeyNames.ClubLastVisited));
                        clubLastVisited = SitecoreHelper.GetClubOnClubId(CookieHelper.GetClubLastVisitedCookieValue(CookieKeyNames.ClubLastVisited));
                        if (clubLastVisited != null)
                        {
                            ClubLastVisitedUrl = Sitecore.Links.LinkManager.GetItemUrl(clubLastVisited, urlOptions);
                            ClubName = clubLastVisited.Clubname.Rendered;
                            hdnLastClubVisitedId.Value = clubLastVisited.ClubId.Rendered;

                            //Store to session
                            objUser.ClubLastVisitedID = clubLastVisited.ClubId.Rendered;
                        }
                    }
                }
            }

            //Check if a club has been set as home page
            if (!String.IsNullOrEmpty(CookieHelper.GetCookieValue(CookieKeyNames.HomeClub)))
            {
                ClubItem club = SitecoreHelper.GetClubOnClubId(CookieHelper.GetCookieValue(CookieKeyNames.HomeClub));
                if (club != null)
                {
                    homeOrClubPageUrl = Sitecore.Links.LinkManager.GetItemUrl(club, urlOptions);

                    //Store to session
                    objUser.HomeClubID = club.ClubId.Rendered;
                }
            }

            //Save session
            Session["sess_User"] = objUser;

            Sitecore.Data.Items.Item headerItem = Sitecore.Context.Database.GetItem("/sitecore/content/page-elements/header");

            //Get featured promotion event item details for banner
            Sitecore.Data.Items.Item featuredPromotionEventItem = Sitecore.Context.Database.GetItem("/sitecore/content/Widgets/featured-promotion-event");
            if (featuredPromotionEventItem != null)
            {
                //fldPromotionEventDate.DataSource = featuredPromotionEventItem.ID.ToString();

                //fldPromotionEventSubheading.DataSource = featuredPromotionEventItem.ID.ToString();
            }
        }