Merge pull request #638 from openclassify/vedatakd

another lang redirect without url lang
This commit is contained in:
Ozcan Durak 2020-08-17 13:00:44 +03:00 committed by GitHub
commit 79a60f7677
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 0 deletions

View File

@ -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;
@ -237,6 +238,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider
*/
protected $middleware = [
SetLang::class,
redirectDiffrentLang::class,
];
/**

View File

@ -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);
}
}