Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
        /// <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;
        }