src/Controller/IndexController.php line 81

Open in your IDE?
  1. <?php
  2. // src/Controller/EntrepriseController.php
  3. namespace App\Controller;
  4. use App\Entity\SujetFAQ;
  5. use App\Entity\Article;
  6. use App\Entity\AppUser;
  7. use App\Entity\Product;
  8. use App\Entity\Review;
  9. use App\Entity\Category;
  10. use App\Entity\Order;
  11. use App\Entity\SlidePromo;
  12. use App\Entity\ProductOrder;
  13. use App\Entity\Entreprise;
  14. use App\Entity\ProductMisDeCote;
  15. use App\Entity\SubCategory;
  16. use App\Entity\AvisUtilisateur;
  17. use App\Form\SujetFAQType;
  18. use App\Form\AvisUtilisateurType;
  19. use App\Form\AvisUtilisateurEditType;
  20. use App\Form\ProductType;
  21. use App\Entity\ShippingMethod;
  22. use App\Entity\AbonneNewsletter;
  23. use App\Entity\Coupon;
  24. use App\Entity\EnseignantClasse;
  25. use App\Entity\Produit;
  26. use App\Entity\CategorieEntreprise;
  27. use App\Entity\UserBoutique;
  28. use App\Entity\Boutique;
  29. use Symfony\Component\HttpFoundation\Response;
  30. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  31. use Symfony\Component\HttpFoundation\Request;
  32. use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
  33. use Symfony\Component\Routing\Annotation\Route;
  34. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  35. /**
  36.  * @Route("")
  37.  */
  38. class IndexController extends AbstractController
  39. {    
  40.          private $session;
  41.     
  42.     public function __construct(SessionInterface $session)
  43.     {
  44.         $this->session $session;
  45.     }
  46.     
  47.     
  48.     /**
  49.      * @Route("", name="home_first")
  50.      * @return \Symfony\Component\HttpFoundation\Response
  51.      *
  52.      */
  53.     public function homeFirstAction()
  54.     {
  55.         $this->session->set('cart', array());
  56.         $domain '';
  57.         $em $this->getDoctrine()
  58.                     ->getManager();
  59.         $users $em->getRepository(AppUser::class)
  60.                     ->findAll();
  61.         
  62.         $ic $this->indexContentAction();
  63.         return $this->render('entreprise/accueil.html.twig', [
  64.             'domain' => $domain,
  65.             'categorieEntreprises' => $ic['categorieEntreprises'],
  66.             'avisUtilisateurs' => $ic['avisUtilisateurs'],
  67.             'boutiquesVedettes' => $ic['boutiquesVedettes']
  68.         ]);
  69.     }
  70.     
  71.     
  72.     /**
  73.      * @Route("/{_locale}", name="home")
  74.      * @return \Symfony\Component\HttpFoundation\Response
  75.      */
  76.     public function homeAction($_locale 'fr')
  77.     {
  78.         $ic $this->indexContentAction();
  79.         $domain '';
  80.         return $this->render('entreprise/accueil.html.twig', [
  81.             'domain' => $domain,
  82.             'categorieEntreprises' => $ic['categorieEntreprises'],
  83.             'avisUtilisateurs' => $ic['avisUtilisateurs'],
  84.             'boutiquesVedettes' => $ic['boutiquesVedettes']
  85.             
  86.         ]);
  87.         
  88.     }
  89.     public function indexContentAction()
  90.     {
  91.         $em $this->getDoctrine()
  92.                     ->getManager();
  93.         $user $this->getUser();
  94.         $userBoutiques $em->getRepository(UserBoutique::class)
  95.                             ->findByUser($user);
  96.         
  97.         $boutiques $em->getRepository(Boutique::class)
  98.                     ->findBy(
  99.                         array(
  100.                             'estSupprime' => false
  101.                         ),
  102.                         array(
  103.                             'nom' => 'ASC'
  104.                         )
  105.                     );
  106.         $nombreBoutique count($boutiques);
  107.         $categorieEntreprises $em->getRepository(CategorieEntreprise::class)
  108.                                     ->findBy(
  109.                                 array(
  110.                                     'estSupprime' => false
  111.                                 ),
  112.                                 array('nom' => 'ASC')
  113.                             );
  114.         $avisUtilisateurs $em->getRepository(AvisUtilisateur::class)
  115.                                     ->findBy(
  116.                                 array(),
  117.                                 array(),
  118.                                 5
  119.                             );
  120.         $boutiquesVedettes $em->getRepository(Boutique::class)
  121.                                     ->findBy(
  122.                                 array(),
  123.                                 array(),
  124.                                 5
  125.                             );
  126.         
  127.         return 
  128.         array(
  129.             'user' => $user,
  130.             'userBoutiques' => $userBoutiques,
  131.             'nombreBoutique' => $nombreBoutique,
  132.             'categorieEntreprises' => $categorieEntreprises,
  133.             'avisUtilisateurs' => $avisUtilisateurs,
  134.             'boutiquesVedettes' => $boutiquesVedettes
  135.         );
  136.     }
  137.     
  138.     /**
  139.      * @Route("{_locale}/chose-language", name="change_language")
  140.      * @return \Symfony\Component\HttpFoundation\Response
  141.      */
  142.     public function changeLanguageAction()
  143.     {
  144.         $languages = array(
  145.             'fr' => array(
  146.                 'short' => 'fr',
  147.                 'long' => 'Français'
  148.             ),
  149.             'en' => array(
  150.                 'short' => 'en',
  151.                 'long' => 'English'
  152.             )
  153.             );
  154.         return $this->render('entreprise/change_language.html.twig', [
  155.             'languages' => $languages
  156.         ]);
  157.     }
  158. }