src/Controller/HomeController.php line 50

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\ContactClient;
  4. use App\Entity\Product;
  5. use App\Repository\BlogRepository;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use App\Repository\ProductRepository;
  12. use App\Repository\ProductCategoryRepository;
  13. use App\Service\FileHandler;
  14. use App\Service\OrderService;
  15. use App\Service\ProductService;
  16. use App\Util\GenericUtil;
  17. use DateTime;
  18. use Doctrine\ORM\EntityManagerInterface;
  19. use Symfony\Contracts\Translation\TranslatorInterface;
  20. class HomeController extends AbstractController
  21. {
  22. private $entityManager;
  23. private $productRepository;
  24. private $blogRepository;
  25. private $productCategoryRepository;
  26. private $productService;
  27. private $fileHandler;
  28. public function __construct(EntityManagerInterface $entityManager,
  29. ProductRepository $productRepository,
  30. BlogRepository $blogRepository,
  31. ProductCategoryRepository $productCategoryRepository,
  32. ProductService $productService,
  33. FileHandler $fileHandler)
  34. {
  35. $this->entityManager = $entityManager;
  36. $this->productRepository = $productRepository;
  37. $this->blogRepository = $blogRepository;
  38. $this->productCategoryRepository = $productCategoryRepository;
  39. $this->productService = $productService;
  40. $this->fileHandler = $fileHandler;
  41. }
  42. #[Route('/', name: 'app_home_index')]
  43. public function index(): Response
  44. {
  45. $featuredProducts = $this->productRepository->getFeaturedProducts();
  46. $monthProducts = $this->productRepository->getMonthProducts();
  47. $blog = $this->blogRepository->getRecentBlog(3);;
  48. $error = null;
  49. return $this->render('home/home_index.html.twig', [
  50. 'controller_name' => 'HomeController',
  51. 'products' => $featuredProducts,
  52. 'monthProducts' => $monthProducts,
  53. 'blogList' => $blog,
  54. 'error' => $error,
  55. ]);
  56. }
  57. #[Route('/setLocalSession', name:'app_setLocal_session')]
  58. public function setLocal(Request $request)
  59. {
  60. if($local = $request->request->get('local')) {
  61. $session = $request->getSession();
  62. $session->set('localSession', $local);
  63. }
  64. return new JsonResponse([
  65. 'error' => false,
  66. ]);
  67. }
  68. }