public Kooboo.CMS.Sites.Models.HtmlBlock ToHtmlBlock() { Kooboo.CMS.Sites.Models.HtmlBlock htmlBlock = new Kooboo.CMS.Sites.Models.HtmlBlock(new Site(this.SiteName), this.Name); htmlBlock.Body = this.Body; ((IPersistable)htmlBlock).Init(htmlBlock); return htmlBlock; }
public Kooboo.CMS.Sites.Models.HtmlBlock ToHtmlBlock() { Kooboo.CMS.Sites.Models.HtmlBlock htmlBlock = new Kooboo.CMS.Sites.Models.HtmlBlock(new Site(this.SiteName), this.Name); htmlBlock.Body = this.Body; ((IPersistable)htmlBlock).Init(htmlBlock); return(htmlBlock); }
public IEnumerable<Models.Page> ByHtmlBlock(HtmlBlock htmlBlock) { return AllPagesNested(htmlBlock.Site).Select(it => it.AsActual()) .Where(it => it.PagePositions != null && it.PagePositions.Any(p => p is HtmlBlockPosition && ((HtmlBlockPosition)p).BlockName.EqualsOrNullEmpty(htmlBlock.Name, StringComparison.CurrentCultureIgnoreCase))) .ToArray(); }
public IndexObject GetIndexObject(object o) { IndexObject indexObject = null; Page page = (Page)o; NameValueCollection storeFields = new NameValueCollection(); NameValueCollection sysFields = new NameValueCollection(); sysFields.Add("SiteName", page.Site.FullName); sysFields.Add("PageName", page.FullName); string title = ""; StringBuilder body = new StringBuilder(); if (page.HtmlMeta != null && !string.IsNullOrEmpty(page.HtmlMeta.HtmlTitle)) { title = page.HtmlMeta.HtmlTitle; } if (!string.IsNullOrEmpty(page.ContentTitle)) { body.AppendFormat(title); title = page.ContentTitle; } if (page.PagePositions != null) { foreach (var item in page.PagePositions.Where(it => (it is HtmlBlockPosition) || (it is HtmlPosition))) { if (item is HtmlBlockPosition) { HtmlBlockPosition htmlBlockPosition = (HtmlBlockPosition)item; var htmlBlock = new HtmlBlock(page.Site, htmlBlockPosition.BlockName).LastVersion().AsActual(); if (htmlBlock != null) { body.Append(" " + Kooboo.StringExtensions.StripAllTags(htmlBlock.Body)); } } else { HtmlPosition htmlPosition = (HtmlPosition)item; body.Append(" " + Kooboo.StringExtensions.StripAllTags(htmlPosition.Html)); } } } indexObject = new IndexObject() { Title = title, Body = body.ToString(), StoreFields = storeFields, SystemFields = sysFields, NativeType = typeof(Page).AssemblyQualifiedNameWithoutVersion() }; return indexObject; }
public virtual ActionResult UpdateHtmlBlock(string blockName, string value) { var result = new JsonResultEntry(); try { var manager = ServiceFactory.GetService<HtmlBlockManager>(); var old = manager.Get(this.Site, blockName); var @new = new HtmlBlock(this.Site, blockName) { Body = value }; manager.Update(this.Site, @new, old); result.Success = true; } catch (Exception ex) { result.AddException(ex); } return Json(result); }
public void ExportToDisk(Site site) { IHtmlBlockProvider fileHtmlProvider = new Kooboo.CMS.Sites.Persistence.FileSystem.HtmlBlockProvider(); //remove the pages folder to clear all old pages. var dummy = new HtmlBlock(site, "Dummy"); Kooboo.IO.IOUtility.DeleteDirectory(dummy.BasePhysicalPath, true); foreach (var item in QueryBySite(site)) { fileHtmlProvider.Add(item); } }
public void Localize(HtmlBlock o, Site targetSite) { var htmlBlock = Get(o); htmlBlock.Site = targetSite; InsertOrUpdate(htmlBlock, htmlBlock); }
public void Remove(HtmlBlock item) { DataHelper.DeleteItemByKey(item.Site, ModelExtensions.GetBucketDocumentKey(ModelExtensions.HtmlBlockDataType, item.Name)); }
public void Update(HtmlBlock @new, HtmlBlock old) { InsertOrUpdate(@new, old); }
private void InsertOrUpdate(HtmlBlock @new, HtmlBlock old) { ((IPersistable)@new).OnSaving(); DataHelper.StoreObject(@new, @new.UUID, ModelExtensions.HtmlBlockDataType); ((IPersistable)@new).OnSaved(); }
public HtmlBlockEntity(Kooboo.CMS.Sites.Models.HtmlBlock htmlBlock) : this(htmlBlock.Site.FullName, htmlBlock.Name) { this.Body = htmlBlock.Body; }
public virtual ActionResult UpdateHtmlBlock(string blockName, string value) { var data = new JsonResultData(ModelState); data.RunWithTry((resultData) => { var manager = ServiceFactory.GetService<HtmlBlockManager>(); var old = manager.Get(this.Site, blockName); var @new = new HtmlBlock(this.Site, blockName) { Body = value }; manager.Update(this.Site, @new, old); }); return Json(data); }