make common initUser method

This commit is contained in:
ghost 2023-10-11 17:01:08 +03:00
parent 28f21d09c6
commit c1c5c7fa59
4 changed files with 221 additions and 338 deletions

View file

@ -24,22 +24,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
return $this->redirectToRoute(
'user_dashboard',
@ -55,10 +44,16 @@ class UserController extends AbstractController
)]
public function index(
Request $request,
ActivityService $activityService,
UserService $userService
UserService $userService,
ActivityService $activityService
): Response
{
$user = $this->initUser(
$request,
$userService,
$activityService
);
return $this->render(
'default/user/dashboard.html.twig',
[
@ -84,22 +79,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Process post request
if ($request->isMethod('post'))
@ -198,22 +182,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
if (!$user->isStatus())
{
@ -284,22 +257,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
if (!$user->isStatus())
{
@ -371,22 +333,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
if (!$user->isModerator())
{
@ -456,22 +407,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
if (!$user->isModerator())
{
@ -543,22 +483,11 @@ class UserController extends AbstractController
): Response
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$user = $this->initUser(
$request,
$userService,
$activityService
);
if (!$user->isModerator())
{
@ -643,4 +572,31 @@ class UserController extends AbstractController
]
);
}
private function initUser(
Request $request,
UserService $userService,
ActivityService $activityService
): ?\App\Entity\User
{
// Init user
if (!$user = $userService->findUserByAddress($request->getClientIp()))
{
$user = $userService->addUser(
$request->getClientIp(),
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
return $user;
}
}