You've already forked Atomcms-edit
Initial commit
This commit is contained in:
+54
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\User;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\AccountSettingsFormRequest;
|
||||
use App\Services\RconService;
|
||||
use App\Services\User\SessionService;
|
||||
use App\Services\User\UserService;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class AccountSettingsController extends Controller
|
||||
{
|
||||
public function __construct(private readonly SessionService $sessionService, private readonly UserService $userService, private readonly RconService $rconService) {}
|
||||
|
||||
public function edit(): View
|
||||
{
|
||||
return view('user.settings.account', [
|
||||
'user' => Auth::user()->load('settings:allow_name_change'),
|
||||
]);
|
||||
}
|
||||
|
||||
public function sessionLogs(Request $request): View
|
||||
{
|
||||
$sessions = $this->sessionService->fetchSessionLogs($request);
|
||||
|
||||
return view('user.settings.session-logs', [
|
||||
'logs' => $sessions,
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(AccountSettingsFormRequest $request): RedirectResponse
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
if ($user === null) {
|
||||
return redirect()->back()->withErrors('User not found');
|
||||
}
|
||||
|
||||
if ($user->mail !== $request->input('mail')) {
|
||||
$this->userService->updateField($user, 'mail', $request->input('mail'));
|
||||
}
|
||||
|
||||
if ($user->motto !== $request->input('motto')) {
|
||||
$this->rconService->setMotto($user, $request->input('motto'));
|
||||
$this->userService->updateField($user, 'motto', $request->input('motto'));
|
||||
}
|
||||
|
||||
return redirect()->route('settings.account.show')->with('success', __('Your account settings has been updated'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user