public override List <Webpage> GetWebpageRevisions(Guid webpageID) { // refresh index if (_webpagesUrlDictionary == null) { GetWebpageUrls(); } List <Webpage> revisions = new List <Webpage>(); XmlDocument doc = LoadXml("" + webpageID.ToString() + ".xml"); if (doc != null && _webpagesIDDictionary != null) { WebpageUrlInfo urlInfo = _webpagesIDDictionary[webpageID]; XmlNodeList revisionNodes = doc.SelectNodes("//revision"); foreach (XmlNode revisionNode in revisionNodes) { Webpage webpage = new Webpage(); webpage.WebpageID = webpageID; webpage.IsSiteRoot = (webpageID == Guid.Empty); webpage.ParentID = urlInfo.ParentID; webpage.Url = urlInfo.Url; ProcessRevisionXml(revisionNode, webpage); revisions.Add(webpage); } } return(revisions); }
public override List <WebpageUrlInfo> GetWebpageUrls() { List <WebpageUrlInfo> urls = new List <WebpageUrlInfo>(); _webpagesUrlDictionary = new Dictionary <string, Guid>(); _webpagesIDDictionary = new Dictionary <Guid, WebpageUrlInfo>(); // load in pages.xml XmlDocument doc = LoadXml("pages.xml"); XmlNodeList pages = doc.SelectNodes("//page"); foreach (XmlNode node in pages) { WebpageUrlInfo url = new WebpageUrlInfo() { WebpageID = GetAttributeGuid(node, "webpageid", Guid.Empty), ParentID = GetAttributeGuid(node, "parentid", Guid.Empty), Url = GetAttributeString(node, "url", ""), Title = GetAttributeString(node, "title", ""), MenuTitle = GetAttributeString(node, "menutitle", "") }; urls.Add(url); _webpagesUrlDictionary.Add(url.Url, url.WebpageID); _webpagesIDDictionary.Add(url.WebpageID, url); } return(urls); }
public override Webpage GetPublishedWebpage(Guid webpageID) { Webpage webpage = null; // refresh index if (_webpagesUrlDictionary == null) { GetWebpageUrls(); } XmlDocument doc = LoadXml("" + webpageID.ToString() + ".xml"); if (doc != null && _webpagesIDDictionary != null) { WebpageUrlInfo urlInfo = _webpagesIDDictionary[webpageID]; webpage = new Webpage(); webpage.WebpageID = webpageID; webpage.IsSiteRoot = (webpageID == Guid.Empty); webpage.ParentID = urlInfo.ParentID; webpage.Url = urlInfo.Url; XmlNode revisionNode = doc.SelectSingleNode("//revision[@ispublished='true']"); if (revisionNode == null) { revisionNode = doc.SelectNodes("//revision")[0]; } ProcessRevisionXml(revisionNode, webpage); } return(webpage); }
public override Webpage GetParentWebpage(Guid webpageID) { Webpage webpage = null; WebpageUrlInfo urlInfo = _webpagesIDDictionary[webpageID]; if (urlInfo != null) { webpage = GetPublishedWebpage(urlInfo.ParentID); } return(webpage); }
public override List<WebpageUrlInfo> GetWebpageUrls() { List<WebpageUrlInfo> urls = new List<WebpageUrlInfo>(); _webpagesUrlDictionary = new Dictionary<string, Guid>(); _webpagesIDDictionary = new Dictionary<Guid, WebpageUrlInfo>(); // load in pages.xml XmlDocument doc = LoadXml("pages.xml"); XmlNodeList pages = doc.SelectNodes("//page"); foreach (XmlNode node in pages) { WebpageUrlInfo url = new WebpageUrlInfo() { WebpageID = GetAttributeGuid(node, "webpageid", Guid.Empty), ParentID = GetAttributeGuid(node, "parentid", Guid.Empty), Url = GetAttributeString(node, "url", ""), Title = GetAttributeString(node, "title", ""), MenuTitle = GetAttributeString(node, "menutitle", "") }; urls.Add(url); _webpagesUrlDictionary.Add(url.Url, url.WebpageID); _webpagesIDDictionary.Add(url.WebpageID, url); } return urls; }