mirror of
https://github.com/openclassify/openclassify.git
synced 2026-01-11 18:01:10 -06:00
another lang redirect without url lang
This commit is contained in:
parent
39b2e4837e
commit
de5ac7e56f
@ -10,6 +10,7 @@ use Visiosoft\AdvsModule\Adv\AdvRepository;
|
||||
use Anomaly\Streams\Platform\Model\Advs\AdvsAdvsEntryModel;
|
||||
use Visiosoft\AdvsModule\Adv\AdvModel;
|
||||
use Visiosoft\AdvsModule\Adv\Form\AdvFormBuilder;
|
||||
use Visiosoft\AdvsModule\Http\Middleware\redirectDiffrentLang;
|
||||
use Visiosoft\AdvsModule\Http\Middleware\SetLang;
|
||||
use Visiosoft\AdvsModule\Listener\AddAdvsSettingsScript;
|
||||
use Visiosoft\AdvsModule\Option\Contract\OptionRepositoryInterface;
|
||||
@ -233,6 +234,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
|
||||
*/
|
||||
protected $middleware = [
|
||||
SetLang::class,
|
||||
redirectDiffrentLang::class,
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@ -0,0 +1,50 @@
|
||||
<?php namespace Visiosoft\AdvsModule\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Redirector;
|
||||
|
||||
/**
|
||||
* Class SetLang
|
||||
*/
|
||||
class redirectDiffrentLang
|
||||
{
|
||||
|
||||
/**
|
||||
* The redirect utility.
|
||||
*
|
||||
* @var Redirector
|
||||
*/
|
||||
protected $redirect;
|
||||
|
||||
/**
|
||||
* Create a new SetLocale instance.
|
||||
*
|
||||
* @param Redirector $redirect
|
||||
*/
|
||||
public function __construct(
|
||||
Redirector $redirect
|
||||
)
|
||||
{
|
||||
$this->redirect = $redirect;
|
||||
}
|
||||
|
||||
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 ($current_language != $setting_language) {
|
||||
if ($request_url != "" and $original_url != '/' . $current_language . '/' . $request_url) {
|
||||
return $this->redirect->to('/' . $current_language . '/' . $request_url);
|
||||
}
|
||||
} else {
|
||||
if ($request_url == "" and '/' . $current_language != $original_url) {
|
||||
$this->redirect->to($current_language);
|
||||
}
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user