src/Controller/DefaultController.php line 81

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  9. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  10. use App\Entity\Video;
  11. use App\Entity\AcModule;
  12. use App\Repository\AcModuleRepository;
  13. use App\Repository\VideoRepository;
  14. class DefaultController extends AbstractController
  15. {
  16.    
  17.  
  18.     /**
  19.      * @Route("/api/{id}", name="api")
  20.      */
  21.     public function api($id)
  22.     {
  23.        
  24.         // $videos = $this->getDoctrine()
  25.         // ->getRepository(Video::class)
  26.         // ->findAll();
  27.         $sql="select id,description,slug,created from video where active = 1 and id_element=".$id."";
  28.         $stmt $this->getDoctrine()->getConnection()->prepare($sql);
  29.         $stmt->execute();
  30.         $data $stmt->fetchAll();
  31.         $response = new Response();
  32.         $response->setContent(json_encode($data));
  33.         $response->headers->set('Content-Type''application/json');
  34.         // Allow all websites
  35.         $response->headers->set('Access-Control-Allow-Origin''*');
  36.         $response->headers->set('Access-Control-Allow-Methods''POST, GET, PUT, DELETE, PATCH, OPTIONS');
  37.         //$response->headers->set('Access-Control-Allow-Origin', 'https://jsfiddle.net/');//$response->headers->set('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, PATCH, OPTIONS');    
  38.         return $response;
  39.     }
  40.     // /**
  41.     //  * @Route("/index", name="index")
  42.     //  */
  43.     // public function index()
  44.     // {
  45.     //     // $sql="select id,code,designation from ac_module";
  46.     //     // $stmt = $this->getDoctrine()->getConnection()->prepare($sql);
  47.     //     // $stmt->execute();
  48.     //     // $data = $stmt->fetchAll();
  49.         
  50.     //     // return $this->json( $data,200);
  51.     //      echo phpinfo();
  52.     //     $videos = $this->getDoctrine()
  53.     //     ->getRepository(Video::class)
  54.     //     ->findAll();
  55.     //     return $this->render('default/index.html.twig', [ 'videos' => $videos ]);
  56.     // }
  57.     
  58.     /**
  59.      * @Route("/video/{slug}", name="video")
  60.      */
  61.      public function video($slug)
  62.      {
  63.         // echo 'test';
  64.         // print_r($_SESSION['url']);
  65.         //  if(!isset($_SERVER['HTTP_REFERER'])){
  66.         //     // redirect them to your desired location
  67.         //     header('location:https://www.ues.ma/login');
  68.         //     exit;
  69.         // }
  70.         // dd($slug);
  71.          $video $this->getDoctrine()->getRepository(Video::class)->findBySlug($slug);
  72.         
  73.         // $video = $this->getDoctrine()
  74.         // ->getRepository(Video::class)
  75.         // ->findOneBy(['slug' => $slug]);
  76.         $videos $this->getDoctrine()
  77.         ->getRepository(Video::class)
  78.         ->findAll();
  79.          return $this->render('default/video.html.twig', [ 'video' => $video,'videos' => $videos ]);
  80.      }
  81.      
  82.  
  83.      /**
  84.      * @Route("/", name="home")
  85.      * @Security("is_granted('ROLE_ADMIN')")
  86.      */
  87.     public function home()
  88.     {
  89.         $username $this->get('security.token_storage')->getToken()->getUser()->getUsername();
  90.         $AcModule $this->getDoctrine()
  91.         ->getRepository(AcModule::class)
  92.         ->findAll();
  93.         return $this->render('default/admin/home.html.twig', [ 'AcModule' => $AcModule'username' => $username ]);
  94.     }
  95.     /**
  96.      * @Route("/insertVideo", name="insertVideo")
  97.      */
  98.     public function insertVideo(Request $request)
  99.     {
  100.         return $this->render('default/admin/home.html.twig', [ 'controller_name' => 'video', ]);
  101.     }
  102.     /**
  103.      * @Route("/info_piece", name="info_piece")
  104.     */
  105.     public function infoPiece(Request $request,AcModuleRepository $acModuleRepository) {
  106.         
  107.         $link '';
  108.         // $files = $request->files->get('files')['file'];
  109.         // $i = 0;
  110.         // foreach($files as $file){
  111.         //     /**
  112.         //      * @var UploadedFile $file
  113.         //      */
  114.         //     $fileName = md5(uniqid()).'!!'.$file->getClientOriginalName().'.'.$file->guessExtension();
  115.         //     if($i == 0){
  116.         //         $link = $fileName ;
  117.         //     }else{
  118.         //         $link = $link .'|'. $fileName ;
  119.         //     }
  120.             
  121.         //     $save = $file->move($this->getParameter('brochures_directory'),$fileName);
  122.         //     $i=1;
  123.             
  124.         // }
  125.         
  126.         // $file        = $request->files->get('fileToUpload');
  127.         // $video       = $request->files->get('videoToUpload');
  128.         $description $request->get('description');
  129.         // $select      = $request->get('slct');
  130.         $Etablissement      $request->get('Etablissement');
  131.         $Formation          $request->get('Formation');
  132.         $Promotion          $request->get('Promotion');
  133.         $Semestre           $request->get('Semestre');
  134.         $Module             $request->get('Module');
  135.         $Element            $request->get('Element');
  136.         
  137.         $description_replace str_replace("/","+",$description);
  138.         // if(isset($video)){
  139.             
  140.         //     $slug               = md5(uniqid()).$video->getClientOriginalName();
  141.         //     // $fileName    = md5(uniqid()).'.'.$file->guessExtension();
  142.         //     $videoName   = md5(uniqid()).'.'.md5($video->guessExtension());
  143.             
  144.         //     // $save      = $file->move($this->getParameter('brochures_directory'),$fileName);
  145.         //     $saveVideo = $video->move($this->getParameter('brochures_directory'),$videoName);
  146.         // dd(date("Y/m/d"));
  147.         
  148.         // }
  149.         
  150.         
  151.         $entityManager $this->getDoctrine()->getManager();
  152.         // $acModule = $this->getDoctrine()
  153.         // ->getRepository(AcModule::class)
  154.         // ->find(intval($select));
  155.         $Video = new Video();
  156.         // if(isset($video)){
  157.         //     $Video->setVideo($videoName);
  158.         // }
  159.         
  160.         $Video->setVideo($description_replace);
  161.         $Video->setDescription($description_replace);
  162.         $Video->setPiece($link);
  163.         $Video->setIdEtablissement($Etablissement);
  164.         $Video->setIdFormation($Formation);
  165.         $Video->setIdPromotion($Promotion);
  166.         $Video->setIdSemestre($Semestre);
  167.         $Video->setIdModulee($Module);
  168.         $Video->setIdElement ($Element);
  169.         $Video->setSlug ($description_replace);
  170.         $dNow        = new \DateTime(date("Y/m/d"));
  171.         $date explode("/",date("Y/m/d"));
  172.         if($date['1'] > 8){
  173.               $dateP date("Y/m/d"strtotime('+1 year')) ;
  174.               $dNow        = new \DateTime($dateP);
  175.               $Video->setCreated ($dNow);
  176.         }else{
  177.               $Video->setCreated ($dNow);
  178.         }
  179.         
  180.         // if(isset($slug)){
  181.         //      $Video->setSlug ($slug);
  182.         // }
  183.         // $Video->setImage($fileName);
  184.         // $Video->setIdModule($acModule);
  185.         // tell Doctrine you want to (eventually) save the Product (no queries yet)
  186.         $entityManager->persist($Video);
  187.         // actually executes the queries (i.e. the INSERT query)
  188.         $entityManager->flush();
  189.  
  190.         // ------------------------------------------------------------
  191.         // // $uploadDir  = $this->getParameter('brochures_directory');
  192.         // foreach($files as $file){
  193.         //     /**
  194.         //      * @var UploadedFile $file
  195.         //      */
  196.         //     $fileName = md5(uniqid()).'.'.$file->guessExtension();
  197.         //     $save = $file->move($this->getParameter('brochures_directory'),$fileName);
  198.         //     if($save){print('ziko');}
  199.         //     else{print('non');}
  200.         // }
  201.         
  202.         // return new Response($file->getClientOriginalName(). " " .$video->getClientOriginalName() );  
  203.         return $this->redirectToRoute('home');
  204.                  
  205.                  
  206.             
  207.     }
  208.     /**
  209.      * @Route("/login", name="login")
  210.      */
  211.      public function login()
  212.      {
  213.  
  214.          return $this->render('default/login.html.twig', [ 'controller_name' => 'video', ]);
  215.      }
  216.     
  217.   
  218. }