sessions: store geolocated country in CurrentUser.

This commit is contained in:
evazion
2020-12-31 01:43:29 -06:00
parent 4b171bf97e
commit 9e9ac8f4bf
3 changed files with 16 additions and 1 deletions

View File

@@ -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