public SitemapSubmitterService(DynamicSitemapSitecoreConfiguration config, List <SitemapSiteConfiguration> siteConfigurations, Database database) { SitecoreConfiguration = config; SiteConfigurations = siteConfigurations; Database = database; }
/// <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); } } } }