src/Controller/HomeController.php line 43
<?phpnamespace App\Controller;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use App\Repository\SettingsRepository;use Symfony\Component\HttpFoundation\Request;use Doctrine\ORM\EntityManagerInterface;use App\Entity\User;use Symfony\Component\Serializer\Encoder\JsonEncoder;use Symfony\Component\Serializer\Encoder\XmlEncoder;use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;use Symfony\Component\Serializer\Serializer;use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;use App\Repository\UserRepository;use Doctrine\DBAL\Types\TimeImmutableType;use chillerlan\QRCode\QRCode;use App\Repository\ProjectRepository;use App\Repository\EditionRepository;use App\Repository\VideoRepository;use App\Entity\VideoAuthorOrganization;use Symfony\Component\Filesystem\Filesystem;use Symfony\Component\Filesystem\Path;use Symfony\Component\Mime\Email;use Symfony\Component\Mime\Address;use Symfony\Component\Mailer\MailerInterface;class HomeController extends AbstractController{private $settings;private $entityManager;private $projectRepo;private $userRepo;private $videoRepo;private $encoders;private $normalizers;private $serializer;private $editions;public function __construct(SettingsRepository $settingsRepository,EntityManagerInterface $entityManager,UserRepository $userRepository,EditionRepository $editionRepository,ProjectRepository $projectRepository,VideoRepository $videoRepository){$this->settings = $settingsRepository->findOneById(1);$this->entityManager = $entityManager;$this->userRepo = $userRepository;$this->projectRepo = $projectRepository;$this->encoders = [new XmlEncoder(), new JsonEncoder()];$this->normalizers = [new DateTimeNormalizer(), new ObjectNormalizer()];$this->serializer = new Serializer($this->normalizers, $this->encoders);$this->editions = $editionRepository->findAll();$this->videoRepo = $videoRepository;}#[Route('/emailtest')]public function emailTest(Request $request, MailerInterface $mailer): Response{// foreach ($this->videoRepo->findAll() as $video){// $videoAuthorOrg = new VideoAuthorOrganization();// $videoAuthorOrg// ->setVideo($video)// ->setAuthor($video->getAuthor())// ;// $this->entityManager->persist($videoAuthorOrg);// $this->entityManager->flush();// }$email = (new Email())->from(new Address($this->settings->getContactEmail(), strip_tags($this->settings->getTitle())))->to('lotusdakiny@outlook.com')->subject('Prueba')->html('prueba');$mailer->send($email);return new Response('ok');}#[Route('/test')]public function test(Request $request): Response{$projectDir = $this->getParameter('kernel.project_dir');$filesystem = new Filesystem();$filesystem->mkdir($projectDir.'/public/uploads/flips/4', 0700);$filesystem->dumpFile($projectDir.'/public/uploads/flips/4/flip.txt', '');return new Response($projectDir);}#[Route('/', name: 'app_home')]public function index(Request $request): Response{// // usually you'll want to make sure the user is authenticated first// // $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');// $this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED');// // returns your User object, or null if the user is not authenticated// // use inline documentation to tell your editor your exact User class// /** @var \App\Entity\User $user */// $user = $this->getUser();return $this->render('home/index.html.twig', ['settings' => $this->settings,'editions' => $this->editions,'videos' => $this->videoRepo->findBy([], ['id' => 'ASC']),]);}#[Route('/politica-privacidad', name: 'app_privacy_policy')]public function privacyPolicy(Request $request){return $this->render('policy/privacy_policy.html.twig', ['settings' => $this->settings,'user' => $this->getUser(),]);}#[Route('/aviso-legal', name: 'app_legal_notice')]public function legalNotice(Request $request){return $this->render('policy/legal_notice.html.twig', ['settings' => $this->settings,'user' => $this->getUser(),]);}#[Route('/politica-cookies', name: 'app_cookies_policy')]public function cookiesPolicy(Request $request){return $this->render('policy/cookies_policy.html.twig', ['settings' => $this->settings,'user' => $this->getUser(),]);}}