public JsonResult DeleteFolder(String folder)
        {
            var result = new JsonResult();

            string directory = Server.MapPath(ContentGlobals.IMAGEUPLOADDIRECTORY + "/" + folder);

            if (Directory.Exists(directory))
            {
                try
                {
                    Directory.Delete(directory, true);

                    BookmarkUtil.DeleteBookmarkForUrl("/admin/media/managemedia/" + folder + "/");

                    result.Data = new { success = true, directory };
                    return(result);
                }
                catch (SystemException err)
                {
                    result.Data = new { success = false, error = err };
                    return(result);
                }
            }

            result.Data = new { success = false, error = "Folder doesn't exist" };
            return(result);
        }
Example #2
0
        public JsonResult DeleteModule(string id)
        {
            var result = new JsonResult()
            {
                Data = new { success = false, message = "There was an error processing your request." }
            };

            if (String.IsNullOrEmpty(id))
            {
                return(result);
            }

            int moduleId = Int32.Parse(id);

            var module    = Context.ContentModules.FirstOrDefault(x => x.ContentModuleId == moduleId);
            var revisions = Context.ContentModules.Where(x => x.ParentContentModuleId == module.ContentModuleId);

            if (revisions.Any())
            {
                Context.ContentModules.RemoveRange(revisions);
            }
            Context.ContentModules.Remove(module);
            var success = Context.SaveChanges();

            if (success > 0)
            {
                BookmarkUtil.DeleteBookmarkForUrl("/admin/modules/" + id + "/");
                result.Data = new { success = true, message = "The module has been successfully deleted." };
            }

            return(result);
        }
        public Boolean DeleteContentPage(int id)
        {
            try
            {
                var page = _context.ContentPages.First(x => x.ContentPageId == id);
                var revisions = _context.ContentPages.Where(x => x.ParentContentPageId == page.ContentPageId);
                var extenstion = _context.ContentPageExtensions.FirstOrDefault(ext => ext.ContentPageId == id);

                _context.ContentPages.Remove(page);

                if (extenstion != null)
                {
                    _context.ContentPageExtensions.Remove(extenstion);
                }

                if (revisions.Any())
                {
                    _context.ContentPages.RemoveRange(revisions);
                }

                var success = _context.SaveChanges();

                var util = new BookmarkUtil(_context);
                util.DeleteBookmarkForUrl("/admin/pages/editcontent/" + id + "/");

                return success > 0;
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                return false;
            }
        }
        public JsonResult DeleteSchema(string id)
        {
            var result = new JsonResult()
            {
                Data = new { success = false, message = "There was an error processing your request." }
            };

            if (String.IsNullOrEmpty(id))
            {
                return(result);
            }

            int moduleId = Int32.Parse(id);
            var module   = Context.Schemas.FirstOrDefault(x => x.SchemaId == moduleId);

            Context.Schemas.Remove(module);
            var success = Context.SaveChanges();

            if (success > 0)
            {
                BookmarkUtil.DeleteBookmarkForUrl("/admin/schemas/editschema/" + id + "/");
                result.Data = new { success = true, message = "The schema has been successfully deleted." };
            }

            return(result);
        }
Example #5
0
        public ActionResult Create(String url, String title)
        {
            var result = new JsonResult
            {
                Data = new { response = "error", error = "An error occurred" }
            };

            if (String.IsNullOrEmpty(title))
            {
                title = url;
            }

            var user = UserUtils.GetCurrentUser(Context);

            if (Context.Bookmarks.Any(bkmrk => bkmrk.UserId == user.UserId && bkmrk.Url == url))
            {
                result.Data = new { response = "warning", data = "Bookmark already exists" };
            }

            try
            {
                var bookmark = BookmarkUtil.InsertBookmark(url, title, user);
                result.Data = new { response = "success", data = new { bookmark.BookmarkId, bookmark.Url, bookmark.Title } };
            }
            catch (Exception err)
            {
                result.Data = new { response = "error", error = err };
            }

            return(result);
        }
