src/Controller/OutilsController.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\AppelOffre;
  4. use App\Repository\ApiRepository;
  5. use App\Repository\AppelOffreRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class OutilsController extends AbstractController
  12. {
  13.     #[Route('/outils'name'app_outils')]
  14.     public function index(): Response
  15.     {
  16.         return $this->render('outils/index.html.twig', [
  17.             'controller_name' => 'OutilsController',
  18.         ]);
  19.     }
  20.     #[Route('/calculprojet'name'app_calculprojet')]
  21.     public function calculprojet(): Response
  22.     {
  23.         return $this->render('outils/calculprojet.html.twig', [
  24.             'controller_name' => 'OutilsController',
  25.         ]);
  26.     }
  27.     #[Route('/calculdevis'name'app_calculdevis')]
  28.     public function calculdevis(): Response
  29.     {
  30.         return $this->render('outils/calculdevis.html.twig', [
  31.             'controller_name' => 'OutilsController',
  32.         ]);
  33.     }
  34.     #[Route('/calculproduit'name'app_calculproduit')]
  35.     public function calculproduit(): Response
  36.     {
  37.         return $this->render('outils/calculproduit.html.twig', [
  38.             'controller_name' => 'OutilsController',
  39.         ]);
  40.     }
  41.     #[Route('/opportunites'name'app_opportunites_api')]
  42.     public function opportunite(Request $requestApiRepository $apiRepository,AppelOffreRepository $appelOffreRepositoryEntityManagerInterface $entityManager): Response
  43.     {
  44.         $mot $request->query->get('search');
  45.         $page $request->query->get('page');
  46.         $refine $request->query->get('refine');
  47.         if($page === "") {$page=0;}
  48.         if($refine === null) {$refine="Informatique+(prestations+de+services)";}
  49.         $curl $apiRepository->appelOffreDiscover($mot$refine,$page);
  50.         $response curl_exec($curl);
  51.         $err curl_error($curl);
  52.         curl_close($curl);
  53.         $data json_decode($responsetrue);
  54.         // search appel offre link to user in favorite
  55.         //$appelOffres = $this->getUser()->getAppelOffres();
  56.         $listes = [];
  57.         $candidater "";
  58.         $candidaterAd "";
  59.         $dateplus date("Y-m-d"strtotime("+7 months"));
  60.         if(!isset($data['error'])) {
  61.             foreach ($data['records'] as $key => $donnees) {
  62.                 $donnee json_decode($donnees['fields']['donnees'], true);
  63.                 if (isset($donnee['CONDITION_DELAI']['RECEPT_OFFRES']) && $donnee['CONDITION_DELAI']['RECEPT_OFFRES'] > date("Y-m-d") && $donnee['CONDITION_DELAI']['RECEPT_OFFRES'] < $dateplus) {
  64.                     $listes[$key] = array_merge($donnee['CONDITION_DELAI'], $donnee);
  65.                     $listes[$key]['idweb'] = $donnees['fields']['idweb'];
  66.                     $listes[$key]['pricefork'] = $donnees['fields']['famille_libelle'];
  67.                     if (isset($donnee['IDENTITE']['URL_PROFIL_ACHETEUR'])) {
  68.                         $listes[$key]['candidater'] = $donnee['IDENTITE']['URL_PROFIL_ACHETEUR'];
  69.                     } elseif (isset($donnee['IDENTITE']['URL'])) {
  70.                         $listes[$key]['candidater'] = $donnee['IDENTITE']['URL'];
  71.                     } elseif (isset($donnee['IDENTITE']['URL_DOCUMENT'])) {
  72.                         $listes[$key]['candidater'] = $donnee['IDENTITE']['URL_DOCUMENT'];
  73.                     }
  74.                 }
  75.             }
  76.         }
  77.         return $this->render('outils/opportunites.html.twig', [
  78.             'datas' => $listes,
  79.             'nb' => $data['nhits'],
  80.             'page' => $page,
  81.             'refine' => $refine
  82.         ]);
  83.     }
  84. }