diff --git a/app/logical/storage_manager.rb b/app/logical/storage_manager.rb index b5b89af5d..93ad48b27 100644 --- a/app/logical/storage_manager.rb +++ b/app/logical/storage_manager.rb @@ -3,14 +3,13 @@ class StorageManager DEFAULT_BASE_DIR = "#{Rails.root}/public/data" - attr_reader :base_url, :base_dir, :hierarchical, :tagged_filenames, :large_image_prefix, :original_subdir + attr_reader :base_url, :base_dir, :hierarchical, :tagged_filenames, :original_subdir - def initialize(base_url: default_base_url, base_dir: DEFAULT_BASE_DIR, hierarchical: false, tagged_filenames: Danbooru.config.enable_seo_post_urls, large_image_prefix: Danbooru.config.large_image_prefix, original_subdir: "") + def initialize(base_url: default_base_url, base_dir: DEFAULT_BASE_DIR, hierarchical: false, tagged_filenames: Danbooru.config.enable_seo_post_urls, original_subdir: "") @base_url = base_url.chomp("/") @base_dir = base_dir @hierarchical = hierarchical @tagged_filenames = tagged_filenames - @large_image_prefix = large_image_prefix @original_subdir = original_subdir end @@ -99,7 +98,7 @@ class StorageManager when :crop "#{md5}.jpg" when :large - "#{large_image_prefix}#{md5}.#{large_file_ext}" + "sample-#{md5}.#{large_file_ext}" when :original "#{md5}.#{file_ext}" end diff --git a/app/logical/upload_service/utils.rb b/app/logical/upload_service/utils.rb index 4bac295d9..ad4751050 100644 --- a/app/logical/upload_service/utils.rb +++ b/app/logical/upload_service/utils.rb @@ -168,8 +168,6 @@ class UploadService end def automatic_tags(upload, file) - return "" unless Danbooru.config.enable_dimension_autotagging - tags = [] tags << "video_with_sound" if is_video_with_audio?(upload, file) tags << "animated_gif" if is_animated_gif?(upload, file) diff --git a/app/models/post.rb b/app/models/post.rb index 4c2191ea2..1855a32bd 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -671,8 +671,6 @@ class Post < ApplicationRecord end def add_automatic_tags(tags) - return tags if !Danbooru.config.enable_dimension_autotagging - tags -= %w(incredibly_absurdres absurdres highres lowres huge_filesize flash webm mp4) if has_dimensions? diff --git a/app/models/post_appeal.rb b/app/models/post_appeal.rb index b4fea7607..1b83a7c49 100644 --- a/app/models/post_appeal.rb +++ b/app/models/post_appeal.rb @@ -1,6 +1,8 @@ class PostAppeal < ApplicationRecord class Error < Exception; end + MAX_APPEALS_PER_DAY = 1 + belongs_to :creator, :class_name => "User" belongs_to :post validates_presence_of :reason @@ -47,8 +49,8 @@ class PostAppeal < ApplicationRecord end def validate_creator_is_not_limited - if appeal_count_for_creator >= Danbooru.config.max_appeals_per_day - errors[:creator] << "can appeal at most #{Danbooru.config.max_appeals_per_day} post a day" + if appeal_count_for_creator >= MAX_APPEALS_PER_DAY + errors[:creator] << "can appeal at most #{MAX_APPEALS_PER_DAY} post a day" end end diff --git a/app/models/upload.rb b/app/models/upload.rb index aa210271b..c73ca8ccb 100644 --- a/app/models/upload.rb +++ b/app/models/upload.rb @@ -76,7 +76,7 @@ class Upload < ApplicationRecord def initialize_attributes self.uploader_id = CurrentUser.id self.uploader_ip_addr = CurrentUser.ip_addr - self.server = Danbooru.config.server_host + self.server = Socket.gethostname end def self.prune!(date = 1.day.ago) diff --git a/app/models/user.rb b/app/models/user.rb index db59924e5..0adaa7d5a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -244,7 +244,8 @@ class User < ApplicationRecord end def sha1(pass) - Digest::SHA1.hexdigest("#{Danbooru.config.password_salt}--#{pass}--") + salt = "choujin-steiner" + Digest::SHA1.hexdigest("#{salt}--#{pass}--") end end end diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index d0ad440fe..409d9f35f 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -36,7 +36,7 @@ module Danbooru # Contact email address of the admin. def contact_email - "webmaster@#{server_host}" + "webmaster@#{hostname}" end # System actions, such as sending automated dmails, will be performed with @@ -64,11 +64,6 @@ module Danbooru "#{source_code_url}/issues" end - # This is a salt used to make dictionary attacks on account passwords harder. - def password_salt - "choujin-steiner" - end - # Set the default level, permissions, and other settings for new users here. def customize_new_user(user) # user.level = User::Levels::MEMBER @@ -94,15 +89,6 @@ module Danbooru 850 end - def large_image_prefix - "sample-" - end - - # When calculating statistics based on the posts table, gather this many posts to sample from. - def post_sample_size - 300 - end - # After a post receives this many comments, new comments will no longer bump the post in comment/index. def comment_threshold 40 @@ -177,11 +163,6 @@ module Danbooru } end - # The name of the server the app is hosted on. - def server_host - Socket.gethostname - end - # The method to use for storing image files. def storage_manager # Store files on the local filesystem. @@ -343,10 +324,6 @@ module Danbooru [] end - def max_appeals_per_day - 1 - end - # Counting every post is typically expensive because it involves a sequential scan on # potentially millions of rows. If this method returns a value, then blank searches # will return that number for the fast_count call instead. @@ -403,10 +380,6 @@ module Danbooru nil end - def enable_dimension_autotagging - true - end - # Should return true if the given tag should be suggested for removal in the post replacement dialog box. def remove_tag_after_replacement?(tag) tag =~ /\A(?:replaceme|.*_sample|resized|upscaled|downscaled|md5_mismatch|jpeg_artifacts|corrupted_image|source_request|non-web_source)\z/i @@ -455,11 +428,6 @@ module Danbooru "zDMSATq0W3hmA5p3rKTgD" end - # impose additional requirements to create tag aliases and implications - def strict_tag_requirements - true - end - # For downloads, if the host matches any of these IPs, block it def banned_ip_for_download?(ip_addr) raise ArgumentError unless ip_addr.is_a?(IPAddr) diff --git a/test/unit/post_appeal_test.rb b/test/unit/post_appeal_test.rb index 71581973a..da3db59a5 100644 --- a/test/unit/post_appeal_test.rb +++ b/test/unit/post_appeal_test.rb @@ -6,7 +6,6 @@ class PostAppealTest < ActiveSupport::TestCase @alice = FactoryBot.create(:user) CurrentUser.user = @alice CurrentUser.ip_addr = "127.0.0.1" - Danbooru.config.stubs(:max_appeals_per_day).returns(5) end teardown do @@ -28,16 +27,16 @@ class PostAppealTest < ActiveSupport::TestCase @post_appeal = PostAppeal.create(:post => @post, :reason => "aaa") end - assert_equal(["You have already appealed this post"], @post_appeal.errors.full_messages) + assert_includes(@post_appeal.errors.full_messages, "You have already appealed this post") end - should "not be able to appeal more than 5 posts in 24 hours" do + should "not be able to appeal more than 1 post in 24 hours" do @post_appeal = PostAppeal.new(:post => @post, :reason => "aaa") - @post_appeal.expects(:appeal_count_for_creator).returns(5) + @post_appeal.expects(:appeal_count_for_creator).returns(1) assert_difference("PostAppeal.count", 0) do @post_appeal.save end - assert_equal(["You can appeal at most 5 post a day"], @post_appeal.errors.full_messages) + assert_equal(["You can appeal at most 1 post a day"], @post_appeal.errors.full_messages) end should "not be able to appeal an active post" do