move language switcher to HomeController

This commit is contained in:
printempw 2016-09-24 22:45:54 +08:00
parent 85645a0e6a
commit 1cdfb139c1
3 changed files with 54 additions and 46 deletions

View File

@ -2,8 +2,9 @@
namespace App\Http\Controllers;
use App\Models\User;
use Session;
use App\Models\User;
use Illuminate\Support\Arr;
class HomeController extends Controller
{
@ -13,10 +14,7 @@ class HomeController extends Controller
if (isset($_COOKIE['uid']) && isset($_COOKIE['token'])) {
$user = new User($_COOKIE['uid']);
if ($_COOKIE['token'] == $user->getToken() && $user->getPermission() != "-1") {
Session::put('uid' , $_COOKIE['uid']);
Session::put('token', $_COOKIE['token']);
} else {
if ($_COOKIE['token'] != $user->getToken() || $user->getPermission() == "-1") {
// delete cookies
setcookie("uid", "", time() - 3600, '/');
setcookie("token", "", time() - 3600, '/');
@ -28,4 +26,12 @@ class HomeController extends Controller
return view('index')->with('user', $user);
}
public function locale($lang)
{
if (Arr::exists(config('locales'), $lang)) {
Session::set('locale', $lang);
}
return redirect('/')->withCookie('locale', $lang);
}
}

View File

@ -3,6 +3,7 @@
namespace App\Http\Middleware;
use App;
use Cookie;
use Session;
use Illuminate\Support\Arr;
@ -10,8 +11,14 @@ class Internationalization
{
public function handle($request, \Closure $next)
{
// Load from cookie
if (Cookie::has('locale')) {
session(['locale' => Cookie::get('locale')]);
}
if (Session::has('locale') && Arr::exists(config('locales'), session('locale'))) {
App::setLocale(Session::get('locale'));
// Set app locale dynamically
App::setLocale(session('locale'));
}
return $next($request);

View File

@ -11,37 +11,32 @@
|
*/
Route::get('/', 'HomeController@index');
Route::get('/index.php', 'HomeController@index');
Route::get('/', 'HomeController@index');
Route::get('/index.php', 'HomeController@index');
Route::get('/locale/{lang}', function($lang) {
if (Illuminate\Support\Arr::exists(config('locales'), $lang)) {
Session::set('locale', $lang);
}
return redirect('/');
});
Route::get('/locale/{lang}', 'HomeController@locale');
/**
* Auth
*/
Route::group(['prefix' => 'auth'], function()
{
Route::group(['middleware' => 'App\Http\Middleware\RedirectIfAuthenticated'], function()
Route::group(['middleware' => 'App\Http\Middleware\RedirectIfAuthenticated'], function()
{
Route::get ('/login', 'AuthController@login');
Route::get ('/register', 'AuthController@register');
Route::get ('/forgot', 'AuthController@forgot');
Route::get ('/reset', 'AuthController@reset');
Route::get ('/login', 'AuthController@login');
Route::get ('/register', 'AuthController@register');
Route::get ('/forgot', 'AuthController@forgot');
Route::get ('/reset', 'AuthController@reset');
});
Route::any('/logout', 'AuthController@logout');
Route::any('/captcha', 'AuthController@captcha');
Route::any('/logout', 'AuthController@logout');
Route::any('/captcha', 'AuthController@captcha');
Route::post('/login', 'AuthController@handleLogin');
Route::post('/register', 'AuthController@handleRegister');
Route::post('/forgot', 'AuthController@handleForgot');
Route::post('/login', 'AuthController@handleLogin');
Route::post('/register', 'AuthController@handleRegister');
Route::post('/forgot', 'AuthController@handleForgot');
Route::post('/reset', 'AuthController@handleReset');
Route::post('/reset', 'AuthController@handleReset');
});
/**
@ -50,7 +45,7 @@ Route::group(['prefix' => 'auth'], function()
Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated', 'prefix' => 'user'], function()
{
Route::any ('', 'UserController@index');
Route::any ('/sign', 'UserController@sign');
Route::any ('/checkin', 'UserController@checkIn');
// Profile
Route::get ('/profile', 'UserController@profile');
@ -80,39 +75,39 @@ Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated
*/
Route::group(['prefix' => 'skinlib'], function()
{
Route::get ('', 'SkinlibController@index');
Route::any ('/info/{tid}', 'SkinlibController@info');
Route::any ('/show', 'SkinlibController@show');
Route::any ('/search', 'SkinlibController@search');
Route::get ('', 'SkinlibController@index');
Route::any ('/info/{tid}', 'SkinlibController@info');
Route::any ('/show', 'SkinlibController@show');
Route::any ('/search', 'SkinlibController@search');
Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated'], function()
Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated'], function()
{
Route::get ('/upload', 'SkinlibController@upload');
Route::post('/upload', 'SkinlibController@handleUpload');
Route::get ('/upload', 'SkinlibController@upload');
Route::post('/upload', 'SkinlibController@handleUpload');
Route::post('/rename', 'SkinlibController@rename');
Route::post('/privacy/{tid}', 'SkinlibController@privacy');
Route::post('/delete', 'SkinlibController@delete');
Route::post('/rename', 'SkinlibController@rename');
Route::post('/privacy/{tid}', 'SkinlibController@privacy');
Route::post('/delete', 'SkinlibController@delete');
});
});
/**
* Admin Panel
*/
Route::group(['middleware' => 'App\Http\Middleware\CheckAdminMiddleware', 'prefix' => 'admin'], function()
Route::group(['middleware' => 'App\Http\Middleware\CheckAdminMiddleware', 'prefix' => 'admin'], function()
{
Route::get('/', 'AdminController@index');
Route::get('/', 'AdminController@index');
Route::any('/customize', 'AdminController@customize');
Route::any('/score', 'AdminController@score');
Route::any('/options', 'AdminController@options');
Route::any('/update', 'AdminController@update');
Route::any('/customize', 'AdminController@customize');
Route::any('/score', 'AdminController@score');
Route::any('/options', 'AdminController@options');
Route::any('/update', 'AdminController@update');
Route::get('/users', 'AdminController@users');
Route::get('/players', 'AdminController@players');
Route::get('/users', 'AdminController@users');
Route::get('/players', 'AdminController@players');
// ajax handlers
Route::post('/users', 'AdminController@userAjaxHandler');
Route::post('/players', 'AdminController@playerAjaxHandler');
Route::post('/users', 'AdminController@userAjaxHandler');
Route::post('/players', 'AdminController@playerAjaxHandler');
});
/**