示例#1
0
        private static string GetSharedItemUrl(Item item, SiteContext site, Item parentItem)
        {
            var itemUrl    = HtmlEncode(GetItemUrl(item, site));
            var parentUrl  = HtmlEncode(GetItemUrl(parentItem, site));
            var siteConfig = new SitemapManagerConfiguration(site.Name);

            parentUrl = parentUrl.EndsWith("/") ? parentUrl : parentUrl + "/";
            if (siteConfig.CleanupBucketPath)
            {
                var pos          = itemUrl.LastIndexOf("/", StringComparison.Ordinal) + 1;
                var itemNamePath = itemUrl.Substring(pos, itemUrl.Length - pos);
                return(HtmlEncode(parentUrl + itemNamePath));
            }
            else
            {
                var contentParentItem = SitemapManager.GetContentLocation(item);
                if (contentParentItem == null)
                {
                    return(null);
                }
                var contentParentItemUrl = HtmlEncode(GetItemUrl(contentParentItem, site));
                if (string.IsNullOrWhiteSpace(contentParentItemUrl))
                {
                    return(string.Empty);
                }
                itemUrl = itemUrl.Replace(contentParentItemUrl, string.Empty);
                return(string.IsNullOrWhiteSpace(itemUrl) ? string.Empty : HtmlEncode(parentUrl + itemUrl.Trim('/')));
            }
        }
示例#2
0
 public SitemapManager(SitemapManagerConfiguration config)
 {
     Assert.IsNotNull(config, "config");
     _config = config;
     if (!string.IsNullOrWhiteSpace(_config.FileName))
     {
         BuildSiteMap();
     }
 }
示例#3
0
        public void RefreshSitemap(object sender, EventArgs args)
        {
            var sites = SitemapManagerConfiguration.GetSiteNames();

            foreach (var site in sites)
            {
                Log.Info("Sitemap Module - Function Has Been Started", this);
                var config         = new SitemapManagerConfiguration(site);
                var sitemapManager = new SitemapManager(config);
                sitemapManager.SubmitSitemapToSearchenginesByHttp();

                if (!config.GenerateRobotsFile)
                {
                    continue;
                }
                sitemapManager.RegisterSitemapToRobotsFile();
                Log.Info("Sitemap Module - Function Has Finished", this);
            }
        }
示例#4
0
        public static bool IsEnabledTemplate(Item item)
        {
            var config = new SitemapManagerConfiguration(Context.GetSiteName());

            return(config.EnabledTemplates.ToLower().Contains(item.TemplateID.ToGuid().ToString()));
        }