Merge pull request #3401 from evazion/fix-akismet-integration

Fix dmail failures when akismet isn't configured.
This commit is contained in:
Albert Yi
2017-12-13 14:27:24 -08:00
committed by GitHub
4 changed files with 16 additions and 11 deletions

View File

@@ -30,6 +30,12 @@ class Dmail < ApplicationRecord
def creator_ip_addr_str
creator_ip_addr.to_s
end
def spam?(sender = CurrentUser.user)
return false if Danbooru.config.rakismet_key.blank?
return false if sender.is_gold?
super()
end
end
module AddressMethods
@@ -52,12 +58,7 @@ class Dmail < ApplicationRecord
def initialize_attributes
self.from_id ||= CurrentUser.id
self.creator_ip_addr ||= CurrentUser.ip_addr
if CurrentUser.is_gold?
self.is_spam = false
else
self.is_spam = spam?
end
true
self.is_spam = spam?(CurrentUser.user)
end
end

View File

@@ -30,11 +30,6 @@ module Danbooru
config.x.git_hash = nil
end
if ENV["DANBOORU_RAKISMET_KEY"]
config.rakismet.key = ENV["DANBOORU_RAKISMET_KEY"]
config.rakismet.url = ENV["DANBOORU_RAKISMET_URL"]
end
config.after_initialize do
Rails.application.routes.default_url_options = {
host: Danbooru.config.hostname,

View File

@@ -619,6 +619,13 @@ module Danbooru
def aws_sqs_cropper_url
end
# Akismet API key. Used for Dmail spam detection. http://akismet.com/signup/
def rakismet_key
end
def rakismet_url
end
end
class EnvironmentConfiguration

View File

@@ -0,0 +1,2 @@
Rails.application.config.rakismet.key = Danbooru.config.rakismet_key
Rails.application.config.rakismet.url = Danbooru.config.rakismet_url