public ActionResult Settings(CommentSettingsModel m) { if (ModelState.IsValid) { m.Save() ; SuccessMessage(Piranha.Resources.Comment.MessageSettingsSaved) ; } else ErrorMessage(Piranha.Resources.Comment.MessageSettingsNotSaved) ; return View(m) ; }
/// <summary> /// Gets the current comment settings /// </summary> /// <returns></returns> public static CommentSettingsModel Get() { var names = new string[] { PARAM_PAGES, PARAM_POSTS, PARAM_MEDIA, PARAM_UPLOADS, PARAM_ANONYMOUS }; var model = new CommentSettingsModel(); using (var db = new DataContext()) { var paramList = db.Params.Where(p => names.Contains(p.Name)).ToList(); // Pages var param = paramList.Where(p => p.Name == PARAM_PAGES).SingleOrDefault(); if (param != null) model.EnablePages = param.Value == "1"; else model.EnablePages = false; model.PageCommentCount = db.Database.SqlQuery<int>("SELECT COUNT(*) FROM comment JOIN page ON comment_parent_id = page_id").First(); // Posts param = paramList.Where(p => p.Name == PARAM_POSTS).SingleOrDefault(); if (param != null) model.EnablePosts = param.Value == "1"; else model.EnablePosts = true; model.PostCommentCount = db.Database.SqlQuery<int>("SELECT COUNT(*) FROM comment JOIN post ON comment_parent_id = post_id").First(); // Media param = paramList.Where(p => p.Name == PARAM_MEDIA).SingleOrDefault(); if (param != null) model.EnableMedia = param.Value == "1"; else model.EnableMedia = false; model.PostCommentCount = db.Database.SqlQuery<int>("SELECT COUNT(*) FROM comment JOIN content ON comment_parent_id = content_id").First(); // Uploads param = paramList.Where(p => p.Name == PARAM_UPLOADS).SingleOrDefault(); if (param != null) model.EnableUploads = param.Value == "1"; else model.EnableUploads = false; model.PostCommentCount = db.Database.SqlQuery<int>("SELECT COUNT(*) FROM comment JOIN upload ON comment_parent_id = upload_id").First(); // Anonymous param = paramList.Where(p => p.Name == PARAM_ANONYMOUS).SingleOrDefault(); if (param != null) model.EnableAnonymous = param.Value == "1"; else model.EnableAnonymous = false; } return model; }
/// <summary> /// Gets the current comment settings /// </summary> /// <returns></returns> public static CommentSettingsModel Get() { var names = new string[] { PARAM_PAGES, PARAM_POSTS, PARAM_MEDIA, PARAM_UPLOADS, PARAM_ANONYMOUS }; var model = new CommentSettingsModel(); using (var db = new DataContext()) { var paramList = db.Params.Where(p => names.Contains(p.Name)).ToList(); // Pages var param = paramList.Where(p => p.Name == PARAM_PAGES).SingleOrDefault(); if (param != null) { model.EnablePages = param.Value == "1"; } else { model.EnablePages = false; } model.PageCommentCount = db.Database.SqlQuery <int>("SELECT COUNT(*) FROM comment JOIN page ON comment_parent_id = page_id").First(); // Posts param = paramList.Where(p => p.Name == PARAM_POSTS).SingleOrDefault(); if (param != null) { model.EnablePosts = param.Value == "1"; } else { model.EnablePosts = true; } model.PostCommentCount = db.Database.SqlQuery <int>("SELECT COUNT(*) FROM comment JOIN post ON comment_parent_id = post_id").First(); // Media param = paramList.Where(p => p.Name == PARAM_MEDIA).SingleOrDefault(); if (param != null) { model.EnableMedia = param.Value == "1"; } else { model.EnableMedia = false; } model.PostCommentCount = db.Database.SqlQuery <int>("SELECT COUNT(*) FROM comment JOIN content ON comment_parent_id = content_id").First(); // Uploads param = paramList.Where(p => p.Name == PARAM_UPLOADS).SingleOrDefault(); if (param != null) { model.EnableUploads = param.Value == "1"; } else { model.EnableUploads = false; } model.PostCommentCount = db.Database.SqlQuery <int>("SELECT COUNT(*) FROM comment JOIN upload ON comment_parent_id = upload_id").First(); // Anonymous param = paramList.Where(p => p.Name == PARAM_ANONYMOUS).SingleOrDefault(); if (param != null) { model.EnableAnonymous = param.Value == "1"; } else { model.EnableAnonymous = false; } } return(model); }