public virtual ActionResult UpdateHtml(string positionId, string pageName, string value, bool?_draft_) { var data = new JsonResultData(ModelState); data.RunWithTry((resultData) => { Page page = (PageHelper.Parse(Site.Current, pageName)).AsActual(); if (page != null) { bool isDraft = _draft_.HasValue && _draft_.Value == true; if (isDraft) { page = PageProvider.GetDraft(page); } var position = page.PagePositions.Where(it => it.PagePositionId.EqualsOrNullEmpty(positionId, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (position != null && position is HtmlPosition) { ((HtmlPosition)position).Html = value; } if (isDraft) { PageProvider.SaveAsDraft(page); } else { CMS.Sites.Services.ServiceFactory.PageManager.Update(Site.Current, page, page); } } }); return(Json(data)); }
public virtual void Publish(Page page, bool publishSchedule, bool publishDraft, bool period, DateTime publishDate, DateTime offlineDate, string userName) { if (!publishSchedule) { page = page.AsActual(); if (publishDraft) { page = PageProvider.GetDraft(page); PageProvider.RemoveDraft(page); } page.Published = true; page.UserName = userName; PageProvider.Update(page, page); VersionManager.LogVersion(page); } else { PagePublishingQueueItem publishingItem = new PagePublishingQueueItem() { Site = page.Site, PageName = page.FullName, PublishDraft = publishDraft, CreationUtcDate = DateTime.UtcNow, UtcDateToPublish = publishDate.ToUniversalTime(), Period = period, UtcDateToOffline = offlineDate.ToUniversalTime(), UserName = userName }; PagePublishingProvider.Add(publishingItem); } }
public virtual ActionResult Draft(string uuid) { #region if (!string.IsNullOrWhiteSpace(Site.Repository)) { GenerateFolderListDicViewData(); } #endregion var o = Get(uuid); var draft = PageProvider.GetDraft(o); if (draft == null) { return(RedirectToAction("Index", Request.RequestContext.AllRouteValues())); } return(View(draft)); }