示例#1
0
    public static string Resolve(HttpRequest request)
    {
        // get list of currently allowed cultures from CMS database
        IEnumerable <string> allowedCultures = ListOfValues.GetAllCultureCodes();
        // retrieve cookie
        HttpCookie cultureCookie = request.Cookies["Culture"];

        // retrieve url parameter
        string cultureUrlParameter = request.QueryString["lang"];

        string cultureDefault = "en-GB";

        // set to default
        string cultureCode = cultureDefault;

        // apply url based culture
        if (allowedCultures.Contains(cultureUrlParameter))
        {
            cultureCode = cultureUrlParameter;
        }
        // apply cookie based culture from dropdown
        else if (cultureCookie != null &&
                 !string.IsNullOrEmpty(cultureCookie.Value) &&
                 allowedCultures.Contains(cultureCookie.Value))
        {
            cultureCode = cultureCookie.Value;
        }

        return(cultureCode);
    }
示例#2
0
        private void SaveGoogleMap(string googleSitemap)
        {
            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Indent      = true;
            settings.Encoding    = Encoding.UTF8;
            settings.CloseOutput = true;

            using (XmlWriter writer = XmlWriter.Create(googleSitemap, settings))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");

                writer.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");
                writer.WriteAttributeString("xsi", "schemaLocation", null, "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd");

                var languageList = ListOfValues.GetAllCultureCodes();

                foreach (Url url in _urls)
                {
                    writer.WriteStartElement("url");
                    writer.WriteElementString("loc", url.Location);
                    writer.WriteEndElement();

                    //D30 START 16/05/2013 --> We don´t need languages

                    /* if (languageList.Count() > 1)
                     * {
                     *    foreach (var lang in languageList)
                     *    {
                     *        //RRP START 18-04-2013
                     *        //Original code (All cultures)
                     *        //writer.WriteStartElement("url");
                     *        //writer.WriteElementString("loc", url.Location + "?lang=" + lang);
                     *        //writer.WriteEndElement();
                     *
                     *        //Only for en-GB culture
                     *        //We don't need references from the sitemap to the same page in all languages.
                     *        //Only English is needed
                     *        if (lang == "en-GB")
                     *        {
                     *            writer.WriteStartElement("url");
                     *            writer.WriteElementString("loc", url.Location + "?lang=" + lang);
                     *            writer.WriteEndElement();
                     *        }
                     *        //RRP END 18-04-2013
                     *    }
                     * }*/

                    //D30 END 16/05/2013
                }

                writer.WriteEndElement();
                writer.WriteEndDocument();
            }
        }