src/Controller/Front/SeoController.php line 85

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front;
  3. use Symfony\Component\HttpFoundation\Response;
  4. use Symfony\Component\Routing\Annotation\Route;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Doctrine\ORM\EntityManager;
  7. use App\Service\Search;
  8. use App\Manager\StoreManager;
  9. class SeoController extends FrontController
  10. {
  11.     
  12.     /**
  13.      * @Route("/professionnel/product_info.php", name="old_product", requirements={"id"="\d+"})
  14.      */
  15.     public function oldProduct(Request $request, \Doctrine\ORM\EntityManagerInterface $em)
  16.     {
  17.         $pid $request->get('products_id');
  18.         $lang $request->get('language''fr');
  19.         if($pid){
  20.             $product $em->getRepository('App:Product')->find($pid);
  21.             if($product){
  22.                 $desc $product->getProductDescription($lang);
  23.                 return $this->redirectToRoute('product',[
  24.                     '_locale' => $lang,
  25.                     'id' => $pid,
  26.                     'url' => $desc $desc->getUrl() : ''
  27.                 ], 301); 
  28.             }
  29.         }
  30.         return $this->redirectToRoute('index', ['_locale'=>$lang], 301);
  31.     }
  32.     
  33.     /**
  34.      * @Route("/professionnel/index.php", name="old_page")
  35.      */
  36.     public function oldIndex(Request $request, \Doctrine\ORM\EntityManagerInterface $em)
  37.     {
  38.         $cPath $request->get('cPath');
  39.         $lang $request->get('language''fr');
  40.         if($cPath){
  41.             $cids explode('_',$cPath);
  42.             $category $em->getRepository('App:Category')->find(array_pop($cids));
  43.             if($category){
  44.                 $desc $category->getCategoryDescription($lang);
  45.                 return $this->redirectToRoute('category',[
  46.                     '_locale' => $lang,
  47.                     'id' => $category->getId(),
  48.                     'url' => $desc $desc->getUrl() : ''
  49.                 ], 301); 
  50.             }
  51.         }
  52.         return $this->redirectToRoute('index', ['_locale'=>$lang], 301);
  53.     }
  54.     
  55.     /**
  56.      * @Route("/professional/index.php", name="old_page_en")
  57.      */
  58.     public function oldIndexEn(Request $request, \Doctrine\ORM\EntityManagerInterface $em)
  59.     {
  60.         return $this->redirectToRoute('index', ['_locale'=>'fr'], 301);
  61.     }
  62.     
  63.     /**
  64.      * @Route("/professionnel/faq.php", name="old_faq", requirements={"id"="\d+"})
  65.      */
  66.     public function oldFaq(Request $request, \Doctrine\ORM\EntityManagerInterface $em)
  67.     {
  68.         return $this->redirectToRoute('index', ['_locale'=>"fr"], 301);
  69.     }
  70.     
  71.     /**
  72.      * @Route("/category/{category}/page/{page}/", name="old_faq", requirements={"page"="\d+","category"="[a-zA-Z]+"})
  73.      */
  74.     public function oldCategory($category$pageRequest $request, \Doctrine\ORM\EntityManagerInterface $em)
  75.     {
  76.         return $this->redirectToRoute('index', ['_locale'=>"fr"], 301);
  77.     }
  78.     
  79.     /**
  80.      * @Route("/{url}", name="default_controller", requirements={ "url": "^(?!media)[€\+&=ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿa-zA-Z0-9\-_\/%\s.^]+" }, priority=-10)
  81.      */
  82.     public function defaultRoute($urlRequest $request, \Doctrine\ORM\EntityManagerInterface $em, \App\Manager\RedirectionManager $redirectMgr)
  83.     {
  84.         $redirect $em->getRepository('App:Redirection')->findOneByFromUrl($url);
  85.         if($redirect){
  86.             return $this->redirect($redirectMgr->getRedirectUrl($redirect), 301);
  87.         }
  88.         throw new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException();
  89.     }
  90.     
  91. }