diff --git a/src/Listeners/Auth/UpdateUsersTimezone.php b/src/Listeners/Auth/UpdateUsersTimezone.php index f403c6b..92f9a93 100644 --- a/src/Listeners/Auth/UpdateUsersTimezone.php +++ b/src/Listeners/Auth/UpdateUsersTimezone.php @@ -46,6 +46,13 @@ public function handle($event) return; } + /** + * Overwrite mode is not active and user timezone is already set. Nothing to do here. + */ + if (config('timezone.overwrite') == false && $user->timezone != null) { + return; + } + $ip = $this->getFromLookup(); $geoip_info = geoip()->getLocation($ip); @@ -139,10 +146,9 @@ private function lookup($type, $keys) $value = null; foreach ($keys as $key) { - if (! request()->$type->has($key)) { - continue; + if (request()->$type->has($key)) { + return request()->$type->get($key); } - $value = request()->$type->get($key); } return $value;