fixed formatting

This commit is contained in:
Cody 2023-04-19 10:09:00 -07:00 committed by GitHub
parent ba27e70fe3
commit 948c186cb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -43,71 +43,72 @@ namespace Oqtane.Pages
public IActionResult OnGetAsync() public IActionResult OnGetAsync()
{ {
var sitemap = new List<Sitemap>(); var sitemap = new List<Sitemap>();
// build site map // build site map
var moduleDefinitions = _moduleDefinitions.GetModuleDefinitions(_alias.SiteId).ToList(); var moduleDefinitions = _moduleDefinitions.GetModuleDefinitions(_alias.SiteId).ToList();
var pageModules = _pageModules.GetPageModules(_alias.SiteId); var pageModules = _pageModules.GetPageModules(_alias.SiteId);
foreach (var page in _pages.GetPages(_alias.SiteId)) foreach (var page in _pages.GetPages(_alias.SiteId))
{
if (_userPermissions.IsAuthorized(null, PermissionNames.View, page.PermissionList) && page.IsNavigation)
{ {
sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + Utilities.NavigateUrl(_alias.Path, page.Path, ""), ModifiedOn = page.ModifiedOn }); if (_userPermissions.IsAuthorized(null, PermissionNames.View, page.PermissionList) && page.IsNavigation)
foreach (var pageModule in pageModules.Where(item => item.PageId == page.PageId))
{ {
if (_userPermissions.IsAuthorized(null, PermissionNames.View, pageModule.Module.PermissionList)) sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + Utilities.NavigateUrl(_alias.Path, page.Path, ""), ModifiedOn = page.ModifiedOn });
foreach (var pageModule in pageModules.Where(item => item.PageId == page.PageId))
{ {
var moduleDefinition = moduleDefinitions.Where(item => item.ModuleDefinitionName == pageModule.Module.ModuleDefinitionName).FirstOrDefault(); if (_userPermissions.IsAuthorized(null, PermissionNames.View, pageModule.Module.PermissionList))
if (moduleDefinition != null && moduleDefinition.ServerManagerType != "")
{ {
Type moduletype = Type.GetType(moduleDefinition.ServerManagerType); var moduleDefinition = moduleDefinitions.Where(item => item.ModuleDefinitionName == pageModule.Module.ModuleDefinitionName).FirstOrDefault();
if (moduletype != null && moduletype.GetInterface("ISitemap") != null) if (moduleDefinition != null && moduleDefinition.ServerManagerType != "")
{ {
try Type moduletype = Type.GetType(moduleDefinition.ServerManagerType);
if (moduletype != null && moduletype.GetInterface("ISitemap") != null)
{ {
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype); try
var urls = ((ISitemap)moduleobject).GetUrls(_alias.Path, page.Path, pageModule.Module);
foreach (var url in urls)
{ {
sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + url.Url, ModifiedOn = url.ModifiedOn }); var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
var urls = ((ISitemap)moduleobject).GetUrls(_alias.Path, page.Path, pageModule.Module);
foreach (var url in urls)
{
sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + url.Url, ModifiedOn = url.ModifiedOn });
}
}
catch (Exception ex)
{
_logger.Log(LogLevel.Error, this, LogFunction.Other, ex, "Error Retrieving SiteMap For {Name} Module", moduleDefinition.Name);
} }
}
catch (Exception ex)
{
_logger.Log(LogLevel.Error, this, LogFunction.Other, ex, "Error Retrieving SiteMap For {Name} Module", moduleDefinition.Name);
} }
} }
} }
} }
} }
} }
}
// write XML // write XML
XmlWriterSettings settings = new XmlWriterSettings(); XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true; settings.Indent = true;
settings.IndentChars = (" "); settings.IndentChars = (" ");
settings.CloseOutput = true; settings.CloseOutput = true;
settings.OmitXmlDeclaration = true; settings.OmitXmlDeclaration = true;
settings.WriteEndDocumentOnClose = true; settings.WriteEndDocumentOnClose = true;
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(builder, settings)) using (XmlWriter writer = XmlWriter.Create(builder, settings))
{
writer.WriteStartDocument();
writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
foreach (var url in sitemap)
{ {
writer.WriteStartElement("url"); writer.WriteStartDocument();
writer.WriteElementString("loc", url.Url); writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
writer.WriteElementString("lastmod", url.ModifiedOn.ToString("yyyy-MM-dd"));
writer.WriteEndElement(); foreach (var url in sitemap)
{
writer.WriteStartElement("url");
writer.WriteElementString("loc", url.Url);
writer.WriteElementString("lastmod", url.ModifiedOn.ToString("yyyy-MM-dd"));
writer.WriteEndElement();
}
writer.Close();
} }
writer.Close(); // Cache the sitemap XML
} sitemapXml = builder.ToString();
sitemapXml = builder.ToString();
return Content(sitemapXml, "application/xml"); return Content(sitemapXml, "application/xml");
} }