diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-17 11:43:07 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-17 11:43:07 -0400 |
commit | 8d039903f630db0b89f2df44a94f4e5c938bd7bf (patch) | |
tree | 80d33266fff46582bc4ea7d1fc31f7b73efca965 /app/controllers | |
parent | 4369be26b98e874ec560f92b6fd204deca8bd609 (diff) | |
download | thoughts-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.rb | 23 | ||||
-rw-r--r-- | app/controllers/comments_controller.rb | 7 |
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. |