diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index e6d9ccf8..e052fb2c 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -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); + } + } diff --git a/app/Http/Middleware/Internationalization.php b/app/Http/Middleware/Internationalization.php index 6dabee97..f8d28804 100644 --- a/app/Http/Middleware/Internationalization.php +++ b/app/Http/Middleware/Internationalization.php @@ -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); diff --git a/app/Http/routes.php b/app/Http/routes.php index 7149d184..c782a1f3 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -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'); }); /**