From 9cc299626181048b85b629bbe7f5806a1f5d21ff Mon Sep 17 00:00:00 2001 From: Yassine Doghri Date: Mon, 18 Jul 2022 16:07:44 +0000 Subject: [PATCH] fix(get_browser_language): return defaultLocale if browser doesn't send user preferred language --- app/Helpers/misc_helper.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/Helpers/misc_helper.php b/app/Helpers/misc_helper.php index 7975bdc1..22dbd172 100644 --- a/app/Helpers/misc_helper.php +++ b/app/Helpers/misc_helper.php @@ -11,12 +11,17 @@ declare(strict_types=1); if (! function_exists('get_browser_language')) { /** - * Gets the browser default language using the request header key `HTTP_ACCEPT_LANGUAGE` + * Gets the browser default language using the request header key `HTTP_ACCEPT_LANGUAGE`. Returns Castopod's default + * locale if `HTTP_ACCEPT_LANGUAGE` is null. * * @return string ISO 639-1 language code */ - function get_browser_language(string $httpAcceptLanguage): string + function get_browser_language(?string $httpAcceptLanguage = null): string { + if ($httpAcceptLanguage === null) { + return config('App')->defaultLocale; + } + $langs = explode(',', $httpAcceptLanguage); return substr($langs[0], 0, 2);