Exemple #1
0
        public JsonResult ModifyContent(ContentPageComplete page, bool isBasic)
        {
            var result = new JsonResult();

            if (page.Details == null || String.IsNullOrEmpty(page.Details.Title))
            {
                return(result);
            }

            if (String.IsNullOrEmpty(page.Details.Title))
            {
                return(result);
            }

            var editedContent =
                Context.ContentPages.FirstOrDefault(x => x.ContentPageId == page.Details.ContentPageId);

            if (editedContent == null)
            {
                return(result);
            }

            var contentUtility = new ContentUtils();

            if (contentUtility.CheckPermalink(page.Details.Permalink, page.Details.ContentPageId,
                                              page.Details.ParentNavigationItemId))
            {
                // permalink exists already under this parent page id
                result.Data = new
                {
                    permalinkExists = true
                };
                return(result);
            }

            SaveDraftInDb(page, editedContent.PublishDate);
            BookmarkUtil.UpdateTitle("/admin/pages/editcontent/" + editedContent.ContentPageId + "/", page.Details.Title);

            SetContentPageData(editedContent, page.Details, false, isBasic, null);
            UpdatePageExtenstion(page);
            editedContent.IsActive = true; // Saving / Publishing content sets this to true.
            editedContent.NoIndex  = page.Details.NoIndex;
            editedContent.NoFollow = page.Details.NoFollow;

            Context.SaveChanges();

            CachedObjects.GetCacheContentPages(true);

            result.Data = new { publishDate = SystemTime.CurrentLocalTime.ToString("MM/dd/yyyy @ hh:mm") };

            return(result);
        }
Exemple #2
0
        public JsonResult CheckPermalink(int id, string permalink, int parentId = 0)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = true,
                    message = ""
                }
            };
            var contentUtility = new ContentUtils();

            // check to see if permalink exists
            if (contentUtility.CheckPermalink(permalink, id, parentId))
            {
                result.Data = new
                {
                    success = false,
                    message = "Permalink is already in use."
                };
            }
            return(result);
        }
