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,23 +35,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
return $this->render('default/article/info.html.twig', [
'title' => 'test'
]);
@ -76,23 +65,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -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;
}
}

View file

@ -32,23 +32,12 @@ class SearchController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$article = $request->query->get('article') ? (int) $request->query->get('article') : 1;
switch ($request->query->get('type'))
@ -160,4 +149,31 @@ class SearchController extends AbstractController
'type' => $type,
]);
}
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;
}
}

View file

@ -37,23 +37,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{
@ -198,23 +187,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -372,23 +350,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -578,23 +545,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{
@ -675,23 +631,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{
@ -765,23 +710,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -941,23 +875,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{
@ -1038,23 +961,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{
@ -1122,23 +1034,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -1211,23 +1112,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -1327,23 +1217,12 @@ class TorrentController 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -1414,4 +1293,31 @@ class TorrentController extends AbstractController
// Render response
return new Response(); // @TODO
}
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;
}
}

View file

@ -24,23 +24,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
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,23 +79,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Process post request
if ($request->isMethod('post'))
{
@ -198,23 +182,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -284,23 +257,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus())
{
// @TODO
@ -371,23 +333,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isModerator())
{
// @TODO
@ -456,23 +407,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isModerator())
{
// @TODO
@ -543,23 +483,12 @@ 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')
$user = $this->initUser(
$request,
$userService,
$activityService
);
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isModerator())
{
// @TODO
@ -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;
}
}