From 7e64cc10b90638803aa7e6b1b78c76825a8da866 Mon Sep 17 00:00:00 2001 From: Filippo Bertilotti <filippobertilotti@gmail.com> Date: Wed, 31 Jul 2024 11:38:27 +0200 Subject: [PATCH] relazione fra 2 record (vodafoneuser e msisdn) --- app/Vola/Classes/Utils.php | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/Vola/Classes/Utils.php b/app/Vola/Classes/Utils.php index 073e1cf..c510f04 100644 --- a/app/Vola/Classes/Utils.php +++ b/app/Vola/Classes/Utils.php @@ -96,6 +96,16 @@ return FALSE; } + public static function get_string_between(string $string, string $start, string $end): string + { + $string = ' ' . $string; + $ini = strpos($string, $start); + if ($ini == 0) return ''; + $ini += strlen($start); + $len = strpos($string, $end, $ini) - $ini; + return substr($string, $ini, $len); + } + public static function getLegacyAuthCookie(Request $request): ?string { return $request->cookie('CAuthCookie', null); @@ -109,19 +119,25 @@ public static function getRequestedUser(Request $request): ?string { $picassoRequest = (str_starts_with($request->getRequestUri(), '/picasso/',)); + $isLoggedRequest = str_contains( self::get_string_between($request->getRequestUri(), '/', '?'), 'islogged' ); + $profile = null; - if (!$picassoRequest) { - if (is_null(self::getLegacyAuthCookie($request))) { - $reqParams = !empty($request->query()) ? $request->query() : []; - if (isset($reqParams["t"])) { - $profile = $reqParams["t"]; - } - } else { - $profile = self::getLegacyAuthCookie($request); + if ((!$picassoRequest) && (!$isLoggedRequest)) { + // la rotta sso islogged usa solo il cookie per identificare l'utente + $reqParams = !empty($request->query()) ? $request->query() : []; + if (isset($reqParams["t"])) { + $profile = $reqParams["t"]; } - } else if ($picassoRequest && self::getPicassoAuthCookie($request)) { + } else { + // tutte le chiamate che non sono islogged usano il parametro t (token) per identificare l'utente + $profile = self::getLegacyAuthCookie($request); + } + + if ($picassoRequest) { + // picasso usa sempre il cookie per identifcare l'utente $profile = self::getPicassoAuthCookie($request); } + $profile = (is_null($profile)) ? null : intval(str_replace("xno:", "", $profile)); return $profile; } -- Gitblit v1.8.0