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 ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
return $this->render('default/article/info.html.twig', [ return $this->render('default/article/info.html.twig', [
'title' => 'test' 'title' => 'test'
]); ]);
@ -76,23 +65,12 @@ class ArticleController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @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 ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
$article = $request->query->get('article') ? (int) $request->query->get('article') : 1; $article = $request->query->get('article') ? (int) $request->query->get('article') : 1;
switch ($request->query->get('type')) switch ($request->query->get('type'))
@ -160,4 +149,31 @@ class SearchController extends AbstractController
'type' => $type, '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 ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent // Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId'))) if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{ {
@ -198,23 +187,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -372,23 +350,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -578,23 +545,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent // Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId'))) if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{ {
@ -675,23 +631,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent // Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId'))) if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{ {
@ -765,23 +710,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -941,23 +875,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent // Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId'))) if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{ {
@ -1038,23 +961,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Init torrent // Init torrent
if (!$torrent = $torrentService->getTorrent($request->get('torrentId'))) if (!$torrent = $torrentService->getTorrent($request->get('torrentId')))
{ {
@ -1122,23 +1034,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -1211,23 +1112,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -1327,23 +1217,12 @@ class TorrentController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -1414,4 +1293,31 @@ class TorrentController extends AbstractController
// Render response // Render response
return new Response(); // @TODO 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 ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
return $this->redirectToRoute( return $this->redirectToRoute(
'user_dashboard', 'user_dashboard',
[ [
@ -55,10 +44,16 @@ class UserController extends AbstractController
)] )]
public function index( public function index(
Request $request, Request $request,
ActivityService $activityService, UserService $userService,
UserService $userService ActivityService $activityService
): Response ): Response
{ {
$user = $this->initUser(
$request,
$userService,
$activityService
);
return $this->render( return $this->render(
'default/user/dashboard.html.twig', 'default/user/dashboard.html.twig',
[ [
@ -84,23 +79,12 @@ class UserController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
// Process post request // Process post request
if ($request->isMethod('post')) if ($request->isMethod('post'))
{ {
@ -198,23 +182,12 @@ class UserController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -284,23 +257,12 @@ class UserController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isStatus()) if (!$user->isStatus())
{ {
// @TODO // @TODO
@ -371,23 +333,12 @@ class UserController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isModerator()) if (!$user->isModerator())
{ {
// @TODO // @TODO
@ -456,23 +407,12 @@ class UserController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isModerator()) if (!$user->isModerator())
{ {
// @TODO // @TODO
@ -543,23 +483,12 @@ class UserController extends AbstractController
): Response ): Response
{ {
// Init user // Init user
if (!$user = $userService->findUserByAddress($request->getClientIp())) $user = $this->initUser(
{ $request,
$user = $userService->addUser( $userService,
$request->getClientIp(), $activityService
time(),
$this->getParameter('app.locale'),
explode('|', $this->getParameter('app.locales')),
$this->getParameter('app.theme')
); );
// Add user join event
$activityService->addEventUserAdd(
$user->getId(),
time()
);
}
if (!$user->isModerator()) if (!$user->isModerator())
{ {
// @TODO // @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;
}
} }