Example #1
0
        protected void btn_Save_Click(object sender, EventArgs e)
        {
            settings.UseIndex      = cbx_index.Checked;
            settings.UseMobile     = cbx_mobile.Checked;
            settings.UseNews       = cbx_news.Checked;
            settings.UseVideo      = cbx_video.Checked;
            settings.UseImage      = cbx_image.Checked;
            settings.IncludeImages = cbx_image_include.Checked;

            string[] engines = tbx_ping.Text.Split(new char[] { ';' });

            if (engines.Length > 0)
            {
                settings.SearchEngines.Clear();
                foreach (string engine in engines)
                {
                    string seangine = engine.Replace(Environment.NewLine, String.Empty);

                    if (!String.IsNullOrEmpty(seangine))
                    {
                        settings.SearchEngines.Add(seangine);
                    }
                }
            }

            settings = settings.Save();// (SPContext.Current.Site);

            var eventArgsJavaScript = String.Format("{{Message:'{0}',controlIDs:window.frameElement.dialogArgs}}", "The Properties have been updated.");

            ((EnhancedLayoutsPage)Page).EndOperation(ModalDialogResult.OK, eventArgsJavaScript);
            Context.Response.Flush();
            Context.Response.End();
        }
Example #2
0
        private async Task <string> GetSiteMapData(
            string siteRootUrl,
            SiteMapSettings settings,
            IRepository <PostEntity> postRepo,
            IRepository <PageEntity> pageRepo)
        {
            var sb = new StringBuilder();

            var writerSettings = new XmlWriterSettings {
                Encoding = Encoding.UTF8, Async = true
            };

            await using (var writer = XmlWriter.Create(sb, writerSettings))
            {
                await writer.WriteStartDocumentAsync();

                writer.WriteStartElement("urlset", settings.UrlSetNamespace);

                // Posts
                var spec  = new PostSitePageSpec();
                var posts = await postRepo.SelectAsync(spec, p => new
                {
                    p.Slug,
                    p.PubDateUtc
                });

                foreach (var item in posts.OrderByDescending(p => p.PubDateUtc))
                {
                    var pubDate = item.PubDateUtc.GetValueOrDefault();

                    writer.WriteStartElement("url");
                    writer.WriteElementString("loc", $"{siteRootUrl}/post/{pubDate.Year}/{pubDate.Month}/{pubDate.Day}/{item.Slug.ToLower()}");
                    writer.WriteElementString("lastmod", pubDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
                    writer.WriteElementString("changefreq", settings.ChangeFreq["Posts"]);
                    await writer.WriteEndElementAsync();
                }

                // Pages
                var pages = await pageRepo.SelectAsync(page => new
                {
                    page.CreateTimeUtc,
                    page.Slug,
                    page.IsPublished
                });

                foreach (var item in pages.Where(p => p.IsPublished))
                {
                    writer.WriteStartElement("url");
                    writer.WriteElementString("loc", $"{siteRootUrl}/page/{item.Slug.ToLower()}");
                    writer.WriteElementString("lastmod", item.CreateTimeUtc.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
                    writer.WriteElementString("changefreq", settings.ChangeFreq["Pages"]);
                    await writer.WriteEndElementAsync();
                }

                // Tag
                writer.WriteStartElement("url");
                writer.WriteElementString("loc", $"{siteRootUrl}/tags");
                writer.WriteElementString("lastmod", DateTime.UtcNow.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
                writer.WriteElementString("changefreq", settings.ChangeFreq["Default"]);
                await writer.WriteEndElementAsync();

                // Archive
                writer.WriteStartElement("url");
                writer.WriteElementString("loc", $"{siteRootUrl}/archive");
                writer.WriteElementString("lastmod", DateTime.UtcNow.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
                writer.WriteElementString("changefreq", settings.ChangeFreq["Default"]);
                await writer.WriteEndElementAsync();

                await writer.WriteEndElementAsync();
            }

            var xml = sb.ToString();

            return(xml);
        }
Example #3
0
 protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     settings = new SiteMapSettings();
     settings = settings.Load();//SPContext.Current.Site);
 }
Example #4
0
 protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     settings = new SiteMapSettings();
     settings = settings.Load();
 }