src/Controller/MainController.php line 49

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Knp\Component\Pager\PaginatorInterface;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use App\Repository\BusinessInformationRepository;
  9. use App\Repository\BannerRepository;
  10. use App\Repository\LogoPARepository;
  11. use App\Repository\BlogRepository;
  12. use App\Repository\BusinessCategoriesRepository;
  13. use App\Entity\Company;
  14. use App\Repository\CompanyRepository;
  15. use App\Form\CompanyType;
  16. use Doctrine\Persistence\ManagerRegistry as PersistenceManagerRegistry;
  17. //use Doctrine\ORM\EntityManagerInterface;
  18. use Doctrine\ORM\EntityManagerInterface;
  19. class MainController extends AbstractController
  20. {
  21.     #[Route('/'name'app_main')]
  22.     public function index(Request $requestBusinessInformationRepository $repositoryBlogRepository $blog_repository,  LogoPARepository $logo_repositoryBannerRepository $banner_repositoryPaginatorInterface $paginator): Response
  23.     {
  24.   //show banner      
  25. $banner$banner_repository->findBy( ['active' => true]);
  26. //client a la une
  27.     $business=$paginator->paginate($repository->findBy
  28.         ['alaune' => true]
  29.       
  30.   ),
  31.    $request->query->getInt('page'1),
  32.    20);
  33.    //Logo Page d'Accueil
  34.    $logo$logo_repository->findBy( ['active' => true]);
  35.      //Blog Page d'Accueil
  36.      $blog$blog_repository->findBy( ['active' => true]);
  37.   return $this->render('main/index.html.twig',[
  38.       "business"=>$business,
  39.       "banners"=>$banner,
  40.       "logos"=>$logo,
  41.       "blogs"=>$blog,
  42. ]);
  43.     }
  44.      // Fonction ajouter entreprise 
  45.     #[Route('/ajouter'name'ajouter')]
  46. public function ajouter(Request $requestPersistenceManagerRegistry $doctrine) :Response 
  47. {
  48.    $em $doctrine->getManager();
  49.     $company=new Company();
  50. //$email=$company->getEmail();
  51.         
  52.         $form $this->createForm(CompanyType::class, $company);
  53.         $form->handleRequest($request);
  54.         if ($form->isSubmitted() && $form->isValid()){
  55.             $em->persist($company);
  56.            $em->flush();
  57.             // send mail
  58.             $this->addFlash('success''Ajout avec succes');
  59.             return $this->redirectToRoute('ajouter');
  60.         }
  61.         return $this->render('main/ajouter_entreprise.html.twig',[
  62.             'company'=>$company,
  63.             'form'=>$form->createView()
  64.         ]);
  65. }
  66. //SHOW CUSTMER DETAIL
  67.     #[Route('/c/{id}-{slug}'name'customer.show')]
  68.     public function show($id$slug,Request $requestBusinessInformationRepository $repository) :Response
  69.     {
  70.         
  71.         $business $repository->find($id);
  72.        
  73.           
  74.         return $this->render('main/showcustomerdetail.html.twig',[
  75.           'business' => $business ,
  76.        
  77.        ]);
  78.       }
  79.       
  80. //Recherche par secteur d'activité 
  81.    
  82.     #[Route('/s/{id}-{slug}'name'customer.secteur')]
  83.      public function SecteurActivity(PaginatorInterface $paginatorRequest $request,$id,$slugBusinessCategoriesRepository $businesscat) :Response
  84.      {
  85.          $group_id=$id;
  86.          switch ($group_id) {
  87.  case 3:
  88.      $secteur "Administration";
  89.      $banner_v='LAITERIE -safi.jpg';
  90.         break;
  91.  case 4:
  92.      $secteur "Agroalimentaire";
  93.       $banner_v='LAITERIE -safi.jpg';
  94.         break;
  95.  case 5:
  96.      $secteur "Chimie, Petrochimie";
  97.      $banner_v='LAITERIE -safi.jpg';
  98.         break;
  99.  case 6:
  100.      $secteur "Commerce";
  101.      $banner_v='geramelec.jpg';
  102.         break;
  103.  case 7:
  104.      $secteur "Construction";
  105.      $banner_v='ARRAYANE_PROMOTION.jpg';
  106.         break;
  107.  case 8:
  108.      $secteur "Formation, Enseignement";
  109.      $banner_v='formation_dle.jpg';
  110.         break;
  111.  case 9:
  112.      $secteur "Fournitures, Equipements";
  113.      $banner_v='GRS-ALGERIE.jpg';
  114.         break;
  115.  case 10:
  116.      $secteur "Import/Export";
  117.      $banner_v='besthouse.jpg';
  118.         break;
  119.  case 11:
  120.      $secteur "Impression, Edition";
  121.      $banner_v='impression_ipm.jpg';
  122.         break;
  123.  case 12:
  124.     
  125.      $secteur "Industrie de production";
  126.      $banner_v='LAITERIE -safi.jpg';
  127.       break;
  128.     
  129.  case 13:
  130.      $secteur "Santé";
  131.      $banner_v='sante_laboratoire_hematologie.jpg';
  132.         break;
  133.  case 14:
  134.      $secteur "Service";
  135.      $banner_v='MAGHREB_PROSPECTION.jpg';
  136.         break;
  137.  case 15:
  138.      $secteur "Tourisme";
  139.      $banner_v='tourisme_elboustane.jpg';
  140.         break;
  141.  case 16:
  142.      $secteur "Transport";
  143.      $banner_v='FRICTION.jpg';
  144.         break;
  145.  case 17:
  146.      $secteur "Sport, Artisanat & Loisirs";
  147.      $banner_v='LAITERIE -safi.jpg';
  148.         break;
  149.  case 18:
  150.      $secteur "Elevage, aviculture et horticulture";
  151.      $banner_v='elevage_bouhadra.jpg';
  152.         break;
  153.  }
  154.  
  155.  //$repository = $this->getDoctrine()->getRepository(BusinessCategories::class);
  156.         // $product = $this->repository->findByMarque($marque);
  157.         //pagin
  158.         
  159.            $business=$paginator->paginate($businesscat->findBy
  160.                ['group_id' => $group_id],
  161.                 
  162.              ['statut' => 'DESC']
  163.          ),
  164.           $request->query->getInt('page'1),
  165.           11);
  166.     
  167.       // dump($business);
  168.         return $this->render('main/showcustomersecteur.html.twig',[
  169.         "business"=>$business,
  170.          "secteur"=>$secteur,
  171.          "banner"=>$banner_v,
  172.                 ]   );
  173.          
  174.      } 
  175. // Liste client de la rubriques
  176.      
  177.      #[Route('/detail/{id}-{slug}'name'customer.detail.rubrique')]
  178.     public function BusinessDetailRubrique(PaginatorInterface $paginatorRequest $request$id,$slugBusinessInformationRepository $repository ) :Response
  179.     {
  180.         $category=$id;
  181.         $category =  (string)$id;
  182.         //$banner=$bv;
  183.        // dd($banner);
  184.       //  echo $category;
  185.        // $business = $this->repository->findCategory($category);
  186.       //  $repository = $this->getDoctrine()->getRepository(BusinessInformation::class);
  187.            /* $business=$paginator->paginate($repository->findBy( 
  188.               ['categories' => $category]      ),
  189.          $request->query->getInt('page', 1),
  190.          9);
  191.        */
  192.            $business=$paginator->paginate($repository->findCategory($category),
  193.          $request->query->getInt('page'1),
  194.          9);
  195.        
  196.        // dump($business);
  197.      return $this->render('main/showcustomers.html.twig',[  
  198.            "business"=>$business
  199.           // "bannerv"=>$banner
  200.        ]   );
  201.          // return new Response(            '<html><body>Lucky number: '.$category.'</body></html>'        );
  202.     
  203.  
  204. //Static Routes
  205.     #[Route('/qui-sommes-nous'name'app_about')]
  206.     public function about(): Response
  207.     {
  208.         return $this->render('main/about.html.twig');
  209.     }
  210.     #[Route('/nos-offres'name'app_nos_offres')]
  211.     public function offre(): Response
  212.     {
  213.         return $this->render('main/offre.html.twig');
  214.     }
  215.     
  216.     #[Route('/appel-offres'name'app_appel_offres')]
  217.     public function appel(): Response
  218.     {
  219.         return $this->render('main/appel_offre.html.twig');
  220.     }
  221.     #[Route('/tout-secteur'name'app_secteur')]
  222.     public function secteur(): Response
  223.     {
  224.         return $this->render('main/secteurs.html.twig');
  225.     }
  226.     #[Route('/blogs'name'app_blogs')]
  227.     public function blog(BlogRepository $blog_repository): Response
  228.     {
  229.         $blog=$blog_repository->findAll();
  230.         return $this->render('main/blogs.html.twig',
  231.     [
  232.         "blogs"=>$blog
  233.     ]);
  234.     }
  235. }