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

@ -35,22 +35,11 @@ class ArticleController 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->render('default/article/info.html.twig', [
'title' => 'test'
@ -76,22 +65,11 @@ class ArticleController 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())
{
@ -270,4 +248,31 @@ class ArticleController 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;
}
}