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.
246 lines
2.6 KiB
Ruby
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
|