31 lines
814 B
PHP
31 lines
814 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers;
|
||
|
|
|
||
|
|
use App\Http\Middleware\SetLocale;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Illuminate\Support\Facades\Auth;
|
||
|
|
|
||
|
|
class LocaleController extends Controller
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Update the user's locale preference.
|
||
|
|
*/
|
||
|
|
public function update(Request $request)
|
||
|
|
{
|
||
|
|
$validated = $request->validate([
|
||
|
|
'locale' => ['required', 'string', 'in:' . implode(',', array_keys(SetLocale::SUPPORTED_LOCALES))],
|
||
|
|
]);
|
||
|
|
|
||
|
|
$locale = $validated['locale'];
|
||
|
|
|
||
|
|
// Save to user record
|
||
|
|
Auth::user()->update(['locale' => $locale]);
|
||
|
|
|
||
|
|
// Also save to session for immediate effect
|
||
|
|
$request->session()->put('locale', $locale);
|
||
|
|
|
||
|
|
return redirect()->route('profile.edit')->with('success', __('messages.settings.language_updated'));
|
||
|
|
}
|
||
|
|
}
|