<?php
namespace App\Controller;
use App\Entity\AppelOffre;
use App\Repository\ApiRepository;
use App\Repository\AppelOffreRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class OutilsController extends AbstractController
{
#[Route('/outils', name: 'app_outils')]
public function index(): Response
{
return $this->render('outils/index.html.twig', [
'controller_name' => 'OutilsController',
]);
}
#[Route('/calculprojet', name: 'app_calculprojet')]
public function calculprojet(): Response
{
return $this->render('outils/calculprojet.html.twig', [
'controller_name' => 'OutilsController',
]);
}
#[Route('/calculdevis', name: 'app_calculdevis')]
public function calculdevis(): Response
{
return $this->render('outils/calculdevis.html.twig', [
'controller_name' => 'OutilsController',
]);
}
#[Route('/calculproduit', name: 'app_calculproduit')]
public function calculproduit(): Response
{
return $this->render('outils/calculproduit.html.twig', [
'controller_name' => 'OutilsController',
]);
}
#[Route('/opportunites', name: 'app_opportunites_api')]
public function opportunite(Request $request, ApiRepository $apiRepository,AppelOffreRepository $appelOffreRepository, EntityManagerInterface $entityManager): Response
{
$mot = $request->query->get('search');
$page = $request->query->get('page');
$refine = $request->query->get('refine');
if($page === "") {$page=0;}
if($refine === null) {$refine="Informatique+(prestations+de+services)";}
$curl = $apiRepository->appelOffreDiscover($mot, $refine,$page);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$data = json_decode($response, true);
// search appel offre link to user in favorite
//$appelOffres = $this->getUser()->getAppelOffres();
$listes = [];
$candidater = "";
$candidaterAd = "";
$dateplus = date("Y-m-d", strtotime("+7 months"));
if(!isset($data['error'])) {
foreach ($data['records'] as $key => $donnees) {
$donnee = json_decode($donnees['fields']['donnees'], true);
if (isset($donnee['CONDITION_DELAI']['RECEPT_OFFRES']) && $donnee['CONDITION_DELAI']['RECEPT_OFFRES'] > date("Y-m-d") && $donnee['CONDITION_DELAI']['RECEPT_OFFRES'] < $dateplus) {
$listes[$key] = array_merge($donnee['CONDITION_DELAI'], $donnee);
$listes[$key]['idweb'] = $donnees['fields']['idweb'];
$listes[$key]['pricefork'] = $donnees['fields']['famille_libelle'];
if (isset($donnee['IDENTITE']['URL_PROFIL_ACHETEUR'])) {
$listes[$key]['candidater'] = $donnee['IDENTITE']['URL_PROFIL_ACHETEUR'];
} elseif (isset($donnee['IDENTITE']['URL'])) {
$listes[$key]['candidater'] = $donnee['IDENTITE']['URL'];
} elseif (isset($donnee['IDENTITE']['URL_DOCUMENT'])) {
$listes[$key]['candidater'] = $donnee['IDENTITE']['URL_DOCUMENT'];
}
}
}
}
return $this->render('outils/opportunites.html.twig', [
'datas' => $listes,
'nb' => $data['nhits'],
'page' => $page,
'refine' => $refine
]);
}
}