/// <summary> /// Vervang alle live links voor editlinks als je in pageedit.aspx zit /// hierdoor kun je navigeren terwijl je in editmode blijft /// </summary> /// <param name="content"></param> /// <param name="mode"></param> /// <returns></returns> /// public static string ReplaceLinks(string content, BitPlate.Domain.ModeEnum mode, CmsSite site) { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(content); foreach (HtmlNode elm in doc.DocumentNode.Descendants("a")) { string href = elm.GetAttributeValue("href", "href"); try { Uri uri = new Uri(href); href = uri.PathAndQuery; href = href.Replace("/_bitPlate/", ""); } catch (Exception ex) { } //Guid pageid = CmsPage.GetPageIDByUrl(href, site.ID.ToString()); //if (pageid != Guid.Empty) //{ // if (mode == BitPlate.Domain.Modules.ModeEnum.EditPageMode) // { // elm.SetAttributeValue("href", "javascript:BITEDITPAGE.loadPage('" + pageid + "');"); // } // else if (mode == BitPlate.Domain.Modules.ModeEnum.PublishMode) // { // elm.SetAttributeValue("href", site.DomainName + "/" + href); // } //} } content = doc.DocumentNode.WriteTo(); return content; }
/// <summary> /// Vervangt alle image src voor urls met domainname erin (relative urls worden absolute) /// </summary> /// <param name="content"></param> /// <param name="mode"></param> /// <returns></returns> public static string ReplaceImageSources(string content, BitPlate.Domain.ModeEnum mode, CmsSite site) { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(content); foreach (HtmlNode elm in doc.DocumentNode.Descendants("img")) { string src = elm.GetAttributeValue("src", "src"); if (!src.StartsWith(site.DomainName) && src!="null") { elm.SetAttributeValue("src", site.DomainName + "/" + src); } } content = doc.DocumentNode.WriteTo(); return content; }