sessions: store geolocated country in CurrentUser.
This commit is contained in:
@@ -34,6 +34,7 @@ class SessionLoader
|
||||
update_last_logged_in_at
|
||||
update_last_ip_addr
|
||||
set_time_zone
|
||||
set_country
|
||||
set_safe_mode
|
||||
initialize_session_cookies
|
||||
CurrentUser.user.unban! if CurrentUser.user.ban_expired?
|
||||
@@ -101,6 +102,12 @@ class SessionLoader
|
||||
Time.zone = CurrentUser.user.time_zone
|
||||
end
|
||||
|
||||
# Depends on Cloudflare
|
||||
# https://support.cloudflare.com/hc/en-us/articles/200168236-Configuring-Cloudflare-IP-Geolocation
|
||||
def set_country
|
||||
CurrentUser.country = request.headers["CF-IPCountry"]
|
||||
end
|
||||
|
||||
def set_safe_mode
|
||||
safe_mode = request.host.match?(/safebooru/i) || params[:safe_mode].to_s.truthy? || CurrentUser.user.enable_safe_mode?
|
||||
CurrentUser.safe_mode = safe_mode
|
||||
|
||||
Reference in New Issue
Block a user