Esempio n. 1
0
		public ActionResult Settings(CommentSettingsModel m) {
			if (ModelState.IsValid) {
				m.Save() ;
				SuccessMessage(Piranha.Resources.Comment.MessageSettingsSaved) ;
			} else ErrorMessage(Piranha.Resources.Comment.MessageSettingsNotSaved) ;
			return View(m) ;
		}
Esempio n. 2
0
		/// <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);
        }