Example #6
0
        public Boolean DeleteContentPage(int id)
        {
            try
            {
                var page       = _context.ContentPages.First(x => x.ContentPageId == id);
                var revisions  = _context.ContentPages.Where(x => x.ParentContentPageId == page.ContentPageId);
                var extenstion = _context.ContentPageExtensions.FirstOrDefault(ext => ext.ContentPageId == id);

                _context.ContentPages.Remove(page);

                if (extenstion != null)
                {
                    _context.ContentPageExtensions.Remove(extenstion);
                }

                if (revisions.Any())
                {
                    _context.ContentPages.RemoveRange(revisions);
                }

                var success = _context.SaveChanges();

                var util = new BookmarkUtil(_context);
                util.DeleteBookmarkForUrl("/admin/pages/editcontent/" + id + "/");

                return(success > 0);
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                return(false);
            }
        }
Example #7
0
        public JsonResult DeleteModule(int?id)
        {
            if (!id.HasValue)
            {
                return(GenericJsonError);
            }

            var modules = Context.ContentModules.Where(x => x.ContentModuleId == id || x.ParentContentModuleId == id);

            if (!modules.Any())
            {
                return(GenericJsonError);
            }

            try
            {
                Context.ContentModules.RemoveRange(modules);

                Context.SaveChanges();
                BookmarkUtil.DeleteBookmarkForUrl("/admin/modules/" + id + "/");

                return(new JsonResult
                {
                    Data = new { success = true, message = "The module has been successfully deleted." }
                });
            }
            catch (Exception)
            {
                return(GenericJsonError);
            }
        }
Example #8
0
        public JsonResult DeleteBlog(string id)
        {
            var result = JsonErrorResult;

            if (String.IsNullOrEmpty(id))
            {
                return(result);
            }

            int blogId = Int32.Parse(id);

            var blog = Context.Blogs.FirstOrDefault(x => x.BlogId == blogId);

            Context.Blogs.Remove(blog);
            int success = Context.SaveChanges();

            if (success > 0)
            {
                result.Data = new
                {
                    success = true,
                    message = "Blog removed successfully."
                };

                BookmarkUtil.DeleteBookmarkForUrl("/admin/pages/editblog/" + id + "/");
            }

            return(result);
        }
Example #9
0
        public JsonResult ModifyModule(ContentModule entity)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = false,
                    message = "There as an error processing your request"
                }
            };

            if (String.IsNullOrEmpty(entity.ModuleName))
            {
                return(result);
            }

            var editedContent = Context.ContentModules.FirstOrDefault(x => x.ContentModuleId == entity.ContentModuleId);

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

            if (editedContent.ParentContentModuleId.HasValue)
            {
                editedContent = Context.ContentModules.FirstOrDefault(x => x.ContentModuleId == editedContent.ParentContentModuleId.Value);
                if (editedContent == null)
                {
                    return(result);
                }
            }

            SaveDraft(editedContent, editedContent.CreateDate);

            editedContent.DraftAuthorName = UserUtils.CurrentMembershipUsername();
            editedContent.CreateDate      = DateTime.UtcNow;
            LoadContentFromUploadedModel(entity, editedContent);
            editedContent.IsActive = true;

            var success = Context.SaveChanges();

            if (success > 0)
            {
                CachedObjects.GetCacheContentModules(true);

                BookmarkUtil.UpdateTitle("/admin/modules/" + editedContent.ContentModuleId + "/", editedContent.ModuleName);
                result.Data = new
                {
                    success = true,
                    message = "Content saved successfully.",
                    date    = SystemTime.CurrentLocalTime.ToString("dd/MM/yyy @ h:mm tt")
                };
            }

            return(result);
        }
Example #10
0
        public JsonResult SaveNavigationSet(int navigationId, string name, List <NavigationItem> items)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = false,
                    message = "There was an error processing your request."
                }
            };
            var success = 0;
            // Update the nav name
            var nav = Context.Navigations.FirstOrDefault(x => x.NavigationId == navigationId);

            nav.Name = name;

            // Make sure Nav Items aren't null
            items = items ?? new List <NavigationItem>();

            // Update the navigation children
            foreach (var navItem in items)
            {
                var item = Context.NavigationItems.FirstOrDefault(x => x.NavigationItemId == navItem.NavigationItemId);
                if (item != null)
                {
                    item.Name  = navItem.Name;
                    item.Href  = navItem.Href;
                    item.Order = navItem.Order;
                    item.ParentNavigationId     = navItem.ParentNavigationId;
                    item.ParentNavigationItemId = navItem.ParentNavigationItemId;
                    item.UsesContentPage        = navItem.UsesContentPage;
                    item.ContentPageId          = navItem.ContentPageId;
                    item.TargetBlank            = navItem.TargetBlank;
                    //item.Promo = navItem.Promo;
                }
            }

            success = Context.SaveChanges();

            if (success > 0)
            {
                // Clear the cache of the nav on save
                CachedObjects.GetCacheNavigationList(0, true);

                BookmarkUtil.DeleteBookmarkForUrl("/admin/navigation/editnav/" + navigationId + "/");

                result.Data = new
                {
                    success = true,
                    message = "Saved navigation successfully."
                };
            }

            return(result);
        }
