Пример #1
0
        public JsonResponse Approve(string[] vals)
        {
            this.response.Success = false;

            if (!Security.IsAuthorizedTo(Rights.ModerateComments))
            {
                response.Message = Resources.labels.notAuthorized;
                return(response);
            }

            if (string.IsNullOrEmpty(vals[0]))
            {
                return(response);
            }

            try
            {
                foreach (var p in Post.Posts.ToArray())
                {
                    foreach (var c in from c in p.Comments.ToArray() from t in vals where c.Id == new Guid(t) select c)
                    {
                        if (BlogSettings.Instance.AddIpToWhitelistFilterOnApproval)
                        {
                            CommentHandlers.AddIpToFilter(c.IP, false);
                        }

                        CommentHandlers.ReportMistake(c);

                        c.ModeratedBy = Security.CurrentUser.Identity.Name;
                        p.ApproveComment(c);
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.Log("Api.Comments.Approve", ex);
                response.Message = string.Format(Resources.labels.errorApprovingComment, vals[0]);
                return(response);
            }

            response.Success = true;
            response.Message = Resources.labels.selectedCommentRestored;
            return(response);
        }
Пример #2
0
 protected void RejectComment(Comment comment)
 {
     comment.IsApproved = false;
     CommentHandlers.AddIpToFilter(comment.IP, true, true);
     ReportAndUpdate(comment);
 }
Пример #3
0
 protected void btnAllowIP_Click(object sender, EventArgs e)
 {
     CommentHandlers.AddIpToFilter(CurrentComment.IP, false, true);
 }
Пример #4
0
 protected void ApproveComment(Comment comment)
 {
     comment.IsApproved = true;
     CommentHandlers.AddIpToFilter(comment.IP, false, false);
     ReportAndUpdate(comment);
 }