public SitemapSubmitterService(DynamicSitemapSitecoreConfiguration config, List <SitemapSiteConfiguration> siteConfigurations, Database database)
        {
            SitecoreConfiguration = config;
            SiteConfigurations    = siteConfigurations;

            Database = database;
        }
Esempio n. 2
0
        /// <summary>
        /// Read global configuration from Sitecore
        /// </summary>
        protected virtual void ReadGlobalSitecoreConfiguration()
        {
            Item globalConfigurationItem = Database.GetItem(DynamicSitemapConfiguration.SitemapConfigurationItemPath + "/Configuration");

            if (globalConfigurationItem == null)
            {
                Sitecore.Diagnostics.Log.Error(Messages.NoGlobalScConfiguration, this);
                return;
            }

            Item mainSiteConfiguration = null;

            if (globalConfigurationItem["Main Site Configuration"] != String.Empty)
            {
                mainSiteConfiguration = Database.GetItem(globalConfigurationItem["Main Site Configuration"]);
            }

            SitecoreConfiguration = new DynamicSitemapSitecoreConfiguration();

            if (mainSiteConfiguration != null)
            {
                SitecoreConfiguration.MainSiteConfigurationItem = mainSiteConfiguration;
            }

            SitecoreConfiguration.DisableSitemap = globalConfigurationItem["Disable sitemap generation"] == "1";

            SitecoreConfiguration.SearchEngines = !String.IsNullOrEmpty(globalConfigurationItem["Search Engines"])
                ? globalConfigurationItem["Search Engines"].Split('|').ToList()
                : new List <String>();

            SitecoreConfiguration.ProcessedLanguages = new List <String>();

            if (!String.IsNullOrEmpty(globalConfigurationItem["Processed languages"]))
            {
                var itemIds = globalConfigurationItem["Processed languages"].Split('|').ToList();

                foreach (var itemId in itemIds)
                {
                    var item = Database.GetItem(itemId);

                    if (item != null)
                    {
                        SitecoreConfiguration.ProcessedLanguages.Add(item.Name);
                    }
                }
            }
        }