Files
danbooru/app/logical/anonymous_user.rb
Toks b708f5ea03 Don't allow banned ip addresses to make changes
Previously banned ip addresses couldn't make new accounts, but if they
get an account somehow the ip ban wouldn't prevent them from making
edits.
2015-10-22 20:14:43 -04:00

246 lines
2.6 KiB
Ruby

# This is a proxy class to make various nil checks unnecessary
class AnonymousUser
def id
nil
end
def level
0
end
def comment_threshold
0
end
def created_at
Time.now
end
def updated_at
Time.now
end
def dmail_filter
nil
end
def name
"Anonymous"
end
def pretty_name
"Anonymous"
end
def is_anonymous?
true
end
def is_banned?
false
end
def is_banned_or_ip_banned?
false
end
def has_mail?
false
end
def has_forum_been_updated?
false
end
def has_permission?(obj, foreign_key = :user_id)
false
end
def ban
false
end
def always_resize_images?
false
end
def show_samples?
true
end
def tag_subscriptions
[]
end
def favorite_tags
nil
end
def upload_limit
0
end
def base_upload_limit
0
end
def uploaded_tags
""
end
def uploaded_tags_with_types
[]
end
def recent_tags
""
end
def recent_tags_with_types
[]
end
def can_upload?
false
end
def can_comment?
false
end
def is_comment_limited?
true
end
def can_remove_from_pools?
false
end
def can_approve_posts?
false
end
def blacklisted_tags
["spoilers", "guro", "scat", "furry -rating:s"].join("\n")
end
def time_zone
"Eastern Time (US & Canada)"
end
def default_image_size
"large"
end
def email
""
end
def last_forum_read_at
Time.now
end
def update_column(*params)
end
def increment!(field)
end
def decrement!(field)
end
def role
:anonymous
end
def tag_query_limit
2
end
def favorite_limit
0
end
def favorite_count
0
end
def enable_post_navigation
true
end
def new_post_navigation_layout
true
end
def enable_privacy_mode
false
end
def enable_sequential_post_navigation
true
end
def api_hourly_limit
500
end
def statement_timeout
3_000
end
def per_page
Danbooru.config.posts_per_page
end
def hide_deleted_posts?
false
end
def style_usernames?
false
end
def dmail_count
""
end
def enable_auto_complete
true
end
def custom_style
nil
end
def show_deleted_children?
false
end
def saved_searches
[]
end
def has_saved_searches?
false
end
def show_saved_searches?
false
end
def favorite_groups
[]
end
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
end
end