src/Controller/WebcamController.php line 63

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\General;
  4. use App\Entity\Sidebar;
  5. use App\Entity\Sponsors;
  6. use App\Entity\Usuari;
  7. use App\Entity\Webcams;
  8. use App\Util\changeSize;
  9. use App\Util\Util;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
  13. use Symfony\Component\HttpFoundation\RequestStack;
  14. use Symfony\Component\HttpFoundation\Response;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  17. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  18. use Symfony\Component\Mailer\MailerInterface;
  19. use Symfony\Component\Security\Core\SecurityContext;
  20. use Symfony\Component\HttpFoundation\ResponseHeaderBag;
  21. use Symfony\Contracts\Translation\TranslatorInterface;
  22. class WebcamController extends AbstractController
  23. {
  24.     protected $enSidebar;
  25.     protected $enGeneral;
  26.     protected $enSponsors;
  27.     private $em;
  28.     private $objUtil;
  29.     private $requestStack;
  30.     private $session;
  31.     private $translator;
  32.     private $params;
  33.     private $correuController;
  34.     private $mailer;
  35.     private $sPathUploads;
  36.     public function __construct(EntityManagerInterface $em,RequestStack $requestStack,TranslatorInterface $translatorContainerBagInterface $paramsCorreuController $correuController,MailerInterface $mailer)
  37.     {
  38.         $this->em $em;
  39.         $this->objUtil = new Util($this->em);
  40.         $this->requestStack $requestStack;
  41.         $this->session $this->requestStack->getSession();
  42.         $this->translator $translator;
  43.         $this->params $params;
  44.         $this->correuController $correuController;
  45.         $this->mailer $mailer;
  46.         $this->sPathUploads dirname(__FILE__) . "/../../public/uploads/";
  47.         $this->enSidebar $this->em->getRepository(Sidebar::class)->findBy(
  48.             array(   'general' => 1)
  49.         );
  50.         $this->enGeneral $this->em->getRepository(General::class)->findAll();
  51.         $this->enSponsors $this->em->getRepository(Sponsors::class)->findBy(
  52.             array( 'visible'   => 1),
  53.             array('ordre' => 'ASC')
  54.         );
  55.     }
  56.     
  57.     public function indexAction(Request $peticion)
  58.     {
  59.         $aRequest $peticion->request;
  60.         $enWebcams $this->em->getRepository(Webcams::class)->findBy(
  61.             array('visible' => 1),
  62.             array('orden'   => 'ASC'));
  63.         
  64.         return $this->render('webcam.html.twig', array(
  65.             'enSidebar' => $this->enSidebar[0],
  66.             'enWebcams' => $enWebcams,
  67.             'enGeneral' => $this->enGeneral,
  68.             'enSponsors'=> $this->enSponsors
  69.         ));
  70.     }
  71.     public function imageResizeCampAction()
  72.     {
  73.         ini_set('gd.jpeg_ignore_warning'true);
  74.         $dir getcwd() . '/cam1';
  75.         $files scandir($dir);
  76.         foreach ($files as $key => $val)
  77.         {
  78.             if (!in_array($val, array(".""..")))
  79.             {
  80.                 if (!is_dir($dir '/' $val)) 
  81.                 {
  82.                     if (strpos ($val'.jpg') !== false)
  83.                     {
  84.                         //$this->get('helper.imageresizer')->resizeImage($dir . '/' . $val, $dir . '/mini/' , $height=284);
  85.                         if (filesize($dir '/' $val) > 0)
  86.                         {
  87.                             copy($dir '/' $val$dir '/mini/' $val);
  88.                             $miObjSize = new changeSize;
  89.                             $miObjSize->canviTamanyImatge($dir '/mini/' $val0284);
  90.                         }
  91.                     }
  92.                 }
  93.             }
  94.         }
  95.         
  96.         return new Response('miniatura');
  97.     }
  98.     public function viewImageAction(Request $peticion)
  99.     {
  100.         $dir getcwd() . '/cam1/';
  101.         $aRequest $peticion->request;
  102.         $aAttributer $peticion->attributes;
  103.         
  104.         $enWebcams $this->em->getRepository(Webcams::class)->findBy(array(
  105.             'id'        => $aAttributer->get('id_webcam'),
  106.             'visible'   => 1
  107.         ));
  108.         
  109.         if (!$enWebcams) die();
  110.         $response = new Response();
  111.         $disposition $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_INLINE$enWebcams[0]->getUrl());
  112.         $response->headers->set('Content-Disposition'$disposition);
  113.         $response->headers->set('Content-Type''image/png');
  114.         $response->setContent(file_get_contents($dir $enWebcams[0]->getUrl()));
  115.         
  116.         return $response;
  117.     }
  118. }