src/Controller/ErrorController.php line 24

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Doctrine\Persistence\ManagerRegistry;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. class ErrorController extends AbstractController
  9. {
  10.     private $doctrine;
  11.     public function __construct(
  12.         ManagerRegistry $doctrine
  13.     )
  14.     {
  15.         $this->doctrine $doctrine;
  16.     }
  17.     public function pageNotFound(Request $request)
  18.     {
  19.         //dd($request);
  20.         $uri $_SERVER['REQUEST_URI'];
  21.         if (isset ($_GET['fbclid'])) {
  22.             $fb=$_GET['fbclid'];
  23.             $uri str_replace("?"""$uri);
  24.             $fb "fbclid=".$fb;
  25.             $uri str_replace($fb""$uri);
  26.         }
  27.         $uri str_replace("/stage/public"""$uri);
  28.         $uri substr($uri,1);
  29.         $data explode("/"$uri);
  30.         $media null;
  31.         $program null;
  32.         $post null;
  33.         $home 0;
  34.         $media $this->doctrine->getRepository('App\Entity\Media\Media')
  35.             ->findOneBy([
  36.                 "url" => $data[0],
  37.                 "isDeleted" => false
  38.             ]);
  39.         if (count($data)>and $media) {
  40.             if (in_array("p"$data)) {
  41.                 if ($data[1] != 'p') {
  42.                     $program $this->doctrine->getRepository('App\Entity\Program\Program')
  43.                         ->findOneBy([
  44.                             "url" => $data[1],
  45.                             "media"=>$media->getId(),
  46.                             "isDeleted" => false
  47.                         ]);
  48.                     if ($data[2] == 'p' and $program) {
  49.                         $post $this->doctrine->getRepository('App\Entity\Post\Post')
  50.                             ->findOneBy([
  51.                                 "id" => $data[3],
  52.                                 "media"=>$media->getId(),
  53.                                 "isDeleted" => false
  54.                             ]);
  55.                     }
  56.                 } else {
  57.                     $post $this->doctrine->getRepository('App\Entity\Post\Post')
  58.                         ->findOneBy([
  59.                             "id" => $data[2], "media"=>$media->getId(),
  60.                             "isDeleted" => false
  61.                         ]);
  62.                 }
  63.             } else {
  64.                 if ($data[1]) {
  65.                     $program $this->doctrine->getRepository('App\Entity\Program\Program')
  66.                         ->findOneBy([
  67.                             "url" => $data[1],
  68.                             "media"=>$media->getId(),
  69.                             "isDeleted" => false
  70.                         ]);
  71.                 }
  72.             }
  73.         }else{
  74.             if ($data[0]==null) {
  75.                 $home 1;
  76.             }
  77.         }
  78.         if ($home == 1) {
  79.             return $this->redirectToRoute('app_login');
  80.         } else {
  81.         return $this->render('error/page-not-found.html.twig', [
  82.             "media" => $media,
  83.             "program" => $program,
  84.             "post" => $post,
  85.             "home" => $home,
  86.         ]);
  87.     }
  88.     }
  89. }