From 127e4e385b8a596463af0a3440cbcf603f97ddd2 Mon Sep 17 00:00:00 2001 From: evazion Date: Sat, 25 Nov 2017 21:26:59 -0600 Subject: [PATCH] Fix dmail failures when akismet isn't configured. --- app/models/dmail.rb | 13 +++++++------ config/application.rb | 5 ----- config/danbooru_default_config.rb | 7 +++++++ config/initializers/rakismet.rb | 2 ++ 4 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 config/initializers/rakismet.rb diff --git a/app/models/dmail.rb b/app/models/dmail.rb index 999fead09..4e861d5d1 100644 --- a/app/models/dmail.rb +++ b/app/models/dmail.rb @@ -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 diff --git a/config/application.rb b/config/application.rb index 4fa9af05c..b5627814a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -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, diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index dd2e88dec..8e297a5f0 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -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 diff --git a/config/initializers/rakismet.rb b/config/initializers/rakismet.rb new file mode 100644 index 000000000..c521fc0b6 --- /dev/null +++ b/config/initializers/rakismet.rb @@ -0,0 +1,2 @@ +Rails.application.config.rakismet.key = Danbooru.config.rakismet_key +Rails.application.config.rakismet.url = Danbooru.config.rakismet_url