Example #11
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);
        }
Example #12
0
        public JsonResult ModifyBlog(EditBlogModel entity)
        {
            if (String.IsNullOrEmpty(entity.Title))
            {
                return(NoBlogTitleError);
            }

            var blogEntity = Context.Blogs.FirstOrDefault(x => x.BlogId == entity.BlogId);

            if (blogEntity == null)
            {
                return(JsonErrorResult);
            }

            Mapper.Map(entity, blogEntity);
            // Database Nav property mappings
            blogEntity.Category   = Utils.GetCategoryOrUncategorized(entity.Category);
            blogEntity.BlogAuthor = Context.BlogUsers.First(usr => usr.UserId == entity.AuthorId);

            if (blogEntity.Tags == null)
            {
                blogEntity.Tags = new List <BlogTag>();
            }
            else
            {
                blogEntity.Tags.Clear();
            }

            if (!String.IsNullOrEmpty(entity.Tags))
            {
                foreach (var tag in entity.Tags.Split(','))
                {
                    blogEntity.Tags.Add(Utils.GetOrCreateTag(tag));
                }
            }

            var success = Context.SaveChanges();

            CachedObjects.GetCacheContentPages(true);
            BookmarkUtil.UpdateTitle("/admin/pages/editblog/" + blogEntity.BlogId + "/", entity.Title);

            return(success > 0
                ? BlogSaveSuccess(entity)
                : JsonErrorResult);
        }
        public JsonResult SaveSchema(int id, string data, string name)
        {
            var result = new JsonResult();

            var schema = Context.Schemas.FirstOrDefault(x => x.SchemaId == id);

            if (schema != null)
            {
                schema.JSONData    = data;
                schema.DisplayName = name;
            }

            Context.SaveChanges();
            BookmarkUtil.UpdateTitle("/admin/schemas/editschema/" + id + "/", name);

            result.Data = new { };

            return(result);
        }
Example #14
0
        public ActionResult Edit(int id, String url, String title)
        {
            var result = new JsonResult
            {
                Data = new { response = "error", error = "An error occurred" }
            };

            var userId = UserUtils.GetCurrentUserId(Context);

            try
            {
                BookmarkUtil.UpdateUserBookmark(id, userId, url, title);
                result.Data = new { response = "success", data = new { BookmarkId = id, Title = title, Url = url } };
            }
            catch (Exception)
            {
                result.Data = new { response = "error", error = "An error occurred" };
            }

            return(result);
        }
Example #15
0
        public ActionResult Delete(int id)
        {
            var result = new JsonResult
            {
                Data = new { response = "error", error = "An error occurred" }
            };

            var userId = UserUtils.GetCurrentUserId(Context);

            try
            {
                BookmarkUtil.DeleteUserBookmark(id, userId);
                result.Data = new { response = "success", data = new { BookmarkId = id } };
            }
            catch (Exception err)
            {
                Log.Error(err);
                result.Data = new { response = "error", error = "An error occurred" };
            }

            return(result);
        }
