diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php index 50d32db0f..772132b42 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php @@ -8,6 +8,7 @@ return [ 'title' => 'visiosoft.module.advs::section.general', 'fields' => [ 'market_place', + 'show_lang_url', 'iban_numbers', 'google_statistic_code', 'ogImage', diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php index 8a69b1286..ad207aba2 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php @@ -228,4 +228,11 @@ return [ 'default_value' => false, ] ], + + 'show_lang_url' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php index 026e78216..6291795a9 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php @@ -146,4 +146,7 @@ return [ 'hide_map_filter' => [ 'name' => 'Hide Map Filter', ], + 'show_lang_url' => [ + 'name' => 'Show Lang Parameter For URL', + ], ]; diff --git a/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php b/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php index 6475f893f..6597b3c7b 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php +++ b/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php @@ -31,26 +31,32 @@ class redirectDiffrentLang public function handle(Request $request, Closure $next) { - $original_url = $request->server->get('ORIGINAL_REQUEST_URI'); - $setting_language = setting_value('streams::default_locale'); - $current_language = $request->session()->get('_locale', $setting_language); - $request_url = ltrim($request->getRequestUri(), '/'); + if (setting_value('visiosoft.module.advs::show_lang_url')) { + $original_url = $request->server->get('ORIGINAL_REQUEST_URI'); + $setting_language = setting_value('streams::default_locale'); + $current_language = $request->session()->get('_locale', $setting_language); + $request_url = ltrim($request->getRequestUri(), '/'); - // If the segment(1) is admin and language parameters is not null, no forwarding will be made. - if ($request->segment(1) == "admin" and in_array($current_language, explode('/', $original_url))) { - return $this->redirect->to($request->fullUrl()); - } + $not_included = [ + 'admin', + 'social' + ]; - if ($current_language != $setting_language) { + // If the segment(1) is admin and language parameters is not null, no forwarding will be made. + if (in_array($request->segment(1), $not_included) and in_array($current_language, explode('/', $original_url))) { + return $this->redirect->to($request->fullUrl()); + } - // If the method is get, no forwarding will be made. - // If the segment(1) is admin, no forwarding will be made. + if ($current_language != $setting_language) { - if ($request->method() == "GET" and $request->segment(1) != "admin" and $request_url != "" and $original_url != '/' . $current_language . '/' . $request_url) { - return $this->redirect->to('/' . $current_language . '/' . $request_url); + // If the method is get, no forwarding will be made. + // If the segment(1) is admin, no forwarding will be made. + + if ($request->method() == "GET" and !in_array($request->segment(1), $not_included) and $request_url != "" and $original_url != '/' . $current_language . '/' . $request_url) { + return $this->redirect->to('/' . $current_language . '/' . $request_url); + } } } - return $next($request); } }