fixes #2469
This commit is contained in:
@@ -229,7 +229,11 @@ class AnonymousUser
|
||||
[]
|
||||
end
|
||||
|
||||
%w(member banned gold builder platinum contributor janitor moderator admin).each do |name|
|
||||
def can_upload_free?
|
||||
false
|
||||
end
|
||||
|
||||
%w(member banned gold builder platinum janitor moderator admin).each do |name|
|
||||
define_method("is_#{name}?") do
|
||||
false
|
||||
end
|
||||
|
||||
@@ -8,7 +8,6 @@ class DailyMaintenance
|
||||
Delayed::Job.delete_all(['created_at < ?', 7.days.ago])
|
||||
PostVote.delete_all(['created_at < ?', 1.month.ago])
|
||||
CommentVote.delete_all(['created_at < ?', 1.month.ago])
|
||||
# UserUploadClamper.new.clamp_all!
|
||||
TagSubscription.process_all
|
||||
ApiCacheGenerator.new.generate_tag_cache
|
||||
PostDisapproval.prune!
|
||||
|
||||
@@ -3,7 +3,7 @@ require 'statistics2'
|
||||
module Reports
|
||||
class Contributors < User
|
||||
def users
|
||||
::User.where("users.level >= ? and users.post_upload_count >= 250", ::User::Levels::CONTRIBUTOR).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
|
||||
::User.where("users.bit_prefs & ? > 0 and users.post_upload_count >= 250", ::User.flag_value_for("can_upload_free")).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -66,7 +66,7 @@ module Reports
|
||||
end
|
||||
|
||||
def users
|
||||
::User.where("users.level < ? and users.post_upload_count >= 250", ::User::Levels::CONTRIBUTOR).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
|
||||
::User.where("users.bit_prefs & ? > 0 and users.post_upload_count >= 250", ::User.flag_value_for("can_upload_free")).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
class UserUploadClamper
|
||||
def clamp_all!
|
||||
users.each do |user|
|
||||
if clamp_user?(user)
|
||||
clamp_user!(user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def users
|
||||
User.where("post_upload_count >= 5000 and base_upload_limit is null and level <= ?", User::Levels::CONTRIBUTOR).limit(50)
|
||||
end
|
||||
|
||||
def clamp_user?(user)
|
||||
Reports::UserPromotions.deletion_confidence_interval_for(user) >= 7
|
||||
end
|
||||
|
||||
def clamp_user!(user)
|
||||
upload_limit = (Post.for_user(user).deleted.where("is_banned = false").count / 4) + 10
|
||||
user.update_attribute(:base_upload_limit, upload_limit)
|
||||
CurrentUser.scoped(User.admins.first, "127.0.0.1") do
|
||||
user.promote_to!(User::Levels::BUILDER) if user.is_contributor?
|
||||
Dmail.create_split(:to_id => user.id, :title => "Post Upload Limit", :body => "You are receiving this message because a large percentage of your uploads are being deleted. For this reason you will now be limited to 10 uploads a day.")
|
||||
ModAction.create(:description => "user ##{user.id} (#{user.name}) clamped")
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user