From 5d9f3511bacaba7477fe4bd16de5f716d149703a Mon Sep 17 00:00:00 2001 From: Michal Borychowski <807297+boryn@users.noreply.github.com> Date: Tue, 18 Jan 2022 10:34:12 +0100 Subject: [PATCH 1/2] Take the first found IP from 'lookup' config key --- src/Listeners/Auth/UpdateUsersTimezone.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Listeners/Auth/UpdateUsersTimezone.php b/src/Listeners/Auth/UpdateUsersTimezone.php index dc20bec..3453929 100644 --- a/src/Listeners/Auth/UpdateUsersTimezone.php +++ b/src/Listeners/Auth/UpdateUsersTimezone.php @@ -140,10 +140,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; From 31f1ca02066e00d0108814d16f3b62a18d5d3e70 Mon Sep 17 00:00:00 2001 From: Michal Borychowski <807297+boryn@users.noreply.github.com> Date: Sun, 5 Mar 2023 00:48:47 +0100 Subject: [PATCH 2/2] Disable geo lookup if not necessary Don't go geo lookup when overwrite mode is not active and user timezone is already set --- src/Listeners/Auth/UpdateUsersTimezone.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Listeners/Auth/UpdateUsersTimezone.php b/src/Listeners/Auth/UpdateUsersTimezone.php index f403c6b..9a4ba60 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);