about summary refs log tree commit diff stats
path: root/app/controllers
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-10-17 11:43:07 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-10-17 11:43:07 -0400
commit8d039903f630db0b89f2df44a94f4e5c938bd7bf (patch)
tree80d33266fff46582bc4ea7d1fc31f7b73efca965 /app/controllers
parent4369be26b98e874ec560f92b6fd204deca8bd609 (diff)
downloadthoughts-8d039903f630db0b89f2df44a94f4e5c938bd7bf.tar.gz
thoughts-8d039903f630db0b89f2df44a94f4e5c938bd7bf.tar.bz2
thoughts-8d039903f630db0b89f2df44a94f4e5c938bd7bf.zip
Added marking comments as spam
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/admin/comments_controller.rb23
-rw-r--r--app/controllers/comments_controller.rb7
2 files changed, 28 insertions, 2 deletions
diff --git a/app/controllers/admin/comments_controller.rb b/app/controllers/admin/comments_controller.rb index 9958232..d3d948c 100644 --- a/app/controllers/admin/comments_controller.rb +++ b/app/controllers/admin/comments_controller.rb
@@ -31,6 +31,29 @@ class Admin::CommentsController < Admin::AdminController
31 redirect_to pending_admin_comments_url 31 redirect_to pending_admin_comments_url
32 end 32 end
33 33
34 def mark_spam
35 @comment = Comment.find(params[:id])
36
37 akismet_params = {
38 type: "comment",
39 text: @comment.body,
40 created_at: @comment.created_at,
41 author: @comment.username,
42 author_email: @comment.email,
43 author_url: @comment.website,
44 post_url: url_for(@comment.blog),
45 post_modified_at: @comment.blog.updated_at,
46 referrer: @comment.referrer
47 }
48
49 Akismet.spam @comment.request_ip, @comment.user_agent, akismet_params
50
51 @comment.destroy!
52
53 flash.notice = "Comment successfully marked as spam."
54 redirect_back pending_admin_comments_url
55 end
56
34 def destroy 57 def destroy
35 if Comment.destroy(params[:id]) 58 if Comment.destroy(params[:id])
36 flash.notice = "Comment successfully deleted." 59 flash.notice = "Comment successfully deleted."
diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 2f3117f..9fa05e4 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb
@@ -6,6 +6,9 @@ class CommentsController < ApplicationController
6 raise ActiveRecord::RecordNotFound unless @blog.published 6 raise ActiveRecord::RecordNotFound unless @blog.published
7 7
8 @comment = @blog.comments.new(comment_params) 8 @comment = @blog.comments.new(comment_params)
9 @comment.request_ip = request.ip
10 @comment.user_agent = request.user_agent
11 @comment.referrer = request.referrer
9 12
10 unless @comment.valid? 13 unless @comment.valid?
11 flash.alert = "Error posting comment." 14 flash.alert = "Error posting comment."
@@ -23,11 +26,11 @@ class CommentsController < ApplicationController
23 author_url: @comment.website, 26 author_url: @comment.website,
24 post_url: url_for(@comment.blog), 27 post_url: url_for(@comment.blog),
25 post_modified_at: @comment.blog.updated_at, 28 post_modified_at: @comment.blog.updated_at,
26 referrer: request.referrer, 29 referrer: @comment.referrer,
27 env: request.env.slice(*akismet_vars) 30 env: request.env.slice(*akismet_vars)
28 } 31 }
29 32
30 is_spam, is_blatant = Akismet.check(request.ip, request.user_agent, akismet_params) 33 is_spam, is_blatant = Akismet.check(@comment.ip, @comment.user_agent, akismet_params)
31 34
32 if is_blatant 35 if is_blatant
33 # I am lying. 36 # I am lying.