Example #16
0
        public JsonResult ModifyContent(ContentPage entity, bool isBasic)
        {
            var result = new JsonResult();

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

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

            ContentPage editedContent =
                Context.ContentPages.FirstOrDefault(x => x.ContentPageId == entity.ContentPageId);

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

            SaveDraft(editedContent, editedContent.PublishDate);
            BookmarkUtil.UpdateTitle("/admin/pages/editcontent/" + editedContent.ContentPageId + "/", entity.Title);

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

            Context.SaveChanges();

            CachedObjects.GetCacheContentPages(true);

            result.Data = new { publishDate = Convert.ToDateTime(DateTime.UtcNow).ToString("MM/dd/yyyy @ hh:mm") };

            return(result);
        }
        public JsonResult ModifyBlog(EditBlogModel entity)
        {
            if (String.IsNullOrEmpty(entity.Title))
            {
                return(new JsonResult
                {
                    Data = new
                    {
                        success = false,
                        message = "Your post must have a title"
                    }
                });
            }

            var editedBlog = Context.Blogs.FirstOrDefault(x => x.BlogId == entity.BlogId);

            if (editedBlog == null)
            {
                return(JsonErrorResult);
            }

            // Straight copies from the model
            editedBlog.AuthorId    = entity.AuthorId;
            editedBlog.HtmlContent = entity.HtmlContent;
            editedBlog.IsActive    = entity.IsActive;
            editedBlog.IsFeatured  = entity.IsFeatured;
            editedBlog.ShortDesc   = entity.ShortDesc;
            editedBlog.Date        = entity.Date;
            // Meta
            editedBlog.Canonical       = entity.Canonical;
            editedBlog.OGImage         = entity.OGImage;
            editedBlog.OGTitle         = entity.OGTitle;
            editedBlog.OGType          = entity.OGType;
            editedBlog.OGUrl           = entity.OGUrl;
            editedBlog.MetaDescription = entity.MetaDescription;

            // Cleaned inpuit
            editedBlog.Title     = ContentUtils.ScrubInput(entity.Title);
            editedBlog.ImageUrl  = ContentUtils.ScrubInput(entity.ImageUrl);
            editedBlog.PermaLink = ContentUtils.GetFormattedUrl(entity.PermaLink);

            // Database Nav property mappings
            editedBlog.Category   = utils.GetCategoryOrUncategorized(entity.Category);
            editedBlog.BlogAuthor = Context.BlogUsers.First(usr => usr.UserId == entity.AuthorId);

            if (editedBlog.Tags == null)
            {
                editedBlog.Tags = new List <BlogTag>();
            }

            if (!String.IsNullOrEmpty(entity.Tags))
            {
                foreach (var tag in entity.Tags.Split(','))
                {
                    editedBlog.Tags.Add(utils.GetOrCreateTag(tag));
                }
            }

            var success = Context.SaveChanges();

            CachedObjects.GetCacheContentPages(true);
            BookmarkUtil.UpdateTitle("/admin/pages/editblog/" + editedBlog.BlogId + "/", entity.Title);

            if (success > 0)
            {
                return(new JsonResult
                {
                    Data = new
                    {
                        success = true,
                        message = "Blog saved successfully.",
                        id = entity.BlogId
                    }
                });
            }

            return(JsonErrorResult);
        }
Example #18
0
        public JsonResult ModifyModule(ContentModule entity)
        {
            var result = new JsonResult()
            {
                Data = new
                {
                    success = false,
                    message = "There as an error processing your request"
                }
            };

            var success = 0;

            if (String.IsNullOrEmpty(entity.ModuleName))
            {
                return(result);
            }

            var editedContent = Context.ContentModules.FirstOrDefault(x => x.ContentModuleId == entity.ContentModuleId);

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

            if (editedContent.ParentContentModuleId.HasValue)
            {
                editedContent = Context.ContentModules.FirstOrDefault(x => x.ContentModuleId == editedContent.ParentContentModuleId.Value);
                if (editedContent == null)
                {
                    return(result);
                }
            }

            SaveDraft(editedContent, editedContent.CreateDate);

            editedContent.DraftAuthorName   = UserUtils.CurrentMembershipUsername();
            editedContent.CreateDate        = DateTime.UtcNow;
            editedContent.ModuleName        = ContentUtils.ScrubInput(entity.ModuleName);
            editedContent.HTMLContent       = entity.HTMLContent;
            editedContent.HTMLUnparsed      = entity.HTMLUnparsed;
            editedContent.JSContent         = entity.JSContent;
            editedContent.CSSContent        = entity.CSSContent;
            editedContent.SchemaId          = entity.SchemaId;
            editedContent.SchemaEntryValues = entity.SchemaEntryValues;
            editedContent.IsActive          = true;

            success = Context.SaveChanges();

            if (success > 0)
            {
                BookmarkUtil.UpdateTitle("/admin/modules/" + editedContent.ContentModuleId + "/", editedContent.ModuleName);
                result.Data = new
                {
                    success = true,
                    message = "Content saved successfully.",
                    date    = editedContent.CreateDate.Value.ToString("dd/MM/yyy @ h:mm tt")
                };
            }

            return(result);
        }