Exemple #1
0
 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;
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 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();
 }
Exemple #4
0
        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);
 }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
 public void Localize(HtmlBlock o, Site targetSite)
 {
     var htmlBlock = Get(o);
         htmlBlock.Site = targetSite;
         InsertOrUpdate(htmlBlock, htmlBlock);
 }
Exemple #8
0
 public void Remove(HtmlBlock item)
 {
     DataHelper.DeleteItemByKey(item.Site, ModelExtensions.GetBucketDocumentKey(ModelExtensions.HtmlBlockDataType, item.Name));
 }
Exemple #9
0
 public void Update(HtmlBlock @new, HtmlBlock old)
 {
     InsertOrUpdate(@new, old);
 }
Exemple #10
0
    private void InsertOrUpdate(HtmlBlock @new, HtmlBlock old)
    {
        ((IPersistable)@new).OnSaving();

            DataHelper.StoreObject(@new, @new.UUID, ModelExtensions.HtmlBlockDataType);

            ((IPersistable)@new).OnSaved();
    }
Exemple #11
0
 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);
 }