<?php
// src/Controller/HelloController.php
namespace App\Controller;
use App\Entity\StatisticsPage;
use App\Entity\Team;
use App\Entity\User;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
class HomeController extends AbstractController
{
/**
* @Route("/", name="index")
*/
public function index()
{
/** @var StatisticsPageRepository $statisticsPageRepository */
$statisticsPageRepository = $this->getDoctrine()->getRepository(StatisticsPage::class);
$statisticsPage = $statisticsPageRepository->findOneBy(['name' => '/index']);
$statisticsPage->setView((($statisticsPage->getView()) + 1));
$em = $this->getDoctrine()->getManager();
$em->persist($statisticsPage);
$em->flush();
return $this->render('index.html.twig');
}
/**
* @Route("/join/{token}", name="index_view_with_token", methods={"GET"})
*/
public function viewTeam($token)
{
/** @var TeamRepository $teamRepository */
$teamRepository = $this->getDoctrine()->getRepository(Team::class);
$team = $teamRepository->findOneBy(['token' => $token]);
if (empty($team)) {
$name = "Mauvais Token";
$token = "*************";
return $this->render('join.html.twig', ['token' => $token, 'name' => $name]);
}
/** @var StatisticsPageRepository $statisticsPageRepository */
$statisticsPageRepository = $this->getDoctrine()->getRepository(StatisticsPage::class);
$statisticsPage = $statisticsPageRepository->findOneBy(['name' => 'join/{token}']);
$statisticsPage->setView((($statisticsPage->getView()) + 1));
$em = $this->getDoctrine()->getManager();
$em->persist($statisticsPage);
$em->flush();
return $this->render('join.html.twig', ['token' => $token, 'name' => $team->getName()]);
}
public function verifToken($token)
{
/** @var UserRepository $user */
$userRepository = $this->getDoctrine()->getRepository(User::class);
$resulToken = $userRepository->findOneBy(['token' => $token]);
if (is_null($token)) {
return 400;
} else if (is_null($resulToken)) {
return false;
} else {
return true;
}
}
}