Exemple #3
0
        public JsonResult AddNewPageFromTemplate(string templatePath, string viewTemplate, string permalink, string title, int parent)
        {
            var result         = new JsonResult();
            var contentUtility = new ContentUtils();

            // check to see if permalink exists
            if (contentUtility.CheckPermalink(permalink, 0, parent))
            {
                result.Data = new
                {
                    success = false,
                    message = "Permalink is already in use."
                };
                return(result);
            }

            var urlLink = "";
            var page    = new ContentPage
            {
                Title                  = title,
                IsActive               = false,
                CreateDate             = DateTime.UtcNow,
                Permalink              = permalink,
                DisplayName            = permalink,
                ParentNavigationItemId = parent,
                Template               = !String.IsNullOrEmpty(viewTemplate) ? viewTemplate.ToLower() : "blank",
                HTMLUnparsed           = ContentUtils.RenderPartialViewToString(templatePath, null, ControllerContext, ViewData, TempData),
                HTMLContent            = ContentUtils.RenderPartialViewToString(templatePath, null, ControllerContext, ViewData, TempData)
            };

            try
            {
                Context.ContentPages.Add(page);
                Context.SaveChanges();

                page.HTMLContent = ContentUtils.ReplacePageParametersInHtmlContent(page.HTMLUnparsed, page);
                Context.SaveChanges();
            }
            catch (Exception)
            {
                result.Data = new
                {
                    success = false,
                    message = "Page could not be created."
                };
                return(result);
            }

            CachedObjects.GetCacheContentPages(true);

            var parentHref = NavigationUtils.GetNavItemUrl(parent);

            if (!String.IsNullOrEmpty(parentHref))
            {
                urlLink = parentHref + page.Permalink;
            }

            urlLink     = string.IsNullOrEmpty(urlLink) ? "/" + page.Permalink : urlLink;
            result.Data = new
            {
                id      = page.ContentPageId,
                url     = urlLink,
                success = true,
                message = "Page created, redirecting."
            };

            return(result);
        }
        public JsonResult CheckPermalink(int id, string permalink, int parentId = 0)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = true,
                    message = ""
                }
            };

            // if id == 0, this is not a content page, we are not verifying permalink, should be from event call, just return
            if (id < 1)
            {
                return result;
            }

            var contentUtility = new ContentUtils();

            // check to see if permalink exists
            if (contentUtility.CheckPermalink(permalink, id, parentId))
            {
                result.Data = new
                {
                    success = false,
                    message = "Permalink is already in use."
                };
            }
            return result;
        }
        public JsonResult AddNewPageFromTemplate(string templatePath, string viewTemplate, string permalink, string title, int parent)
        {
            var result = new JsonResult();
            var contentUtility = new ContentUtils();

            // check to see if permalink exists
            if (contentUtility.CheckPermalink(permalink, 0, parent))
            {
                result.Data = new
                {
                    success = false,
                    message = "Permalink is already in use."
                };
                return result;
            }

            var urlLink = "";
            var page = new ContentPage
            {
                Title = title,
                IsActive = false,
                CreateDate = DateTime.UtcNow,
                Permalink = permalink,
                DisplayName = permalink,
                ParentNavigationItemId = parent,
                Template = !String.IsNullOrEmpty(viewTemplate) ? viewTemplate.ToLower() : "blank",
                HTMLUnparsed = ContentUtils.RenderPartialViewToString(templatePath, null, ControllerContext, ViewData, TempData),
                HTMLContent = ContentUtils.RenderPartialViewToString(templatePath, null, ControllerContext, ViewData, TempData)
            };

            try
            {
                Context.ContentPages.Add(page);
                Context.SaveChanges();

                page.HTMLContent = ContentUtils.ReplacePageParametersInHtmlContent(page.HTMLUnparsed, page);
                Context.SaveChanges();
            }
            catch (Exception)
            {
                result.Data = new
                {
                    success = false,
                    message = "Page could not be created."
                };
                return result;
            }
            
            CachedObjects.GetCacheContentPages(true);

            var parentHref = NavigationUtils.GetNavItemUrl(parent);

            if (!String.IsNullOrEmpty(parentHref))
            {
                urlLink = parentHref + page.Permalink;
            }

            urlLink = string.IsNullOrEmpty(urlLink) ? "/" + page.Permalink : urlLink;
            result.Data = new
            {
                id = page.ContentPageId,
                url = urlLink,
                success = true,
                message = "Page created, redirecting."
            };

            return result;
        }
        public JsonResult ModifyContent(ContentPageComplete page, bool isBasic)
        {
            var result = new JsonResult();

            if (page.Details == null || String.IsNullOrEmpty(page.Details.Title))
            {
                return result;
            }

            if (String.IsNullOrEmpty(page.Details.Title)) return result;

            var editedContent =
                Context.ContentPages.FirstOrDefault(x => x.ContentPageId == page.Details.ContentPageId);
            if (editedContent == null)
            {
                return result;
            }

            var contentUtility = new ContentUtils();
            if (contentUtility.CheckPermalink(page.Details.Permalink, page.Details.ContentPageId,
                page.Details.ParentNavigationItemId))
            {
                // permalink exists already under this parent page id
                result.Data = new
                {
                    permalinkExists = true
                };
                return result;

            }

            SaveDraftInDb(page, editedContent.PublishDate);
            BookmarkUtil.UpdateTitle("/admin/pages/editcontent/" + editedContent.ContentPageId + "/", page.Details.Title);

            SetContentPageData(editedContent, page.Details, false, isBasic, null);
            UpdatePageExtenstion(page);
            editedContent.IsActive = true; // Saving / Publishing content sets this to true.
            editedContent.NoIndex = page.Details.NoIndex;
            editedContent.NoFollow = page.Details.NoFollow;

            Context.SaveChanges();

            CachedObjects.GetCacheContentPages(true);

            result.Data = new { publishDate = SystemTime.CurrentLocalTime.ToString("MM/dd/yyyy @ hh:mm") };

            return result;
        }