src/Controller/VendreEntrepriseController.php line 640

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Services\MetaTag;
  4. use App\Helper\ParametersProvider;
  5. use App\Entity\AnnoncesVendeur;
  6. use App\Entity\RaisonsCession;
  7. use App\Entity\SecteursActivite;
  8. use App\Entity\Societes;
  9. use App\Entity\Statuts;
  10. use App\Entity\Villes;
  11. use App\Services\ManagerEntity\ActualitesManagers;
  12. use App\Services\ManagerEntity\AnnoncesManagers;
  13. use App\Services\ManagerEntity\SecteursActiviteManagers;
  14. use App\Services\ManagerEntity\SocietesManagers;
  15. use App\Services\ManagerEntity\ValorisationsManagers;
  16. use App\Services\ManagerEntity\LocalisationsManagers;
  17. use App\Services\ManagerEntity\DroitsAccesManagers;
  18. use App\Services\ManagerEntity\CommandesManager;
  19. use App\Services\PDFGenerator;
  20. use App\Twig\TranslationExtension;
  21. use Knp\Component\Pager\PaginatorInterface;
  22. use Symfony\Component\Form\Extension\Core\Type\ButtonType;
  23. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  24. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  25. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  26. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  27. use Symfony\Component\Form\Extension\Core\Type\TextType;
  28. use Symfony\Component\Form\Forms;
  29. use Symfony\Component\HttpFoundation\Request;
  30. use Symfony\Component\HttpFoundation\Response;
  31. use App\Entity\AnnoncesAcheteur;
  32. use App\Helper\DateProvider;
  33. use App\Services\ManagerEntity\AnnuairesManagers;
  34. use App\Entity\AnnuaireRepreneurs;
  35. use App\Form\Models\ContactezDirectementFondsInvestissement;
  36. use App\Form\Type\ContactezDirectementFondsInvestissementType;
  37. use App\Helper\Utils;
  38. use App\Services\ManagerEntity\ContactGenerauxManagers;
  39. use App\Entity\SecteursActiviteFonds;
  40. use App\Services\ManagerEntity\BuzzManagers;
  41. use App\Helper\DetailAnnonceProvider;
  42. use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
  43. use App\Repository\LocalisationsRepository;
  44. use App\Repository\BuzzOperationsRepository;
  45. use App\Repository\ParametresDiversRepository;
  46. use Doctrine\ORM\EntityManagerInterface;
  47. use App\Entity\Panier;
  48. use App\Entity\StatistiquesNbConsultationsAnnoncesAcheteurEntity;
  49. use App\Repository\CommandesRepository;
  50. use App\Services\TelephoneInternational;
  51. use App\Services\Compte\Commandes\CommandesManagers;
  52. use App\Services\GoogleTag;
  53. use App\Services\ManagerEntity\ParametreSiteManagers;
  54. use App\Services\Encryptage\AesEncrytageStrategy;
  55. use App\Services\Annonces\ConsultationsAnnonce;
  56. use App\Security\Voter\AnnonceCommandVoter;
  57. use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
  58. class VendreEntrepriseController extends EntityUsingController {
  59.     protected $authChecker;
  60.     /**
  61.      * @var AnnoncesManagers
  62.      */
  63.     private $am;
  64.     /**
  65.      * @var SocietesManagers
  66.      */
  67.     private $sm;
  68.     /**
  69.      * @var LocalisationsManagers
  70.      */
  71.     private $lm;
  72.     /**
  73.      * @var SecteursActiviteManagers
  74.      */
  75.     private $sam;
  76.     /**
  77.      * @var DroitsAccesManagers
  78.      */
  79.     private $dm;
  80.     /**
  81.      * @var EntityManagerInterface
  82.      */
  83.     private $em;
  84.     /**
  85.      * @var CommandesManager
  86.      */
  87.     private $cm;
  88.     /**
  89.      * @var AnnuairesManagers
  90.      */
  91.     private $arm;
  92.     /**
  93.      * @var DroitsAccesManagers $dam;
  94.      */
  95.     private $dam;
  96.     /**
  97.      * @var MetaTag
  98.      */
  99.     private $metaTag;
  100.     public function __construct(AuthorizationCheckerInterface $authCheckerAnnoncesManagers $amSocietesManagers $smLocalisationsManagers $lmContactGenerauxManagers $cgmAnnuairesManagers $armPDFGenerator $pfSecteursActiviteManagers $samDroitsAccesManagers $dmEntityManagerInterface $emCommandesManager $cmDroitsAccesManagers $damMetaTag $metaTag) {
  101.         $this->authChecker $authChecker;
  102.         $this->am $am;
  103.         $this->sm $sm;
  104.         $this->lm $lm;
  105.         $this->cgm $cgm;
  106.         $this->arm $arm;
  107.         $this->pf $pf;
  108.         $this->sam $sam;
  109.         $this->dm $dm;
  110.         $this->em $em;
  111.         $this->cm $cm;
  112.         $this->dam $dam;
  113.         $this->metaTag $metaTag;
  114.     }
  115.     public function index(): Response {
  116.         return $this->render('vendre_entreprise/index.html.twig');
  117.     }
  118.     public function recherchestandardacquisition(Request $requestTranslationExtension $translationExtensionContainerBagInterface $container$codePays): Response {
  119.         $reference_mots_cles $request->query->get('reference_mots_cles');
  120.         // Si on fait une recherche simple
  121.         if (isset($reference_mots_cles) && $reference_mots_cles != "") {
  122.             // Si on recherche par idAnnonce
  123.             if (preg_match("/v([0-9]{3,8})/i"$reference_mots_cles) == true || preg_match("/([0-9]{3,8})/"$reference_mots_cles) == true) {
  124.                 $idAnnonce preg_replace("/[^0-9]/"""$reference_mots_cles);
  125.                 $annonce $this->am->getAnnonceAcheteurById($idAnnonce);
  126.                 // Si l'annonce existe et est publique
  127.                 if ($annonce && $annonce['mode_annonce'] == "publique") {
  128.                     $slug Utils::slugify($annonce['titre_annonce']);
  129.                     //return $this->forward('App\Controller\VendreEntrepriseController::redirectiononglet', ['slug' => $slug, 'idAnnonce' => $idAnnonce, 'codePays' => $codePays]);
  130.                     return $this->redirectToRoute('vendre_entreprise_annonce_acquisition_details', ['slug' => $slug'idAnnonce' => $idAnnonce'codePays' => $codePays'nomLocalisation' => $annonce['nom_localisation_slug']]);
  131.                 } else {
  132.                     $lang $request->getSession()->get('lang');
  133.                     $this->addFlash('error'$translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification'$lang'''M'''));
  134.                 }
  135.                 // Si on recherche par mots cles
  136.             } else {
  137.                 // A developper
  138.                 //$nombre_annonces = donne_nb_annonces_vente_recherche($parametres_redirection);
  139.                 //loggage_mots_cles_recherche_vente($parametres_redirection["reference_mots_cles"],$nombre_annonces);
  140.                 $request->query->set('type_recherche'5);
  141.                 return $this->forward('App\Controller\VendreEntrepriseController::acquisition', ['codePays' => $codePays'request' => $request]);
  142.             }
  143.         }
  144.         /* $dernieresAnnonces = $this->am->getDernieresAnnoncesAcquisitions(5, "entreprise");
  145.           $array_annonce_region_france = $this->am->donne_tableau_nb_annonce_acheteur_par_region();
  146.           $nb_regions = count($array_annonce_region_france);
  147.           if ($nb_regions % 2 != 0) {
  148.           $moitie = ceil($nb_regions / 2);
  149.           } else {
  150.           $moitie = $nb_regions / 2;
  151.           }
  152.           $colonne_region_gauche = array_slice($array_annonce_region_france, 0, $moitie);
  153.           $colonne_region_droite = array_slice($array_annonce_region_france, $moitie);
  154.           $nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_annonces_acquisition'];
  155.           $nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_annonces_acquisition'];
  156.           $nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_annonces_acquisition'];
  157.           $nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_annonces_acquisition'];
  158.           $annonces_secteur_activite = $this->getNbAnnoncesBySecteursActivite(); */
  159.         return $this->render(
  160.                         'vendre_entreprise/recherche_standard_acquisition.html.twig',
  161.                         [
  162.                         /* 'dernieresAnnonces' => $dernieresAnnonces,
  163.                           'colonne_region_gauche' => $colonne_region_gauche,
  164.                           'colonne_region_droite' => $colonne_region_droite,
  165.                           'nb_annonce_belgique' => $nb_annonce_belgique,
  166.                           'nb_annonce_canada' => $nb_annonce_canada,
  167.                           'nb_annonce_suisse' => $nb_annonce_suisse,
  168.                           'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  169.                           'annonces_secteur_activite' => $annonces_secteur_activite,
  170.                           'array_annonce_region_france' => $array_annonce_region_france */
  171.                         ]
  172.                 );
  173.     }
  174.     public function dernieresAnnoncesAcquisition($lang$codePays) {
  175.         $dernieresAnnonces $this->am->getDernieresAnnoncesAcquisitions(5"entreprise"null$lang$this->getIdPaysByCodePays($codePays));
  176.         return $this->render(
  177.                         'vendre_entreprise/fragments/annonce_acquisition/dernieres_annonces.html.twig',
  178.                         [
  179.                             'dernieresAnnonces' => $dernieresAnnonces,
  180.                             'lang' => $lang,
  181.                             'codePays' => $codePays
  182.                         ]
  183.                 );
  184.     }
  185.     public function trouverAnnonceAcquisitionParLocalisation($lang$codePays) {
  186.         $array_annonce_region_du_pays $this->am->donne_tableau_nb_annonce_acheteur_par_region($this->getIdPaysByCodePays($codePays));
  187.         $nb_regions count($array_annonce_region_du_pays);
  188.         if ($nb_regions != 0) {
  189.             $moitie ceil($nb_regions 2);
  190.         } else {
  191.             $moitie $nb_regions 2;
  192.         }
  193.         $colonne_region_gauche array_slice($array_annonce_region_du_pays0$moitie);
  194.         $colonne_region_droite array_slice($array_annonce_region_du_pays$moitie);
  195.         $nb_annonce_france $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_annonces_acquisition'];
  196.         $nb_annonce_belgique $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_annonces_acquisition'];
  197.         $nb_annonce_canada $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_annonces_acquisition'];
  198.         $nb_annonce_suisse $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_annonces_acquisition'];
  199.         $nb_annonce_autres_pays $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_annonces_acquisition'];
  200.         return $this->render(
  201.                         "vendre_entreprise/fragments/annonce_acquisition/trouver_annonce_par_localisation_" $this->getVersionByCodePays($codePays) . ".html.twig",
  202.                         [
  203.                             'colonne_region_gauche' => $colonne_region_gauche,
  204.                             'colonne_region_droite' => $colonne_region_droite,
  205.                             'nb_annonce_france' => $nb_annonce_france,
  206.                             'nb_annonce_belgique' => $nb_annonce_belgique,
  207.                             'nb_annonce_canada' => $nb_annonce_canada,
  208.                             'nb_annonce_suisse' => $nb_annonce_suisse,
  209.                             'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  210.                             'array_annonce_region_du_pays' => $array_annonce_region_du_pays,
  211.                             'lang' => $lang,
  212.                             'codePays' => $codePays
  213.                         ]
  214.                 );
  215.     }
  216.     public function trouverAnnonceAcquisitionParCategorie($lang$codePays) {
  217.         $annonces_secteur_activite $this->getNbAnnoncesBySecteursActivite();
  218.         return $this->render(
  219.                         "vendre_entreprise/fragments/annonce_acquisition/trouver_annonce_par_categorie.html.twig",
  220.                         [
  221.                             'annonces_secteur_activite' => $annonces_secteur_activite,
  222.                             'lang' => $lang,
  223.                             'codePays' => $codePays
  224.                         ]
  225.                 );
  226.     }
  227.     public function recherchestandardcvrepreneur(Request $requestTranslationExtension $translationExtensionAnnuairesManagers $annuairesManager$codePays): Response {
  228.         $reference_mots_cles $request->query->get('reference_mots_cles');
  229.         // Si on fait une recherche simple
  230.         if (isset($reference_mots_cles) && $reference_mots_cles != "") {
  231.             // Si on recherche par idRepreneur
  232.             if (preg_match("/r([0-9]{3,8})/i"$reference_mots_cles) == true || preg_match("/([0-9]{1,8})/"$reference_mots_cles) == true) {
  233.                 $idRepreneur preg_replace("/[^0-9]/"""$reference_mots_cles);
  234.                 $cv $this->arm->getCVRepreneurDetail($idRepreneur);
  235.                 // Si le CV existe et est publique
  236.                 if ($cv && $cv['modeProfil'] == "publique") {
  237.                     $slug Utils::slugify($cv['titreSocieteRecherchee']);
  238.                     //return $this->forward('App\Controller\VendreEntrepriseController::redirectiononglet', ['slug' => $slug, 'idAnnonce' => $idAnnonce, 'codePays' => $codePays]);
  239.                     return $this->redirectToRoute('repreneur_cv_detail', ['titreslug' => $slug'idRepreneur' => $idRepreneur'codePays' => $codePays'from' => 'vendre-entreprise']);
  240.                 } else {
  241.                     $lang $request->getSession()->get('lang');
  242.                     $this->addFlash('error'$translationExtension->translate('CV repreneur introuvable'$lang'''M'''));
  243.                 }
  244.                 // Si on recherche par mots cles
  245.             } else {
  246.                 // A developper
  247.                 //$nombre_annonces = donne_nb_annonces_vente_recherche($parametres_redirection);
  248.                 //loggage_mots_cles_recherche_vente($parametres_redirection["reference_mots_cles"],$nombre_annonces);
  249.                 $request->query->set('type_recherche'5);
  250.                 return $this->forward('App\Controller\VendreEntrepriseController::cvrepreneur', ['codePays' => $codePays'request' => $request]);
  251.             }
  252.         }
  253.         /* $derniersCV = $annuairesManager->getDerniersCVRepreneurs($this->getIdPaysByCodePays($codePays));
  254.           $array_annonce_region_france = $annuairesManager->donne_tableau_nb_cv_par_region();
  255.           $nb_regions = count($array_annonce_region_france);
  256.           if ($nb_regions % 2 != 0) {
  257.           $moitie = ceil($nb_regions / 2);
  258.           } else {
  259.           $moitie = $nb_regions / 2;
  260.           }
  261.           $colonne_region_gauche = array_slice($array_annonce_region_france, 0, $moitie);
  262.           $colonne_region_droite = array_slice($array_annonce_region_france, $moitie);
  263.           $nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_cvs'];
  264.           $nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_cvs'];
  265.           $nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_cvs'];
  266.           $nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_cvs'];
  267.           $annonces_secteur_activite = $this->getNbAnnoncesBySecteursActivite(); */
  268.         return $this->render(
  269.                         'vendre_entreprise/recherche_standard_cv_repreneur.html.twig',
  270.                         [
  271.                         /* 'derniersCV' => $derniersCV,
  272.                           'colonne_region_gauche' => $colonne_region_gauche,
  273.                           'colonne_region_droite' => $colonne_region_droite,
  274.                           'nb_annonce_belgique' => $nb_annonce_belgique,
  275.                           'nb_annonce_canada' => $nb_annonce_canada,
  276.                           'nb_annonce_suisse' => $nb_annonce_suisse,
  277.                           'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  278.                           'annonces_secteur_activite' => $annonces_secteur_activite,
  279.                           'array_annonce_region_france' => $array_annonce_region_france */
  280.                         ]
  281.                 );
  282.     }
  283.     public function derniersCvRepreneur(AnnuairesManagers $annuairesManager$lang$codePays) {
  284.         $derniersCV $annuairesManager->getDerniersCVRepreneurs($this->getIdPaysByCodePays($codePays));
  285.         return $this->render(
  286.                         'vendre_entreprise/fragments/cv_repreneur/derniers_cv.html.twig',
  287.                         [
  288.                             'derniersCV' => $derniersCV,
  289.                             'lang' => $lang,
  290.                             'codePays' => $codePays
  291.                         ]
  292.                 );
  293.     }
  294.     public function trouverCvRepreneurParLocalisation(AnnuairesManagers $annuairesManager$lang$codePays) {
  295.         $array_annonce_region_du_pays $annuairesManager->donne_tableau_nb_cv_par_region($this->getIdPaysByCodePays($codePays));
  296.         $nb_regions count($array_annonce_region_du_pays);
  297.         if ($nb_regions != 0) {
  298.             $moitie ceil($nb_regions 2);
  299.         } else {
  300.             $moitie $nb_regions 2;
  301.         }
  302.         $colonne_region_gauche array_slice($array_annonce_region_du_pays0$moitie);
  303.         $colonne_region_droite array_slice($array_annonce_region_du_pays$moitie);
  304.         $nb_annonce_france $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_cvs'];
  305.         $nb_annonce_belgique $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_cvs'];
  306.         $nb_annonce_canada $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_cvs'];
  307.         $nb_annonce_suisse $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_cvs'];
  308.         $nb_annonce_autres_pays $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_cvs'];
  309.         return $this->render(
  310.                         "vendre_entreprise/fragments/cv_repreneur/trouver_annonce_par_localisation_" $this->getVersionByCodePays($codePays) . ".html.twig",
  311.                         [
  312.                             'colonne_region_gauche' => $colonne_region_gauche,
  313.                             'colonne_region_droite' => $colonne_region_droite,
  314.                             'nb_annonce_france' => $nb_annonce_france,
  315.                             'nb_annonce_belgique' => $nb_annonce_belgique,
  316.                             'nb_annonce_canada' => $nb_annonce_canada,
  317.                             'nb_annonce_suisse' => $nb_annonce_suisse,
  318.                             'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  319.                             'array_annonce_region_du_pays' => $array_annonce_region_du_pays,
  320.                             'lang' => $lang,
  321.                             'codePays' => $codePays
  322.                         ]
  323.                 );
  324.     }
  325.     public function trouverCvRepreneurParCategorie($lang$codePays) {
  326.         $annonces_secteur_activite $this->getNbAnnoncesBySecteursActivite();
  327.         return $this->render(
  328.                         "vendre_entreprise/fragments/cv_repreneur/trouver_annonce_par_categorie.html.twig",
  329.                         [
  330.                             'annonces_secteur_activite' => $annonces_secteur_activite,
  331.                             'lang' => $lang,
  332.                             'codePays' => $codePays
  333.                         ]
  334.                 );
  335.     }
  336.     public function recherchestandardacquereurhistorique(Request $request$codePays): Response {
  337.         $reference_mots_cles $request->query->get('reference_mots_cles');
  338.         // Si on fait une recherche simple
  339.         if (isset($reference_mots_cles) && $reference_mots_cles != "") {
  340.             // Recherche par mots clés uniquement
  341.             $request->query->set('type_recherche'5);
  342.             return $this->forward('App\Controller\VendreEntrepriseController::acquereurhistorique', ['codePays' => $codePays'request' => $request]);
  343.         }
  344.         /* $array_annonce_region_france = $this->sm->donne_tableau_acquereur_historique_par_region_dun_pays();
  345.           //$array_annonce_region_france = $this->sm->donne_tableau_acquereur_historique_par_region();
  346.           $nb_regions = count($array_annonce_region_france);
  347.           if ($nb_regions % 2 != 0) {
  348.           $moitie = ceil($nb_regions / 2);
  349.           } else {
  350.           $moitie = $nb_regions / 2;
  351.           }
  352.           $colonne_region_gauche = array_slice($array_annonce_region_france, 0, $moitie);
  353.           $colonne_region_droite = array_slice($array_annonce_region_france, $moitie);
  354.           $nb_annonce_belgique = $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_acquereurs_historiques'];
  355.           $nb_annonce_canada = $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_acquereurs_historiques'];
  356.           $nb_annonce_suisse = $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_acquereurs_historiques'];
  357.           $nb_annonce_autres_pays = $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_acquereurs_historiques'];
  358.           $annonces_secteur_activite = $this->getNbAnnoncesBySecteursActivite("acquereur_historique"); */
  359.         return $this->render(
  360.                         'vendre_entreprise/recherche_standard_acquereur_historique.html.twig',
  361.                         [
  362.                         /* 'colonne_region_gauche' => $colonne_region_gauche,
  363.                           'colonne_region_droite' => $colonne_region_droite,
  364.                           'nb_annonce_belgique' => $nb_annonce_belgique,
  365.                           'nb_annonce_canada' => $nb_annonce_canada,
  366.                           'nb_annonce_suisse' => $nb_annonce_suisse,
  367.                           'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  368.                           'annonces_secteur_activite' => $annonces_secteur_activite,
  369.                           'array_annonce_region_france' => $array_annonce_region_france */
  370.                         ]
  371.                 );
  372.     }
  373.     public function trouverAcquereurHistoriqueParLocalisation($lang$codePays) {
  374.         //$array_annonce_region_du_pays = $this->sm->donne_tableau_acquereur_historique_par_region_dun_pays($this->getIdPaysByCodePays($codePays));
  375.         // On prend la liste des régions du pays sans calculer le nb d'annonce
  376.         $array_annonce_region_du_pays $this->lm->getListRegionsByCountryForRechercheStandard($this->getIdPaysByCodePays($codePays));
  377.         $nb_regions count($array_annonce_region_du_pays);
  378.         if ($nb_regions != 0) {
  379.             $moitie ceil($nb_regions 2);
  380.         } else {
  381.             $moitie $nb_regions 2;
  382.         }
  383.         $colonne_region_gauche array_slice($array_annonce_region_du_pays0$moitie);
  384.         $colonne_region_droite array_slice($array_annonce_region_du_pays$moitie);
  385.         $nb_annonce_france $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_acquereurs_historiques'];
  386.         $nb_annonce_belgique $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_acquereurs_historiques'];
  387.         $nb_annonce_canada $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_acquereurs_historiques'];
  388.         $nb_annonce_suisse $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_acquereurs_historiques'];
  389.         $nb_annonce_autres_pays $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_acquereurs_historiques'];
  390.         return $this->render(
  391.                         "vendre_entreprise/fragments/acquereur_historique/trouver_annonce_par_localisation_" $this->getVersionByCodePays($codePays) . ".html.twig",
  392.                         [
  393.                             'colonne_region_gauche' => $colonne_region_gauche,
  394.                             'colonne_region_droite' => $colonne_region_droite,
  395.                             'nb_annonce_france' => $nb_annonce_france,
  396.                             'nb_annonce_belgique' => $nb_annonce_belgique,
  397.                             'nb_annonce_canada' => $nb_annonce_canada,
  398.                             'nb_annonce_suisse' => $nb_annonce_suisse,
  399.                             'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  400.                             'array_annonce_region_du_pays' => $array_annonce_region_du_pays,
  401.                             'lang' => $lang,
  402.                             'codePays' => $codePays
  403.                         ]
  404.                 );
  405.     }
  406.     public function trouverAcquereurHistoriqueParCategorie($lang$codePays) {
  407.         $annonces_secteur_activite $this->getNbAnnoncesBySecteursActivite("acquereur_historique");
  408.         return $this->render(
  409.                         "vendre_entreprise/fragments/acquereur_historique/trouver_annonce_par_categorie.html.twig",
  410.                         [
  411.                             'annonces_secteur_activite' => $annonces_secteur_activite,
  412.                             'lang' => $lang,
  413.                             'codePays' => $codePays
  414.                         ]
  415.                 );
  416.     }
  417.     public function recherchestandardparticipationdefonds(Request $requestTranslationExtension $translationExtensionAnnuairesManagers $annuairesManagerSecteursActiviteManagers $secteursActiviteManagerLocalisationsManagers $localisationManager$codePays): Response {
  418.         $reference_mots_cles $request->query->get('reference_mots_cles');
  419.         // Si on fait une recherche simple
  420.         if (isset($reference_mots_cles) && $reference_mots_cles != "") {
  421.             // Recherche par mots clés uniquement
  422.             $request->query->set('type_recherche'5);
  423.             return $this->forward('App\Controller\VendreEntrepriseController::participationsdefonds', ['codePays' => $codePays'request' => $request]);
  424.         }
  425.         $array_annonce_region_france $this->sm->donne_tableau_participation_fonds_par_region();
  426.         $nb_regions count($array_annonce_region_france);
  427.         if ($nb_regions != 0) {
  428.             $moitie ceil($nb_regions 2);
  429.         } else {
  430.             $moitie $nb_regions 2;
  431.         }
  432.         $colonne_region_gauche array_slice($array_annonce_region_france0$moitie);
  433.         $colonne_region_droite array_slice($array_annonce_region_france$moitie);
  434.         $nb_annonce_belgique $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_participations_fonds'];
  435.         $nb_annonce_canada $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_participations_fonds'];
  436.         $nb_annonce_suisse $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_participations_fonds'];
  437.         $nb_annonce_autres_pays $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_participations_fonds'];
  438.         $annonces_secteur_activite $this->getNbAnnoncesBySecteursActivite("participation_fonds");
  439.         return $this->render(
  440.                         'vendre_entreprise/recherche_standard_participation_fonds.html.twig',
  441.                         [
  442.                             'colonne_region_gauche' => $colonne_region_gauche,
  443.                             'colonne_region_droite' => $colonne_region_droite,
  444.                             'nb_annonce_belgique' => $nb_annonce_belgique,
  445.                             'nb_annonce_canada' => $nb_annonce_canada,
  446.                             'nb_annonce_suisse' => $nb_annonce_suisse,
  447.                             'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  448.                             'annonces_secteur_activite' => $annonces_secteur_activite,
  449.                             'array_annonce_region_france' => $array_annonce_region_france
  450.                         ]
  451.                 );
  452.     }
  453.     public function trouverParticipationFondsParLocalisation($lang$codePays) {
  454.         $array_annonce_region_du_pays $this->sm->donne_tableau_participation_fonds_par_region($this->getIdPaysByCodePays($codePays));
  455.         $nb_regions count($array_annonce_region_du_pays);
  456.         if ($nb_regions != 0) {
  457.             $moitie ceil($nb_regions 2);
  458.         } else {
  459.             $moitie $nb_regions 2;
  460.         }
  461.         $colonne_region_gauche array_slice($array_annonce_region_du_pays0$moitie);
  462.         $colonne_region_droite array_slice($array_annonce_region_du_pays$moitie);
  463.         $nb_annonce_france $this->getAnnoncesNumbers(['id_localisation' => 'p33'])['nb_participations_fonds'];
  464.         $nb_annonce_belgique $this->getAnnoncesNumbers(['id_localisation' => 'p32'])['nb_participations_fonds'];
  465.         $nb_annonce_canada $this->getAnnoncesNumbers(['id_localisation' => 'p01'])['nb_participations_fonds'];
  466.         $nb_annonce_suisse $this->getAnnoncesNumbers(['id_localisation' => 'p41'])['nb_participations_fonds'];
  467.         $nb_annonce_autres_pays $this->getAnnoncesNumbers(['id_localisation' => 'p99'])['nb_participations_fonds'];
  468.         return $this->render(
  469.                         "vendre_entreprise/fragments/participation_fonds/trouver_annonce_par_localisation_" $this->getVersionByCodePays($codePays) . ".html.twig",
  470.                         [
  471.                             'colonne_region_gauche' => $colonne_region_gauche,
  472.                             'colonne_region_droite' => $colonne_region_droite,
  473.                             'nb_annonce_france' => $nb_annonce_france,
  474.                             'nb_annonce_belgique' => $nb_annonce_belgique,
  475.                             'nb_annonce_canada' => $nb_annonce_canada,
  476.                             'nb_annonce_suisse' => $nb_annonce_suisse,
  477.                             'nb_annonce_autres_pays' => $nb_annonce_autres_pays,
  478.                             'array_annonce_region_du_pays' => $array_annonce_region_du_pays,
  479.                             'lang' => $lang,
  480.                             'codePays' => $codePays
  481.                         ]
  482.                 );
  483.     }
  484.     public function trouverParticipationFondsParCategorie($lang$codePays) {
  485.         $annonces_secteur_activite $this->getNbAnnoncesBySecteursActivite("participation_fonds");
  486.         return $this->render(
  487.                         "vendre_entreprise/fragments/participation_fonds/trouver_annonce_par_categorie.html.twig",
  488.                         [
  489.                             'annonces_secteur_activite' => $annonces_secteur_activite,
  490.                             'lang' => $lang,
  491.                             'codePays' => $codePays
  492.                         ]
  493.                 );
  494.     }
  495.     public function recherchestandardfondsacquereur(Request $requestTranslationExtension $translationExtensionAnnuairesManagers $annuairesManager$codePays): Response {
  496.         $reference_mots_cles $request->query->get('reference_mots_cles');
  497.         // Si on fait une recherche simple
  498.         if (isset($reference_mots_cles) && $reference_mots_cles != "") {
  499.             // Recherche par mots clés uniquement
  500.             $request->query->set('type_recherche'5);
  501.             return $this->forward('App\Controller\VendreEntrepriseController::fondsacquereur', ['codePays' => $codePays'request' => $request]);
  502.         }
  503.         $derniers_investisseurs $this->sm->getDerniersInvestisseur();
  504.         return $this->render(
  505.                         'vendre_entreprise/recherche_standard_fonds_acquereur.html.twig',
  506.                         [
  507.                             'derniers_investisseurs' => $derniers_investisseurs
  508.                         ]
  509.                 );
  510.     }
  511.     public function derniersFondsAcquereurs($lang$codePays) {
  512.         $derniers_investisseurs $this->sm->getDerniersInvestisseur();
  513.         return $this->render(
  514.                         'vendre_entreprise/fragments/fonds_acquereur/derniers_fonds_acquereurs.html.twig',
  515.                         [
  516.                             'derniers_investisseurs' => $derniers_investisseurs,
  517.                             'lang' => $lang,
  518.                             'codePays' => $codePays
  519.                         ]
  520.                 );
  521.     }
  522.     public function rechercheavanceeannonceacquisition(Request $requestSecteursActiviteManagers $secteursActiviteManagerTranslationExtension $translationExtension$codePaysLocalisationsManagers $localisationManager): Response {
  523.         $parametres $request->query->all();
  524.         $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  525.         $parametres_localisations ParametersProvider::prepareLocalisationsParameters($localisationManager$parametres);
  526.         $parametres_secteurs ParametersProvider::prepareSecteursParameters($secteursActiviteManager$parametres);
  527.         $string_params $this->serializeParams($parametres);
  528.         /*
  529.           $repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  530.           $repoAnnuaireRepreneur = $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  531.           $repoSociete = $this->getDoctrine()->getRepository(Societes::class);
  532.           $nb_annonces_acheteur = $repoAcheteur->donne_nb_annonces_achat($parametres);
  533.           $nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  534.           $nb_annonces_acquisition = $nb_annonces_acheteur - $nb_recherches_partenariats;
  535.           $nb_cvs = $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  536.           $nb_acquereurs_historiques = $repoSociete->donne_nb_acquereurs_historiques($parametres);
  537.           $nb_participations_fonds = $repoSociete->donne_nb_participations_fonds($parametres, "acheteur");
  538.           $nb_acheteurs_potentiels = $nb_acquereurs_historiques + $nb_participations_fonds;
  539.           $nb_acquereurs_investisseurs = $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  540.           $nb_annonces = $nb_annonces_acquisition + $nb_cvs + $nb_acheteurs_potentiels + $nb_acquereurs_investisseurs;
  541.          */
  542.         $lang $request->getSession()->get('lang');
  543.         $idPays $this->getIdPaysByCodePays($codePays);
  544.         $pays $this->am->donne_option_select_pays_annonces_acheteur("entreprise"$idPays);
  545.         $regions = [];
  546.         $departements = [];
  547.         $secteurs_activite1 $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
  548.         if (isset($parametres['id_secteur_activite'])) {
  549.             $secteurs_activite2 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
  550.             $show_secteur_niveau_2 true;
  551.         } else {
  552.             $secteurs_activite2 = [];
  553.             $show_secteur_niveau_2 false;
  554.         }
  555.         if (isset($parametres['id_secteur_activite2'])) {
  556.             $secteurs_activite3 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
  557.             $show_secteur_niveau_3 true;
  558.         } else {
  559.             $secteurs_activite3 = [];
  560.             $show_secteur_niveau_3 false;
  561.         }
  562.         $type_acquereur = [
  563.             $translationExtension->translate('indifferent'$lang'''M''') => ''// value = indifferent
  564.             $translationExtension->translate('societe'$lang'''M''') => 'societe',
  565.             $translationExtension->translate('personne physique'$lang'''M''') => 'personne',
  566.         ];
  567.         $demarche = [
  568.             $translationExtension->translate('indifferent'$lang'''M''') => ''// value = indifferent
  569.             $translationExtension->translate('une reprise totale, le cedant quittant l\'entreprise'$lang'''M''') => 'reprise_totale',
  570.             $translationExtension->translate('une reprise majoritaire, le cedant restant en minoritaire'$lang'''M''') => 'reprise_majoritaire',
  571.             $translationExtension->translate('une association minoritaire avec le chef d\'entreprise actuel'$lang'''M''') => 'association_minoritaire',
  572.         ];
  573.         $recherche_par = [
  574.             $translationExtension->translate("mots-cles de l'activite recherchee"$lang'''M''') => 'motscles',
  575.             $translationExtension->translate("secteur predefini"$lang'''M''') => 'secteurs'
  576.         ];
  577.         $formFactory Forms::createFormFactoryBuilder()->getFormFactory();
  578.         $form $formFactory->createNamedBuilder('')
  579.                 ->add('id_pays'ChoiceType::class, [
  580.                     'choices' => $pays,
  581.                 ])
  582.                 ->add('id_region'ChoiceType::class, [
  583.                     'choices' => $regions,
  584.                 ])
  585.                 ->add('id_departement'ChoiceType::class, [
  586.                     'choices' => $departements,
  587.                 ])
  588.                 ->add('id_localisation'HiddenType::class, [
  589.                     'data' => $parametres['id_localisation']
  590.                 ])
  591.                 ->add('ajouter'ButtonType::class)
  592.                 ->add('recherche_par'ChoiceType::class, [
  593.                     'required' => false,
  594.                     'choices' => $recherche_par,
  595.                     'expanded' => true,
  596.                     'multiple' => false,
  597.                     'data' => $parametres['recherche_par'],
  598.                     'placeholder' => false,
  599.                     'choice_value' => function ($choice) {
  600.                         return $choice// Utilisez la valeur du choix comme clé
  601.                     }
  602.                 ])
  603.                 ->add('reference_mots_cles'TextType::class, [
  604.                     'required' => false,
  605.                     'data' => $parametres['reference_mots_cles'],
  606.                     'attr' => [
  607.                         'placeholder' => $translationExtension->translate("transport, services informatiques, ..."$lang'''M''')
  608.                     ]
  609.                 ])
  610.                 ->add('id_secteur_activite'ChoiceType::class, [
  611.                     'choices' => $secteurs_activite1,
  612.                     'data' => $parametres['id_secteur_activite']
  613.                 ])
  614.                 ->add('id_secteur_activite2'ChoiceType::class, [
  615.                     'choices' => $secteurs_activite2,
  616.                     'data' => $parametres['id_secteur_activite2']
  617.                 ])
  618.                 ->add('id_secteur_activite3'ChoiceType::class, [
  619.                     'choices' => $secteurs_activite3,
  620.                     'data' => $parametres['id_secteur_activite3']
  621.                 ])
  622.                 ->add('id_secteur'HiddenType::class, [
  623.                     'data' => $parametres['id_secteur'],
  624.                 ])
  625.                 ->add('ajouter_secteur_activite'ButtonType::class)
  626.                 ->add('type_acquereur'ChoiceType::class, [
  627.                     'required' => false,
  628.                     'choices' => $type_acquereur,
  629.                     'expanded' => true,
  630.                     'multiple' => false,
  631.                     'data' => $parametres['type_acquereur']
  632.                 ])
  633.                 ->add('demarche'ChoiceType::class, [
  634.                     'required' => false,
  635.                     'choices' => $demarche,
  636.                     'expanded' => true,
  637.                     'multiple' => false,
  638.                     'data' => $parametres['demarche']
  639.                 ])
  640.                 ->add('type_recherche'HiddenType::class, [
  641.                     'data' => 5,
  642.                 ])
  643.                 ->add('rechercher'SubmitType::class)
  644.                 ->setAction($this->generateUrl('vendre_entreprise_resultats_annonces_acquisition', ['codePays' => $codePays]))
  645.                 ->setMethod('GET')
  646.                 ->getForm();
  647.         $current_year date('Y');
  648.         return $this->render(
  649.                         'vendre_entreprise/recherche_avancee_annonce_acquisition.html.twig',
  650.                         [
  651.                             /* 'nb_annonces' => $nb_annonces,
  652.                               'nb_annonces_acquisition' => $nb_annonces_acquisition,
  653.                               'nb_cvs' => $nb_cvs,
  654.                               'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  655.                               'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  656.                               'nb_participations_fonds' => $nb_participations_fonds,
  657.                               'nb_acquereurs_investisseurs' => $nb_acquereurs_investisseurs,
  658.                               'nb_recherches_partenariats' => $nb_recherches_partenariats, */
  659.                             'form' => $form->createView(),
  660.                             'parametres' => $parametres,
  661.                             'parametres_localisations' => $parametres_localisations,
  662.                             'parametres_secteurs' => $parametres_secteurs,
  663.                             'current_year' => $current_year,
  664.                             'string_params' => $string_params,
  665.                             'show_secteur_niveau_2' => $show_secteur_niveau_2,
  666.                             'show_secteur_niveau_3' => $show_secteur_niveau_3
  667.                         ]
  668.                 );
  669.     }
  670.     public function rechercheavanceecvrepreneur(Request $requestSecteursActiviteManagers $secteursActiviteManagerTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$codePays): Response {
  671.         $parametres $request->query->all();
  672.         $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  673.         $parametres_localisations ParametersProvider::prepareLocalisationsParameters($localisationManager$parametres);
  674.         $parametres_secteurs ParametersProvider::prepareSecteursParameters($secteursActiviteManager$parametres);
  675.         $string_params $this->serializeParams($parametres);
  676.         /*
  677.           $repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  678.           $repoAnnuaireRepreneur = $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  679.           $repoSociete = $this->getDoctrine()->getRepository(Societes::class);
  680.           $nb_annonces_acheteur = $repoAcheteur->donne_nb_annonces_achat($parametres);
  681.           $nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  682.           $nb_annonces_acquisition = $nb_annonces_acheteur - $nb_recherches_partenariats;
  683.           $nb_cvs = $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  684.           $nb_acquereurs_historiques = $repoSociete->donne_nb_acquereurs_historiques($parametres);
  685.           $nb_participations_fonds = $repoSociete->donne_nb_participations_fonds($parametres, "acheteur");
  686.           $nb_acheteurs_potentiels = $nb_acquereurs_historiques + $nb_participations_fonds;
  687.           $nb_acquereurs_investisseurs = $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  688.           $nb_annonces = $nb_annonces_acquisition + $nb_cvs + $nb_acheteurs_potentiels + $nb_acquereurs_investisseurs;
  689.          */
  690.         $lang $request->getSession()->get('lang');
  691.         $secteurs_activite1 $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
  692.         if (isset($parametres['id_secteur_activite'])) {
  693.             $secteurs_activite2 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
  694.             $show_secteur_niveau_2 true;
  695.         } else {
  696.             $secteurs_activite2 = [];
  697.             $show_secteur_niveau_2 false;
  698.         }
  699.         if (isset($parametres['id_secteur_activite2'])) {
  700.             $secteurs_activite3 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
  701.             $show_secteur_niveau_3 true;
  702.         } else {
  703.             $secteurs_activite3 = [];
  704.             $show_secteur_niveau_3 false;
  705.         }
  706.         $type_reprise = [
  707.             $translationExtension->translate("indifferent"$lang'''M''') => 0,
  708.             $translationExtension->translate("majoritaire avec un autre repreneur"$lang'''M''') => 1,
  709.             $translationExtension->translate("majoritaire avec un fonds d'investissement"$lang'''M''') => 2,
  710.             $translationExtension->translate("majoritaire, le cedant restant en minoritaire"$lang'''M''') => 3,
  711.             $translationExtension->translate("minoritaire avec le chef d'entreprise actuel"$lang'''M''') => 4,
  712.             $translationExtension->translate("minoritaire avec un autre repreneur"$lang'''M''') => 5,
  713.             $translationExtension->translate("minoritaire avec un fonds d'investissement"$lang'''M''') => 6,
  714.             $translationExtension->translate("totale seul ou avec un ou des associés"$lang'''M''') => 7
  715.         ];
  716.         $montant_apport_min = [
  717.             '0 k€' => 0,
  718.             '100 k€' => 100,
  719.             '200 k€' => 200,
  720.             '500 k€' => 500,
  721.             '1000 k€' => 1000,
  722.             '2000 k€' => 2000,
  723.         ];
  724.         $montant_apport_max = [
  725.             '0 k€' => 0,
  726.             '100 k€' => 100,
  727.             '200 k€' => 200,
  728.             '500 k€' => 500,
  729.             '1000 k€' => 1000,
  730.             '2000 k€' => 2000,
  731.             '> 2000 k€' => "2000p",
  732.         ];
  733.         $recherche_par = [
  734.             $translationExtension->translate("mots-cles de l'activite recherchee"$lang'''M''') => 'motscles',
  735.             $translationExtension->translate("secteur predefini"$lang'''M''') => 'secteurs'
  736.         ];
  737.         $idPays $this->getIdPaysByCodePays($codePays);
  738.         $pays $this->arm->donne_option_select_pays_annuaire_repreneurs($idPays);
  739.         $regions = [];
  740.         $formFactory Forms::createFormFactoryBuilder()->getFormFactory();
  741.         $form $formFactory->createNamedBuilder('')
  742.                 ->add('id_pays'ChoiceType::class, [
  743.                     'choices' => $pays,
  744.                 ])
  745.                 ->add('id_region'ChoiceType::class, [
  746.                     'choices' => $regions,
  747.                 ])
  748.                 ->add('id_localisation'HiddenType::class, [
  749.                     'data' => $parametres['id_localisation']
  750.                 ])
  751.                 ->add('ajouter'ButtonType::class)
  752.                 ->add('id_secteur_activite'ChoiceType::class, [
  753.                     'choices' => $secteurs_activite1,
  754.                     'data' => $parametres['id_secteur_activite']
  755.                 ])
  756.                 ->add('id_secteur_activite2'ChoiceType::class, [
  757.                     'choices' => $secteurs_activite2,
  758.                     'data' => $parametres['id_secteur_activite2']
  759.                 ])
  760.                 ->add('id_secteur_activite3'ChoiceType::class, [
  761.                     'choices' => $secteurs_activite3,
  762.                     'data' => $parametres['id_secteur_activite3']
  763.                 ])
  764.                 ->add('id_secteur'HiddenType::class, [
  765.                     'data' => $parametres['id_secteur'],
  766.                 ])
  767.                 ->add('ajouter_secteur_activite'ButtonType::class)
  768.                 ->add('type_reprise'ChoiceType::class, [
  769.                     'choices' => $type_reprise,
  770.                     'data' => $parametres['type_reprise']
  771.                 ])
  772.                 ->add('montant_apport_min'ChoiceType::class, [
  773.                     'choices' => $montant_apport_min,
  774.                     'data' => $parametres['montant_apport_min']
  775.                 ])
  776.                 ->add('montant_apport_max'ChoiceType::class, [
  777.                     'choices' => $montant_apport_max,
  778.                     'data' => $parametres['montant_apport_max']
  779.                 ])
  780.                 ->add('recherche_par'ChoiceType::class, [
  781.                     'required' => false,
  782.                     'choices' => $recherche_par,
  783.                     'expanded' => true,
  784.                     'multiple' => false,
  785.                     'data' => $parametres['recherche_par'],
  786.                     'placeholder' => false,
  787.                     'choice_value' => function ($choice) {
  788.                         return $choice// Utilisez la valeur du choix comme clé
  789.                     }
  790.                 ])
  791.                 ->add('reference_mots_cles'TextType::class, [
  792.                     'required' => false,
  793.                     'attr' => [
  794.                         'placeholder' => $translationExtension->translate("activite, competences, numero repreneur"$lang'''M''')
  795.                     ],
  796.                     'data' => $parametres['reference_mots_cles'],
  797.                     'attr' => [
  798.                         'placeholder' => $translationExtension->translate("transport, services informatiques, ..."$lang'''M''')
  799.                     ]
  800.                 ])
  801.                 ->add('mots_cle_exact'HiddenType::class, [
  802.                     'attr' => ['v-bind:value' => 'mots_cle_exact'],
  803.                     'data' => $parametres['mots_cle_exact']
  804.                 ])
  805.                 ->add('type_recherche'HiddenType::class, [
  806.                     'data' => 5,
  807.                 ])
  808.                 ->add('rechercher'SubmitType::class)
  809.                 ->setAction($this->generateUrl('vendre_entreprise_resultats_cv_repreneur', ['codePays' => $codePays]))
  810.                 ->setMethod('GET')
  811.                 ->getForm();
  812.         return $this->render(
  813.                         'vendre_entreprise/recherche_avancee_cv_repreneur.html.twig',
  814.                         [
  815.                             /* 'nb_annonces' => $nb_annonces,
  816.                               'nb_annonces_acquisition' => $nb_annonces_acquisition,
  817.                               'nb_cvs' => $nb_cvs,
  818.                               'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  819.                               'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  820.                               'nb_participations_fonds' => $nb_participations_fonds,
  821.                               'nb_acquereurs_investisseurs' => $nb_acquereurs_investisseurs,
  822.                               'nb_recherches_partenariats' => $nb_recherches_partenariats, */
  823.                             'form' => $form->createView(),
  824.                             'parametres' => $parametres,
  825.                             'parametres_localisations' => $parametres_localisations,
  826.                             'parametres_secteurs' => $parametres_secteurs,
  827.                             'string_params' => $string_params,
  828.                             'show_secteur_niveau_2' => $show_secteur_niveau_2,
  829.                             'show_secteur_niveau_3' => $show_secteur_niveau_3
  830.                         ]
  831.                 );
  832.     }
  833.     public function rechercheavanceeacquereurhistorique(Request $requestSecteursActiviteManagers $secteursActiviteManagerTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$codePays): Response {
  834.         $parametres $request->query->all();
  835.         $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  836.         $parametres_localisations ParametersProvider::prepareLocalisationsParameters($localisationManager$parametres);
  837.         $parametres_secteurs ParametersProvider::prepareSecteursParameters($secteursActiviteManager$parametres);
  838.         $string_params $this->serializeParams($parametres);
  839.         /*
  840.           $repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  841.           $repoAnnuaireRepreneur = $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  842.           $repoSociete = $this->getDoctrine()->getRepository(Societes::class);
  843.           $nb_annonces_acheteur = $repoAcheteur->donne_nb_annonces_achat($parametres);
  844.           $nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  845.           $nb_annonces_acquisition = $nb_annonces_acheteur - $nb_recherches_partenariats;
  846.           $nb_cvs = $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  847.           $nb_acquereurs_historiques = $repoSociete->donne_nb_acquereurs_historiques($parametres);
  848.           $nb_participations_fonds = $repoSociete->donne_nb_participations_fonds($parametres, "acheteur");
  849.           $nb_acheteurs_potentiels = $nb_acquereurs_historiques + $nb_participations_fonds;
  850.           $nb_acquereurs_investisseurs = $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  851.           $nb_annonces = $nb_annonces_acquisition + $nb_cvs + $nb_acheteurs_potentiels + $nb_acquereurs_investisseurs;
  852.          */
  853.         $lang $request->getSession()->get('lang');
  854.         $idPays $this->getIdPaysByCodePays($codePays);
  855.         $pays $this->sm->donne_option_select_pays_acquereur_historique($idPays);
  856.         $regions = [];
  857.         $secteurs_activite1 $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
  858.         if (isset($parametres['id_secteur_activite'])) {
  859.             $secteurs_activite2 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
  860.             $show_secteur_niveau_2 true;
  861.         } else {
  862.             $secteurs_activite2 = [];
  863.             $show_secteur_niveau_2 false;
  864.         }
  865.         if (isset($parametres['id_secteur_activite2'])) {
  866.             $secteurs_activite3 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
  867.             $show_secteur_niveau_3 true;
  868.         } else {
  869.             $secteurs_activite3 = [];
  870.             $show_secteur_niveau_3 false;
  871.         }
  872.         /*
  873.           $operation = [
  874.           $translationExtension->translate("toutes", $lang, '', 'M', '') => '',
  875.           $translationExtension->translate("autre", $lang, '', 'M', '') => 'autre',
  876.           $translationExtension->translate("Fusion - Acquisition", $lang, '', 'M', '') => 'fusion_acquisition',
  877.           $translationExtension->translate("introduction en bourse", $lang, '', 'M', '') => 'introduction_bourse',
  878.           $translationExtension->translate("levee de fonds", $lang, '', 'M', '') => 'levee_fonds',
  879.           $translationExtension->translate("liquidation", $lang, '', 'M', '') => 'liquidation',
  880.           $translationExtension->translate("operation boursiere", $lang, '', 'M', '') => 'operationboursiere',
  881.           $translationExtension->translate("restructuration", $lang, '', 'M', '') => 'restructuration'
  882.           ];
  883.          */
  884.         $recherche_par = [
  885.             $translationExtension->translate("mots-cles de l'activite recherchee"$lang'''M''') => 'motscles',
  886.             $translationExtension->translate("secteur predefini"$lang'''M''') => 'secteurs'
  887.         ];
  888.         $mot_cle_unique = [
  889.             $translationExtension->translate("le contenu de son actualité"$lang'''M''') => '',
  890.             $translationExtension->translate("la description de l'acquereur"$lang'''M''') => 1
  891.         ];
  892.         /*
  893.           $expert_unique = [
  894.           $translationExtension->translate("toutes les actualites", $lang, '', 'M', '') => '',
  895.           $translationExtension->translate("actus expert uniquement", $lang, '', 'M', '') => 1,
  896.           ];
  897.          */
  898.         /*
  899.           $fonds = [
  900.           $translationExtension->translate("indifferent", $lang, '', 'M', '') => '',
  901.           $translationExtension->translate("oui", $lang, '', 'M', '') => 'oui',
  902.           $translationExtension->translate("non", $lang, '', 'M', '') => 'non',
  903.           ]; */
  904.         $formFactory Forms::createFormFactoryBuilder()->getFormFactory();
  905.         $form $formFactory->createNamedBuilder('')
  906.                 ->add('id_pays'ChoiceType::class, [
  907.                     'choices' => $pays,
  908.                 ])
  909.                 ->add('id_region'ChoiceType::class, [
  910.                     'choices' => $regions,
  911.                 ])
  912.                 ->add('id_localisation'HiddenType::class, [
  913.                     'data' => $parametres['id_localisation']
  914.                 ])
  915.                 ->add('ajouter'ButtonType::class)
  916.                 ->add('id_secteur_activite'ChoiceType::class, [
  917.                     'choices' => $secteurs_activite1,
  918.                     'data' => $parametres['id_secteur_activite']
  919.                 ])
  920.                 ->add('id_secteur_activite2'ChoiceType::class, [
  921.                     'choices' => $secteurs_activite2,
  922.                     'data' => $parametres['id_secteur_activite2']
  923.                 ])
  924.                 ->add('id_secteur_activite3'ChoiceType::class, [
  925.                     'choices' => $secteurs_activite3,
  926.                     'data' => $parametres['id_secteur_activite3']
  927.                 ])
  928.                 ->add('id_secteur'HiddenType::class, [
  929.                     'data' => $parametres['id_secteur'],
  930.                 ])
  931.                 ->add('ajouter_secteur_activite'ButtonType::class)
  932.                 /* ->add('operation', ChoiceType::class, [
  933.                   'required' => false,
  934.                   'choices' => $operation,
  935.                   'data' => $parametres['operation']
  936.                   ]) */
  937.                 ->add('recherche_par'ChoiceType::class, [
  938.                     'required' => false,
  939.                     'choices' => $recherche_par,
  940.                     'expanded' => true,
  941.                     'multiple' => false,
  942.                     'data' => $parametres['recherche_par'],
  943.                     'placeholder' => false,
  944.                     'choice_value' => function ($choice) {
  945.                         return $choice// Utilisez la valeur du choix comme clé
  946.                     }
  947.                 ])
  948.                 ->add('reference_mots_cles'TextType::class, [
  949.                     'required' => false,
  950.                     'attr' => [
  951.                         'placeholder' => $translationExtension->translate("nettoyage industriel, transport routier,…"$lang'''M''')
  952.                     ],
  953.                     'data' => $parametres['reference_mots_cles'],
  954.                     'attr' => [
  955.                         'placeholder' => $translationExtension->translate("transport, services informatiques, ..."$lang'''M''')
  956.                     ]
  957.                 ])
  958.                 ->add('mot_cle_unique'ChoiceType::class, [
  959.                     'required' => false,
  960.                     'choices' => $mot_cle_unique,
  961.                     /* 'expanded' => true,
  962.                       'multiple' => false, */
  963.                     'placeholder' => false,
  964.                     'data' => $parametres['mot_cle_unique']
  965.                 ])
  966.                 /* ->add('expert_unique', ChoiceType::class, [
  967.                   'required' => false,
  968.                   'choices' => $expert_unique,
  969.                   'expanded' => true,
  970.                   'multiple' => false,
  971.                   'data' => $parametres['expert_unique']
  972.                   ]) */
  973.                 ->add('date'TextType::class, ['required' => false])
  974.                 /* ->add('fonds', ChoiceType::class, [
  975.                   'required' => false,
  976.                   'choices' => $fonds,
  977.                   'data' => $parametres['fonds']
  978.                   ]) */
  979.                 ->add('rechercher'SubmitType::class)
  980.                 ->setAction($this->generateUrl('vendre_entreprise_resultats_acquereur_historique', ['codePays' => $codePays]))
  981.                 ->setMethod('GET')
  982.                 ->getForm();
  983.         return $this->render(
  984.                         'vendre_entreprise/recherche_avancee_acquereur_historique.html.twig',
  985.                         [
  986.                             /* 'nb_annonces' => $nb_annonces,
  987.                               'nb_annonces_acquisition' => $nb_annonces_acquisition,
  988.                               'nb_cvs' => $nb_cvs,
  989.                               'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  990.                               'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  991.                               'nb_participations_fonds' => $nb_participations_fonds,
  992.                               'nb_acquereurs_investisseurs' => $nb_acquereurs_investisseurs,
  993.                               'nb_recherches_partenariats' => $nb_recherches_partenariats, */
  994.                             'form' => $form->createView(),
  995.                             'parametres' => $parametres,
  996.                             'parametres_localisations' => $parametres_localisations,
  997.                             'parametres_secteurs' => $parametres_secteurs,
  998.                             'string_params' => $string_params,
  999.                             'show_secteur_niveau_2' => $show_secteur_niveau_2,
  1000.                             'show_secteur_niveau_3' => $show_secteur_niveau_3
  1001.                         ]
  1002.                 );
  1003.     }
  1004.     public function rechercheavanceeparticipationdefonds(Request $requestSecteursActiviteManagers $secteursActiviteManagerTranslationExtension $translationExtension$codePaysLocalisationsManagers $localisationManagerParametreSiteManagers $psm): Response {
  1005.         $parametres $request->query->all();
  1006.         $parametres ParametersProvider::prepareRechercheAvanceeParameters($parametres);
  1007.         $parametres_localisations ParametersProvider::prepareLocalisationsParameters($localisationManager$parametres);
  1008.         $parametres_secteurs ParametersProvider::prepareSecteursParameters($secteursActiviteManager$parametres);
  1009.         $string_params $this->serializeParams($parametres);
  1010.         $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  1011.         /*
  1012.           $repoVendeur = $this->getDoctrine()->getRepository(AnnoncesVendeur::class);
  1013.           $repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  1014.           $nb_annonces_cessions = $repoVendeur->donne_nb_annonces_vente_recherche($parametres);
  1015.           $nb_actifs = $repoVendeur->donne_nb_annonces_vente_recherche_actif($parametres);
  1016.           $nb_entreprises = $nb_annonces_cessions - $nb_actifs;
  1017.           $nb_cibles_potentielles = $repoSociete->donne_nb_participations_fonds($parametres, "vendeur");
  1018.           $nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  1019.          */
  1020.         $lang $request->getSession()->get('lang');
  1021.         $idPays $this->getIdPaysByCodePays($codePays);
  1022.         $actionnaires $repoSociete->donne_liste_societe_gestion_select();
  1023.         $pays $this->sm->donne_option_select_pays_cible_potentielle($idPays);
  1024.         $regions = [];
  1025.         //$secteurs_activite = $secteursActiviteManager->donne_option_select_secteurs_activite_fonds();
  1026.         $secteurs_activite1 $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
  1027.         if (isset($parametres['id_secteur_activite'])) {
  1028.             $secteurs_activite2 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
  1029.             $show_secteur_niveau_2 true;
  1030.         } else {
  1031.             $secteurs_activite2 = [];
  1032.             $show_secteur_niveau_2 false;
  1033.         }
  1034.         if (isset($parametres['id_secteur_activite2'])) {
  1035.             $secteurs_activite3 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
  1036.             $show_secteur_niveau_3 true;
  1037.         } else {
  1038.             $secteurs_activite3 = [];
  1039.             $show_secteur_niveau_3 false;
  1040.         }
  1041.         $societe_cotee = [
  1042.             $translationExtension->translate('indifferent'$lang'''M''') => '0',
  1043.             $translationExtension->translate('oui'$lang'''M''') => 'oui',
  1044.             $translationExtension->translate('non'$lang'''M''') => 'non',
  1045.         ];
  1046.         $recherche_par = [
  1047.             $translationExtension->translate("mots-cles de l'activite recherchee"$lang'''M''') => 'motscles',
  1048.             $translationExtension->translate("secteur predefini"$lang'''M''') => 'secteurs'
  1049.         ];
  1050.         $formFactory Forms::createFormFactoryBuilder()->getFormFactory();
  1051.         $form $formFactory->createNamedBuilder('')
  1052.                 ->add('id_gestionnaire_fonds'ChoiceType::class, [
  1053.                     'choices' => $actionnaires,
  1054.                     'data' => $parametres['id_gestionnaire_fonds']
  1055.                 ])
  1056.                 ->add('id_pays'ChoiceType::class, [
  1057.                     'choices' => $pays,
  1058.                 ])
  1059.                 ->add('id_region'ChoiceType::class, [
  1060.                     'choices' => $regions,
  1061.                 ])
  1062.                 ->add('id_localisation'HiddenType::class, [
  1063.                     'data' => $parametres['id_localisation']
  1064.                 ])
  1065.                 ->add('ajouter'ButtonType::class)
  1066.                 ->add('recherche_par'ChoiceType::class, [
  1067.                     'required' => false,
  1068.                     'choices' => $recherche_par,
  1069.                     'expanded' => true,
  1070.                     'multiple' => false,
  1071.                     'data' => $parametres['recherche_par'],
  1072.                     'placeholder' => false,
  1073.                     'choice_value' => function ($choice) {
  1074.                         return $choice// Utilisez la valeur du choix comme clé
  1075.                     }
  1076.                 ])
  1077.                 ->add('reference_mots_cles'TextType::class, [
  1078.                     'required' => false,
  1079.                     'data' => $parametres['reference_mots_cles'],
  1080.                     'attr' => [
  1081.                         'placeholder' => $translationExtension->translate("transport, services informatiques, ..."$lang'''M''')
  1082.                     ]
  1083.                 ])
  1084.                 /* ->add('id_secteur_activite_fonds', ChoiceType::class, [
  1085.                   'choices' => $secteurs_activite,
  1086.                   'data' => $parametres['id_secteur_activite_fonds']
  1087.                   ]) */
  1088.                 ->add('id_secteur_activite'ChoiceType::class, [
  1089.                     'choices' => $secteurs_activite1,
  1090.                     'data' => $parametres['id_secteur_activite']
  1091.                 ])
  1092.                 ->add('id_secteur_activite2'ChoiceType::class, [
  1093.                     'choices' => $secteurs_activite2,
  1094.                     'data' => $parametres['id_secteur_activite2']
  1095.                 ])
  1096.                 ->add('id_secteur_activite3'ChoiceType::class, [
  1097.                     'choices' => $secteurs_activite3,
  1098.                     'data' => $parametres['id_secteur_activite3']
  1099.                 ])
  1100.                 ->add('id_secteur'HiddenType::class, [
  1101.                     'data' => $parametres['id_secteur'],
  1102.                 ])
  1103.                 ->add('ajouter_secteur_activite'ButtonType::class)
  1104.                 ->add('ca'TextType::class, ['required' => false])
  1105.                 ->add('date'TextType::class, ['required' => false])
  1106.                 ->add('societe_cotee'ChoiceType::class, [
  1107.                     'choices' => $societe_cotee,
  1108.                     'data' => $parametres['societe_cotee']
  1109.                 ])
  1110.                 ->add('type_recherche'HiddenType::class, [
  1111.                     'data' => 5,
  1112.                 ])
  1113.                 ->add('rechercher'SubmitType::class)
  1114.                 ->setAction($this->generateUrl('vendre_entreprise_resultats_participations_fonds', ['codePays' => $codePays]))
  1115.                 ->setMethod('GET')
  1116.                 ->getForm();
  1117.         // On récupère depuis Parametre Site
  1118.         $anciennete_minimale_investissement_participation $psm->getValueParamSiteByParamCodePays("anciennete_minimale_investissement_participation""fr");
  1119.         $anciennete_maximale_investissement_participation $psm->getValueParamSiteByParamCodePays("anciennete_maximale_investissement_participation""fr");
  1120.         // annee_minimale vaut l'année en cours, moins l'ancienneté maximale fixée dans Parametres Site (par exemple 2025 - 15 ans => 2010)
  1121.         $annee_minimale = (int) date('Y') - $anciennete_maximale_investissement_participation;
  1122.         // annee_maximale vaut l'année en cours, moins l'ancienneté minimale fixée dans Parametres Site (par exemple 2025 - 5 ans => 2020)
  1123.         $annee_maximale = (int) date('Y') - $anciennete_minimale_investissement_participation;
  1124.         return $this->render(
  1125.                         'vendre_entreprise/recherche_avancee_participation_fonds.html.twig',
  1126.                         [
  1127.                             /* 'nb_actifs' => $nb_actifs,
  1128.                               'nb_entreprises' => $nb_entreprises,
  1129.                               'nb_cibles_potentielles' => $nb_cibles_potentielles,
  1130.                               'nb_recherches_partenariats' => $nb_recherches_partenariats, */
  1131.                             'form' => $form->createView(),
  1132.                             'parametres' => $parametres,
  1133.                             'parametres_localisations' => $parametres_localisations,
  1134.                             'parametres_secteurs' => $parametres_secteurs,
  1135.                             'string_params' => $string_params,
  1136.                             'show_secteur_niveau_2' => $show_secteur_niveau_2,
  1137.                             'show_secteur_niveau_3' => $show_secteur_niveau_3,
  1138.                             'annee_minimale' => $annee_minimale,
  1139.                             'annee_maximale' => $annee_maximale
  1140.                         ]
  1141.                 );
  1142.     }
  1143.     public function rechercheavanceefondsacquereur(Request $requestSecteursActiviteManagers $secteursActiviteManagerTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$codePays): Response {
  1144.         $parametres $request->query->all();
  1145.         $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1146.         $parametres_localisations ParametersProvider::prepareLocalisationsParameters($localisationManager$parametres);
  1147.         $parametres_secteurs ParametersProvider::prepareSecteursParameters($secteursActiviteManager$parametres);
  1148.         $string_params $this->serializeParams($parametres);
  1149.         /*
  1150.           $repoAcheteur = $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  1151.           $repoAnnuaireRepreneur = $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  1152.           $repoSociete = $this->getDoctrine()->getRepository(Societes::class);
  1153.           $nb_annonces_acheteur = $repoAcheteur->donne_nb_annonces_achat($parametres);
  1154.           $nb_recherches_partenariats = $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  1155.           $nb_annonces_acquisition = $nb_annonces_acheteur - $nb_recherches_partenariats;
  1156.           $nb_cvs = $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  1157.           $nb_acquereurs_historiques = $repoSociete->donne_nb_acquereurs_historiques($parametres);
  1158.           $nb_participations_fonds = $repoSociete->donne_nb_participations_fonds($parametres, "acheteur");
  1159.           $nb_acheteurs_potentiels = $nb_acquereurs_historiques + $nb_participations_fonds;
  1160.           $nb_acquereurs_investisseurs = $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  1161.           $nb_annonces = $nb_annonces_acquisition + $nb_cvs + $nb_acheteurs_potentiels + $nb_acquereurs_investisseurs;
  1162.          */
  1163.         $lang $request->getSession()->get('lang');
  1164.         $secteurs_activite1 $secteursActiviteManager->donne_option_select_secteurs_activite_niveau_1();
  1165.         //$secteurs_activite_fonds = $secteursActiviteManager->donne_option_select_secteurs_activite_fonds();
  1166.         if (isset($parametres['id_secteur_activite'])) {
  1167.             $secteurs_activite2 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite']);
  1168.             $show_secteur_niveau_2 true;
  1169.         } else {
  1170.             $secteurs_activite2 = [];
  1171.             $show_secteur_niveau_2 false;
  1172.         }
  1173.         if (isset($parametres['id_secteur_activite2'])) {
  1174.             $secteurs_activite3 $secteursActiviteManager->donne_option_select_secteurs_activite_enfant_by_secteur_activite_parent($parametres['id_secteur_activite2']);
  1175.             $show_secteur_niveau_3 true;
  1176.         } else {
  1177.             $secteurs_activite3 = [];
  1178.             $show_secteur_niveau_3 false;
  1179.         }
  1180.         $recherche_par = [
  1181.             $translationExtension->translate("mots-cles de l'activite recherchee"$lang'''M''') => 'motscles',
  1182.             $translationExtension->translate("secteur predefini"$lang'''M''') => 'secteurs'
  1183.         ];
  1184.         //dd($parametres,$show_secteur_niveau_2, $show_secteur_niveau_3);
  1185.         //$pays = $this->arm->donne_option_select_pays_annuaire_repreneurs(); // A faire avec liste pays recherchees acquéreur prêt à investir
  1186.         //$regions = [];
  1187.         $formFactory Forms::createFormFactoryBuilder()->getFormFactory();
  1188.         $form $formFactory->createNamedBuilder('')
  1189.                 ->add('id_secteur_activite'ChoiceType::class, [
  1190.                     'choices' => $secteurs_activite1,
  1191.                     'data' => $parametres['id_secteur_activite']
  1192.                 ])
  1193.                 ->add('id_secteur_activite2'ChoiceType::class, [
  1194.                     'choices' => $secteurs_activite2,
  1195.                     'data' => $parametres['id_secteur_activite2']
  1196.                 ])
  1197.                 ->add('id_secteur_activite3'ChoiceType::class, [
  1198.                     'choices' => $secteurs_activite3,
  1199.                     'data' => $parametres['id_secteur_activite3']
  1200.                 ])
  1201.                 ->add('id_secteur'HiddenType::class, [
  1202.                     'data' => $parametres['id_secteur'],
  1203.                 ])
  1204.                 ->add('ajouter_secteur_activite'ButtonType::class)
  1205. //         ->add('id_secteur_activite_fonds', ChoiceType::class, [
  1206. //             'choices' => $secteurs_activite_fonds,
  1207. //             'data' => $parametres['id_secteur_activite_fonds']
  1208. //         ])
  1209.                 ->add('recherche_par'ChoiceType::class, [
  1210.                     'required' => false,
  1211.                     'choices' => $recherche_par,
  1212.                     'expanded' => true,
  1213.                     'multiple' => false,
  1214.                     'data' => $parametres['recherche_par'],
  1215.                     'placeholder' => false,
  1216.                     'choice_value' => function ($choice) {
  1217.                         return $choice// Utilisez la valeur du choix comme clé
  1218.                     }
  1219.                 ])
  1220.                 ->add('reference_mots_cles'TextType::class, [
  1221.                     'required' => false,
  1222.                     'attr' => [
  1223.                         'placeholder' => $translationExtension->translate("transport, services informatiques, ..."$lang'''M''')
  1224.                     ],
  1225.                     'data' => $parametres['reference_mots_cles']
  1226.                 ])
  1227.                 /* ->add('code_naf', TextType::class, [
  1228.                   'required' => false,
  1229.                   'attr' => [
  1230.                   'placeholder' => $translationExtension->translate("ex : 58.36Z", $lang, '', 'M', '')
  1231.                   ],
  1232.                   'data' => $parametres['code_naf']
  1233.                   ]) */
  1234.                 ->add('rechercher'SubmitType::class)
  1235.                 ->setAction($this->generateUrl('vendre_entreprise_resultats_fonds_acquereur', ['codePays' => $codePays]))
  1236.                 ->setMethod('GET')
  1237.                 ->getForm();
  1238.         return $this->render(
  1239.                         'vendre_entreprise/recherche_avancee_fonds_acquereur.html.twig',
  1240.                         [
  1241.                             /* 'nb_annonces' => $nb_annonces,
  1242.                               'nb_annonces_acquisition' => $nb_annonces_acquisition,
  1243.                               'nb_cvs' => $nb_cvs,
  1244.                               'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  1245.                               'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  1246.                               'nb_participations_fonds' => $nb_participations_fonds,
  1247.                               'nb_acquereurs_investisseurs' => $nb_acquereurs_investisseurs,
  1248.                               'nb_recherches_partenariats' => $nb_recherches_partenariats, */
  1249.                             'form' => $form->createView(),
  1250.                             'parametres' => $parametres,
  1251.                             'parametres_localisations' => $parametres_localisations,
  1252.                             'parametres_secteurs' => $parametres_secteurs,
  1253.                             'string_params' => $string_params,
  1254.                             'show_secteur_niveau_2' => $show_secteur_niveau_2,
  1255.                             'show_secteur_niveau_3' => $show_secteur_niveau_3
  1256.                         ]
  1257.                 );
  1258.     }
  1259.     public function acquisition(Request $requestPaginatorInterface $paginatorContainerBagInterface $containerLocalisationsManagers $localisationManagerLocalisationsRepository $localisationsRepoTranslationExtension $translationExtensionParametresDiversRepository $parametresDiversRepo$type null$idLocalisation null$slug null$idSecteurActivite null$codePays): Response {
  1260.         $lang $request->getSession()->get('lang');
  1261.         $parametres $request->query->all();
  1262.         $is_recherche_by_localisation false;
  1263.         $metaTitle $metaDescription null;
  1264.         $arrayVarsTrans = [];
  1265.         // Recherche standard
  1266.         if ($idLocalisation || $idSecteurActivite) {
  1267.             // Preparation des parametres
  1268.             if ($idLocalisation) {
  1269.                 if ($type == 'd') {
  1270.                     $parametres['id_departement'] = $idLocalisation;
  1271.                     $child_type null;
  1272.                     $parent_type "r";
  1273.                 } elseif ($type == "r") {
  1274.                     $parametres['id_region'] = $idLocalisation;
  1275.                     $child_type "d";
  1276.                     $parent_type "p";
  1277.                 } else {
  1278.                     $parametres['id_pays'] = $idLocalisation;
  1279.                     $child_type "r";
  1280.                     $parent_type null;
  1281.                 }
  1282.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  1283.             }
  1284.             if ($idSecteurActivite) {
  1285.                 $parametres['id_secteur_activite'] = $idSecteurActivite;
  1286.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  1287.             }
  1288.             // Recherche par localisation
  1289.             if ($idLocalisation) {
  1290.                 $localisations $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
  1291.                 if (!$localisations) {
  1292.                     $this->addFlash('error'$translationExtension->translate('erreur de localisation'$lang'''M'''));
  1293.                     return $this->redirectToRoute('vendre_entreprise_resultats_annonces_acquisition', ['codePays' => $codePays]);
  1294.                 }
  1295.                 $villesRepo $this->getDoctrine()->getRepository(Villes::class);
  1296.                 $noms_ville $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
  1297.                 $sous_localisations $localisationsRepo->getSubLevelLocalisations($idLocalisation);
  1298.                 $sous_localisations_numbers = [];
  1299.                 $prev_localisation = [];
  1300.                 foreach ($sous_localisations as $sous_localisation) {
  1301.                     $params = [];
  1302.                     if ($idSecteurActivite) {
  1303.                         $params['id_secteur_activite'] = $idSecteurActivite;
  1304.                     }
  1305.                     if ($type == "r") {
  1306.                         $params['id_departement'] = $sous_localisation['id_localisation'];
  1307.                     } else {
  1308.                         if ($idLocalisation == "99") {
  1309.                             $params['id_pays'] = $sous_localisation['id_localisation'];
  1310.                             $child_type "p";
  1311.                         } else {
  1312.                             $params['id_region'] = $sous_localisation['id_localisation'];
  1313.                         }
  1314.                     }
  1315.                     $sous_localisation['type'] = $child_type;
  1316.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  1317.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  1318.                     if ($idLocalisation == 99) {
  1319.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_annonces_acquisition'] != 0) {
  1320.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  1321.                         }
  1322.                     } else {
  1323.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_annonces_acquisition'] != 0) {
  1324.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  1325.                         }
  1326.                     }
  1327.                 }
  1328.                 if (!$prev_localisation && $parent_type) {
  1329.                     $prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
  1330.                     $prev_localisation['type'] = $parent_type;
  1331.                 }
  1332.                 $last_localisation end($localisations);
  1333.                 $arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
  1334.                 $arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
  1335.                 $metaTitle '%$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'aquisition d\'ENTREPRISE %$prefixe_localisation%$ %$nom_localisation%$';
  1336.                 $metaDescription 'consultez %$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'aquisition d\'entreprise %$prefixe_localisation%$ %$nom_localisation%$';
  1337.             }
  1338.             // Recherche par secteur d'activite
  1339.             if ($idSecteurActivite) {
  1340.                 $secteurActivites $this->sam->getTreeSecteursActivite($idSecteurActivite);
  1341.                 if (!$secteurActivites) {
  1342.                     $this->addFlash('error'$translationExtension->translate("erreur de secteur d'activité"$lang'''M'''));
  1343.                     return $this->redirectToRoute('vendre_entreprise_resultats_annonces_acquisition', ['codePays' => $codePays]);
  1344.                 }
  1345.                 $secteurActiviteRepo $this->getDoctrine()->getRepository(SecteursActivite::class);
  1346.                 $sous_secteurs $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
  1347.                 $sous_secteurs_numbers = [];
  1348.                 $prev_secteur = [];
  1349.                 foreach ($sous_secteurs as $sous_secteur) {
  1350.                     $params = [];
  1351.                     $params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
  1352.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  1353.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  1354.                     $sous_secteurs_numbers[] = array_merge($sous_secteur$annonces_numbers);
  1355.                 }
  1356.                 if (!$prev_secteur) {
  1357.                     $prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
  1358.                 }
  1359.                 $last_secteur end($secteurActivites);
  1360.                 $arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
  1361.                 // Si ce n'est pas une recherche croisée
  1362.                 if (!$idLocalisation) {
  1363.                     $metaTitle '%$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'aquisition d\'ENTREPRISE %$nomPourTitle%$';
  1364.                     $metaDescription 'consultez %$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'aquisition d\'entreprise %$nomPourTitle%$';
  1365.                 } else {
  1366.                     $metaTitle '%$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'aquisition d\'ENTREPRISE %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  1367.                     $metaDescription 'consultez %$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'aquisition d\'entreprise %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  1368.                 }
  1369.             }
  1370.             // Recherche avancée / dernières annonces
  1371.         } else {
  1372.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1373.         }
  1374.         $is_recherche ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters() !== ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1375.         if (isset($parametres['id_localisation']) && $parametres['id_localisation'] != "") {
  1376.             $is_recherche_by_localisation true;
  1377.         }
  1378.         $string_params $string_params_without_page $this->serializeParams($parametres);
  1379.         $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  1380.         // Si c'est une recherche, on calcule les nb à afficher
  1381.         if ($is_recherche) {
  1382.             $repoAnnuaireRepreneur $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  1383.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  1384.             $nb_annonces_acheteur $repoAcheteur->donne_nb_annonces_achat($parametres);
  1385.             $nb_recherches_partenariats $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  1386.             $nb_annonces_acquisition $nb_annonces_acheteur $nb_recherches_partenariats;
  1387.             $nb_cvs $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  1388.             $nb_acquereurs_historiques $repoSociete->donne_nb_acquereurs_historiques($parametres);
  1389.             $nb_participations_fonds $repoSociete->donne_nb_participations_fonds($parametres"acheteur");
  1390.             $nb_acheteurs_potentiels $nb_acquereurs_historiques $nb_participations_fonds;
  1391.             $nb_investisseurs_acquereurs $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  1392.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  1393.         } else {
  1394.             // Sinon on récupère les nb stockés dans parametres_divers
  1395.             $nb $parametresDiversRepo->getListNombresAafficher();
  1396.             $nb_annonces_acheteur $nb->vendre_une_entreprise_nb_acheteurs;
  1397.             $nb_annonces_acquisition $nb->vendre_une_entreprise_nb_annonces_acquistions;
  1398.             $nb_cvs $nb->vendre_une_entreprise_nb_cv_repreneurs;
  1399.             $nb_acquereurs_historiques $nb->vendre_une_entreprise_nb_acquereurs_historique;
  1400.             $nb_participations_fonds $nb->vendre_une_entreprise_nb_participations_de_fonds;
  1401.             $nb_acheteurs_potentiels $nb->vendre_une_entreprise_nb_acheteurs_potentiels;
  1402.             $nb_investisseurs_acquereurs $nb->vendre_une_entreprise_nb_investisseurs_acquereurs;
  1403.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  1404.         }
  1405.         $user $this->getUser();
  1406.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  1407.         $dernieresAnnonces $request->query->get('dernieresAnnonces');
  1408.         $nb_total_annonces_prioritaires $repoAcheteur->donne_nb_annonces_acheteur_prioritaires($parametres'nombre');
  1409.         $liste_annonces_prioritaires = [];
  1410.         if ((null == $request->get('page') || == $request->get('page')) && (!isset($_GET['tri']) || null == $_GET['tri'] || '21' == $_GET['tri'] || '' == $_GET['tri']) && $dernieresAnnonces == null) {
  1411.             $liste_annonces_prioritaires $this->am->getAnnoncesPrioritairesAcquisition($parametres'entreprise'$login_utilisateur);
  1412.         }
  1413.         $liste_annonces $this->am->getAnnoncesAcquisitionList($request$paginator$parametres'entreprise'$login_utilisateur);
  1414.         $page $request->query->get('page');
  1415.         if ($page != null && $page != 1) {
  1416.             $string_params .= "&page=" $page;
  1417.         }
  1418.         $tri = isset($parametres['tri']) ? $parametres['tri'] : null;
  1419.         $urlList $request->getPathInfo();
  1420.         $tri_default null;
  1421.         // Si aucun tri
  1422.         if (!$tri) {
  1423.             // On trie par pertinence s'il y a une localisation 
  1424.             if ($is_recherche_by_localisation) {
  1425.                 $tri_default "pertinence";
  1426.             }
  1427.             // Sinon par CA si c'est une recherche
  1428.             elseif ($is_recherche) {
  1429.                 $tri_default "ca_desc";
  1430.             } else {
  1431.                 $tri_default "date_desc";
  1432.             }
  1433.         }
  1434.         // Si ce n'est pas une recherche par loc / sec ou croisé
  1435.         if ($metaTitle == null && $metaTitle == null) {
  1436.             $metaTitle '%$nb_annonces_acquisition%$ $$annonce$${p|annonces} de recherche d\'acquisition';
  1437.             $metaDescription 'consultez %$nb_annonces_acquisition%$ $$annonce $${p|annonces} de recherche d\'acquisition en fonction de vos critères de recherche.';
  1438.         }
  1439.         $arrayVarsTrans['nb_annonces_acquisition'] = $nb_annonces_acquisition;
  1440.         if ($nb_annonces_acquisition 1) {
  1441.             $p 'p';
  1442.         } else {
  1443.             $p '';
  1444.         }
  1445.         $metaTag $this->metaTag
  1446.                 ->setTitle($translationExtension->translate($metaTitle$lang"""M"$p$arrayVarsTrans))
  1447.                 ->setDescription($translationExtension->translate($metaDescription$lang"""M"$p$arrayVarsTrans))
  1448.                 ->setRobots('noindex');
  1449.         $array_return = [
  1450.             'metaTag' => $metaTag,
  1451.             'nb_annonces' => $nb_annonces,
  1452.             'nb_annonces_acquisition' => $nb_annonces_acquisition,
  1453.             'nb_cvs' => $nb_cvs,
  1454.             'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  1455.             'nb_participations_fonds' => $nb_participations_fonds,
  1456.             'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  1457.             'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
  1458.             'liste_annonces_prioritaires' => $liste_annonces_prioritaires,
  1459.             'liste_annonces' => $liste_annonces,
  1460.             'nb_total_annonces_prioritaires' => $nb_total_annonces_prioritaires,
  1461.             'string_params' => $string_params,
  1462.             'string_params_without_page' => $string_params_without_page,
  1463.             'tri' => $tri,
  1464.             'urlList' => $urlList,
  1465.             'idLocalisation' => null,
  1466.             'idSecteurActivite' => null,
  1467.             'tri_default' => $tri_default,
  1468.             'is_recherche_by_localisation' => $is_recherche_by_localisation,
  1469.             'cdn_fusacq' => $container->get('app.CDN')['CDN_FUSACQ'],
  1470.         ];
  1471.         if ($idLocalisation || $idSecteurActivite) {
  1472.             if ($idLocalisation) {
  1473.                 $array_return['idLocalisation'] = $idLocalisation;
  1474.                 $array_return['idSecteurActivite'] = $idSecteurActivite $idSecteurActivite null;
  1475.                 $array_return['slug'] = $slug;
  1476.                 $array_return['type'] = $type;
  1477.                 $array_return['localisations'] = $localisations;
  1478.                 $array_return['noms_ville'] = $noms_ville;
  1479.                 $array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
  1480.                 $array_return['prev_localisation'] = $prev_localisation;
  1481.             }
  1482.             if ($idSecteurActivite) {
  1483.                 $array_return['idSecteurActivite'] = $idSecteurActivite;
  1484.                 $array_return['idLocalisation'] = $idLocalisation $idLocalisation null;
  1485.                 $array_return['slug'] = $slug;
  1486.                 $array_return['secteurActivites'] = $secteurActivites;
  1487.                 $array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
  1488.                 $array_return['prev_secteur'] = $prev_secteur;
  1489.             }
  1490.             if ($idLocalisation && $idSecteurActivite) {
  1491.                 $array_return['idLocalisation'] = $idLocalisation;
  1492.             }
  1493.         }
  1494.         return $this->render(
  1495.                         'vendre_entreprise/acquisition.html.twig',
  1496.                         $array_return
  1497.                 );
  1498.     }
  1499.     public function cvrepreneur(Request $requestPaginatorInterface $paginatorLocalisationsManagers $localisationManagerLocalisationsRepository $localisationsRepoTranslationExtension $translationExtensionAnnuairesManagers $annuairesManagerParametresDiversRepository $parametresDiversRepo$type null$idLocalisation null$slug null$idSecteurActivite null$codePays): Response {
  1500.         $lang $request->getSession()->get('lang');
  1501.         $parametres $request->query->all();
  1502.         $is_recherche_by_localisation false;
  1503.         $metaTitle $metaDescription null;
  1504.         $arrayVarsTrans = [];
  1505.         // Recherche standard
  1506.         if ($idLocalisation || $idSecteurActivite) {
  1507.             // Preparation des parametres
  1508.             if ($idLocalisation) {
  1509.                 if ($type == 'd') {
  1510.                     $parametres['id_departement'] = $idLocalisation;
  1511.                     $child_type null;
  1512.                     $parent_type "r";
  1513.                 } elseif ($type == "r") {
  1514.                     $parametres['id_region'] = $idLocalisation;
  1515.                     $child_type "d";
  1516.                     $parent_type "p";
  1517.                 } else {
  1518.                     $parametres['id_pays'] = $idLocalisation;
  1519.                     $child_type "r";
  1520.                     $parent_type null;
  1521.                 }
  1522.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  1523.             }
  1524.             if ($idSecteurActivite) {
  1525.                 $parametres['id_secteur_activite'] = $idSecteurActivite;
  1526.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  1527.             }
  1528.             // Recherche par localisation
  1529.             if ($idLocalisation) {
  1530.                 $localisations $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
  1531.                 if (!$localisations) {
  1532.                     $this->addFlash('error'$translationExtension->translate('erreur de localisation'$lang'''M'''));
  1533.                     return $this->redirectToRoute('vendre_entreprise_resultats_cv_repreneur', ['codePays' => $codePays]);
  1534.                 }
  1535.                 $villesRepo $this->getDoctrine()->getRepository(Villes::class);
  1536.                 $noms_ville $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
  1537.                 $sous_localisations $localisationsRepo->getSubLevelLocalisations($idLocalisation);
  1538.                 $sous_localisations_numbers = [];
  1539.                 $prev_localisation = [];
  1540.                 foreach ($sous_localisations as $sous_localisation) {
  1541.                     $params = [];
  1542.                     if ($idSecteurActivite) {
  1543.                         $params['id_secteur_activite'] = $idSecteurActivite;
  1544.                     }
  1545.                     if ($type == "r") {
  1546.                         $params['id_departement'] = $sous_localisation['id_localisation'];
  1547.                     } else {
  1548.                         if ($idLocalisation == "99") {
  1549.                             $params['id_pays'] = $sous_localisation['id_localisation'];
  1550.                             $child_type "p";
  1551.                         } else {
  1552.                             $params['id_region'] = $sous_localisation['id_localisation'];
  1553.                         }
  1554.                     }
  1555.                     $sous_localisation['type'] = $child_type;
  1556.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  1557.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  1558.                     if ($idLocalisation == 99) {
  1559.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_cvs'] != 0) {
  1560.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  1561.                         }
  1562.                     } else {
  1563.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_cvs'] != 0) {
  1564.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  1565.                         }
  1566.                     }
  1567.                 }
  1568.                 if (!$prev_localisation && $parent_type) {
  1569.                     $prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
  1570.                     $prev_localisation['type'] = $parent_type;
  1571.                 }
  1572.                 $last_localisation end($localisations);
  1573.                 $arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
  1574.                 $arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
  1575.                 $metaTitle '%$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise %$prefixe_localisation%$ %$nom_localisation%$';
  1576.                 $metaDescription 'consultez %$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise %$prefixe_localisation%$ %$nom_localisation%$';
  1577.             }
  1578.             // Recherche par secteur d'activite
  1579.             if ($idSecteurActivite) {
  1580.                 $secteurActivites $this->sam->getTreeSecteursActivite($idSecteurActivite);
  1581.                 if (!$secteurActivites) {
  1582.                     $this->addFlash('error'$translationExtension->translate("erreur de secteur d'activité"$lang'''M'''));
  1583.                     return $this->redirectToRoute('vendre_entreprise_resultats_cv_repreneur', ['codePays' => $codePays]);
  1584.                 }
  1585.                 $secteurActiviteRepo $this->getDoctrine()->getRepository(SecteursActivite::class);
  1586.                 $sous_secteurs $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
  1587.                 $sous_secteurs_numbers = [];
  1588.                 $prev_secteur = [];
  1589.                 foreach ($sous_secteurs as $sous_secteur) {
  1590.                     $params = [];
  1591.                     $params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
  1592.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  1593.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  1594.                     $sous_secteurs_numbers[] = array_merge($sous_secteur$annonces_numbers);
  1595.                 }
  1596.                 if (!$prev_secteur) {
  1597.                     $prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
  1598.                 }
  1599.                 $last_secteur end($secteurActivites);
  1600.                 $arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
  1601.                 // Si ce n'est pas une recherche croisée
  1602.                 if (!$idLocalisation) {
  1603.                     $metaTitle '%$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise %$nomPourTitle%$ ';
  1604.                     $metaDescription 'consultez %$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise %$nomPourTitle%$';
  1605.                 } else {
  1606.                     $metaTitle '%$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  1607.                     $metaDescription 'consultez %$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  1608.                 }
  1609.             }
  1610.             // Recherche avancée / dernières annonces
  1611.         } else {
  1612.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1613.         }
  1614.         $is_recherche ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters() !== ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1615.         if (isset($parametres['id_localisation']) && $parametres['id_localisation']) {
  1616.             $is_recherche_by_localisation true;
  1617.         }
  1618.         $string_params $string_params_without_page $this->serializeParams($parametres);
  1619.         $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  1620.         // Si c'est une recherche, on calcule les nb à afficher
  1621.         if ($is_recherche) {
  1622.             $repoAnnuaireRepreneur $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  1623.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  1624.             $nb_annonces_acheteur $repoAcheteur->donne_nb_annonces_achat($parametres);
  1625.             $nb_recherches_partenariats $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  1626.             $nb_annonces_acquisition $nb_annonces_acheteur $nb_recherches_partenariats;
  1627.             $nb_cvs $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  1628.             $nb_acquereurs_historiques $repoSociete->donne_nb_acquereurs_historiques($parametres);
  1629.             $nb_participations_fonds $repoSociete->donne_nb_participations_fonds($parametres"acheteur");
  1630.             $nb_acheteurs_potentiels $nb_acquereurs_historiques $nb_participations_fonds;
  1631.             $nb_investisseurs_acquereurs $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  1632.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  1633.         } else {
  1634.             // Sinon on récupère les nb stockés dans parametres_divers
  1635.             $nb $parametresDiversRepo->getListNombresAafficher();
  1636.             $nb_annonces_acheteur $nb->vendre_une_entreprise_nb_acheteurs;
  1637.             $nb_annonces_acquisition $nb->vendre_une_entreprise_nb_annonces_acquistions;
  1638.             $nb_cvs $nb->vendre_une_entreprise_nb_cv_repreneurs;
  1639.             $nb_acquereurs_historiques $nb->vendre_une_entreprise_nb_acquereurs_historique;
  1640.             $nb_participations_fonds $nb->vendre_une_entreprise_nb_participations_de_fonds;
  1641.             $nb_acheteurs_potentiels $nb->vendre_une_entreprise_nb_acheteurs_potentiels;
  1642.             $nb_investisseurs_acquereurs $nb->vendre_une_entreprise_nb_investisseurs_acquereurs;
  1643.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  1644.         }
  1645.         $liste_cvs $annuairesManager->getCVsRepreneursListBis($request$paginator$parametres);
  1646.         $tri = isset($parametres['tri']) ? $parametres['tri'] : null;
  1647.         $page $request->query->get('page');
  1648.         if ($page != null && $page != 1) {
  1649.             $string_params .= "&page=" $page;
  1650.         }
  1651.         $urlList $request->getPathInfo();
  1652.         $tri_default null;
  1653.         // Si aucun tri
  1654.         if (!$tri) {
  1655.             // On trie par pertinence s'il y a une localisation
  1656.             if ($is_recherche_by_localisation) {
  1657.                 $tri_default "pertinence";
  1658.             }
  1659.             // Sinon par CA si c'est une recherche
  1660. //             elseif ($is_recherche) {
  1661. //                 $tri_default = "ca_desc";
  1662. //             } else {
  1663. //                 $tri_default = "date_desc";
  1664. //             }
  1665.             else {
  1666.                 $tri_default "date_desc";
  1667.             }
  1668.         }
  1669.         // Si ce n'est pas une recherche par loc / sec ou croisé
  1670.         if ($metaTitle == null && $metaTitle == null) {
  1671.             $metaTitle '%$nb_cvs%$ CV de $$repreneur$${p|repreneur} d\'entreprise';
  1672.             $metaDescription 'consultez %$nb_cvs%$ CV de $$repreneur$${p|repreneurs} d\'entreprise en fonction de vos critères de recherche.';
  1673.         }
  1674.         $arrayVarsTrans['nb_cvs'] = $nb_cvs;
  1675.         if ($nb_cvs 1) {
  1676.             $p 'p';
  1677.         } else {
  1678.             $p '';
  1679.         }
  1680.         $metaTag $this->metaTag
  1681.                 ->setTitle($translationExtension->translate($metaTitle$lang"""M"$p$arrayVarsTrans))
  1682.                 ->setDescription($translationExtension->translate($metaDescription$lang"""M"$p$arrayVarsTrans))
  1683.                 ->setRobots('noindex');
  1684.         $array_return = [
  1685.             'metaTag' => $metaTag,
  1686.             'nb_annonces' => $nb_annonces,
  1687.             'nb_annonces_acquisition' => $nb_annonces_acquisition,
  1688.             'nb_cvs' => $nb_cvs,
  1689.             'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  1690.             'nb_participations_fonds' => $nb_participations_fonds,
  1691.             'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  1692.             'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
  1693.             'liste_cvs' => $liste_cvs,
  1694.             'string_params' => $string_params,
  1695.             'string_params_without_page' => $string_params_without_page,
  1696.             'tri' => $tri,
  1697.             'get' => isset($parametres['reference_mots_cles']) && trim($parametres['reference_mots_cles']) ? trim($parametres['reference_mots_cles']) : "_",
  1698.             'urlList' => $urlList,
  1699.             'idLocalisation' => null,
  1700.             'idSecteurActivite' => null,
  1701.             'tri_default' => $tri_default,
  1702.             'is_recherche_by_localisation' => $is_recherche_by_localisation
  1703.         ];
  1704.         if ($idLocalisation || $idSecteurActivite) {
  1705.             if ($idLocalisation) {
  1706.                 $array_return['idLocalisation'] = $idLocalisation;
  1707.                 $array_return['idSecteurActivite'] = $idSecteurActivite $idSecteurActivite null;
  1708.                 $array_return['slug'] = $slug;
  1709.                 $array_return['type'] = $type;
  1710.                 $array_return['localisations'] = $localisations;
  1711.                 $array_return['noms_ville'] = $noms_ville;
  1712.                 $array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
  1713.                 $array_return['prev_localisation'] = $prev_localisation;
  1714.             }
  1715.             if ($idSecteurActivite) {
  1716.                 $array_return['idSecteurActivite'] = $idSecteurActivite;
  1717.                 $array_return['idLocalisation'] = $idLocalisation $idLocalisation null;
  1718.                 $array_return['slug'] = $slug;
  1719.                 $array_return['secteurActivites'] = $secteurActivites;
  1720.                 $array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
  1721.                 $array_return['prev_secteur'] = $prev_secteur;
  1722.             }
  1723.             if ($idLocalisation && $idSecteurActivite) {
  1724.                 $array_return['idLocalisation'] = $idLocalisation;
  1725.             }
  1726.         }
  1727.         return $this->render(
  1728.                         'vendre_entreprise/cv_repreneur.html.twig',
  1729.                         $array_return
  1730.                 );
  1731.     }
  1732.     public function acquereurhistorique(Request $requestPaginatorInterface $paginatorLocalisationsManagers $localisationManagerLocalisationsRepository $localisationsRepoTranslationExtension $translationExtensionParametresDiversRepository $parametresDiversRepo$type null$idLocalisation null$slug null$idSecteurActivite null$codePays): Response {
  1733.         $lang $request->getSession()->get('lang');
  1734.         $parametres $request->query->all();
  1735.         $metaTitle $metaDescription null;
  1736.         $arrayVarsTrans = [];
  1737.         // Recherche standard
  1738.         if ($idLocalisation || $idSecteurActivite) {
  1739.             // Preparation des parametres
  1740.             if ($idLocalisation) {
  1741.                 if ($type == 'd') {
  1742.                     $parametres['id_departement'] = $idLocalisation;
  1743.                     $child_type null;
  1744.                     $parent_type "r";
  1745.                 } elseif ($type == "r") {
  1746.                     $parametres['id_region'] = $idLocalisation;
  1747.                     $child_type "d";
  1748.                     $parent_type "p";
  1749.                 } else {
  1750.                     $parametres['id_pays'] = $idLocalisation;
  1751.                     $child_type "r";
  1752.                     $parent_type null;
  1753.                 }
  1754.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  1755.             }
  1756.             if ($idSecteurActivite) {
  1757.                 $parametres['id_secteur_activite'] = $idSecteurActivite;
  1758.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  1759.             }
  1760.             // Recherche par localisation
  1761.             if ($idLocalisation) {
  1762.                 $localisations $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
  1763.                 if (!$localisations) {
  1764.                     $this->addFlash('error'$translationExtension->translate('erreur de localisation'$lang'''M'''));
  1765.                     return $this->redirectToRoute('vendre_entreprise_resultats_acquereur_historique', ['codePays' => $codePays]);
  1766.                 }
  1767.                 $villesRepo $this->getDoctrine()->getRepository(Villes::class);
  1768.                 $noms_ville $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
  1769.                 $sous_localisations $localisationsRepo->getSubLevelLocalisations($idLocalisation);
  1770.                 $sous_localisations_numbers = [];
  1771.                 $prev_localisation = [];
  1772.                 foreach ($sous_localisations as $sous_localisation) {
  1773.                     $params = [];
  1774.                     if ($idSecteurActivite) {
  1775.                         $params['id_secteur_activite'] = $idSecteurActivite;
  1776.                     }
  1777.                     if ($type == "r") {
  1778.                         $params['id_departement'] = $sous_localisation['id_localisation'];
  1779.                     } else {
  1780.                         if ($idLocalisation == "99") {
  1781.                             $params['id_pays'] = $sous_localisation['id_localisation'];
  1782.                             $child_type "p";
  1783.                         } else {
  1784.                             $params['id_region'] = $sous_localisation['id_localisation'];
  1785.                         }
  1786.                     }
  1787.                     $sous_localisation['type'] = $child_type;
  1788.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  1789.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  1790.                     if ($idLocalisation == 99) {
  1791.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_acquereurs_historiques'] != 0) {
  1792.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  1793.                         }
  1794.                     } else {
  1795.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_acquereurs_historiques'] != 0) {
  1796.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  1797.                         }
  1798.                     }
  1799.                 }
  1800.                 if (!$prev_localisation && $parent_type) {
  1801.                     $prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
  1802.                     $prev_localisation['type'] = $parent_type;
  1803.                 }
  1804.                 $last_localisation end($localisations);
  1805.                 $arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
  1806.                 $arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
  1807.                 $metaTitle '%$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} %$prefixe_localisation%$ %$nom_localisation%$';
  1808.                 $metaDescription 'consultez %$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} %$prefixe_localisation%$ %$nom_localisation%$';
  1809.             }
  1810.             // Recherche par secteur d'activite
  1811.             if ($idSecteurActivite) {
  1812.                 $secteurActivites $this->sam->getTreeSecteursActivite($idSecteurActivite);
  1813.                 if (!$secteurActivites) {
  1814.                     $this->addFlash('error'$translationExtension->translate("erreur de secteur d'activité"$lang'''M'''));
  1815.                     return $this->redirectToRoute('vendre_entreprise_resultats_acquereur_historique', ['codePays' => $codePays]);
  1816.                 }
  1817.                 $secteurActiviteRepo $this->getDoctrine()->getRepository(SecteursActivite::class);
  1818.                 $sous_secteurs $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
  1819.                 $sous_secteurs_numbers = [];
  1820.                 $prev_secteur = [];
  1821.                 foreach ($sous_secteurs as $sous_secteur) {
  1822.                     $params = [];
  1823.                     $params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
  1824.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  1825.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  1826.                     $sous_secteurs_numbers[] = array_merge($sous_secteur$annonces_numbers);
  1827.                 }
  1828.                 if (!$prev_secteur) {
  1829.                     $prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
  1830.                 }
  1831.                 $last_secteur end($secteurActivites);
  1832.                 $arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
  1833.                 // Si ce n'est pas une recherche croisée
  1834.                 if (!$idLocalisation) {
  1835.                     $metaTitle '%$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} %$nomPourTitle%$';
  1836.                     $metaDescription 'consultez %$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} %$nomPourTitle%$';
  1837.                 } else {
  1838.                     $metaTitle '%$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  1839.                     $metaDescription 'consultez %$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  1840.                 }
  1841.             }
  1842.             // Recherche avancée / dernières annonces
  1843.         } else {
  1844.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1845.         }
  1846.         $is_recherche ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters() !== ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  1847.         $string_params $string_params_without_page $this->serializeParams($parametres);
  1848.         $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  1849.         // Si c'est une recherche, on calcule les nb à afficher
  1850.         if ($is_recherche) {
  1851.             $repoAnnuaireRepreneur $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  1852.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  1853.             $nb_annonces_acheteur $repoAcheteur->donne_nb_annonces_achat($parametres);
  1854.             $nb_recherches_partenariats $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  1855.             $nb_annonces_acquisition $nb_annonces_acheteur $nb_recherches_partenariats;
  1856.             $nb_cvs $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  1857.             $nb_acquereurs_historiques $repoSociete->donne_nb_acquereurs_historiques($parametres);
  1858.             $nb_participations_fonds $repoSociete->donne_nb_participations_fonds($parametres"acheteur");
  1859.             $nb_acheteurs_potentiels $nb_acquereurs_historiques $nb_participations_fonds;
  1860.             $nb_investisseurs_acquereurs $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  1861.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  1862.         } else {
  1863.             // Sinon on récupère les nb stockés dans parametres_divers
  1864.             $nb $parametresDiversRepo->getListNombresAafficher();
  1865.             $nb_annonces_acheteur $nb->vendre_une_entreprise_nb_acheteurs;
  1866.             $nb_annonces_acquisition $nb->vendre_une_entreprise_nb_annonces_acquistions;
  1867.             $nb_cvs $nb->vendre_une_entreprise_nb_cv_repreneurs;
  1868.             $nb_acquereurs_historiques $nb->vendre_une_entreprise_nb_acquereurs_historique;
  1869.             $nb_participations_fonds $nb->vendre_une_entreprise_nb_participations_de_fonds;
  1870.             $nb_acheteurs_potentiels $nb->vendre_une_entreprise_nb_acheteurs_potentiels;
  1871.             $nb_investisseurs_acquereurs $nb->vendre_une_entreprise_nb_investisseurs_acquereurs;
  1872.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  1873.         }
  1874.         // Verifier si droit_acces Annuaire participation ou Fusacq Expert
  1875.         $has_service false;
  1876.         //On verifie si l'utilisateur a le droit de consulter cette page
  1877.         $user $this->getUser();
  1878.         if ($user) {
  1879.             $has_service $this->dm->checkIfThisUserHasDroitService($user, [2]); // 2 = annuaire_participations
  1880.         } else {
  1881.             $has_service false;
  1882.         }
  1883.         /* $parametres['date'] = "12-12-2022";
  1884.           $parametres['date_avant_apres'] = "0";
  1885.           $parametres['reference_mots_cles'] = "med ";
  1886.           $parametres['rdb_expert_unique'] = 1;
  1887.           $parametres['id_secteur_activite'] = "1";
  1888.           $parametres['code_naf'] = "1";
  1889.           $parametres['id_localisation'] = "99";
  1890.           $parametres['id_pays'] = "15"; */
  1891.         $liste_acquereurs_historiques $this->sm->getAcquereurHistoriqueList($request$paginator$parametres);
  1892.         //dd($liste_acquereurs_historiques);
  1893.         $page $request->query->get('page');
  1894.         if ($page != null && $page != 1) {
  1895.             $string_params .= "&page=" $page;
  1896.         }
  1897.         $tri = isset($parametres['tri']) ? $parametres['tri'] : null;
  1898.         $urlList $request->getPathInfo();
  1899.         $show_modal true;
  1900.         if (isset($_COOKIE['show_modal_acquereur_historique']) && "false" == $_COOKIE['show_modal_acquereur_historique']) {
  1901.             $show_modal false;
  1902.         }
  1903.         $tri = isset($parametres['tri']) ? $parametres['tri'] : null;
  1904.         $tri_default null;
  1905.         // Si aucun tri
  1906.         if (!$tri) {
  1907.             // On trie par CA si c'est une recherche
  1908.             if ($is_recherche) {
  1909.                 $tri_default "ca_desc";
  1910.             } else {
  1911.                 $tri_default "date_desc";
  1912.             }
  1913.         }
  1914.         $is_recherche_by_one_localisation $this->isRechercheByOneLocalisation($parametres);
  1915.         $is_recherche_by_several_localisations $this->isRechercheBySeveralLocalisations($parametres);
  1916.         $is_recherche_by_one_sous_localisation_only $this->isRechercheByOneSousLocalisationOnly($parametres);
  1917.         $complement_titre "";
  1918.         $id_pays_recherche null;
  1919.         $text_pays_recherche null;
  1920.         $nb_acquereurs_pays null;
  1921.         $string_params_pays null;
  1922.         if ($is_recherche_by_one_localisation) {
  1923.             if ($is_recherche_by_one_sous_localisation_only) {
  1924.                 $id_pays_recherche $this->getPaysIdLocalisationBySousLocalisationId($parametres['id_localisation']);
  1925.                 $pays_recherche $localisationManager->getNomLocalisationWithPrefixById($id_pays_recherche);
  1926.                 if ($pays_recherche) {
  1927.                     $text_pays_recherche $pays_recherche[0]['nom_localisation'];
  1928.                 } else {
  1929.                     $text_pays_recherche "";
  1930.                 }
  1931.                 $parametres_pays $parametres;
  1932.                 $parametres_pays['id_localisation'] = ',p' $id_pays_recherche ',';
  1933.                 $nb_acquereurs_pays $this->getAnnoncesNumbers($parametres_pays)['nb_acquereurs_historiques'];
  1934.                 $string_params_pays str_replace($parametres['id_localisation'], ',p' $id_pays_recherche ','$string_params_without_page);
  1935.                 // Si sous localisation en France
  1936.                 if ($id_pays_recherche == "33") {
  1937.                     $id_sous_localisation substr(array_values(array_filter(explode(","$parametres['id_localisation'])))[0], 1);
  1938.                     $sous_localisation $localisationsRepo->findOneBy(['id_localisation' => $id_sous_localisation]);
  1939.                     if ($sous_localisation) {
  1940.                         $complement_titre $sous_localisation->__get('prefixe') . ' ' $sous_localisation->__get('nom_localisation');
  1941.                     }
  1942.                 } else {
  1943.                     $complement_titre "dans cette localisation";
  1944.                 }
  1945.             } else {
  1946.                 $id_localisation substr(array_values(array_filter(explode(","$parametres['id_localisation'])))[0], 1);
  1947.                 $pays $localisationsRepo->findOneBy(['id_localisation' => $id_localisation]);
  1948.                 if ($pays) {
  1949.                     $complement_titre $pays->__get('prefixe') . ' ' $pays->__get('nom_localisation');
  1950.                 }
  1951.             }
  1952.         } elseif ($is_recherche_by_several_localisations) {
  1953.             $complement_titre "dans vos localisations";
  1954.         }
  1955.         // Si ce n'est pas une recherche par loc / sec ou croisé
  1956.         if ($metaTitle == null && $metaTitle == null) {
  1957.             $metaTitle '%$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques}';
  1958.             $metaDescription 'consultez %$nb_acquereurs_historiques%$ $$acquereur historique$${p|acquereurs historiques} en fonction de vos critères de recherche.';
  1959.         }
  1960.         $arrayVarsTrans['nb_acquereurs_historiques'] = $nb_acquereurs_historiques;
  1961.         if ($nb_acquereurs_historiques 1) {
  1962.             $p 'p';
  1963.         } else {
  1964.             $p '';
  1965.         }
  1966.         $metaTag $this->metaTag
  1967.                 ->setTitle($translationExtension->translate($metaTitle$lang"""M"$p$arrayVarsTrans))
  1968.                 ->setDescription($translationExtension->translate($metaDescription$lang"""M"$p$arrayVarsTrans))
  1969.                 ->setRobots('noindex');
  1970.         $array_return = [
  1971.             'metaTag' => $metaTag,
  1972.             'nb_annonces' => $nb_annonces,
  1973.             'nb_annonces_acquisition' => $nb_annonces_acquisition,
  1974.             'nb_cvs' => $nb_cvs,
  1975.             'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  1976.             'nb_participations_fonds' => $nb_participations_fonds,
  1977.             'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  1978.             'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
  1979.             'liste_acquereurs_historiques' => $liste_acquereurs_historiques,
  1980.             'string_params' => $string_params,
  1981.             'string_params_without_page' => $string_params_without_page,
  1982.             'tri' => $tri,
  1983.             'get' => isset($parametres['reference_mots_cles']) && trim($parametres['reference_mots_cles']) ? trim($parametres['reference_mots_cles']) : "_",
  1984.             'urlList' => $urlList,
  1985.             'idLocalisation' => null,
  1986.             'idSecteurActivite' => null,
  1987.             'tri_default' => $tri_default,
  1988.             'show_modal' => $show_modal,
  1989.             'has_service' => $has_service,
  1990.             'is_recherche_by_one_sous_localisation_only' => $is_recherche_by_one_sous_localisation_only,
  1991.             'id_pays_recherche' => $id_pays_recherche,
  1992.             'text_pays_recherche' => $text_pays_recherche,
  1993.             'string_params_pays' => $string_params_pays,
  1994.             'nb_acquereurs_pays' => $nb_acquereurs_pays,
  1995.             'complement_titre' => $complement_titre
  1996.         ];
  1997.         if ($idLocalisation || $idSecteurActivite) {
  1998.             if ($idLocalisation) {
  1999.                 $array_return['idLocalisation'] = $idLocalisation;
  2000.                 $array_return['idSecteurActivite'] = $idSecteurActivite $idSecteurActivite null;
  2001.                 $array_return['slug'] = $slug;
  2002.                 $array_return['type'] = $type;
  2003.                 $array_return['localisations'] = $localisations;
  2004.                 $array_return['noms_ville'] = $noms_ville;
  2005.                 $array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
  2006.                 $array_return['prev_localisation'] = $prev_localisation;
  2007.             }
  2008.             if ($idSecteurActivite) {
  2009.                 $array_return['idSecteurActivite'] = $idSecteurActivite;
  2010.                 $array_return['idLocalisation'] = $idLocalisation $idLocalisation null;
  2011.                 $array_return['slug'] = $slug;
  2012.                 $array_return['secteurActivites'] = $secteurActivites;
  2013.                 $array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
  2014.                 $array_return['prev_secteur'] = $prev_secteur;
  2015.             }
  2016.             if ($idLocalisation && $idSecteurActivite) {
  2017.                 $array_return['idLocalisation'] = $idLocalisation;
  2018.             }
  2019.         }
  2020.         return $this->render(
  2021.                         'vendre_entreprise/acquereur_historique.html.twig',
  2022.                         $array_return
  2023.                 );
  2024.     }
  2025.     public function detailacquereurhistorique(Request $requestBuzzManagers $buzzManagerLocalisationsRepository $localisationsRepositoryTranslationExtension $translationExtensionGoogleTag $googleTagCommandesRepository $cr$idSociete$codePays): Response {
  2026.         $parametres $request->query->all();
  2027.         $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  2028.         $string_params $this->serializeParams($parametres);
  2029.         // Verifier si droit_acces Annuaire participation ou Fusacq Expert
  2030.         $has_service false;
  2031.         $hasCommande false;
  2032.         $lignePanier false;
  2033.         $hasForfait false;
  2034.         $isNoLongerAvailable false;
  2035.         $forfaitAUtiliser false;
  2036.         //On verifie si l'utilisateur a le droit de consulter cette page
  2037.         $user $this->getUser();
  2038.         if ($user) {
  2039.             $has_service $this->dm->checkIfThisUserHasDroitService($user, [2]); // 2 = annuaire_participations
  2040.             $lignePanier $this->em->getRepository(Panier::class)->findOneBy(
  2041.                     ['login_utilisateur' => $user->_get('login_utilisateur'), "type_object" => 'annonce_AH'"id_object" => $idSociete]
  2042.             );
  2043.             $forfaitAUtiliser $this->dam->getFrofaitAnnonceToUse($user);
  2044.             if (!empty($forfaitAUtiliser)) {
  2045.                 $hasForfait true;
  2046.             }
  2047.             // On regarde si l'acquéreur historique a été commandé dans la table commandes
  2048.             $hasCommande $cr->hasAnnonceCommande($user->_get('login_utilisateur'), $idSociete"acquereur_historique");
  2049.         } else {
  2050.             $has_service false;
  2051.         }
  2052.         $societe $this->sm->getSocieteById($idSociete);
  2053.         if ($has_service) {
  2054.             $titre_ariane $societe->_get('raison_sociale');
  2055.         } else {
  2056.             $titre_ariane $societe->_get('resume_activite');
  2057.         }
  2058.         if ($societe) {
  2059.             if ($societe->_get('mode_societe') != "publique") {
  2060.                 // Si la société a été commandé, mais qu'elle n'est plus publique
  2061.                 if ($hasCommande) {
  2062.                     $isNoLongerAvailable true;
  2063.                 }
  2064.             }
  2065.             // On efface les anciens parametres s'ils existent, puis on insert les nouveaux
  2066.             $googleTag->removeParametresPub();
  2067.             if ($societe->_get('id_pays')) {
  2068.                 $googleTag->setIdPays($societe->_get('id_pays'));
  2069.             }
  2070.             if ($societe->_get('id_region')) {
  2071.                 $googleTag->setIdRegion($societe->_get('id_region'));
  2072.             }
  2073.             if ($societe->_get('id_secteur_activite')) {
  2074.                 $googleTag->setIdSecteurActivite($societe->_get('id_secteur_activite'));
  2075.             }
  2076.             if (isset($parametres['recherche_par']) && $parametres['recherche_par'] == "motscles" && $parametres['reference_mots_cles'] == "") {
  2077.                 $parametres['recherche_par'] = null;
  2078.             }
  2079.             $operations $buzzManager->getOperationsAcquereurHistorique($idSociete$parametres);
  2080.             $nb_operation count($operations);
  2081.             if (isset($societe) && 'publique' == $societe->_get('mode_societe')) {
  2082.                 $actualites $this->sm->getActualitePrincipaleSocieteParIdSociete($idSociete);
  2083.             } else {
  2084.                 $actualites = [];
  2085.             }
  2086.             $nb_actualite count($actualites);
  2087.             $colorClass "vert";
  2088.             $ongletClass "onglet7";
  2089.             $titreClass "titre_annonce_vert";
  2090.             $btnClass "btn-vert";
  2091.             $bgColor "#5F9779";
  2092.             $http_host $request->server->get('HTTP_HOST');
  2093.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  2094.             $canonical $http_host $url;
  2095.             $index = (int) $request->query->get('index');
  2096.             $page = (int) $request->query->get('page'1);
  2097.             if ($page 1) {
  2098.                 $string_params .= "&page=" $page;
  2099.             }
  2100.             $urlList $request->query->get('urlList');
  2101.             $urlRetourList $urlList $urlList '?' $string_params null;
  2102.             $previousAnnonce $this->sm->getIndexNAcquereurHistoriqueList($parametres""$page$index 1);
  2103.             $nextAnnonce $this->sm->getIndexNAcquereurHistoriqueList($parametres""$page$index 1);
  2104.             $metaTitle '%$resume_activite%$, acquéreur historique';
  2105.             $metaDescription 'Consultez cet acquéreur historique, %$resume_activite%$';
  2106.             $arrayVarsTrans['resume_activite'] = $societe->_get('resume_activite');
  2107.             $lang $request->getSession()->get('lang');
  2108.             $from_commande $request->query->get('from_commande') ? $request->query->get('from_commande') : 0;
  2109.             $metaTag $this->metaTag
  2110.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  2111.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  2112.                     ->setCanonical($canonical)
  2113.                     ->setRobots('noindex');
  2114.             return $this->render(
  2115.                             'vendre_entreprise/detail_acquereur_historique.html.twig',
  2116.                             [
  2117.                                 'metaTag' => $metaTag,
  2118.                                 'societe' => $societe,
  2119.                                 'string_params' => $string_params,
  2120.                                 'titre_ariane' => $titre_ariane,
  2121.                                 'operations' => $operations,
  2122.                                 'nb_operation' => $nb_operation,
  2123.                                 'nb_actualite' => $nb_actualite,
  2124.                                 'actualites' => $actualites,
  2125.                                 'colorClass' => $colorClass,
  2126.                                 'ongletClass' => $ongletClass,
  2127.                                 'titreClass' => $titreClass,
  2128.                                 'btnClass' => $btnClass,
  2129.                                 'bgColor' => $bgColor,
  2130.                                 'urlList' => $urlList,
  2131.                                 'urlRetourList' => $urlRetourList,
  2132.                                 'string_params' => $string_params,
  2133.                                 'previousAnnonce' => $previousAnnonce,
  2134.                                 'nextAnnonce' => $nextAnnonce,
  2135.                                 'index' => $index,
  2136.                                 'indexPrevious' => $index 1,
  2137.                                 'indexNext' => $index 1,
  2138.                                 'has_service' => $has_service,
  2139.                                 'googleTag' => $googleTag,
  2140.                                 'lignePanier' => $lignePanier,
  2141.                                 'hasForfait' => $hasForfait,
  2142.                                 'forfaitAUtiliser' => $forfaitAUtiliser,
  2143.                                 'hasCommande' => $hasCommande,
  2144.                                 'isNoLongerAvailable' => $isNoLongerAvailable,
  2145.                                 'from_commande' => $from_commande
  2146.                             ]
  2147.                     );
  2148.         } else {
  2149.             $lang $request->getSession()->get('lang');
  2150.             $this->addFlash('error'$translationExtension->translate('société introuvable'$lang'''M'''));
  2151.             return $this->redirectToRoute('vendre_entreprise_acquereurs_historiques', ['codePays' => $codePays]);
  2152.         }
  2153.     }
  2154.     public function participationsdefonds(Request $requestPaginatorInterface $paginatorLocalisationsManagers $localisationManagerLocalisationsRepository $localisationsRepoTranslationExtension $translationExtensionParametresDiversRepository $parametresDiversRepoParametreSiteManagers $parametreSiteManager$type null$idLocalisation null$slug null$idSecteurActivite null$codePays): Response {
  2155.         $lang $request->getSession()->get('lang');
  2156.         $parametres $request->query->all();
  2157.         $metaTitle $metaDescription null;
  2158.         $arrayVarsTrans = [];
  2159.         // Recherche standard
  2160.         if ($idLocalisation || $idSecteurActivite) {
  2161.             // Preparation des parametres
  2162.             if ($idLocalisation) {
  2163.                 if ($type == 'd') {
  2164.                     $parametres['id_departement'] = $idLocalisation;
  2165.                     $child_type null;
  2166.                     $parent_type "r";
  2167.                 } elseif ($type == "r") {
  2168.                     $parametres['id_region'] = $idLocalisation;
  2169.                     $child_type "d";
  2170.                     $parent_type "p";
  2171.                 } else {
  2172.                     $parametres['id_pays'] = $idLocalisation;
  2173.                     $child_type "r";
  2174.                     $parent_type null;
  2175.                 }
  2176.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  2177.             }
  2178.             if ($idSecteurActivite) {
  2179.                 $parametres['id_secteur_activite'] = $idSecteurActivite;
  2180.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  2181.             }
  2182.             // Recherche par localisation
  2183.             if ($idLocalisation) {
  2184.                 $localisations $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
  2185.                 if (!$localisations) {
  2186.                     $this->addFlash('error'$translationExtension->translate('erreur de localisation'$lang'''M'''));
  2187.                     return $this->redirectToRoute('vendre_entreprise_resultats_participations_fonds', ['codePays' => $codePays]);
  2188.                 }
  2189.                 $villesRepo $this->getDoctrine()->getRepository(Villes::class);
  2190.                 $noms_ville $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
  2191.                 $sous_localisations $localisationsRepo->getSubLevelLocalisations($idLocalisation);
  2192.                 $sous_localisations_numbers = [];
  2193.                 $prev_localisation = [];
  2194.                 foreach ($sous_localisations as $sous_localisation) {
  2195.                     $params = [];
  2196.                     if ($idSecteurActivite) {
  2197.                         $params['id_secteur_activite'] = $idSecteurActivite;
  2198.                     }
  2199.                     if ($type == "r") {
  2200.                         $params['id_departement'] = $sous_localisation['id_localisation'];
  2201.                     } else {
  2202.                         if ($idLocalisation == "99") {
  2203.                             $params['id_pays'] = $sous_localisation['id_localisation'];
  2204.                             $child_type "p";
  2205.                         } else {
  2206.                             $params['id_region'] = $sous_localisation['id_localisation'];
  2207.                         }
  2208.                     }
  2209.                     $sous_localisation['type'] = $child_type;
  2210.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  2211.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  2212.                     if ($idLocalisation == 99) {
  2213.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_participations_fonds'] != 0) {
  2214.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  2215.                         }
  2216.                     } else {
  2217.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_participations_fonds'] != 0) {
  2218.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  2219.                         }
  2220.                     }
  2221.                 }
  2222.                 if (!$prev_localisation && $parent_type) {
  2223.                     $prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
  2224.                     $prev_localisation['type'] = $parent_type;
  2225.                 }
  2226.                 $last_localisation end($localisations);
  2227.                 $arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
  2228.                 $arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
  2229.                 $metaTitle '%$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement %$prefixe_localisation%$ %$nom_localisation%$';
  2230.                 $metaDescription 'consultez %$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement %$prefixe_localisation%$ %$nom_localisation%$';
  2231.             }
  2232.             // Recherche par secteur d'activite
  2233.             if ($idSecteurActivite) {
  2234.                 $secteurActivites $this->sam->getTreeSecteursActivite($idSecteurActivite);
  2235.                 if (!$secteurActivites) {
  2236.                     $this->addFlash('error'$translationExtension->translate("erreur de secteur d'activité"$lang'''M'''));
  2237.                     return $this->redirectToRoute('vendre_entreprise_resultats_participations_fonds', ['codePays' => $codePays]);
  2238.                 }
  2239.                 $secteurActiviteRepo $this->getDoctrine()->getRepository(SecteursActivite::class);
  2240.                 $sous_secteurs $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
  2241.                 $sous_secteurs_numbers = [];
  2242.                 $prev_secteur = [];
  2243.                 foreach ($sous_secteurs as $sous_secteur) {
  2244.                     $params = [];
  2245.                     $params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
  2246.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  2247.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  2248.                     $sous_secteurs_numbers[] = array_merge($sous_secteur$annonces_numbers);
  2249.                 }
  2250.                 if (!$prev_secteur) {
  2251.                     $prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
  2252.                 }
  2253.                 $last_secteur end($secteurActivites);
  2254.                 $arrayVarsTrans['nomPourTitle'] = $last_secteur->getNomPourTitle();
  2255.                 // Si ce n'est pas une recherche croisée
  2256.                 if (!$idLocalisation) {
  2257.                     $metaTitle '%$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement %$nomPourTitle%$';
  2258.                     $metaDescription 'consultez %$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement %$nomPourTitle%$';
  2259.                 } else {
  2260.                     $metaTitle '%$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  2261.                     $metaDescription 'consultez %$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  2262.                 }
  2263.             }
  2264.             // Recherche avancée / dernières annonces
  2265.         } else {
  2266.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  2267.         }
  2268.         $is_recherche ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters() !== ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  2269.         $string_params $string_params_without_page $this->serializeParams($parametres);
  2270.         $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  2271.         // Si c'est une recherche, on calcule les nb à afficher
  2272.         if ($is_recherche) {
  2273.             $repoAnnuaireRepreneur $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  2274.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  2275.             $nb_annonces_acheteur $repoAcheteur->donne_nb_annonces_achat($parametres);
  2276.             $nb_recherches_partenariats $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  2277.             $nb_annonces_acquisition $nb_annonces_acheteur $nb_recherches_partenariats;
  2278.             $nb_cvs $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  2279.             $nb_acquereurs_historiques $repoSociete->donne_nb_acquereurs_historiques($parametres);
  2280.             $nb_participations_fonds $repoSociete->donne_nb_participations_fonds($parametres"acheteur");
  2281.             $nb_acheteurs_potentiels $nb_acquereurs_historiques $nb_participations_fonds;
  2282.             $nb_investisseurs_acquereurs $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  2283.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  2284.         } else {
  2285.             // Sinon on récupère les nb stockés dans parametres_divers
  2286.             $nb $parametresDiversRepo->getListNombresAafficher();
  2287.             $nb_annonces_acheteur $nb->vendre_une_entreprise_nb_acheteurs;
  2288.             $nb_annonces_acquisition $nb->vendre_une_entreprise_nb_annonces_acquistions;
  2289.             $nb_cvs $nb->vendre_une_entreprise_nb_cv_repreneurs;
  2290.             $nb_acquereurs_historiques $nb->vendre_une_entreprise_nb_acquereurs_historique;
  2291.             $nb_participations_fonds $nb->vendre_une_entreprise_nb_participations_de_fonds;
  2292.             $nb_acheteurs_potentiels $nb->vendre_une_entreprise_nb_acheteurs_potentiels;
  2293.             $nb_investisseurs_acquereurs $nb->vendre_une_entreprise_nb_investisseurs_acquereurs;
  2294.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  2295.         }
  2296.         $liste_annonces $this->sm->getParticipationsFondsList($request$paginator$parametres"""acheteur");
  2297.         $show_modal true;
  2298.         if (isset($_COOKIE['show_modal_cible_potentielle']) && false == $_COOKIE['show_modal_cible_potentielle']) {
  2299.             $show_modal false;
  2300.         }
  2301.         // Verifier si droit_acces Annuaire participation ou Fusacq Expert
  2302.         $has_service false;
  2303.         //On verifie si l'utilisateur a le droit de consulter cette page
  2304.         $user $this->getUser();
  2305.         if ($user) {
  2306.             $has_service $this->dm->checkIfThisUserHasDroitService($user, [2]); // 2 = annuaire_participations
  2307.         } else {
  2308.             $has_service false;
  2309.         }
  2310.         $page $request->query->get('page');
  2311.         if ($page != null && $page != 1) {
  2312.             $string_params .= "&page=" $page;
  2313.         }
  2314.         $tri = isset($parametres['tri']) ? $parametres['tri'] : null;
  2315.         $tri_default null;
  2316.         // Si aucun tri
  2317.         if (!$tri) {
  2318.             // On trie par CA si c'est une recherche
  2319.             if ($is_recherche) {
  2320.                 $tri_default "ca_desc";
  2321.             } else {
  2322.                 $tri_default "date_desc";
  2323.             }
  2324.         }
  2325.         $urlList $request->getPathInfo();
  2326.         $is_recherche_by_one_localisation $this->isRechercheByOneLocalisation($parametres);
  2327.         $is_recherche_by_several_localisations $this->isRechercheBySeveralLocalisations($parametres);
  2328.         $is_recherche_by_one_sous_localisation_only $this->isRechercheByOneSousLocalisationOnly($parametres);
  2329.         $complement_titre "";
  2330.         $id_pays_recherche null;
  2331.         $text_pays_recherche null;
  2332.         $nb_acquereurs_pays null;
  2333.         $string_params_pays null;
  2334.         if ($is_recherche_by_one_localisation) {
  2335.             if ($is_recherche_by_one_sous_localisation_only) {
  2336.                 $id_pays_recherche $this->getPaysIdLocalisationBySousLocalisationId($parametres['id_localisation']);
  2337.                 $pays_recherche $localisationManager->getNomLocalisationWithPrefixById($id_pays_recherche);
  2338.                 if ($pays_recherche) {
  2339.                     $text_pays_recherche $pays_recherche[0]['nom_localisation'];
  2340.                 } else {
  2341.                     $text_pays_recherche "";
  2342.                 }
  2343.                 $parametres_pays $parametres;
  2344.                 $parametres_pays['id_localisation'] = ',p' $id_pays_recherche ',';
  2345.                 $nb_acquereurs_pays $this->getAnnoncesNumbers($parametres_pays)['nb_participations_fonds'];
  2346.                 $string_params_pays str_replace($parametres['id_localisation'], ',p' $id_pays_recherche ','$string_params_without_page);
  2347.                 // Si sous localisation en France
  2348.                 if ($id_pays_recherche == "33") {
  2349.                     $id_sous_localisation substr(array_values(array_filter(explode(","$parametres['id_localisation'])))[0], 1);
  2350.                     $sous_localisation $localisationsRepo->findOneBy(['id_localisation' => $id_sous_localisation]);
  2351.                     if ($sous_localisation) {
  2352.                         $complement_titre $sous_localisation->__get('prefixe') . ' ' $sous_localisation->__get('nom_localisation');
  2353.                     }
  2354.                 } else {
  2355.                     $complement_titre "dans cette localisation";
  2356.                 }
  2357.             } else {
  2358.                 $id_localisation substr(array_values(array_filter(explode(","$parametres['id_localisation'])))[0], 1);
  2359.                 $pays $localisationsRepo->findOneBy(['id_localisation' => $id_localisation]);
  2360.                 if ($pays) {
  2361.                     $complement_titre $pays->__get('prefixe') . ' ' $pays->__get('nom_localisation');
  2362.                 }
  2363.             }
  2364.         } elseif ($is_recherche_by_several_localisations) {
  2365.             $complement_titre "dans vos localisations";
  2366.         }
  2367.         // Si ce n'est pas une recherche par loc / sec ou croisé
  2368.         if ($metaTitle == null && $metaTitle == null) {
  2369.             $metaTitle '%$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement';
  2370.             $metaDescription 'consultez %$nb_participations_fonds%$ $$participation$${p|participations} de fonds d\'investissement en fonction de vos critères de recherche.';
  2371.         }
  2372.         $arrayVarsTrans['nb_participations_fonds'] = $nb_participations_fonds;
  2373.         if ($nb_participations_fonds 1) {
  2374.             $p 'p';
  2375.         } else {
  2376.             $p '';
  2377.         }
  2378.         $id_participation_exemple $parametreSiteManager->getValueParamSiteByParamCodePays("id_participation_exemple"$codePays);
  2379.         $participation_exemple $this->sm->getSocieteById($id_participation_exemple);
  2380.         $url_participation_exemple $this->generateUrl('participation_fonds_detail', ['idParticipation' => $id_participation_exemple'slug' => Utils::slugify($participation_exemple->_get('resume_activite')), 'codePays' => $codePays]);
  2381.         $metaTag $this->metaTag
  2382.                 ->setTitle($translationExtension->translate($metaTitle$lang"""M"$p$arrayVarsTrans))
  2383.                 ->setDescription($translationExtension->translate($metaDescription$lang"""M"$p$arrayVarsTrans))
  2384.                 ->setRobots('noindex');
  2385.         $array_return = [
  2386.             'metaTag' => $metaTag,
  2387.             'nb_annonces' => $nb_annonces,
  2388.             'nb_annonces_acquisition' => $nb_annonces_acquisition,
  2389.             'nb_cvs' => $nb_cvs,
  2390.             'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  2391.             'nb_participations_fonds' => $nb_participations_fonds,
  2392.             'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  2393.             'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
  2394.             'liste_annonces' => $liste_annonces,
  2395.             'show_modal' => $show_modal,
  2396.             'has_service' => $has_service,
  2397.             'string_params' => $string_params,
  2398.             'string_params_without_page' => $string_params_without_page,
  2399.             'urlList' => $urlList,
  2400.             'tri' => $tri,
  2401.             'from' => 'acheteurs_potentiels',
  2402.             'tri_default' => $tri_default,
  2403.             'idLocalisation' => null,
  2404.             'idSecteurActivite' => null,
  2405.             'is_recherche_by_one_sous_localisation_only' => $is_recherche_by_one_sous_localisation_only,
  2406.             'id_pays_recherche' => $id_pays_recherche,
  2407.             'text_pays_recherche' => $text_pays_recherche,
  2408.             'string_params_pays' => $string_params_pays,
  2409.             'nb_acquereurs_pays' => $nb_acquereurs_pays,
  2410.             'complement_titre' => $complement_titre,
  2411.             'url_participation_exemple' => $url_participation_exemple
  2412.         ];
  2413.         if ($idLocalisation || $idSecteurActivite) {
  2414.             if ($idLocalisation) {
  2415.                 $array_return['idLocalisation'] = $idLocalisation;
  2416.                 $array_return['idSecteurActivite'] = $idSecteurActivite $idSecteurActivite null;
  2417.                 $array_return['slug'] = $slug;
  2418.                 $array_return['type'] = $type;
  2419.                 $array_return['localisations'] = $localisations;
  2420.                 $array_return['noms_ville'] = $noms_ville;
  2421.                 $array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
  2422.                 $array_return['prev_localisation'] = $prev_localisation;
  2423.             }
  2424.             if ($idSecteurActivite) {
  2425.                 $array_return['idSecteurActivite'] = $idSecteurActivite;
  2426.                 $array_return['idLocalisation'] = $idLocalisation $idLocalisation null;
  2427.                 $array_return['slug'] = $slug;
  2428.                 $array_return['secteurActivites'] = $secteurActivites;
  2429.                 $array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
  2430.                 $array_return['prev_secteur'] = $prev_secteur;
  2431.             }
  2432.             if ($idLocalisation && $idSecteurActivite) {
  2433.                 $array_return['idLocalisation'] = $idLocalisation;
  2434.             }
  2435.         }
  2436.         return $this->render(
  2437.                         'vendre_entreprise/participations_de_fonds.html.twig',
  2438.                         $array_return
  2439.                 );
  2440.     }
  2441.     public function fondsacquereur(Request $requestPaginatorInterface $paginatorLocalisationsManagers $localisationManagerLocalisationsRepository $localisationsRepoTranslationExtension $translationExtensionParametresDiversRepository $parametresDiversRepo$type null$idLocalisation null$slug null$idSecteurActivite null$codePays): Response {
  2442.         $lang $request->getSession()->get('lang');
  2443.         $parametres $request->query->all();
  2444.         $metaTitle $metaDescription null;
  2445.         $arrayVarsTrans = [];
  2446.         // Recherche standard
  2447.         if ($idLocalisation || $idSecteurActivite) {
  2448.             // Preparation des parametres
  2449.             if ($idLocalisation) {
  2450.                 if ($type == 'd') {
  2451.                     $parametres['id_departement'] = $idLocalisation;
  2452.                     $child_type null;
  2453.                     $parent_type "r";
  2454.                 } elseif ($type == "r") {
  2455.                     $parametres['id_region'] = $idLocalisation;
  2456.                     $child_type "d";
  2457.                     $parent_type "p";
  2458.                 } else {
  2459.                     $parametres['id_pays'] = $idLocalisation;
  2460.                     $child_type "r";
  2461.                     $parent_type null;
  2462.                 }
  2463.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  2464.             }
  2465.             if ($idSecteurActivite) {
  2466.                 $parametres['id_secteur_activite'] = $idSecteurActivite;
  2467.                 $parametres ParametersProvider::prepareRechercheStandardParameters($parametres);
  2468.             }
  2469.             // Recherche par localisation
  2470.             if ($idLocalisation) {
  2471.                 $localisations $localisationManager->getLocalisationCompleteWithNavById($idLocalisation);
  2472.                 if (!$localisations) {
  2473.                     $this->addFlash('error'$translationExtension->translate('erreur de localisation'$lang'''M'''));
  2474.                     return $this->redirectToRoute('vendre_entreprise_resultats_fonds_acquereur', ['codePays' => $codePays]);
  2475.                 }
  2476.                 $villesRepo $this->getDoctrine()->getRepository(Villes::class);
  2477.                 $noms_ville $villesRepo->donne_string_noms_villes_principales_dune_localisation($idLocalisation);
  2478.                 $sous_localisations $localisationsRepo->getSubLevelLocalisations($idLocalisation);
  2479.                 $sous_localisations_numbers = [];
  2480.                 $prev_localisation = [];
  2481.                 foreach ($sous_localisations as $sous_localisation) {
  2482.                     $params = [];
  2483.                     if ($idSecteurActivite) {
  2484.                         $params['id_secteur_activite'] = $idSecteurActivite;
  2485.                     }
  2486.                     if ($type == "r") {
  2487.                         $params['id_departement'] = $sous_localisation['id_localisation'];
  2488.                     } else {
  2489.                         if ($idLocalisation == "99") {
  2490.                             $params['id_pays'] = $sous_localisation['id_localisation'];
  2491.                             $child_type "p";
  2492.                         } else {
  2493.                             $params['id_region'] = $sous_localisation['id_localisation'];
  2494.                         }
  2495.                     }
  2496.                     $sous_localisation['type'] = $child_type;
  2497.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  2498.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  2499.                     if ($idLocalisation == 99) {
  2500.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" && $annonces_numbers['nb_investisseurs_acquereurs'] != 0) {
  2501.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  2502.                         }
  2503.                     } else {
  2504.                         if ($sous_localisation['nom_localisation'] != "Confidentiel" || $annonces_numbers['nb_investisseurs_acquereurs'] != 0) {
  2505.                             $sous_localisations_numbers[] = array_merge($sous_localisation$annonces_numbers);
  2506.                         }
  2507.                     }
  2508.                 }
  2509.                 if (!$prev_localisation && $parent_type) {
  2510.                     $prev_localisation = isset($localisations[count($localisations) - 2]) ? $localisations[count($localisations) - 2] : null;
  2511.                     $prev_localisation['type'] = $parent_type;
  2512.                 }
  2513.                 $last_localisation end($localisations);
  2514.                 $arrayVarsTrans['prefixe_localisation'] = $last_localisation['prefixe'];
  2515.                 $arrayVarsTrans['nom_localisation'] = strtoupper($last_localisation['nom_localisation']);
  2516.                 $metaTitle '%$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} %$prefixe_localisation%$ %$nom_localisation%$';
  2517.                 $metaDescription 'consultez %$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} %$prefixe_localisation%$ %$nom_localisation%$';
  2518.             }
  2519.             // Recherche par secteur d'activite
  2520.             if ($idSecteurActivite) {
  2521.                 $secteurActivites $this->sam->getTreeSecteursActivite($idSecteurActivite);
  2522.                 if (!$secteurActivites) {
  2523.                     $this->addFlash('error'$translationExtension->translate("erreur de secteur d'activité"$lang'''M'''));
  2524.                     return $this->redirectToRoute('vendre_entreprise_resultats_fonds_acquereur', ['codePays' => $codePays]);
  2525.                 }
  2526.                 $secteurActiviteRepo $this->getDoctrine()->getRepository(SecteursActivite::class);
  2527.                 $sous_secteurs $secteurActiviteRepo->getAllSecteursActiviteEnfantByIdSecteurParent($idSecteurActivite);
  2528.                 $sous_secteurs_numbers = [];
  2529.                 $prev_secteur = [];
  2530.                 foreach ($sous_secteurs as $sous_secteur) {
  2531.                     $params = [];
  2532.                     $params['id_secteur_activite'] = $sous_secteur['idSecteurActivite'];
  2533.                     $params ParametersProvider::prepareRechercheStandardParameters($params);
  2534.                     $annonces_numbers $this->getAnnoncesNumbers($params);
  2535.                     $sous_secteurs_numbers[] = array_merge($sous_secteur$annonces_numbers);
  2536.                 }
  2537.                 if (!$prev_secteur) {
  2538.                     $prev_secteur = isset($secteurActivites[count($secteurActivites) - 2]) ? $secteurActivites[count($secteurActivites) - 2] : null;
  2539.                 }
  2540.                 $last_secteur end($secteurActivites);
  2541.                 $arrayVarsTrans['nomPourTitle'] = ($last_secteur) ? $last_secteur->getNomPourTitle() : "";
  2542.                 // Si ce n'est pas une recherche croisée
  2543.                 if (!$idLocalisation) {
  2544.                     $metaTitle '%$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} %$nomPourTitle%$';
  2545.                     $metaDescription 'consultez %$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} %$nomPourTitle%$';
  2546.                 } else {
  2547.                     $metaTitle '%$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  2548.                     $metaDescription 'consultez %$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} %$nomPourTitle%$ %$prefixe_localisation%$ %$nom_localisation%$';
  2549.                 }
  2550.             }
  2551.             // Recherche avancée / dernières annonces
  2552.         } else {
  2553.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  2554.         }
  2555.         $is_recherche ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters() !== ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  2556.         $string_params $string_params_without_page $this->serializeParams($parametres);
  2557.         $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  2558.         // Si c'est une recherche, on calcule les nb à afficher
  2559.         if ($is_recherche) {
  2560.             $repoAnnuaireRepreneur $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  2561.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  2562.             $nb_annonces_acheteur $repoAcheteur->donne_nb_annonces_achat($parametres);
  2563.             $nb_recherches_partenariats $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  2564.             $nb_annonces_acquisition $nb_annonces_acheteur $nb_recherches_partenariats;
  2565.             $nb_cvs $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  2566.             $nb_acquereurs_historiques $repoSociete->donne_nb_acquereurs_historiques($parametres);
  2567.             $nb_participations_fonds $repoSociete->donne_nb_participations_fonds($parametres"acheteur");
  2568.             $nb_acheteurs_potentiels $nb_acquereurs_historiques $nb_participations_fonds;
  2569.             $nb_investisseurs_acquereurs $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  2570.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  2571.         } else {
  2572.             // Sinon on récupère les nb stockés dans parametres_divers
  2573.             $nb $parametresDiversRepo->getListNombresAafficher();
  2574.             $nb_annonces_acheteur $nb->vendre_une_entreprise_nb_acheteurs;
  2575.             $nb_annonces_acquisition $nb->vendre_une_entreprise_nb_annonces_acquistions;
  2576.             $nb_cvs $nb->vendre_une_entreprise_nb_cv_repreneurs;
  2577.             $nb_acquereurs_historiques $nb->vendre_une_entreprise_nb_acquereurs_historique;
  2578.             $nb_participations_fonds $nb->vendre_une_entreprise_nb_participations_de_fonds;
  2579.             $nb_acheteurs_potentiels $nb->vendre_une_entreprise_nb_acheteurs_potentiels;
  2580.             $nb_investisseurs_acquereurs $nb->vendre_une_entreprise_nb_investisseurs_acquereurs;
  2581.             $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  2582.         }
  2583.         $liste_fonds $this->sm->getAcquereurInvestisseurList($request$paginator$parametres);
  2584.         $tri = isset($parametres['tri']) ? $parametres['tri'] : null;
  2585.         $tri_default null;
  2586.         // Si aucun tri
  2587.         if (!$tri) {
  2588.             // On trie par CA si c'est une recherche
  2589.             if ($is_recherche) {
  2590.                 $tri_default "ca_desc";
  2591.             } else {
  2592.                 $tri_default "date_desc";
  2593.             }
  2594.         }
  2595.         $page $request->query->get('page');
  2596.         if ($page != null && $page != 1) {
  2597.             $string_params .= "&page=" $page;
  2598.         }
  2599.         $urlList $request->getPathInfo();
  2600.         // Verifier si droit_acces Annuaire participation ou Fusacq Expert
  2601.         $has_service false;
  2602.         //On verifie si l'utilisateur a le droit de consulter cette page
  2603.         $user $this->getUser();
  2604.         if ($user) {
  2605.             $has_service $this->dm->checkIfThisUserHasDroitService($user, [47]); // 47 = annuaire fond investissement
  2606.         } else {
  2607.             $has_service false;
  2608.         }
  2609.         // Si ce n'est pas une recherche par loc / sec ou croisé
  2610.         if ($metaTitle == null && $metaTitle == null) {
  2611.             $metaTitle '%$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs}';
  2612.             $metaDescription 'consultez %$nb_investisseurs_acquereurs%$ $$investisseur acquéreur$${p|investisseurs acquéreurs} en fonction de vos critères de recherche.';
  2613.         }
  2614.         $arrayVarsTrans['nb_investisseurs_acquereurs'] = $nb_investisseurs_acquereurs;
  2615.         if ($nb_investisseurs_acquereurs 1) {
  2616.             $p 'p';
  2617.         } else {
  2618.             $p '';
  2619.         }
  2620.         $metaTag $this->metaTag
  2621.                 ->setTitle($translationExtension->translate($metaTitle$lang"""M"$p$arrayVarsTrans))
  2622.                 ->setDescription($translationExtension->translate($metaDescription$lang"""M"$p$arrayVarsTrans))
  2623.                 ->setRobots('noindex');
  2624.         $array_return = [
  2625.             'metaTag' => $metaTag,
  2626.             'nb_annonces' => $nb_annonces,
  2627.             'nb_annonces_acquisition' => $nb_annonces_acquisition,
  2628.             'nb_cvs' => $nb_cvs,
  2629.             'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  2630.             'nb_participations_fonds' => $nb_participations_fonds,
  2631.             'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  2632.             'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
  2633.             'liste_fonds' => $liste_fonds,
  2634.             /* 'show_modal' => $show_modal, */
  2635.             'has_service' => $has_service,
  2636.             'string_params' => $string_params,
  2637.             'string_params_without_page' => $string_params_without_page,
  2638.             'urlList' => $urlList,
  2639.             'tri' => $tri,
  2640.             'tri_default' => $tri_default,
  2641.             'idLocalisation' => null,
  2642.             'idSecteurActivite' => null,
  2643.             'is_recherche' => $is_recherche
  2644.         ];
  2645.         if ($idLocalisation || $idSecteurActivite) {
  2646.             if ($idLocalisation) {
  2647.                 $array_return['idLocalisation'] = $idLocalisation;
  2648.                 $array_return['idSecteurActivite'] = $idSecteurActivite $idSecteurActivite null;
  2649.                 $array_return['slug'] = $slug;
  2650.                 $array_return['type'] = $type;
  2651.                 $array_return['localisations'] = $localisations;
  2652.                 $array_return['noms_ville'] = $noms_ville;
  2653.                 $array_return['sous_localisations_numbers'] = $sous_localisations_numbers;
  2654.                 $array_return['prev_localisation'] = $prev_localisation;
  2655.             }
  2656.             if ($idSecteurActivite) {
  2657.                 $array_return['idSecteurActivite'] = $idSecteurActivite;
  2658.                 $array_return['idLocalisation'] = $idLocalisation $idLocalisation null;
  2659.                 $array_return['slug'] = $slug;
  2660.                 $array_return['secteurActivites'] = $secteurActivites;
  2661.                 $array_return['sous_secteurs_numbers'] = $sous_secteurs_numbers;
  2662.                 $array_return['prev_secteur'] = $prev_secteur;
  2663.             }
  2664.             if ($idLocalisation && $idSecteurActivite) {
  2665.                 $array_return['idLocalisation'] = $idLocalisation;
  2666.             }
  2667.         }
  2668.         return $this->render(
  2669.                         'vendre_entreprise/fonds_acquereur.html.twig',
  2670.                         $array_return
  2671.                 );
  2672.     }
  2673.     public function redirectiononglet(Request $request): Response {
  2674.         $onglet null !== $request->get('onglet') ? $request->get('onglet') : null;
  2675.         $idAnnonce $request->get('idAnnonce');
  2676.         $codePays $request->get('codePays');
  2677.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce);
  2678.         if ($annonce['type_raprochement'] == "partenaire") {
  2679.             switch ($onglet) {
  2680.                 case 1:
  2681.                     return $this->forward('App\Controller\VendreEntrepriseController::presentationpartenariat', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2682.                     break;
  2683.                 case 2:
  2684.                     return $this->forward('App\Controller\VendreEntrepriseController::partenairerecherche', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2685.                     break;
  2686.                 case 3:
  2687.                     return $this->forward('App\Controller\VendreEntrepriseController::initiateurpartenariat', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2688.                     break;
  2689.                 case 4:
  2690.                     return $this->forward('App\Controller\VendreEntrepriseController::complementinformation', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2691.                     break;
  2692.                 case 5:
  2693.                     return $this->forward('App\Controller\VendreEntrepriseController::infossectorielles', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2694.                     break;
  2695.                 case 7:
  2696.                     return $this->forward('App\Controller\VendreEntrepriseController::contacterdeposant', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2697.                     break;
  2698.                 default:
  2699.                     return $this->forward('App\Controller\VendreEntrepriseController::presentationpartenariat', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2700.                     break;
  2701.             }
  2702.         } else {
  2703.             switch ($onglet) {
  2704.                 case 1:
  2705.                     return $this->forward('App\Controller\VendreEntrepriseController::descriptiongenerale', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2706.                     break;
  2707.                 case 2:
  2708.                     return $this->forward('App\Controller\VendreEntrepriseController::elementschiffres', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2709.                     break;
  2710.                 case 3:
  2711.                     return $this->forward('App\Controller\VendreEntrepriseController::informationsacquereur', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2712.                     break;
  2713.                 case 4:
  2714.                     return $this->forward('App\Controller\VendreEntrepriseController::complementinformation', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2715.                     break;
  2716.                 case 5:
  2717.                     return $this->forward('App\Controller\VendreEntrepriseController::infossectorielles', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2718.                     break;
  2719.                 case 6:
  2720.                     return $this->forward('App\Controller\VendreEntrepriseController::transactionscomparables', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2721.                     break;
  2722.                 case 7:
  2723.                     return $this->forward('App\Controller\VendreEntrepriseController::contacterdeposant', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2724.                     break;
  2725.                 default:
  2726.                     return $this->forward('App\Controller\VendreEntrepriseController::descriptiongenerale', ['idAnnonce' => $idAnnonce'codePays' => $codePays'request' => $request]);
  2727.                     break;
  2728.             }
  2729.         }
  2730.     }
  2731.     public function redirectionfonds(Request $request): Response {
  2732.         $onglet null !== $request->get('onglet') ? $request->get('onglet') : null;
  2733.         $idFonds $request->get('idFonds');
  2734.         $codePays $request->get('codePays');
  2735.         $request->from "investisseur-acquereur";
  2736.         $pageInvest $request->get('pageInvest'1);
  2737.         $pageActu $request->get('pageActu'1);
  2738.         switch ($onglet) {
  2739.             case 1:
  2740.                 return $this->forward('App\Controller\AnnuaireFondsInvestissementController::strategieinvestissement', ['idFonds' => $idFonds'codePays' => $codePays'request' => $request]);
  2741.                 break;
  2742.             case 2:
  2743.                 return $this->forward('App\Controller\AnnuaireFondsInvestissementController::criteresinvestissement', ['idFonds' => $idFonds'codePays' => $codePays'request' => $request]);
  2744.                 break;
  2745.             case 3:
  2746.                 return $this->forward('App\Controller\AnnuaireFondsInvestissementController::investissementreference', ['idFonds' => $idFonds'codePays' => $codePays'pageInvest' => $pageInvest'request' => $request]);
  2747.                 break;
  2748.             case 4:
  2749.                 return $this->forward('App\Controller\AnnuaireFondsInvestissementController::actualitepubliee', ['idFonds' => $idFonds'codePays' => $codePays'pageActu' => $pageActu'request' => $request]);
  2750.                 break;
  2751.             default:
  2752.                 return $this->forward('App\Controller\AnnuaireFondsInvestissementController::strategieinvestissement', ['idFonds' => $idFonds'codePays' => $codePays'request' => $request]);
  2753.                 break;
  2754.         }
  2755.     }
  2756.     public function redirectionrechercheavancee(Request $request): Response {
  2757.         $type null !== $request->get('type') ? $request->get('type') : null;
  2758.         $codePays $request->get('codePays');
  2759.         switch ($type) {
  2760.             case 'acquisition':
  2761.                 return $this->forward('App\Controller\VendreEntrepriseController::rechercheavanceeannonceacquisition', ['codePays' => $codePays'type' => $type'request' => $request]);
  2762.                 break;
  2763.             case 'cv_repreneur':
  2764.                 return $this->forward('App\Controller\VendreEntrepriseController::rechercheavanceecvrepreneur', ['codePays' => $codePays'type' => $type'request' => $request]);
  2765.                 break;
  2766.             case 'acquereur_historique':
  2767.                 return $this->forward('App\Controller\VendreEntrepriseController::rechercheavanceeacquereurhistorique', ['codePays' => $codePays'request' => $request]);
  2768.                 break;
  2769.             case 'participation_fonds':
  2770.                 return $this->forward('App\Controller\VendreEntrepriseController::rechercheavanceeparticipationdefonds', ['codePays' => $codePays'request' => $request]);
  2771.                 break;
  2772.             case 'investisseur_acquereur':
  2773.                 return $this->forward('App\Controller\VendreEntrepriseController::rechercheavanceefondsacquereur', ['codePays' => $codePays'request' => $request]);
  2774.                 break;
  2775.             default:
  2776.                 $type null;
  2777.                 return $this->forward('App\Controller\VendreEntrepriseController::rechercheavanceeannonceacquisition', ['codePays' => $codePays'type' => $type'request' => $request]);
  2778.                 break;
  2779.         }
  2780.     }
  2781.     public function redirectionrecherchestandard(Request $request): Response {
  2782.         $type null !== $request->get('type') ? $request->get('type') : null;
  2783.         $codePays $request->get('codePays');
  2784.         switch ($type) {
  2785.             case 'acquisition':
  2786.                 return $this->forward('App\Controller\VendreEntrepriseController::recherchestandardacquisition', ['codePays' => $codePays'type' => $type'request' => $request]);
  2787.                 break;
  2788.             case 'cv_repreneur':
  2789.                 return $this->forward('App\Controller\VendreEntrepriseController::recherchestandardcvrepreneur', ['codePays' => $codePays'type' => $type'request' => $request]);
  2790.                 break;
  2791.             case 'acquereur_historique':
  2792.                 return $this->forward('App\Controller\VendreEntrepriseController::recherchestandardacquereurhistorique', ['codePays' => $codePays'type' => $type'request' => $request]);
  2793.                 break;
  2794.             case 'participation_fonds':
  2795.                 return $this->forward('App\Controller\VendreEntrepriseController::recherchestandardparticipationdefonds', ['codePays' => $codePays'type' => $type'request' => $request]);
  2796.                 break;
  2797.             case 'investisseur_acquereur':
  2798.                 return $this->forward('App\Controller\VendreEntrepriseController::recherchestandardfondsacquereur', ['codePays' => $codePays'type' => $type'request' => $request]);
  2799.                 break;
  2800.             default:
  2801.                 $type null;
  2802.                 return $this->forward('App\Controller\VendreEntrepriseController::recherchestandardacquisition', ['codePays' => $codePays'type' => $type'request' => $request]);
  2803.                 break;
  2804.         }
  2805.     }
  2806.     public function presentationpartenariat(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  2807.         $user $this->getUser();
  2808.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  2809.         $from "reprendre-entreprise";
  2810.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  2811.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  2812.             if ($from == "ouvrir-capital") {
  2813.                 $colorClass "orange-new";
  2814.                 $ongletClass "onglet8";
  2815.                 $titreClass "titre_annonce_orange";
  2816.                 $bgColor "#eb885c";
  2817.             } elseif ($from == "reprendre-entreprise") {
  2818.                 $colorClass "bleu";
  2819.                 $ongletClass "onglet6";
  2820.                 $titreClass "titre_annonce";
  2821.                 $bgColor "#4B7389";
  2822.             } else {
  2823.                 $colorClass "vert";
  2824.                 $ongletClass "onglet7";
  2825.                 $titreClass "titre_annonce_vert";
  2826.                 //$btnContactClass = "btn-vert";
  2827.                 $bgColor "#5F9779";
  2828.             }
  2829.             $lang $request->getSession()->get('lang');
  2830.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  2831.             if ($annonce['type_raprochement'] == "partenaire") {
  2832.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  2833.                 $chiffre_afaire_max_recherche '';
  2834.             } else {
  2835.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  2836.                 $chiffre_afaire_max_recherche '
  2837.                     <tr>
  2838.                         <td class="intitule">CA max recherche</td>
  2839.                         <td class="detail_texte">&nbsp;' . (int) $annonce['ca_max'] . ' k&euro;</td>
  2840.                     </tr>
  2841.                 ';
  2842.             }
  2843.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  2844.             if ($annonce['date_parution'] == $annonce['date_parution_initiale']) {
  2845.                 $terme_pour_la_date "poste le ";
  2846.             } else {
  2847.                 $terme_pour_la_date "mise a jour le ";
  2848.             }
  2849.             $localisation_siege $annonce['nom_localisation'];
  2850.             $tab_detail_partenariat $this->am->get_tab_info_partenariat($idAnnonce);
  2851.             $type_partenariat $tab_detail_partenariat['type_partenariat'];
  2852.             $type_partenaire $tab_detail_partenariat['type_partenaire'];
  2853.             $stade_dev_deposant $tab_detail_partenariat['stade_dev_deposant'];
  2854.             $http_host $request->server->get('HTTP_HOST');
  2855.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  2856.             $canonical $http_host $url;
  2857.             $next $canonical '?onglet=2';
  2858.             $parametres $request->query->all();
  2859.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  2860.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  2861.             $index = (int) $request->query->get('index');
  2862.             $page = (int) $request->query->get('page'1);
  2863.             if ($page 1) {
  2864.                 $string_params .= "&page=" $page;
  2865.             }
  2866.             $urlList $request->query->get('urlList');
  2867.             $urlRetourList $urlList $urlList '?' $string_params null;
  2868.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  2869.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  2870.             $fromAlaUne $request->query->get('fromAlaUne');
  2871.             $arrayVarsTrans = [];
  2872.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  2873.             $metaTitle 'partenariat, %$titre_annonce%$';
  2874.             $metaDescription 'consultez l\'annonce de partenariat, %$titre_annonce%$';
  2875.             $metaTag $this->metaTag
  2876.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  2877.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  2878.                     ->setCanonical($canonical)
  2879.                     ->setNext($next);
  2880.             return $this->render('vendre_entreprise/presentation_partenariat.html.twig', [
  2881.                         'metaTag' => $metaTag,
  2882.                         'annonce' => $annonce,
  2883.                         'type_acquisition' => $type_acquisition,
  2884.                         'terme_pour_la_date' => $terme_pour_la_date,
  2885.                         'secteurActivite' => $secteurActivite,
  2886.                         'date' => $date,
  2887.                         'localisation_siege' => $localisation_siege,
  2888.                         'type_partenariat' => $type_partenariat,
  2889.                         'colorClass' => $colorClass,
  2890.                         'ongletClass' => $ongletClass,
  2891.                         'titreClass' => $titreClass,
  2892.                         'bgColor' => $bgColor,
  2893.                         'from' => $from,
  2894.                         'urlList' => $urlList,
  2895.                         'urlRetourList' => $urlRetourList,
  2896.                         'string_params' => $string_params,
  2897.                         'previousAnnonce' => $previousAnnonce,
  2898.                         'nextAnnonce' => $nextAnnonce,
  2899.                         'index' => $index,
  2900.                         'indexPrevious' => $index 1,
  2901.                         'indexNext' => $index 1,
  2902.                         'fromAlaUne' => $fromAlaUne
  2903.             ]);
  2904.         } else {
  2905.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  2906.         }
  2907.     }
  2908.     public function partenairerecherche(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  2909.         $user $this->getUser();
  2910.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  2911.         $from "reprendre-entreprise";
  2912.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  2913.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  2914.             if ($from == "ouvrir-capital") {
  2915.                 $colorClass "orange-new";
  2916.                 $ongletClass "onglet8";
  2917.                 $titreClass "titre_annonce_orange";
  2918.                 $bgColor "#eb885c";
  2919.             } elseif ($from == "reprendre-entreprise") {
  2920.                 $colorClass "bleu";
  2921.                 $ongletClass "onglet6";
  2922.                 $titreClass "titre_annonce";
  2923.                 $bgColor "#4B7389";
  2924.             } else {
  2925.                 $colorClass "vert";
  2926.                 $ongletClass "onglet7";
  2927.                 $titreClass "titre_annonce_vert";
  2928.                 //$btnContactClass = "btn-vert";
  2929.                 $bgColor "#5F9779";
  2930.             }
  2931.             $lang $request->getSession()->get('lang');
  2932.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  2933.             if ($annonce["type_raprochement"] == "partenaire") {
  2934.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  2935.             } else {
  2936.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  2937.             }
  2938.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  2939.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  2940.                 $terme_pour_la_date "poste le ";
  2941.             } else {
  2942.                 $terme_pour_la_date "mise a jour le ";
  2943.             }
  2944.             $localisation_siege $annonce['nom_localisation'];
  2945.             $tab_detail_partenariat $this->am->get_tab_info_partenariat($idAnnonce);
  2946.             $type_partenariat $tab_detail_partenariat['type_partenariat'];
  2947.             $type_partenaire $tab_detail_partenariat['type_partenaire'];
  2948.             $stade_dev_deposant $tab_detail_partenariat['stade_dev_deposant'];
  2949.             $partenaire_recherche "";
  2950.             $nbColaborateur "";
  2951.             $ca "";
  2952.             $ca_min number_format((int) $annonce["ca_min"], 0','' ');
  2953.             $ca_max number_format((int) $annonce["ca_max"], 0','' ');
  2954.             $nb_personnes_max number_format((int) $annonce["nb_personnes_max"], 0','' ');
  2955.             $nb_personnes_min number_format((int) $annonce["nb_personnes_min"], 0','' ');
  2956.             if ($type_partenaire == 'personne_physique') {
  2957.                 $partenaire_recherche "une personne physique";
  2958.             } elseif ($type_partenaire == 'personne_morale') {
  2959.                 $partenaire_recherche "une societe";
  2960.                 if ($annonce["nb_personnes_min"] != "" && $annonce["nb_personnes_max"] != "") {
  2961.                     $nbColaborateur $annonce["nb_personnes_min"] . ' < nb < ' $annonce["nb_personnes_max"];
  2962.                 }
  2963.                 if ($nb_personnes_min != "" && $nb_personnes_max != "") {
  2964.                     if ($annonce["nb_personnes_max"] > 1000) {
  2965.                         $nbColaborateur ' nb > ' $nb_personnes_min;
  2966.                     }
  2967.                 } else {
  2968.                     $nbColaborateur $nb_personnes_min ' < nb < ' $nb_personnes_max;
  2969.                 }
  2970.                 if ($nb_personnes_min == "" && $nb_personnes_max != "") {
  2971.                     $nbColaborateur ' nb < ' $nb_personnes_max;
  2972.                 }
  2973.                 if ($nb_personnes_min != "" && $nb_personnes_max == "") {
  2974.                     $nbColaborateur ' nb > ' $nb_personnes_min;
  2975.                 }
  2976.                 if ($nb_personnes_min == "" && $nb_personnes_max == "") {
  2977.                     $nbColaborateur ' non renseigne';
  2978.                 }
  2979.                 if ($ca_min != "" && $annonce["ca_max"] != "") {
  2980.                     if ($ca_max 100000) {
  2981.                         $ca 'CA > ' $ca_min 'k€';
  2982.                     } else {
  2983.                         $ca $ca_min 'k€ < CA < ' $ca_max 'k€';
  2984.                     }
  2985.                 }
  2986.                 if ($ca_min == "" && $this->details ["ca_max"] != "") {
  2987.                     $ca ' CA < ' $ca_max 'k€';
  2988.                 }
  2989.                 if ($ca_min != "" && $ca_max == "") {
  2990.                     $ca ' CA > ' $ca_min 'k€';
  2991.                 }
  2992.                 if ($ca_min == "" && $ca_max == "") {
  2993.                     $ca ' ' $translationExtension->translate("non renseigne"$lang'''m''');
  2994.                 }
  2995.             } else {
  2996.                 $partenaire_recherche "non renseigne";
  2997.             }
  2998.             $localisation_souhaitee $annonce["nom_localisation"];
  2999.             if (empty($localisation_souhaitee)) {
  3000.                 $localisation_souhaitee $translationExtension->translate("non renseigne"$lang'''m''');
  3001.             }
  3002.             $http_host $request->server->get('HTTP_HOST');
  3003.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  3004.             $canonical $http_host $url;
  3005.             $prev $canonical '?onglet=1';
  3006.             $next $canonical '?onglet=3';
  3007.             $parametres $request->query->all();
  3008.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  3009.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  3010.             $index = (int) $request->query->get('index');
  3011.             $page = (int) $request->query->get('page'1);
  3012.             if ($page 1) {
  3013.                 $string_params .= "&page=" $page;
  3014.             }
  3015.             $urlList $request->query->get('urlList');
  3016.             $urlRetourList $urlList $urlList '?' $string_params null;
  3017.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  3018.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  3019.             $fromAlaUne $request->query->get('fromAlaUne');
  3020.             $arrayVarsTrans = [];
  3021.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  3022.             $metaTitle 'partenaire recherché, %$titre_annonce%$';
  3023.             $metaDescription 'consultez le partenaire recherché pour l\'annonce de partenariat, %$titre_annonce%$';
  3024.             $metaTag $this->metaTag
  3025.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  3026.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  3027.                     ->setCanonical($canonical)
  3028.                     ->setPrev($prev)
  3029.                     ->setNext($next);
  3030.             return $this->render('vendre_entreprise/partenaire_recherche.html.twig', [
  3031.                         'metaTag' => $metaTag,
  3032.                         'annonce' => $annonce,
  3033.                         'type_acquisition' => $type_acquisition,
  3034.                         'terme_pour_la_date' => $terme_pour_la_date,
  3035.                         'secteurActivite' => $secteurActivite,
  3036.                         'date' => $date,
  3037.                         'localisation_siege' => $localisation_siege,
  3038.                         'type_partenariat' => $type_partenariat,
  3039.                         'nbColaborateur' => $nbColaborateur,
  3040.                         'ca' => $ca,
  3041.                         'partenaire_recherche' => $partenaire_recherche,
  3042.                         'type_partenaire' => $type_partenaire,
  3043.                         'localisation_souhaitee' => $localisation_souhaitee,
  3044.                         'colorClass' => $colorClass,
  3045.                         'ongletClass' => $ongletClass,
  3046.                         'titreClass' => $titreClass,
  3047.                         'bgColor' => $bgColor,
  3048.                         'from' => $from,
  3049.                         'urlList' => $urlList,
  3050.                         'urlRetourList' => $urlRetourList,
  3051.                         'string_params' => $string_params,
  3052.                         'previousAnnonce' => $previousAnnonce,
  3053.                         'nextAnnonce' => $nextAnnonce,
  3054.                         'index' => $index,
  3055.                         'indexPrevious' => $index 1,
  3056.                         'indexNext' => $index 1,
  3057.                         'fromAlaUne' => $fromAlaUne
  3058.             ]);
  3059.         } else {
  3060.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  3061.         }
  3062.     }
  3063.     public function initiateurpartenariat(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  3064.         $user $this->getUser();
  3065.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  3066.         //$from = $request->query->get('from');
  3067.         $from "reprendre-entreprise";
  3068.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  3069.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  3070.             if ($from == "ouvrir-capital") {
  3071.                 $colorClass "orange-new";
  3072.                 $ongletClass "onglet8";
  3073.                 $titreClass "titre_annonce_orange";
  3074.                 $bgColor "#eb885c";
  3075.             } elseif ($from == "reprendre-entreprise") {
  3076.                 $colorClass "bleu";
  3077.                 $ongletClass "onglet6";
  3078.                 $titreClass "titre_annonce";
  3079.                 $bgColor "#4B7389";
  3080.             } else {
  3081.                 $colorClass "vert";
  3082.                 $ongletClass "onglet7";
  3083.                 $titreClass "titre_annonce_vert";
  3084.                 //$btnContactClass = "btn-vert";
  3085.                 $bgColor "#5F9779";
  3086.             }
  3087.             $lang $request->getSession()->get('lang');
  3088.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  3089.             if ($annonce["type_raprochement"] == "partenaire") {
  3090.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  3091.             } else {
  3092.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  3093.             }
  3094.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  3095.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  3096.                 $terme_pour_la_date "poste le ";
  3097.             } else {
  3098.                 $terme_pour_la_date "mise a jour le ";
  3099.             }
  3100.             $localisation_siege $annonce['nom_localisation'];
  3101.             $tab_detail_partenariat $this->am->get_tab_info_partenariat($idAnnonce);
  3102.             $type_partenariat $tab_detail_partenariat['type_partenariat'];
  3103.             $type_partenaire $tab_detail_partenariat['type_partenaire'];
  3104.             $stade_dev_deposant $tab_detail_partenariat['stade_dev_deposant'];
  3105.             if ($stade_dev_deposant == 'projet_creation') {
  3106.                 $stade_dev_deposant_claire "un projet a l'etude de creation d'entreprise";
  3107.             } elseif ($stade_dev_deposant == 'societe_creation') {
  3108.                 $stade_dev_deposant_claire "une societe actuellement en cours de creation";
  3109.             } elseif ($stade_dev_deposant == 'premier_exercice') {
  3110.                 $stade_dev_deposant_claire "une societe dans son premier exercice";
  3111.             } elseif ($stade_dev_deposant == 'jeune_societe') {
  3112.                 $stade_dev_deposant_claire "une jeune societe (de 1 a 3 ans d'existence)";
  3113.             } elseif ($stade_dev_deposant == 'societe_etablie') {
  3114.                 $stade_dev_deposant_claire "une societe etablie (de 3 a 10 ans d'existence)";
  3115.             } elseif ($stade_dev_deposant == 'societe_mature') {
  3116.                 $stade_dev_deposant_claire "une societe mature (plus de 10 ans d'existence)";
  3117.             } else {
  3118.                 $stade_dev_deposant_claire "";
  3119.             }
  3120.             $initiateur_partenariat "";
  3121.             $titre_info "";
  3122.             if ($annonce['type_acquereur'] == "personne") {
  3123.                 if (!empty($stade_dev_deposant)) {
  3124.                     $initiateur_partenariat "une personne physique qui represente " lcfirst($stade_dev_deposant);
  3125.                 } else {
  3126.                     $initiateur_partenariat "non renseigne";
  3127.                 }
  3128.                 $titre_info "informations sur le porteur de projet";
  3129.             } elseif ($annonce['type_acquereur'] == "societe") {
  3130.                 if (!empty($stade_dev_deposant)) {
  3131.                     $initiateur_partenariat ucfirst($stade_dev_deposant);
  3132.                 } else {
  3133.                     $initiateur_partenariat "non renseigne";
  3134.                 }
  3135.                 $titre_info "informations sur la societe qui recherche";
  3136.             } else {
  3137.                 $initiateur_partenariat "non renseigne";
  3138.                 $titre_info "informations sur la societe qui recherche";
  3139.             }
  3140.             $id_localisation_deposant $tab_detail_partenariat['id_localisation_deposant'];
  3141.             $localisation_deposant $this->lm->getStringNomLocalisationById($id_localisation_deposant);
  3142.             if (empty($localisation_deposant)) {
  3143.                 $localisation_deposant "non renseigne";
  3144.             }
  3145.             $tab_infos = [];
  3146.             $profil $this->test_si_affichage_acquereur_ou_repreneur($annonce['type_acquereur'], $annonce['profil_deposant']);
  3147.             if ($profil != "repreneur") {
  3148.                 $date_creation_societe $annonce["date_creation_societe"];
  3149.                 if ($annonce["date_creation_societe"] == "") {
  3150.                     $date_creation_societe "non renseignee";
  3151.                 }
  3152.                 $nb_personnes_societe $annonce["nb_personnes_societe"];
  3153.                 if ($annonce["nb_personnes_societe"] == "") {
  3154.                     $nb_personnes_societe "non renseigne";
  3155.                 }
  3156.                 $ca_societe = (int) $annonce["ca_societe"] . ' k€';
  3157.                 if ($annonce["ca_societe"] == "") {
  3158.                     $ca_societe "non renseigne";
  3159.                 }
  3160.                 $res_net_societe = (int) $annonce["res_net_societe"] . ' k€';
  3161.                 if ($annonce["res_net_societe"] == "") {
  3162.                     $res_net_societe "non renseigne";
  3163.                 }
  3164.                 $description_activite_acheteur $annonce["description_activite_societe"];
  3165.                 if ($annonce["description_activite_societe"] == "") {
  3166.                     $description_activite_acheteur "non renseignee";
  3167.                 }
  3168.                 if ($annonce["date_creation_societe"] == "") {
  3169.                     $anciennete_de_la_societe "non renseignee";
  3170.                 } else {
  3171.                     $annee_actuelle date('Y');
  3172.                     $diff $annee_actuelle $annonce["date_creation_societe"];
  3173.                     if ($diff 5) {
  3174.                         $anciennete_de_la_societe "moins de 5 ans";
  3175.                     }
  3176.                     if ($diff >= && $diff <= 10) {
  3177.                         $anciennete_de_la_societe "entre 5 et 10 ans";
  3178.                     }
  3179.                     if ($diff 10) {
  3180.                         $anciennete_de_la_societe "plus de 10 ans";
  3181.                     }
  3182.                 }
  3183.                 $tab_infos['date_creation_societe'] = $date_creation_societe;
  3184.                 $tab_infos['nb_personnes_societe'] = $nb_personnes_societe;
  3185.                 $tab_infos['ca_societe'] = $ca_societe;
  3186.                 $tab_infos['res_net_societe'] = $res_net_societe;
  3187.                 $tab_infos['description_activite_acheteur'] = $description_activite_acheteur;
  3188.                 $tab_infos['anciennete_de_la_societe'] = $anciennete_de_la_societe;
  3189.             } else {
  3190.                 $annee_naissance_repreneur $annonce["annee_naissance_repreneur"];
  3191.                 if ($annonce["annee_naissance_repreneur"] == "") {
  3192.                     $annee_naissance_repreneur 0;
  3193.                 }
  3194.                 $annee_actuelle date('Y');
  3195.                 $age_repreneur $annee_actuelle - (int) $annee_naissance_repreneur;
  3196.                 if ($annonce["annee_naissance_repreneur"] == "") {
  3197.                     $age_repreneur "non renseigne";
  3198.                 }
  3199.                 $apport_perso_repreneur $annonce["apport_perso_repreneur"] . " k€";
  3200.                 if ($annonce["apport_perso_repreneur"] == "") {
  3201.                     $apport_perso_repreneur "non renseigne";
  3202.                 }
  3203.                 $domaine_de_competence $annonce["liste_secteurs_affichage"];
  3204.                 if ($annonce["liste_secteurs_affichage"] == "") {
  3205.                     $domaine_de_competence "non renseigne";
  3206.                 }
  3207.                 $formation_repreneur $annonce["formation_repreneur"];
  3208.                 if ($annonce["formation_repreneur"] == "") {
  3209.                     $formation_repreneur "non renseignee";
  3210.                 }
  3211.                 $parcours_pro_repreneur $annonce["parcours_pro_repreneur"];
  3212.                 if ($annonce["parcours_pro_repreneur"] == "") {
  3213.                     $parcours_pro_repreneur "non renseigne";
  3214.                 }
  3215.                 $tab_infos['age_repreneur'] = $age_repreneur;
  3216.                 $tab_infos['apport_perso_repreneur'] = $apport_perso_repreneur;
  3217.                 $tab_infos['domaine_de_competence'] = $domaine_de_competence;
  3218.                 $tab_infos['formation_repreneur'] = $formation_repreneur;
  3219.                 $tab_infos['parcours_pro_repreneur'] = $parcours_pro_repreneur;
  3220.             }
  3221.             $http_host $request->server->get('HTTP_HOST');
  3222.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  3223.             $canonical $http_host $url;
  3224.             $prev $canonical '?onglet=2';
  3225.             $next $canonical '?onglet=4';
  3226.             $parametres $request->query->all();
  3227.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  3228.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  3229.             $index = (int) $request->query->get('index');
  3230.             $page = (int) $request->query->get('page'1);
  3231.             if ($page 1) {
  3232.                 $string_params .= "&page=" $page;
  3233.             }
  3234.             $urlList $request->query->get('urlList');
  3235.             $urlRetourList $urlList $urlList '?' $string_params null;
  3236.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  3237.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  3238.             $fromAlaUne $request->query->get('fromAlaUne');
  3239.             $arrayVarsTrans = [];
  3240.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  3241.             $metaTitle 'initiateur du partenariat, %$titre_annonce%$';
  3242.             $metaDescription 'consultez l\'initiateur du partenariat pour l\'annonce de partenariat, %$titre_annonce%$';
  3243.             $metaTag $this->metaTag
  3244.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  3245.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  3246.                     ->setCanonical($canonical)
  3247.                     ->setPrev($prev)
  3248.                     ->setNext($next);
  3249.             return $this->render('vendre_entreprise/initiateur_partenariat.html.twig', [
  3250.                         'metaTag' => $metaTag,
  3251.                         'annonce' => $annonce,
  3252.                         'type_acquisition' => $type_acquisition,
  3253.                         'terme_pour_la_date' => $terme_pour_la_date,
  3254.                         'secteurActivite' => $secteurActivite,
  3255.                         'date' => $date,
  3256.                         'localisation_siege' => $localisation_siege,
  3257.                         'type_partenariat' => $type_partenariat,
  3258.                         'type_partenaire' => $type_partenaire,
  3259.                         'initiateur_partenariat' => $initiateur_partenariat,
  3260.                         'stade_dev_deposant_claire' => $stade_dev_deposant_claire,
  3261.                         'titre_info' => $titre_info,
  3262.                         'profil' => $profil,
  3263.                         'tab_infos' => $tab_infos,
  3264.                         'localisation_deposant' => $localisation_deposant,
  3265.                         'colorClass' => $colorClass,
  3266.                         'ongletClass' => $ongletClass,
  3267.                         'titreClass' => $titreClass,
  3268.                         'bgColor' => $bgColor,
  3269.                         'from' => $from,
  3270.                         'urlList' => $urlList,
  3271.                         'urlRetourList' => $urlRetourList,
  3272.                         'string_params' => $string_params,
  3273.                         'previousAnnonce' => $previousAnnonce,
  3274.                         'nextAnnonce' => $nextAnnonce,
  3275.                         'index' => $index,
  3276.                         'indexPrevious' => $index 1,
  3277.                         'indexNext' => $index 1,
  3278.                         'fromAlaUne' => $fromAlaUne
  3279.             ]);
  3280.         } else {
  3281.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  3282.         }
  3283.     }
  3284.     public function complementinformation(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  3285.         $user $this->getUser();
  3286.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  3287.         $from $request->query->get('from');
  3288.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  3289.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  3290.             $lang $request->getSession()->get('lang');
  3291.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  3292.             $http_host $request->server->get('HTTP_HOST');
  3293.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  3294.             $canonical $http_host $url;
  3295.             $arrayVarsTrans = [];
  3296.             if ($annonce["type_raprochement"] == "partenaire") {
  3297.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  3298.                 $colorClass "bleu";
  3299.                 $colorImportant "bleu-important";
  3300.                 $ongletClass "onglet6";
  3301.                 $titreClass "titre_annonce";
  3302.                 $bgColor "#4B7389";
  3303.                 $type_annonce "partenaire";
  3304.                 $fromOnglet 1;
  3305.                 $btnContactClass "btn-bleu-annonce";
  3306.                 $metaTitle 'complément d\'information sur le partenariat, %$titre_annonce%$';
  3307.                 $metaDescription 'consultez les compléments d\'information sur le partenariat, %$titre_annonce%$';
  3308.                 $prev $canonical '?from=reprendre-entreprise&onglet=3';
  3309.                 $next $canonical '?from=reprendre-entreprise&onglet=5';
  3310.             } else {
  3311.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  3312.                 $colorClass "vert";
  3313.                 $colorImportant "vert-important";
  3314.                 $ongletClass "onglet7";
  3315.                 $titreClass "titre_annonce_vert";
  3316.                 $bgColor "#5F9779";
  3317.                 $type_annonce "entreprise";
  3318.                 $fromOnglet 2;
  3319.                 $btnContactClass "btn-vert-annonce";
  3320.                 $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  3321.                 $metaTitle 'complément d\'information sur l\'acquéreur d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  3322.                 $metaDescription 'consultez les compléments d\'information sur l\'acquéreur d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  3323.                 $prev $canonical '?onglet=3';
  3324.                 $next $canonical '?onglet=5';
  3325.             }
  3326.             if ($from == "ouvrir-capital") {
  3327.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  3328.                 $colorClass "orange-new";
  3329.                 $colorImportant "orange-new-important";
  3330.                 $ongletClass "onglet8";
  3331.                 $titreClass "titre_annonce_orange";
  3332.                 $bgColor "#eb885c";
  3333.                 $fromOnglet 3;
  3334.                 $btnContactClass "btn-orange-new";
  3335.                 $metaTitle 'complément d\'information sur le partenariat, %$titre_annonce%$';
  3336.                 $metaDescription 'consultez les compléments d\'information sur le partenariat, %$titre_annonce%$';
  3337.                 $prev $canonical '?from=ouvrir-capital&onglet=3';
  3338.                 $next $canonical '?from=ouvrir-capital&onglet=5';
  3339.             }
  3340.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  3341.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  3342.                 $terme_pour_la_date "poste le ";
  3343.             } else {
  3344.                 $terme_pour_la_date "mise a jour le ";
  3345.             }
  3346.             $parametres $request->query->all();
  3347.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  3348.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  3349.             $index = (int) $request->query->get('index');
  3350.             $page = (int) $request->query->get('page'1);
  3351.             if ($page 1) {
  3352.                 $string_params .= "&page=" $page;
  3353.             }
  3354.             $urlList $request->query->get('urlList');
  3355.             $urlRetourList $urlList $urlList '?' $string_params null;
  3356.             if ($from == "ouvrir-capital") {
  3357.                 $parametres['from_list'] = "acquereur_investisseur";
  3358.             }
  3359.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  3360.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  3361.             $fromAlaUne $request->query->get('fromAlaUne');
  3362.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  3363.             $metaTag $this->metaTag
  3364.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  3365.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  3366.                     ->setCanonical($canonical)
  3367.                     ->setPrev($prev)
  3368.                     ->setNext($next);
  3369.             return $this->render('vendre_entreprise/complement_information.html.twig', [
  3370.                         'metaTag' => $metaTag,
  3371.                         'annonce' => $annonce,
  3372.                         'type_acquisition' => $type_acquisition,
  3373.                         'terme_pour_la_date' => $terme_pour_la_date,
  3374.                         'secteurActivite' => $secteurActivite,
  3375.                         'date' => $date,
  3376.                         'colorClass' => $colorClass,
  3377.                         'colorImportant' => $colorImportant,
  3378.                         'ongletClass' => $ongletClass,
  3379.                         'titreClass' => $titreClass,
  3380.                         'bgColor' => $bgColor,
  3381.                         'from' => $from,
  3382.                         'urlList' => $urlList,
  3383.                         'urlRetourList' => $urlRetourList,
  3384.                         'string_params' => $string_params,
  3385.                         'previousAnnonce' => $previousAnnonce,
  3386.                         'nextAnnonce' => $nextAnnonce,
  3387.                         'index' => $index,
  3388.                         'indexPrevious' => $index 1,
  3389.                         'indexNext' => $index 1,
  3390.                         'fromAlaUne' => $fromAlaUne,
  3391.                         'fromOnglet' => $fromOnglet,
  3392.                         'btnContactClass' => $btnContactClass
  3393.             ]);
  3394.         } else {
  3395.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  3396.         }
  3397.     }
  3398.     public function infossectorielles(TranslationExtension $translationExtensionActualitesManagers $actuManagerLocalisationsManagers $localisationManagerRequest $request$idAnnonce$codePays): Response {
  3399.         $user $this->getUser();
  3400.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  3401.         $from $request->query->get('from');
  3402.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  3403.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  3404.             $lang $request->getSession()->get('lang');
  3405.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  3406.             $http_host $request->server->get('HTTP_HOST');
  3407.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  3408.             $canonical $http_host $url;
  3409.             $arrayVarsTrans = [];
  3410.             if ($annonce["type_raprochement"] == "partenaire") {
  3411.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  3412.                 $colorClass "bleu";
  3413.                 $colorImportant "bleu-important";
  3414.                 $ongletClass "onglet6";
  3415.                 $titreClass "titre_annonce";
  3416.                 $bgColor "#4B7389";
  3417.                 $type_annonce "partenaire";
  3418.                 $fromOnglet 1;
  3419.                 $btnContactClass "btn-bleu-annonce";
  3420.                 $metaTitle 'Informations sectorielles, %$titre_annonce%$';
  3421.                 $metaDescription 'consultez les informations sectorielles pour l\'annonce de partenariat, %$titre_annonce%$';
  3422.                 $next $canonical '?from=reprendre-entreprise&onglet=7';
  3423.                 $prev $canonical '?from=reprendre-entreprise&onglet=4';
  3424.             } else {
  3425.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  3426.                 $colorClass "vert";
  3427.                 $colorImportant "vert-important";
  3428.                 $ongletClass "onglet7";
  3429.                 $titreClass "titre_annonce_vert";
  3430.                 $bgColor "#5F9779";
  3431.                 $type_annonce "entreprise";
  3432.                 $fromOnglet 2;
  3433.                 $btnContactClass "btn-vert-annonce";
  3434.                 $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  3435.                 $metaTitle 'Informations sectorielles d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  3436.                 $metaDescription 'Consultez les informations sectorielles d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  3437.                 $next $canonical '?onglet=6';
  3438.                 $prev $canonical '?onglet=4';
  3439.             }
  3440.             if ($from == "ouvrir-capital") {
  3441.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  3442.                 $colorClass "orange-new";
  3443.                 $colorImportant "orange-new-important";
  3444.                 $ongletClass "onglet8";
  3445.                 $titreClass "titre_annonce_orange";
  3446.                 $bgColor "#eb885c";
  3447.                 $fromOnglet 3;
  3448.                 $btnContactClass "btn-orange-new";
  3449.                 $metaTitle 'Informations sectorielles, %$titre_annonce%$ - %$nom_localisation%$ ';
  3450.                 $metaDescription 'consultez les informations sectorielles pour l\'annonce de partenariat, %$titre_annonce%$';
  3451.                 $next $canonical '?from=ouvrir-capital&onglet=6';
  3452.                 $prev $canonical '?from=ouvrir-capital&onglet=4';
  3453.             }
  3454.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  3455.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  3456.                 $terme_pour_la_date "poste le ";
  3457.             } else {
  3458.                 $terme_pour_la_date "mise a jour le ";
  3459.             }
  3460.             $dernieresActualitesSecteur $actuManager->getDernieresActualitesSecteurAnnonceAcheteur($idAnnonce);
  3461.             $parametres $request->query->all();
  3462.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  3463.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  3464.             $index = (int) $request->query->get('index');
  3465.             $page = (int) $request->query->get('page'1);
  3466.             if ($page 1) {
  3467.                 $string_params .= "&page=" $page;
  3468.             }
  3469.             $urlList $request->query->get('urlList');
  3470.             $urlRetourList $urlList $urlList '?' $string_params null;
  3471.             if ($from == "ouvrir-capital") {
  3472.                 $parametres['from_list'] = "acquereur_investisseur";
  3473.             }
  3474.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  3475.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  3476.             $fromAlaUne $request->query->get('fromAlaUne');
  3477.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  3478.             $metaTag $this->metaTag
  3479.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  3480.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  3481.                     ->setCanonical($canonical)
  3482.                     ->setPrev($prev)
  3483.                     ->setNext($next);
  3484.             return $this->render('vendre_entreprise/infos_sectorielles.html.twig', [
  3485.                         'metaTag' => $metaTag,
  3486.                         'annonce' => $annonce,
  3487.                         'type_acquisition' => $type_acquisition,
  3488.                         'terme_pour_la_date' => $terme_pour_la_date,
  3489.                         'secteurActivite' => $secteurActivite,
  3490.                         'date' => $date,
  3491.                         'dernieresActualitesSecteur' => $dernieresActualitesSecteur,
  3492.                         'colorClass' => $colorClass,
  3493.                         'colorImportant' => $colorImportant,
  3494.                         'ongletClass' => $ongletClass,
  3495.                         'titreClass' => $titreClass,
  3496.                         'bgColor' => $bgColor,
  3497.                         'from' => $from,
  3498.                         'urlList' => $urlList,
  3499.                         'urlRetourList' => $urlRetourList,
  3500.                         'string_params' => $string_params,
  3501.                         'previousAnnonce' => $previousAnnonce,
  3502.                         'nextAnnonce' => $nextAnnonce,
  3503.                         'index' => $index,
  3504.                         'indexPrevious' => $index 1,
  3505.                         'indexNext' => $index 1,
  3506.                         'fromAlaUne' => $fromAlaUne,
  3507.                         'fromOnglet' => $fromOnglet,
  3508.                         'btnContactClass' => $btnContactClass
  3509.             ]);
  3510.         } else {
  3511.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  3512.         }
  3513.     }
  3514.     public function transactionscomparables(TranslationExtension $translationExtensionValorisationsManagers $vmLocalisationsManagers $localisationManagerActualitesManagers $actuManagerRequest $request$idAnnonce$codePays): Response {
  3515.         $user $this->getUser();
  3516.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  3517.         $from $request->query->get('from');
  3518.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  3519.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  3520.             $lang $request->getSession()->get('lang');
  3521.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  3522.             if ($annonce["type_raprochement"] == "partenaire") {
  3523.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  3524.                 $colorClass "bleu";
  3525.                 $colorImportant "bleu-important";
  3526.                 $ongletClass "onglet7";
  3527.                 $titreClass "titre_annonce";
  3528.                 $bgColor "#4B7389";
  3529.                 $type_annonce "entreprise";
  3530.                 $fromOnglet 1;
  3531.                 $btnContactClass "btn-bleu-annonce";
  3532.             } else {
  3533.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  3534.                 $colorClass "vert";
  3535.                 $colorImportant "vert-important";
  3536.                 $ongletClass "onglet7";
  3537.                 $titreClass "titre_annonce_vert";
  3538.                 $bgColor "#5F9779";
  3539.                 $type_annonce "entreprise";
  3540.                 $fromOnglet 2;
  3541.                 $btnContactClass "btn-vert-annonce";
  3542.             }
  3543.             if ($from == "ouvrir-capital") {
  3544.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  3545.                 $colorClass "orange-new";
  3546.                 $colorImportant "orange-new-important";
  3547.                 $ongletClass "onglet8";
  3548.                 $titreClass "titre_annonce_orange";
  3549.                 $bgColor "#eb885c";
  3550.                 $fromOnglet 3;
  3551.                 $btnContactClass "btn-orange-new";
  3552.             }
  3553.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  3554.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  3555.                 $terme_pour_la_date "poste le ";
  3556.             } else {
  3557.                 $terme_pour_la_date "mise a jour le ";
  3558.             }
  3559.             $valorisations $vm->donne_valorisations_du_secteur($idAnnonce);
  3560.             $http_host $request->server->get('HTTP_HOST');
  3561.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  3562.             $canonical $http_host $url;
  3563.             $prev $canonical '?onglet=5';
  3564.             $next $canonical '?onglet=7';
  3565.             $parametres $request->query->all();
  3566.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  3567.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  3568.             $index = (int) $request->query->get('index');
  3569.             $page = (int) $request->query->get('page'1);
  3570.             if ($page 1) {
  3571.                 $string_params .= "&page=" $page;
  3572.             }
  3573.             $urlList $request->query->get('urlList');
  3574.             $urlRetourList $urlList $urlList '?' $string_params null;
  3575.             if ($from == "ouvrir-capital") {
  3576.                 $parametres['from_list'] = "acquereur_investisseur";
  3577.             }
  3578.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  3579.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  3580.             $fromAlaUne $request->query->get('fromAlaUne');
  3581.             $arrayVarsTrans = [];
  3582.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  3583.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  3584.             $metaTitle 'Transactions comparables d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  3585.             $metaDescription 'Consultez les transactions comparables d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  3586.             $metaTag $this->metaTag
  3587.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  3588.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  3589.                     ->setCanonical($canonical)
  3590.                     ->setPrev($prev)
  3591.                     ->setNext($next);
  3592.             return $this->render('vendre_entreprise/transactions_comparables.html.twig', [
  3593.                         'metaTag' => $metaTag,
  3594.                         'annonce' => $annonce,
  3595.                         'type_acquisition' => $type_acquisition,
  3596.                         'terme_pour_la_date' => $terme_pour_la_date,
  3597.                         'secteurActivite' => $secteurActivite,
  3598.                         'date' => $date,
  3599.                         'valorisations' => $valorisations,
  3600.                         'colorClass' => $colorClass,
  3601.                         'colorImportant' => $colorImportant,
  3602.                         'ongletClass' => $ongletClass,
  3603.                         'titreClass' => $titreClass,
  3604.                         'bgColor' => $bgColor,
  3605.                         'from' => $from,
  3606.                         'urlList' => $urlList,
  3607.                         'urlRetourList' => $urlRetourList,
  3608.                         'string_params' => $string_params,
  3609.                         'previousAnnonce' => $previousAnnonce,
  3610.                         'nextAnnonce' => $nextAnnonce,
  3611.                         'index' => $index,
  3612.                         'indexPrevious' => $index 1,
  3613.                         'indexNext' => $index 1,
  3614.                         'fromAlaUne' => $fromAlaUne,
  3615.                         'fromOnglet' => $fromOnglet,
  3616.                         'btnContactClass' => $btnContactClass
  3617.             ]);
  3618.         } else {
  3619.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  3620.         }
  3621.     }
  3622.     public function contacterdeposant(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManagerValorisationsManagers $vm$idAnnonce$codePays): Response {
  3623.         $user $this->getUser();
  3624.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  3625.         $from $request->query->get('from');
  3626.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur);
  3627.         $session $request->getSession();
  3628.         $lignePanier null;
  3629.         $dejaCommande null;
  3630.         $forfaitAUtiliser null;
  3631.         $hasForfait false;
  3632.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  3633.             $lang $request->getSession()->get('lang');
  3634.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  3635.             $http_host $request->server->get('HTTP_HOST');
  3636.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  3637.             $canonical $http_host $url;
  3638.             if ($annonce["type_raprochement"] == "partenaire") {
  3639.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  3640.                 $colorClass "bleu";
  3641.                 $colorImportant "bleu-important";
  3642.                 $ongletClass "onglet6";
  3643.                 $titreClass "titre_annonce";
  3644.                 $bgColor "#4B7389";
  3645.                 $btnContactClass "btn-bleu-annonce";
  3646.                 $typeAnnoncePanier "annonce_A_partenariat";
  3647.                 $metaTitle 'contacter le déposant du partenariat, %$titre_annonce%$';
  3648.                 $metaDescription 'contactez le déposant de l\'annonce de partenariat, %$titre_annonce%$';
  3649.                 $prev $canonical '?from=reprendre-entreprise&onglet=5';
  3650.             } else {
  3651.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  3652.                 $colorClass "vert";
  3653.                 $colorImportant "vert-important";
  3654.                 $ongletClass "onglet7";
  3655.                 $titreClass "titre_annonce_vert";
  3656.                 $bgColor "#5F9779";
  3657.                 $btnContactClass "btn-vert-annonce";
  3658.                 $typeAnnoncePanier "annonce_A_acquisition";
  3659.                 $metaTitle 'Contacter le déposant d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  3660.                 $metaDescription 'Contactez le déposant de l\'annonce de recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  3661.                 $prev $canonical '?onglet=6';
  3662.             }
  3663.             if ($from == "ouvrir-capital") {
  3664.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  3665.                 $colorClass "orange-new";
  3666.                 $colorImportant "orange-new-important";
  3667.                 $ongletClass "onglet8";
  3668.                 $titreClass "titre_annonce_orange";
  3669.                 $bgColor "#eb885c";
  3670.                 $btnContactClass "btn-orange-new";
  3671.                 $metaTitle 'vente d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  3672.                 $metaDescription 'consultez l\'annonce de cession d\'entrprise : %$titre_annonce%$ - %$nom_localisation%$ ';
  3673.                 $prev $canonical '?from=ouvrir-capital&onglet=6';
  3674.             }
  3675.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  3676.             if ($annonce['date_parution'] == $annonce['date_parution_initiale']) {
  3677.                 $terme_pour_la_date "poste le ";
  3678.             } else {
  3679.                 $terme_pour_la_date "mise a jour le ";
  3680.             }
  3681.             $localisation_siege $annonce['nom_localisation'];
  3682.             if ($session) {
  3683.                 $userIdentity $session->get('user');
  3684.                 if (!empty($userIdentity)) {
  3685.                     $lignePanier $this->em->getRepository(Panier::class)->findOneBy(
  3686.                             ['login_utilisateur' => $userIdentity->_get('login_utilisateur'), "type_object" => $typeAnnoncePanier"id_object" => $idAnnonce]
  3687.                     );
  3688.                     $dejaCommande $this->cm->hasAnnonceCommande($userIdentity->_get('login_utilisateur'), $idAnnonce'acheteur');
  3689.                     $forfaitAUtiliser $this->dm->getFrofaitAnnonceToUse($userIdentity);
  3690.                     if (!empty($forfaitAUtiliser)) {
  3691.                         $hasForfait true;
  3692.                     }
  3693.                 }
  3694.             }
  3695.             $valorisations $vm->donne_valorisations_du_secteur($idAnnonce);
  3696.             $parametres $request->query->all();
  3697.             $parametres ParametersProvider::prepareRechercheAvanceeParameters($parametres);
  3698.             $string_params $this->serializeParams($parametres);
  3699.             $page $request->query->get('page'1);
  3700.             if ($page != null) {
  3701.                 $string_params .= "&page=" $page;
  3702.             }
  3703.             $urlList $request->query->get('urlList');
  3704.             $urlRetourList $urlList $urlList '?' $string_params null;
  3705.             $index = (int) $request->query->get('index');
  3706.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  3707.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"partenaire"$page$index 1);
  3708.             $fromAlaUne $request->query->get('fromAlaUne');
  3709.             $arrayVarsTrans = [];
  3710.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  3711.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  3712.             $metaTag $this->metaTag
  3713.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  3714.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  3715.                     ->setCanonical($canonical)
  3716.                     ->setPrev($prev);
  3717.             return $this->render('vendre_entreprise/contacter_deposant.html.twig', [
  3718.                         'metaTag' => $metaTag,
  3719.                         'annonce' => $annonce,
  3720.                         'type_acquisition' => $type_acquisition,
  3721.                         'terme_pour_la_date' => $terme_pour_la_date,
  3722.                         'secteurActivite' => $secteurActivite,
  3723.                         'date' => $date,
  3724.                         'localisation_siege' => $localisation_siege,
  3725.                         'valorisations' => $valorisations,
  3726.                         'colorClass' => $colorClass,
  3727.                         'ongletClass' => $ongletClass,
  3728.                         'titreClass' => $titreClass,
  3729.                         'bgColor' => $bgColor,
  3730.                         'from' => $from,
  3731.                         'urlList' => $urlList,
  3732.                         'urlRetourList' => $urlRetourList,
  3733.                         'string_params' => $string_params,
  3734.                         'previousAnnonce' => $previousAnnonce,
  3735.                         'nextAnnonce' => $nextAnnonce,
  3736.                         'fromAlaUne' => $fromAlaUne,
  3737.                         'lignePanier' => $lignePanier,
  3738.                         'dejaCommande' => $dejaCommande,
  3739.                         'forfaitAUtiliser' => $forfaitAUtiliser,
  3740.                         'hasForfait' => $hasForfait,
  3741.                         'lang' => $lang,
  3742.                         'typeAnnoncePanier' => $typeAnnoncePanier,
  3743.                         'index' => $index,
  3744.                         'indexPrevious' => $index 1,
  3745.                         'indexNext' => $index 1,
  3746.                         'btnContactClass' => $btnContactClass,
  3747.                         'colorImportant' => $colorImportant
  3748.             ]);
  3749.         } else {
  3750.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  3751.         }
  3752.     }
  3753.     public function detailsannonce(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManagerActualitesManagers $actuManagerValorisationsManagers $vmGoogleTag $googleTagConsultationsAnnonce $consultations_annonce$idAnnonce$codePays): Response {
  3754.      
  3755.        
  3756.         $user $this->getUser();
  3757.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  3758.         $from $request->query->get('from''acheteur');
  3759.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  3760.      
  3761.         if(!$annonce){// annonce non publique mais deja commandé
  3762.             $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur,"acheteur",false);
  3763.             $fakeAnnonce = new AnnoncesAcheteur();
  3764.             $fakeAnnonce->_set('id_annonce_acheteur'$annonce["id_annonce_acheteur"]);
  3765.             $fakeAnnonce->_set('type_raprochement''acquisition');
  3766.             $annone_retiree_deja_commande =  $this->authChecker->isGranted(AnnonceCommandVoter::ANNONCE_COMMANDE$fakeAnnonce);
  3767.         }// annonce non publique mais deja commandé
  3768.         
  3769.         
  3770.         if ( (isset($annonce) && 'publique' == $annonce['mode_annonce']) || ($annone_retiree_deja_commande) ) {
  3771.             // On efface les anciens parametres s'ils existent, puis on insert les nouveaux
  3772.             $googleTag->removeParametresPub();
  3773.             if ($annonce['id_pays']) {
  3774.                 $googleTag->setIdPays($annonce['id_pays']);
  3775.             }
  3776.             if ($annonce['id_region']) {
  3777.                 $googleTag->setIdRegion($annonce['id_region']);
  3778.             }
  3779.             if ($annonce['id_departement']) {
  3780.                 $googleTag->setIdDepartement($annonce['id_departement']);
  3781.             }
  3782.             if ($annonce['id_secteur_activite']) {
  3783.                 $googleTag->setIdSecteurActivite($annonce['id_secteur_activite']);
  3784.             }
  3785.             //stats annonce
  3786.             $statsAnnonce $this->em->getRepository(StatistiquesNbConsultationsAnnoncesAcheteurEntity::class)->find($idAnnonce);
  3787.             if (empty($statsAnnonce)) {
  3788.                 $statsAnnonce = new StatistiquesNbConsultationsAnnoncesAcheteurEntity();
  3789.                 $statsAnnonce->_set("id_annonce"$idAnnonce);
  3790.                 $statsAnnonce->_set("nb_consultations"1);
  3791.                 $this->em->persist($statsAnnonce);
  3792.                 $this->em->flush();
  3793.             } else {
  3794.                 /* $nb = $statsAnnonce->_get("nb_consultations") + 1;
  3795.                   $statsAnnonce->_set("nb_consultations", $nb);
  3796.                   $this->em->persist($statsAnnonce);
  3797.                   $this->em->flush(); */
  3798.                 // On incrémente de 1 le nb de consultation
  3799.                 $consultations_annonce->incrementeConsultation('acheteur'$idAnnonce);
  3800.             }
  3801.             $lang $request->getSession()->get('lang');
  3802.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  3803.             if ($from == "ouvrir-capital") {
  3804.                 $colorClass "orange-new";
  3805.                 $colorImportant "orange-new-important";
  3806.                 $ongletClass "onglet8";
  3807.                 $titreClass "titre_annonce_orange";
  3808.                 $bgColor "#eb885c";
  3809.                 $fromOnglet 3;
  3810.                 $btnContactClass "btn-orange-new";
  3811.                 $badgeClass "badge_ouvrir_capital";
  3812.                 $metaTitle 'acquéreur prêt à investir %$titre_annonce%$';
  3813.                 $metaDescription 'Consultez l\'acquéreur prêt à investir %$titre_annonce%$';
  3814.             } else {
  3815.                 $colorClass "vert";
  3816.                 $colorImportant "vert-important";
  3817.                 $ongletClass "onglet7";
  3818.                 $titreClass "titre_annonce_vert";
  3819.                 $bgColor "#5f9779";
  3820.                 $fromOnglet 2;
  3821.                 $btnContactClass "btn-vert-annonce";
  3822.                 $badgeClass "badge_acquisition";
  3823.                 $metaTitle 'Recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  3824.                 $metaDescription 'Consultez l\'annonce de recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  3825.             }
  3826.             if ($from == "ouvrir-capital" && $annonce["type_raprochement"] != "partenaire") {
  3827.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  3828.             } elseif ($annonce["type_raprochement"] == "partenaire") {
  3829.                 $metaTitle 'recherche de partenariat %$titre_annonce%$';
  3830.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  3831.             } else {
  3832.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  3833.             }
  3834.             if ($annonce["type_raprochement"] == "partenaire") {
  3835.                 if ($from != "ouvrir-capital") {
  3836.                     $colorClass "bleu";
  3837.                     $colorImportant "bleu-important";
  3838.                     $ongletClass "onglet6";
  3839.                     $titreClass "titre_annonce";
  3840.                     $bgColor "#4B7389";
  3841.                     $fromOnglet 1;
  3842.                     $btnContactClass "btn-bleu-annonce";
  3843.                     $badgeClass "badge_cession";
  3844.                 }
  3845.                 $type_annonce "partenaire";
  3846.                 $typeAnnoncePanier "annonce_A_partenariat";
  3847.                 $tab_detail_partenariat $this->am->get_tab_info_partenariat($idAnnonce);
  3848.                 $type_partenariat $tab_detail_partenariat['type_partenariat'];
  3849.                 $type_partenaire $tab_detail_partenariat['type_partenaire'];
  3850.                 $stade_dev_deposant $tab_detail_partenariat['stade_dev_deposant'];
  3851.                 $partenaire_recherche "";
  3852.                 $nbColaborateur "";
  3853.                 $ca "";
  3854.                 $ca_min number_format((int) $annonce["ca_min"], 0','' ');
  3855.                 $ca_max number_format((int) $annonce["ca_max"], 0','' ');
  3856.                 $nb_personnes_max number_format((int) $annonce["nb_personnes_max"], 0','' ');
  3857.                 $nb_personnes_min number_format((int) $annonce["nb_personnes_min"], 0','' ');
  3858.                 if ($type_partenaire == 'personne_physique') {
  3859.                     $partenaire_recherche "une personne physique";
  3860.                 } elseif ($type_partenaire == 'personne_morale') {
  3861.                     $partenaire_recherche "une societe";
  3862.                     if ($annonce["nb_personnes_min"] != "" && $annonce["nb_personnes_max"] != "") {
  3863.                         $nbColaborateur $annonce["nb_personnes_min"] . ' < nb < ' $annonce["nb_personnes_max"];
  3864.                     }
  3865.                     if ($nb_personnes_min != "" && $nb_personnes_max != "") {
  3866.                         if ($annonce["nb_personnes_max"] > 1000) {
  3867.                             $nbColaborateur ' nb > ' $nb_personnes_min;
  3868.                         }
  3869.                     } else {
  3870.                         $nbColaborateur $nb_personnes_min ' < nb < ' $nb_personnes_max;
  3871.                     }
  3872.                     if ($nb_personnes_min == "" && $nb_personnes_max != "") {
  3873.                         $nbColaborateur ' nb < ' $nb_personnes_max;
  3874.                     }
  3875.                     if ($nb_personnes_min != "" && $nb_personnes_max == "") {
  3876.                         $nbColaborateur ' nb > ' $nb_personnes_min;
  3877.                     }
  3878.                     if ($nb_personnes_min == "" && $nb_personnes_max == "") {
  3879.                         $nbColaborateur ' non renseigne';
  3880.                     }
  3881.                     if ($ca_min != "" && $annonce["ca_max"] != "") {
  3882.                         if ($ca_max 100000) {
  3883.                             $ca 'CA > ' $ca_min 'k€';
  3884.                         } else {
  3885.                             $ca $ca_min 'k€ < CA < ' $ca_max 'k€';
  3886.                         }
  3887.                     }
  3888.                     if ($ca_min == "" && $this->details ["ca_max"] != "") {
  3889.                         $ca ' CA < ' $ca_max 'k€';
  3890.                     }
  3891.                     if ($ca_min != "" && $ca_max == "") {
  3892.                         $ca ' CA > ' $ca_min 'k€';
  3893.                     }
  3894.                     if ($ca_min == "" && $ca_max == "") {
  3895.                         $ca ' ' $translationExtension->translate("non renseigne"$lang'''m''');
  3896.                     }
  3897.                 } else {
  3898.                     $partenaire_recherche "non renseigne";
  3899.                 }
  3900.                 $localisation_souhaitee $annonce["nom_localisation"];
  3901.                 if (empty($localisation_souhaitee)) {
  3902.                     $localisation_souhaitee $translationExtension->translate("non renseigne"$lang'''m''');
  3903.                 }
  3904.                 if ($stade_dev_deposant == 'projet_creation') {
  3905.                     $stade_dev_deposant_claire "un projet a l'etude de creation d'entreprise";
  3906.                 } elseif ($stade_dev_deposant == 'societe_creation') {
  3907.                     $stade_dev_deposant_claire "une societe actuellement en cours de creation";
  3908.                 } elseif ($stade_dev_deposant == 'premier_exercice') {
  3909.                     $stade_dev_deposant_claire "une societe dans son premier exercice";
  3910.                 } elseif ($stade_dev_deposant == 'jeune_societe') {
  3911.                     $stade_dev_deposant_claire "une jeune societe (de 1 a 3 ans d'existence)";
  3912.                 } elseif ($stade_dev_deposant == 'societe_etablie') {
  3913.                     $stade_dev_deposant_claire "une societe etablie (de 3 a 10 ans d'existence)";
  3914.                 } elseif ($stade_dev_deposant == 'societe_mature') {
  3915.                     $stade_dev_deposant_claire "une societe mature (plus de 10 ans d'existence)";
  3916.                 } else {
  3917.                     $stade_dev_deposant_claire "";
  3918.                 }
  3919.                 $initiateur_partenariat "";
  3920.                 $titre_info "";
  3921.                 if ($annonce['type_acquereur'] == "personne") {
  3922.                     if (!empty($stade_dev_deposant)) {
  3923.                         $initiateur_partenariat "une personne physique qui represente " lcfirst($stade_dev_deposant);
  3924.                     } else {
  3925.                         $initiateur_partenariat "non renseigne";
  3926.                     }
  3927.                     $titre_info "informations sur le porteur de projet";
  3928.                 } elseif ($annonce['type_acquereur'] == "societe") {
  3929.                     if (!empty($stade_dev_deposant)) {
  3930.                         $initiateur_partenariat ucfirst($stade_dev_deposant);
  3931.                     } else {
  3932.                         $initiateur_partenariat "non renseigne";
  3933.                     }
  3934.                     $titre_info "informations sur la societe qui recherche";
  3935.                 } else {
  3936.                     $initiateur_partenariat "non renseigne";
  3937.                     $titre_info "informations sur la societe qui recherche";
  3938.                 }
  3939.                 $id_localisation_deposant $tab_detail_partenariat['id_localisation_deposant'];
  3940.                 $localisation_deposant $this->lm->getStringNomLocalisationById($id_localisation_deposant);
  3941.                 if (empty($localisation_deposant)) {
  3942.                     $localisation_deposant "non renseigne";
  3943.                 }
  3944.                 $tab_infos = [];
  3945.                 $profil $this->test_si_affichage_acquereur_ou_repreneur($annonce['type_acquereur'], $annonce['profil_deposant']);
  3946.                 if ($profil != "repreneur") {
  3947.                     $date_creation_societe $annonce["date_creation_societe"];
  3948.                     if ($annonce["date_creation_societe"] == "") {
  3949.                         $date_creation_societe "non renseignee";
  3950.                     }
  3951.                     $nb_personnes_societe $annonce["nb_personnes_societe"];
  3952.                     if ($annonce["nb_personnes_societe"] == "") {
  3953.                         $nb_personnes_societe "non renseigne";
  3954.                     }
  3955.                     $ca_societe = (int) $annonce["ca_societe"] . ' k€';
  3956.                     if ($annonce["ca_societe"] == "") {
  3957.                         $ca_societe "non renseigne";
  3958.                     }
  3959.                     $res_net_societe = (int) $annonce["res_net_societe"] . ' k€';
  3960.                     if ($annonce["res_net_societe"] == "") {
  3961.                         $res_net_societe "non renseigne";
  3962.                     }
  3963.                     $description_activite_acheteur $annonce["description_activite_societe"];
  3964.                     if ($annonce["description_activite_societe"] == "") {
  3965.                         $description_activite_acheteur "non renseignee";
  3966.                     }
  3967.                     if ($annonce["date_creation_societe"] == "") {
  3968.                         $anciennete_de_la_societe "non renseignee";
  3969.                     } else {
  3970.                         $annee_actuelle date('Y');
  3971.                         $diff $annee_actuelle $annonce["date_creation_societe"];
  3972.                         if ($diff 5) {
  3973.                             $anciennete_de_la_societe "moins de 5 ans";
  3974.                         }
  3975.                         if ($diff >= && $diff <= 10) {
  3976.                             $anciennete_de_la_societe "entre 5 et 10 ans";
  3977.                         }
  3978.                         if ($diff 10) {
  3979.                             $anciennete_de_la_societe "plus de 10 ans";
  3980.                         }
  3981.                     }
  3982.                     $tab_infos['date_creation_societe'] = $date_creation_societe;
  3983.                     $tab_infos['nb_personnes_societe'] = $nb_personnes_societe;
  3984.                     $tab_infos['ca_societe'] = $ca_societe;
  3985.                     $tab_infos['res_net_societe'] = $res_net_societe;
  3986.                     $tab_infos['description_activite_acheteur'] = $description_activite_acheteur;
  3987.                     $tab_infos['anciennete_de_la_societe'] = $anciennete_de_la_societe;
  3988.                 } else {
  3989.                     $annee_naissance_repreneur $annonce["annee_naissance_repreneur"];
  3990.                     if ($annonce["annee_naissance_repreneur"] == "") {
  3991.                         $annee_naissance_repreneur 0;
  3992.                     }
  3993.                     $annee_actuelle date('Y');
  3994.                     $age_repreneur $annee_actuelle - (int) $annee_naissance_repreneur;
  3995.                     if ($annonce["annee_naissance_repreneur"] == "") {
  3996.                         $age_repreneur "non renseigne";
  3997.                     }
  3998.                     $apport_perso_repreneur $annonce["apport_perso_repreneur"] . " k€";
  3999.                     if ($annonce["apport_perso_repreneur"] == "") {
  4000.                         $apport_perso_repreneur "non renseigne";
  4001.                     }
  4002.                     $domaine_de_competence $annonce["liste_secteurs_affichage"];
  4003.                     if ($annonce["liste_secteurs_affichage"] == "") {
  4004.                         $domaine_de_competence "non renseigne";
  4005.                     }
  4006.                     $formation_repreneur $annonce["formation_repreneur"];
  4007.                     if ($annonce["formation_repreneur"] == "") {
  4008.                         $formation_repreneur "non renseignee";
  4009.                     }
  4010.                     $parcours_pro_repreneur $annonce["parcours_pro_repreneur"];
  4011.                     if ($annonce["parcours_pro_repreneur"] == "") {
  4012.                         $parcours_pro_repreneur "non renseigne";
  4013.                     }
  4014.                     $tab_infos['age_repreneur'] = $age_repreneur;
  4015.                     $tab_infos['apport_perso_repreneur'] = $apport_perso_repreneur;
  4016.                     $tab_infos['domaine_de_competence'] = $domaine_de_competence;
  4017.                     $tab_infos['formation_repreneur'] = $formation_repreneur;
  4018.                     $tab_infos['parcours_pro_repreneur'] = $parcours_pro_repreneur;
  4019.                 }
  4020.                 $template 'vendre_entreprise/details_annonce_recherche_partenariat.html.twig';
  4021.             } else {
  4022.                 $type_annonce "entreprise";
  4023.                 $typeAnnoncePanier "annonce_A_acquisition";
  4024.                 $tab_detail_partenariat null;
  4025.                 $type_partenariat null;
  4026.                 $type_partenaire null;
  4027.                 $stade_dev_deposant null;
  4028.                 $partenaire_recherche null;
  4029.                 $nbColaborateur null;
  4030.                 $ca null;
  4031.                 $ca_min null;
  4032.                 $ca_max null;
  4033.                 $nb_personnes_max null;
  4034.                 $nb_personnes_min null;
  4035.                 $localisation_souhaitee null;
  4036.                 $stade_dev_deposant_claire null;
  4037.                 $initiateur_partenariat null;
  4038.                 $titre_info null;
  4039.                 $localisation_deposant null;
  4040.                 $tab_infos null;
  4041.                 $profil null;
  4042.                 $template 'vendre_entreprise/details_annonce.html.twig';
  4043.             }
  4044.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  4045.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  4046.                 $terme_pour_la_date "poste le ";
  4047.             } else {
  4048.                 $terme_pour_la_date "mise a jour le ";
  4049.             }
  4050.             $dernieresActualitesSecteur $actuManager->getDernieresActualitesSecteurAnnonceAcheteur($idAnnonce);
  4051.             $valorisations $vm->donne_valorisations_du_secteur($idAnnonce);
  4052.             $current_year date('Y');
  4053.             $http_host $request->server->get('HTTP_HOST');
  4054.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  4055.             $canonical $http_host $url;
  4056.             $parametres $request->query->all();
  4057.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  4058.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  4059.             $index = (int) $request->query->get('index');
  4060.             $page = (int) $request->query->get('page'1);
  4061.             if ($page 1) {
  4062.                 $string_params .= "&page=" $page;
  4063.             }
  4064.             $urlList $request->query->get('urlList');
  4065.             $urlRetourList $urlList $urlList '?' $string_params null;
  4066.             if ($from == "ouvrir-capital" && $annonce["type_raprochement"] != "partenaire") {
  4067.                 $parametres['from_list'] = "acquereur_investisseur";
  4068.             }
  4069.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  4070.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  4071.             $fromAlaUne $request->query->get('fromAlaUne');
  4072.             $dernieresAnnonces $request->query->get('dernieresAnnonces');
  4073.             $arrayVarsTrans = [];
  4074.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  4075.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  4076.             $metaTag $this->metaTag
  4077.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  4078.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  4079.                     ->setCanonical($canonical);
  4080.             
  4081.             if(!empty($annone_retiree_deja_commande)  && $annone_retiree_deja_commande == true ){
  4082.                 $this->get('session')->getFlashBag()->clear(); // Clear tous les flashbags
  4083.                 $this->addFlash('error_annonce_commande_retiree',"Attention : cette annonce n’est plus en ligne actuellement");
  4084.             }
  4085.             return $this->render($template, [
  4086.                         'metaTag' => $metaTag,
  4087.                         'annonce' => $annonce,
  4088.                         'secteurActivite' => $secteurActivite,
  4089.                         'type_acquisition' => $type_acquisition,
  4090.                         'terme_pour_la_date' => $terme_pour_la_date,
  4091.                         'current_year' => $current_year,
  4092.                         'date' => $date,
  4093.                         'dernieresActualitesSecteur' => $dernieresActualitesSecteur,
  4094.                         'valorisations' => $valorisations,
  4095.                         'colorClass' => $colorClass,
  4096.                         'colorImportant' => $colorImportant,
  4097.                         'ongletClass' => $ongletClass,
  4098.                         'titreClass' => $titreClass,
  4099.                         'bgColor' => $bgColor,
  4100.                         'badgeClass' => $badgeClass,
  4101.                         'from' => $from,
  4102.                         'urlList' => $urlList,
  4103.                         'urlRetourList' => $urlRetourList,
  4104.                         'string_params' => $string_params,
  4105.                         'previousAnnonce' => $previousAnnonce,
  4106.                         'nextAnnonce' => $nextAnnonce,
  4107.                         'index' => $index,
  4108.                         'indexPrevious' => $index 1,
  4109.                         'indexNext' => $index 1,
  4110.                         'fromAlaUne' => $fromAlaUne,
  4111.                         'dernieresAnnonces' => $dernieresAnnonces,
  4112.                         'fromOnglet' => $fromOnglet,
  4113.                         'btnContactClass' => $btnContactClass,
  4114.                         'lang' => $lang,
  4115.                         'type_partenariat' => $type_partenariat,
  4116.                         'nbColaborateur' => $nbColaborateur,
  4117.                         'ca' => $ca,
  4118.                         'partenaire_recherche' => $partenaire_recherche,
  4119.                         'type_partenaire' => $type_partenaire,
  4120.                         'localisation_souhaitee' => $localisation_souhaitee,
  4121.                         'initiateur_partenariat' => $initiateur_partenariat,
  4122.                         'stade_dev_deposant_claire' => $stade_dev_deposant_claire,
  4123.                         'titre_info' => $titre_info,
  4124.                         'profil' => $profil,
  4125.                         'tab_infos' => $tab_infos,
  4126.                         'localisation_deposant' => $localisation_deposant,
  4127.                         'googleTag' => $googleTag,
  4128.                         "annone_retiree_deja_commande"=>$annone_retiree_deja_commande??NULL,
  4129.             ]);
  4130.         } else {
  4131.             $lang $request->getSession()->get('lang');
  4132.             $this->addFlash('error'$translationExtension->translate('annonce introuvable : l’annonce a été supprimée, remise en attente ou est en cours de modification'$lang'''M'''));
  4133.             return $this->redirectToRoute('vendre_entreprise_annonces_acquisition_entreprise', ['codePays' => $codePays]);
  4134.         }
  4135.     }
  4136.     public function contacterDeposantAnnonceAcheteur(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManagerActualitesManagers $actuManagerValorisationsManagers $vm$idAnnonce$codePays): Response {
  4137.         $user $this->getUser();
  4138.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  4139.         $from $request->query->get('from''acheteur');
  4140.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  4141.         $session $request->getSession();
  4142.         $lignePanier null;
  4143.         $dejaCommande null;
  4144.         $forfaitAUtiliser null;
  4145.         $hasForfait false;
  4146.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  4147.             $lang $request->getSession()->get('lang');
  4148.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  4149.             if ($from == "ouvrir-capital") {
  4150.                 $colorClass "orange-new";
  4151.                 $colorImportant "orange-new-important";
  4152.                 $ongletClass "onglet8";
  4153.                 $titreClass "titre_annonce_orange";
  4154.                 $bgColor "#eb885c";
  4155.                 $fromOnglet 3;
  4156.                 $btnContactClass "btn-orange-new";
  4157.                 $badgeClass "badge_ouvrir_capital";
  4158.                 $metaTitle 'acquéreur prêt à investir %$titre_annonce%$';
  4159.                 $metaDescription 'Consultez l\'acquéreur prêt à investir %$titre_annonce%$';
  4160.             } else {
  4161.                 $colorClass "vert";
  4162.                 $colorImportant "vert-important";
  4163.                 $ongletClass "onglet7";
  4164.                 $titreClass "titre_annonce_vert";
  4165.                 $bgColor "#5f9779";
  4166.                 $fromOnglet 2;
  4167.                 $btnContactClass "btn-vert-annonce";
  4168.                 $badgeClass "badge_acquisition";
  4169.                 $metaTitle 'Recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  4170.                 $metaDescription 'Consultez l\'annonce de recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  4171.             }
  4172.             if ($from == "ouvrir-capital" && $annonce["type_raprochement"] != "partenaire") {
  4173.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  4174.             } elseif ($annonce["type_raprochement"] == "partenaire") {
  4175.                 $metaTitle 'recherche de partenariat %$titre_annonce%$';
  4176.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  4177.             } else {
  4178.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  4179.             }
  4180.             if ($annonce["type_raprochement"] == "partenaire") {
  4181.                 if ($from != "ouvrir-capital") {
  4182.                     $colorClass "bleu";
  4183.                     $colorImportant "bleu-important";
  4184.                     $ongletClass "onglet6";
  4185.                     $titreClass "titre_annonce";
  4186.                     $bgColor "#4B7389";
  4187.                     $fromOnglet 1;
  4188.                     $btnContactClass "btn-bleu-annonce";
  4189.                     $badgeClass "badge_cession";
  4190.                 }
  4191.                 $type_annonce "partenaire";
  4192.                 $typeAnnoncePanier "annonce_A_partenariat";
  4193.                 $template 'vendre_entreprise/contacter_deposant_annonce_recherche_partenariat.html.twig';
  4194.             } else {
  4195.                 $type_annonce "entreprise";
  4196.                 $typeAnnoncePanier "annonce_A_acquisition";
  4197.                 $template 'vendre_entreprise/contacter_deposant_annonce_acheteur.html.twig';
  4198.             }
  4199.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  4200.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  4201.                 $terme_pour_la_date "poste le ";
  4202.             } else {
  4203.                 $terme_pour_la_date "mise a jour le ";
  4204.             }
  4205.             if ($session) {
  4206.                 $userIdentity $session->get('user');
  4207.                 if (!empty($userIdentity)) {
  4208.                     $lignePanier $this->em->getRepository(Panier::class)->findOneBy(
  4209.                             ['login_utilisateur' => $userIdentity->_get('login_utilisateur'), "type_object" => $typeAnnoncePanier"id_object" => $idAnnonce]
  4210.                     );
  4211.                     $dejaCommande $this->cm->hasAnnonceCommande($userIdentity->_get('login_utilisateur'), $idAnnonce'acheteur');
  4212.                     $forfaitAUtiliser $this->dm->getFrofaitAnnonceToUse($userIdentity);
  4213.                     if (!empty($forfaitAUtiliser)) {
  4214.                         $hasForfait true;
  4215.                     }
  4216.                 }
  4217.             }
  4218.             $current_year date('Y');
  4219.             $http_host $request->server->get('HTTP_HOST');
  4220.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  4221.             $canonical $http_host $url;
  4222.             $parametres $request->query->all();
  4223.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  4224.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  4225.             $index = (int) $request->query->get('index');
  4226.             $page = (int) $request->query->get('page'1);
  4227.             if ($page 1) {
  4228.                 $string_params .= "&page=" $page;
  4229.             }
  4230.             $urlList $request->query->get('urlList');
  4231.             $urlRetourList $urlList $urlList '?' $string_params null;
  4232.             if ($from == "ouvrir-capital" && $annonce["type_raprochement"] != "partenaire") {
  4233.                 $parametres['from_list'] = "acquereur_investisseur";
  4234.             }
  4235.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  4236.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres$type_annonce$page$index 1);
  4237.             $fromAlaUne $request->query->get('fromAlaUne');
  4238.             $dernieresAnnonces $request->query->get('dernieresAnnonces');
  4239.             $arrayVarsTrans = [];
  4240.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  4241.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  4242.             $metaTag $this->metaTag
  4243.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  4244.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  4245.                     ->setCanonical($canonical);
  4246.             $valorisations $vm->donne_valorisations_du_secteur($idAnnonce);
  4247.             return $this->render($template, [
  4248.                         'metaTag' => $metaTag,
  4249.                         'annonce' => $annonce,
  4250.                         'secteurActivite' => $secteurActivite,
  4251.                         'type_acquisition' => $type_acquisition,
  4252.                         'terme_pour_la_date' => $terme_pour_la_date,
  4253.                         'current_year' => $current_year,
  4254.                         'date' => $date,
  4255.                         'colorClass' => $colorClass,
  4256.                         'colorImportant' => $colorImportant,
  4257.                         'ongletClass' => $ongletClass,
  4258.                         'titreClass' => $titreClass,
  4259.                         'bgColor' => $bgColor,
  4260.                         'badgeClass' => $badgeClass,
  4261.                         'from' => $from,
  4262.                         'urlList' => $urlList,
  4263.                         'urlRetourList' => $urlRetourList,
  4264.                         'string_params' => $string_params,
  4265.                         'previousAnnonce' => $previousAnnonce,
  4266.                         'nextAnnonce' => $nextAnnonce,
  4267.                         'index' => $index,
  4268.                         'indexPrevious' => $index 1,
  4269.                         'indexNext' => $index 1,
  4270.                         'fromAlaUne' => $fromAlaUne,
  4271.                         'dernieresAnnonces' => $dernieresAnnonces,
  4272.                         'fromOnglet' => $fromOnglet,
  4273.                         'btnContactClass' => $btnContactClass,
  4274.                         'typeAnnoncePanier' => $typeAnnoncePanier,
  4275.                         'lignePanier' => $lignePanier,
  4276.                         'dejaCommande' => $dejaCommande,
  4277.                         'forfaitAUtiliser' => $forfaitAUtiliser,
  4278.                         'hasForfait' => $hasForfait,
  4279.                         'lang' => $lang,
  4280.                         'valorisations' => $valorisations
  4281.             ]);
  4282.         } else {
  4283.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  4284.         }
  4285.     }
  4286.     public function descriptiongenerale(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  4287.         $user $this->getUser();
  4288.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  4289.         $from $request->query->get('from''acheteur');
  4290.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  4291.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  4292.             if ($from == "ouvrir-capital") {
  4293.                 $colorClass "orange-new";
  4294.                 $colorImportant "orange-new-important";
  4295.                 $ongletClass "onglet8";
  4296.                 $titreClass "titre_annonce_orange";
  4297.                 $bgColor "#eb885c";
  4298.                 $fromOnglet 3;
  4299.                 $btnContactClass "btn-orange-new";
  4300.                 $metaTitle 'acquéreur prêt à investir %$titre_annonce%$';
  4301.                 $metaDescription 'Consultez l\'acquéreur prêt à investir %$titre_annonce%$';
  4302.             } else {
  4303.                 $colorClass "vert";
  4304.                 $colorImportant "vert-important";
  4305.                 $ongletClass "onglet7";
  4306.                 $titreClass "titre_annonce_vert";
  4307.                 $bgColor "#5f9779";
  4308.                 $fromOnglet 2;
  4309.                 $btnContactClass "btn-vert-annonce";
  4310.                 $metaTitle 'Recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  4311.                 $metaDescription 'Consultez l\'annonce de recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  4312.             }
  4313.             $lang $request->getSession()->get('lang');
  4314.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  4315.             if ($from == "ouvrir-capital") {
  4316.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  4317.             } elseif ($annonce["type_raprochement"] == "partenaire") {
  4318.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  4319.             } else {
  4320.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  4321.             }
  4322.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  4323.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  4324.                 $terme_pour_la_date "poste le ";
  4325.             } else {
  4326.                 $terme_pour_la_date "mise a jour le ";
  4327.             }
  4328.             $http_host $request->server->get('HTTP_HOST');
  4329.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  4330.             $canonical $http_host $url;
  4331.             $next $canonical '?onglet=2';
  4332.             $parametres $request->query->all();
  4333.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  4334.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  4335.             $index = (int) $request->query->get('index');
  4336.             $page = (int) $request->query->get('page'1);
  4337.             if ($page 1) {
  4338.                 $string_params .= "&page=" $page;
  4339.             }
  4340.             $urlList $request->query->get('urlList');
  4341.             $urlRetourList $urlList $urlList '?' $string_params null;
  4342.             if ($from == "ouvrir-capital") {
  4343.                 $parametres['from_list'] = "acquereur_investisseur";
  4344.             }
  4345.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"entreprise"$page$index 1);
  4346.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"entreprise"$page$index 1);
  4347.             $fromAlaUne $request->query->get('fromAlaUne');
  4348.             $arrayVarsTrans = [];
  4349.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  4350.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  4351.             $metaTag $this->metaTag
  4352.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  4353.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  4354.                     ->setCanonical($canonical)
  4355.                     ->setNext($next);
  4356.             return $this->render('vendre_entreprise/description_generale.html.twig', [
  4357.                         'metaTag' => $metaTag,
  4358.                         'annonce' => $annonce,
  4359.                         'secteurActivite' => $secteurActivite,
  4360.                         'type_acquisition' => $type_acquisition,
  4361.                         'terme_pour_la_date' => $terme_pour_la_date,
  4362.                         'colorClass' => $colorClass,
  4363.                         'colorImportant' => $colorImportant,
  4364.                         'ongletClass' => $ongletClass,
  4365.                         'titreClass' => $titreClass,
  4366.                         'bgColor' => $bgColor,
  4367.                         'from' => $from,
  4368.                         'urlList' => $urlList,
  4369.                         'urlRetourList' => $urlRetourList,
  4370.                         'string_params' => $string_params,
  4371.                         'previousAnnonce' => $previousAnnonce,
  4372.                         'nextAnnonce' => $nextAnnonce,
  4373.                         'index' => $index,
  4374.                         'indexPrevious' => $index 1,
  4375.                         'indexNext' => $index 1,
  4376.                         'fromAlaUne' => $fromAlaUne,
  4377.                         'fromOnglet' => $fromOnglet,
  4378.                         'btnContactClass' => $btnContactClass
  4379.             ]);
  4380.         } else {
  4381.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  4382.         }
  4383.     }
  4384.     public function elementschiffres(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  4385.         $user $this->getUser();
  4386.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  4387.         $from $request->query->get('from');
  4388.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  4389.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  4390.             if ($from == "ouvrir-capital") {
  4391.                 $colorClass "orange-new";
  4392.                 $colorImportant "orange-new-important";
  4393.                 $ongletClass "onglet8";
  4394.                 $titreClass "titre_annonce_orange";
  4395.                 $bgColor "#eb885c";
  4396.                 $fromOnglet 3;
  4397.                 $btnContactClass "btn-orange-new";
  4398.             } else {
  4399.                 $colorClass "vert";
  4400.                 $colorImportant "vert-important";
  4401.                 $ongletClass "onglet7";
  4402.                 $titreClass "titre_annonce_vert";
  4403.                 $bgColor "#5f9779";
  4404.                 $fromOnglet 2;
  4405.                 $btnContactClass "btn-vert-annonce";
  4406.             }
  4407.             $lang $request->getSession()->get('lang');
  4408.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  4409.             if ($from == "ouvrir-capital") {
  4410.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  4411.             } elseif ($annonce["type_raprochement"] == "partenaire") {
  4412.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  4413.             } else {
  4414.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  4415.             }
  4416.             $date DateProvider::donne_date_format_affichage($annonce['date_parution']);
  4417.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  4418.                 $terme_pour_la_date "poste le ";
  4419.             } else {
  4420.                 $terme_pour_la_date "mise a jour le ";
  4421.             }
  4422.             $http_host $request->server->get('HTTP_HOST');
  4423.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  4424.             $canonical $http_host $url;
  4425.             $next $canonical '?onglet=3';
  4426.             $prev $canonical '?onglet=1';
  4427.             $parametres $request->query->all();
  4428.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  4429.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  4430.             $index = (int) $request->query->get('index');
  4431.             $page = (int) $request->query->get('page'1);
  4432.             if ($page 1) {
  4433.                 $string_params .= "&page=" $page;
  4434.             }
  4435.             $urlList $request->query->get('urlList');
  4436.             $urlRetourList $urlList $urlList '?' $string_params null;
  4437.             if ($from == "ouvrir-capital") {
  4438.                 $parametres['from_list'] = "acquereur_investisseur";
  4439.             }
  4440.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"entreprise"$page$index 1);
  4441.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"entreprise"$page$index 1);
  4442.             $fromAlaUne $request->query->get('fromAlaUne');
  4443.             $arrayVarsTrans = [];
  4444.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  4445.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  4446.             $metaTitle 'éléments chiffrés d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  4447.             $metaDescription 'Consultez les éléments chiffrés d\'une recherche d\'acquisition d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  4448.             $metaTag $this->metaTag
  4449.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  4450.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  4451.                     ->setCanonical($canonical)
  4452.                     ->setPrev($prev)
  4453.                     ->setNext($next);
  4454.             return $this->render('vendre_entreprise/elements_chiffres.html.twig', [
  4455.                         'metaTag' => $metaTag,
  4456.                         'annonce' => $annonce,
  4457.                         'secteurActivite' => $secteurActivite,
  4458.                         'type_acquisition' => $type_acquisition,
  4459.                         'terme_pour_la_date' => $terme_pour_la_date,
  4460.                         'colorClass' => $colorClass,
  4461.                         'colorImportant' => $colorImportant,
  4462.                         'ongletClass' => $ongletClass,
  4463.                         'titreClass' => $titreClass,
  4464.                         'bgColor' => $bgColor,
  4465.                         'from' => $from,
  4466.                         'urlList' => $urlList,
  4467.                         'urlRetourList' => $urlRetourList,
  4468.                         'string_params' => $string_params,
  4469.                         'previousAnnonce' => $previousAnnonce,
  4470.                         'nextAnnonce' => $nextAnnonce,
  4471.                         'index' => $index,
  4472.                         'indexPrevious' => $index 1,
  4473.                         'indexNext' => $index 1,
  4474.                         'fromAlaUne' => $fromAlaUne,
  4475.                         'fromOnglet' => $fromOnglet,
  4476.                         'btnContactClass' => $btnContactClass
  4477.             ]);
  4478.         } else {
  4479.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  4480.         }
  4481.     }
  4482.     public function informationsacquereur(Request $requestTranslationExtension $translationExtensionLocalisationsManagers $localisationManager$idAnnonce$codePays): Response {
  4483.         $user $this->getUser();
  4484.         $login_utilisateur = isset($user) ? $user->_get('login_utilisateur') : null;
  4485.         $from $request->query->get('from');
  4486.         $annonce $this->am->getAnnonceAcheteurById($idAnnonce$login_utilisateur$from);
  4487.         if (isset($annonce) && 'publique' == $annonce['mode_annonce']) {
  4488.             if ($from == "ouvrir-capital") {
  4489.                 $colorClass "orange-new";
  4490.                 $colorImportant "orange-new-important";
  4491.                 $ongletClass "onglet8";
  4492.                 $titreClass "titre_annonce_orange";
  4493.                 $bgColor "#eb885c";
  4494.                 $fromOnglet 3;
  4495.                 $btnContactClass "btn-orange-new";
  4496.             } else {
  4497.                 $colorClass "vert";
  4498.                 $colorImportant "vert-important";
  4499.                 $ongletClass "onglet7";
  4500.                 $titreClass "titre_annonce_vert";
  4501.                 $bgColor "#5f9779";
  4502.                 $fromOnglet 2;
  4503.                 $btnContactClass "btn-vert-annonce";
  4504.             }
  4505.             $lang $request->getSession()->get('lang');
  4506.             $secteurActivite $this->getDoctrine()->getRepository(SecteursActivite::class)->getNomSecteurActivitieById($annonce['id_secteur_activite'])[0];
  4507.             if ($from == "ouvrir-capital") {
  4508.                 $type_acquisition $translationExtension->translate("acquéreur prêt à investir"$lang'''M''');
  4509.             } elseif ($annonce["type_raprochement"] == "partenaire") {
  4510.                 $type_acquisition $translationExtension->translate("recherche de partenariat"$lang'''M''');
  4511.             } else {
  4512.                 $type_acquisition $translationExtension->translate("recherche d'acquisition"$lang'''M''');
  4513.             }
  4514.             if ($annonce["date_parution"] == $annonce["date_parution_initiale"]) {
  4515.                 $terme_pour_la_date "poste le ";
  4516.             } else {
  4517.                 $terme_pour_la_date "mise a jour le ";
  4518.             }
  4519.             $current_year date('Y');
  4520.             $http_host $request->server->get('HTTP_HOST');
  4521.             $url substr($request->server->get('REDIRECT_URL'), 0, -4);
  4522.             $canonical $http_host $url;
  4523.             $next $canonical '?onglet=4';
  4524.             $prev $canonical '?onglet=2';
  4525.             $parametres $request->query->all();
  4526.             $parametres ParametersProvider::prepareRechercheAvanceeAnnonceAcheteurParameters($parametres);
  4527.             $string_params $this->serializeParams($parametres) . "&from=" $from;
  4528.             $index = (int) $request->query->get('index');
  4529.             $page = (int) $request->query->get('page'1);
  4530.             if ($page 1) {
  4531.                 $string_params .= "&page=" $page;
  4532.             }
  4533.             $urlList $request->query->get('urlList');
  4534.             $urlRetourList $urlList $urlList '?' $string_params null;
  4535.             if ($from == "ouvrir-capital") {
  4536.                 $parametres['from_list'] = "acquereur_investisseur";
  4537.             }
  4538.             $previousAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"entreprise"$page$index 1);
  4539.             $nextAnnonce $this->am->getIndexNAnnonceAcquisitionList($parametres"entreprise"$page$index 1);
  4540.             $fromAlaUne $request->query->get('fromAlaUne');
  4541.             $arrayVarsTrans = [];
  4542.             $arrayVarsTrans['titre_annonce'] = $annonce['titre_annonce'];
  4543.             $arrayVarsTrans['nom_localisation'] = $this->donneNomLocalisationPourTitle($annonce);
  4544.             $metaTitle 'Informations sur l\'acquéreur d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$ ';
  4545.             $metaDescription 'Consultez les informations sur l\'acquéreur d\'entreprise, %$titre_annonce%$ - %$nom_localisation%$';
  4546.             $metaTag $this->metaTag
  4547.                     ->setTitle($translationExtension->translate($metaTitle$lang"""M"""$arrayVarsTrans))
  4548.                     ->setDescription($translationExtension->translate($metaDescription$lang"""M"""$arrayVarsTrans))
  4549.                     ->setCanonical($canonical)
  4550.                     ->setPrev($prev)
  4551.                     ->setNext($next);
  4552.             return $this->render('vendre_entreprise/informations_acquereur.html.twig', [
  4553.                         'metaTag' => $metaTag,
  4554.                         'annonce' => $annonce,
  4555.                         'secteurActivite' => $secteurActivite,
  4556.                         'type_acquisition' => $type_acquisition,
  4557.                         'terme_pour_la_date' => $terme_pour_la_date,
  4558.                         'current_year' => $current_year,
  4559.                         'colorClass' => $colorClass,
  4560.                         'colorImportant' => $colorImportant,
  4561.                         'ongletClass' => $ongletClass,
  4562.                         'titreClass' => $titreClass,
  4563.                         'bgColor' => $bgColor,
  4564.                         'from' => $from,
  4565.                         'urlList' => $urlList,
  4566.                         'urlRetourList' => $urlRetourList,
  4567.                         'string_params' => $string_params,
  4568.                         'previousAnnonce' => $previousAnnonce,
  4569.                         'nextAnnonce' => $nextAnnonce,
  4570.                         'index' => $index,
  4571.                         'indexPrevious' => $index 1,
  4572.                         'indexNext' => $index 1,
  4573.                         'fromAlaUne' => $fromAlaUne,
  4574.                         'fromOnglet' => $fromOnglet,
  4575.                         'btnContactClass' => $btnContactClass
  4576.             ]);
  4577.         } else {
  4578.             return $this->redirectToRoute('index', ['codePays' => substr($codePays12)]);
  4579.         }
  4580.     }
  4581.     public function imprimerAnnonceAcheteur($idAnnonce$codePays$langTranslationExtension $translationExtensionCommandesRepository $crTelephoneInternational $tiCommandesManagers $cm) {
  4582.         $user $this->getUser();
  4583.         $annonce $this->am->getAnnonceAcheteurById($idAnnoncenullnullfalse);
  4584.         $coordonnees = [];
  4585.         $annee_passee false// Variable pour savoir si 1 an est passé depuis la commande, si oui, on n'affiche pas les coordonnées complètes (RGPD)
  4586.         if ($annonce == null) {
  4587.             throw $this->createNotFoundException('Annonce introuvable');
  4588.         }
  4589.         // Si l'utilisateur a déjà commandé cette annonce
  4590.         if ($user && $cr->hasAnnonceCommande($user->_get('login_utilisateur'), $idAnnonce"acheteur")) {
  4591.             $coordonnees['nom_contact'] = $annonce['nom_contact'];
  4592.             $coordonnees['email'] = $annonce['email'];
  4593.             $coordonnees['telephone'] = $annonce['telephone'] ? $ti->getInternationalPhone($annonce['telephone'], $annonce['indicatif_telephone'])['affichage'] : null;
  4594.             $coordonnees['commentaires'] = $annonce['commentaires'];
  4595.             $commande $cm->getArrayCommandeByIdElement($idAnnonce"acheteur");
  4596.             if ($commande) {
  4597.                 $annee_passee $commande['annee_passee'];
  4598.             }
  4599.         } elseif ('publique' != $annonce['mode_annonce']) {
  4600.             throw $this->createNotFoundException('Annonce introuvable');
  4601.         }
  4602.         if ($annonce['date_parution'] == $annonce['date_parution_initiale']) {
  4603.             $terme_pour_la_date "poste le ";
  4604.         } else {
  4605.             $terme_pour_la_date "mise a jour le ";
  4606.         }
  4607.         if ($annonce['type_raprochement'] == "partenaire") {
  4608.             $tab_detail_partenariat $this->am->get_tab_info_partenariat($idAnnonce);
  4609.             $type_partenariat $tab_detail_partenariat['type_partenariat'];
  4610.             $type_partenaire $tab_detail_partenariat['type_partenaire'];
  4611.             $stade_dev_deposant $tab_detail_partenariat['stade_dev_deposant'];
  4612.             $partenaire_recherche "";
  4613.             $nbColaborateur "";
  4614.             $ca "";
  4615.             $ca_min number_format((int) $annonce["ca_min"], 0','' ');
  4616.             $ca_max number_format((int) $annonce["ca_max"], 0','' ');
  4617.             $nb_personnes_max number_format((int) $annonce["nb_personnes_max"], 0','' ');
  4618.             $nb_personnes_min number_format((int) $annonce["nb_personnes_min"], 0','' ');
  4619.             if ($type_partenaire == 'personne_physique') {
  4620.                 $partenaire_recherche "une personne physique";
  4621.             } elseif ($type_partenaire == 'personne_morale') {
  4622.                 $partenaire_recherche "une societe";
  4623.                 if ($annonce["nb_personnes_min"] != "" && $annonce["nb_personnes_max"] != "") {
  4624.                     $nbColaborateur $annonce["nb_personnes_min"] . ' < nb < ' $annonce["nb_personnes_max"];
  4625.                 }
  4626.                 if ($nb_personnes_min != "" && $nb_personnes_max != "") {
  4627.                     if ($annonce["nb_personnes_max"] > 1000) {
  4628.                         $nbColaborateur ' nb > ' $nb_personnes_min;
  4629.                     }
  4630.                 } else {
  4631.                     $nbColaborateur $nb_personnes_min ' < nb < ' $nb_personnes_max;
  4632.                 }
  4633.                 if ($nb_personnes_min == "" && $nb_personnes_max != "") {
  4634.                     $nbColaborateur ' nb < ' $nb_personnes_max;
  4635.                 }
  4636.                 if ($nb_personnes_min != "" && $nb_personnes_max == "") {
  4637.                     $nbColaborateur ' nb > ' $nb_personnes_min;
  4638.                 }
  4639.                 if ($nb_personnes_min == "" && $nb_personnes_max == "") {
  4640.                     $nbColaborateur ' non renseigne';
  4641.                 }
  4642.                 if ($ca_min != "" && $annonce["ca_max"] != "") {
  4643.                     if ($ca_max 100000) {
  4644.                         $ca 'CA > ' $ca_min 'k€';
  4645.                     } else {
  4646.                         $ca $ca_min ' k€ < CA < ' $ca_max ' k€';
  4647.                     }
  4648.                 }
  4649.                 if ($ca_min == "" && $this->details ["ca_max"] != "") {
  4650.                     $ca ' CA < ' $ca_max ' k€';
  4651.                 }
  4652.                 if ($ca_min != "" && $ca_max == "") {
  4653.                     $ca ' CA > ' $ca_min ' k€';
  4654.                 }
  4655.                 if ($ca_min == "" && $ca_max == "") {
  4656.                     $ca ' ' $translationExtension->translate("non renseigne"$lang'''m''');
  4657.                 }
  4658.                 $localisation_souhaitee $annonce["nom_localisation"];
  4659.                 if (empty($localisation_souhaitee)) {
  4660.                     $localisation_souhaitee $translationExtension->translate("non renseigne"$lang'''m''');
  4661.                 }
  4662.             } else {
  4663.                 $partenaire_recherche "non renseigne";
  4664.             }
  4665.             if ($stade_dev_deposant == 'projet_creation') {
  4666.                 $stade_dev_deposant_claire "un projet a l'etude de creation d'entreprise";
  4667.             } elseif ($stade_dev_deposant == 'societe_creation') {
  4668.                 $stade_dev_deposant_claire "une societe actuellement en cours de creation";
  4669.             } elseif ($stade_dev_deposant == 'premier_exercice') {
  4670.                 $stade_dev_deposant_claire "une societe dans son premier exercice";
  4671.             } elseif ($stade_dev_deposant == 'jeune_societe') {
  4672.                 $stade_dev_deposant_claire "une jeune societe (de 1 a 3 ans d'existence)";
  4673.             } elseif ($stade_dev_deposant == 'societe_etablie') {
  4674.                 $stade_dev_deposant_claire "une societe etablie (de 3 a 10 ans d'existence)";
  4675.             } elseif ($stade_dev_deposant == 'societe_mature') {
  4676.                 $stade_dev_deposant_claire "une societe mature (plus de 10 ans d'existence)";
  4677.             } else {
  4678.                 $stade_dev_deposant_claire "";
  4679.             }
  4680.             $initiateur_partenariat "";
  4681.             $titre_info "";
  4682.             if ($annonce['type_acquereur'] == "personne") {
  4683.                 if (!empty($stade_dev_deposant)) {
  4684.                     $initiateur_partenariat "une personne physique qui represente " lcfirst($stade_dev_deposant);
  4685.                 } else {
  4686.                     $initiateur_partenariat "non renseigne";
  4687.                 }
  4688.                 $titre_info "informations sur le porteur de projet";
  4689.             } elseif ($annonce['type_acquereur'] == "societe") {
  4690.                 if (!empty($stade_dev_deposant)) {
  4691.                     $initiateur_partenariat ucfirst($stade_dev_deposant);
  4692.                 } else {
  4693.                     $initiateur_partenariat "non renseigne";
  4694.                 }
  4695.                 $titre_info "informations sur la societe qui recherche";
  4696.             } else {
  4697.                 $initiateur_partenariat "non renseigne";
  4698.                 $titre_info "informations sur la societe qui recherche";
  4699.             }
  4700.             $tab_infos = [];
  4701.             $profil $this->test_si_affichage_acquereur_ou_repreneur($annonce['type_acquereur'], $annonce['profil_deposant']);
  4702.             if ($profil != "repreneur") {
  4703.                 $date_creation_societe $annonce["date_creation_societe"];
  4704.                 if ($annonce["date_creation_societe"] == "") {
  4705.                     $date_creation_societe "non renseignee";
  4706.                 }
  4707.                 $nb_personnes_societe $annonce["nb_personnes_societe"];
  4708.                 if ($annonce["nb_personnes_societe"] == "") {
  4709.                     $nb_personnes_societe "non renseigne";
  4710.                 }
  4711.                 $ca_societe = (int) $annonce["ca_societe"] . ' k€';
  4712.                 if ($annonce["ca_societe"] == "") {
  4713.                     $ca_societe "non renseigne";
  4714.                 }
  4715.                 $res_net_societe = (int) $annonce["res_net_societe"] . ' k€';
  4716.                 if ($annonce["res_net_societe"] == "") {
  4717.                     $res_net_societe "non renseigne";
  4718.                 }
  4719.                 $description_activite_acheteur $annonce["description_activite_societe"];
  4720.                 if ($annonce["description_activite_societe"] == "") {
  4721.                     $description_activite_acheteur "non renseignee";
  4722.                 }
  4723.                 if ($annonce["date_creation_societe"] == "") {
  4724.                     $anciennete_de_la_societe "non renseignee";
  4725.                 } else {
  4726.                     $annee_actuelle date('Y');
  4727.                     $diff $annee_actuelle $annonce["date_creation_societe"];
  4728.                     if ($diff 5) {
  4729.                         $anciennete_de_la_societe "moins de 5 ans";
  4730.                     }
  4731.                     if ($diff >= && $diff <= 10) {
  4732.                         $anciennete_de_la_societe "entre 5 et 10 ans";
  4733.                     }
  4734.                     if ($diff 10) {
  4735.                         $anciennete_de_la_societe "plus de 10 ans";
  4736.                     }
  4737.                 }
  4738.                 $tab_infos['date_creation_societe'] = $date_creation_societe;
  4739.                 $tab_infos['nb_personnes_societe'] = $nb_personnes_societe;
  4740.                 $tab_infos['ca_societe'] = $ca_societe;
  4741.                 $tab_infos['res_net_societe'] = $res_net_societe;
  4742.                 $tab_infos['description_activite_acheteur'] = $description_activite_acheteur;
  4743.                 $tab_infos['anciennete_de_la_societe'] = $anciennete_de_la_societe;
  4744.             } else {
  4745.                 $annee_naissance_repreneur $annonce["annee_naissance_repreneur"];
  4746.                 if ($annonce["annee_naissance_repreneur"] == "") {
  4747.                     $annee_naissance_repreneur 0;
  4748.                 }
  4749.                 $annee_actuelle date('Y');
  4750.                 $age_repreneur $annee_actuelle - (int) $annee_naissance_repreneur;
  4751.                 if ($annonce["annee_naissance_repreneur"] == "") {
  4752.                     $age_repreneur "non renseigne";
  4753.                 }
  4754.                 $apport_perso_repreneur number_format($annonce["apport_perso_repreneur"], 0','' ') . " k€";
  4755.                 if ($annonce["apport_perso_repreneur"] == "") {
  4756.                     $apport_perso_repreneur "non renseigne";
  4757.                 }
  4758.                 $domaine_de_competence $annonce["liste_secteurs_affichage"];
  4759.                 if ($annonce["liste_secteurs_affichage"] == "") {
  4760.                     $domaine_de_competence "non renseigne";
  4761.                 }
  4762.                 $formation_repreneur $annonce["formation_repreneur"];
  4763.                 if ($annonce["formation_repreneur"] == "") {
  4764.                     $formation_repreneur "non renseignee";
  4765.                 }
  4766.                 $parcours_pro_repreneur $annonce["parcours_pro_repreneur"];
  4767.                 if ($annonce["parcours_pro_repreneur"] == "") {
  4768.                     $parcours_pro_repreneur "non renseigne";
  4769.                 }
  4770.                 $tab_infos['age_repreneur'] = $age_repreneur;
  4771.                 $tab_infos['apport_perso_repreneur'] = $apport_perso_repreneur;
  4772.                 $tab_infos['domaine_de_competence'] = $domaine_de_competence;
  4773.                 $tab_infos['formation_repreneur'] = $formation_repreneur;
  4774.                 $tab_infos['parcours_pro_repreneur'] = $parcours_pro_repreneur;
  4775.             }
  4776.             $id_localisation_deposant $tab_detail_partenariat['id_localisation_deposant'];
  4777.             $localisation_deposant $this->lm->getStringNomLocalisationById($id_localisation_deposant);
  4778.             if (empty($localisation_deposant)) {
  4779.                 $localisation_deposant "non renseigne";
  4780.             }
  4781.             $array_parameters = [
  4782.                 'lang' => $lang,
  4783.                 'annonce' => $annonce,
  4784.                 'terme_pour_la_date' => $terme_pour_la_date,
  4785.                 'type_partenariat' => $type_partenariat,
  4786.                 'nbColaborateur' => $nbColaborateur,
  4787.                 'ca' => $ca,
  4788.                 'partenaire_recherche' => $partenaire_recherche,
  4789.                 'type_partenaire' => $type_partenaire,
  4790.                 'localisation_souhaitee' => $localisation_souhaitee,
  4791.                 'stade_dev_deposant_claire' => $stade_dev_deposant_claire,
  4792.                 'titre_info' => $titre_info,
  4793.                 'profil' => $profil,
  4794.                 'tab_infos' => $tab_infos,
  4795.                 'localisation_deposant' => $localisation_deposant,
  4796.                 'coordonnees' => $coordonnees,
  4797.                 'annee_passee' => $annee_passee
  4798.             ];
  4799.         } else {
  4800.             $current_year date('Y');
  4801.             $array_parameters = [
  4802.                 'lang' => $lang,
  4803.                 'annonce' => $annonce,
  4804.                 'terme_pour_la_date' => $terme_pour_la_date,
  4805.                 'current_year' => $current_year,
  4806.                 'coordonnees' => $coordonnees,
  4807.                 'annee_passee' => $annee_passee
  4808.             ];
  4809.         }
  4810.         return $this->pf->generatePDFviewBrowser(
  4811.                         'templates_pdf/vendre_entreprise/annonce_acheteur_details.html.twig',
  4812.                         $array_parameters,
  4813.                         'annonce_a' $annonce['id_annonce_acheteur'],
  4814.                         'annonce_acheteur_title'
  4815.                 );
  4816.     }
  4817.     private function test_si_affichage_acquereur_ou_repreneur($type_acquereur$profil_deposant) {
  4818.         if ($type_acquereur == "personne") {
  4819.             $res "repreneur";
  4820.         } elseif ($type_acquereur == "societe") {
  4821.             $res "acquereur";
  4822.         } else {
  4823.             if ($profil_deposant == "repreneur") {
  4824.                 $res "repreneur";
  4825.             } else {
  4826.                 $res "acquereur";
  4827.             }
  4828.         }
  4829.         return $res;
  4830.     }
  4831.     private function serializeParams($parametres) {
  4832.         $string_params "";
  4833.         foreach ($parametres as $name => $value) {
  4834.             if ($name != "rechercher" && $name != "type" && $name != "array_localisation") {
  4835.                 if ($string_params == "") {
  4836.                     $string_params .= $name "=" $value;
  4837.                 } else {
  4838.                     $string_params .= "&" $name "=" $value;
  4839.                 }
  4840.             }
  4841.         }
  4842.         return $string_params;
  4843.     }
  4844.     private function getAnnoncesNumbers($parametres) {
  4845.         $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  4846.         $repoAnnuaireRepreneur $this->getDoctrine()->getRepository(AnnuaireRepreneurs::class);
  4847.         $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  4848.         $nb_annonces_acheteur $repoAcheteur->donne_nb_annonces_achat($parametres);
  4849.         $nb_recherches_partenariats $repoAcheteur->donne_nb_annonces_achat_recherche_partenaire($parametres);
  4850.         $nb_annonces_acquisition $nb_annonces_acheteur $nb_recherches_partenariats;
  4851.         $nb_cvs $repoAnnuaireRepreneur->donne_nb_cv_repreneurs($parametres);
  4852.         $nb_acquereurs_historiques $repoSociete->donne_nb_acquereurs_historiques($parametres);
  4853.         $nb_participations_fonds $repoSociete->donne_nb_participations_fonds($parametres"acheteur");
  4854.         $nb_acheteurs_potentiels $nb_acquereurs_historiques $nb_participations_fonds;
  4855.         $nb_investisseurs_acquereurs $repoSociete->donne_nb_investisseurs_acquereurs($parametres);
  4856.         $nb_annonces $nb_annonces_acquisition $nb_cvs $nb_acheteurs_potentiels $nb_investisseurs_acquereurs;
  4857.         return [
  4858.             'nb_annonces_acquisition' => $nb_annonces_acquisition,
  4859.             'nb_cvs' => $nb_cvs,
  4860.             'nb_acquereurs_historiques' => $nb_acquereurs_historiques,
  4861.             'nb_participations_fonds' => $nb_participations_fonds,
  4862.             'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
  4863.             'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
  4864.             'nb_annonces' => $nb_annonces
  4865.         ];
  4866.     }
  4867.     private function getNbAnnoncesBySecteursActivite($type "entreprise") {
  4868.         $secteurs $this->sam->getListeSecteursActiviteOrderedByIdPere();
  4869.         $array_result = [];
  4870.         if ($type == "entreprise") {
  4871.             $repoAcheteur $this->getDoctrine()->getRepository(AnnoncesAcheteur::class);
  4872.             $annonces_secteur $repoAcheteur->donne_tableau_annonces_achat_par_secteur_niveau2($type);
  4873.         } elseif ($type == "partenaire") {
  4874.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  4875.             $annonces_secteur $repoSociete->donne_tableau_cibles_potentielles_par_secteur();
  4876.         } elseif ($type == "acquereur_historique") {
  4877.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  4878.             $annonces_secteur $repoSociete->donne_tableau_acquereurs_historiques_par_secteur_niveau2();
  4879.         } elseif ($type == "participation_fonds") {
  4880.             $repoSociete $this->getDoctrine()->getRepository(Societes::class);
  4881.             $annonces_secteur $repoSociete->donne_tableau_participation_fonds_par_secteur_niveau2();
  4882.         }
  4883.         foreach ($secteurs[0] as $id_secteur_pere => $secteur_pere) {
  4884.             $row = [];
  4885.             $nb_annonce_row 0;
  4886.             $row[0] = ['id_secteur_activite' => $id_secteur_pere'nom_secteur_activite' => $secteur_pere['nomSecteurActivite'], 'nom_pour_title' => $secteur_pere['nomPourTitle'], 'nb' => 0];
  4887.             foreach ($secteurs[$id_secteur_pere] as $id_secteur => $secteur) {
  4888.                 $data = ['id_secteur_activite' => $id_secteur'nom_secteur_activite' => $secteur['nomSecteurActivite'], 'nom_pour_title' => $secteur['nomPourTitle']];
  4889.                 $data['nb'] = isset($annonces_secteur[$id_secteur]) ? $annonces_secteur[$id_secteur] : 0;
  4890.                 $row[] = $data;
  4891.                 $nb_annonce_row += $data['nb'];
  4892.             }
  4893.             $row[0]['nb'] = $nb_annonce_row;
  4894.             $array_result[] = $row;
  4895.         }
  4896.         return $array_result;
  4897.     }
  4898.     /**
  4899.      * @param type $codePays
  4900.      * @return type
  4901.      */
  4902.     private function getIdPaysByCodePays($codePays) {
  4903.         return $this->container->get("id_pays_by_code_pays")->getIdPaysByCodePays($codePays);
  4904.     }
  4905.     /**
  4906.      * @param array $parameters
  4907.      * @return bool
  4908.      * Pour determiner si une recherche est uniquement sur une sous localisation (region ou departement)
  4909.      */
  4910.     private function isRechercheByOneSousLocalisationOnly($parameters) {
  4911.         $id_localisation = isset($parameters['id_localisation']) ? $parameters['id_localisation'] : '';
  4912.         $array_loc array_values(array_filter(explode(","$id_localisation)));
  4913.         if (count($array_loc) == 1) {
  4914.             $localisation $array_loc[0];
  4915.             $firstLetter substr($localisation01);
  4916.             if ($firstLetter == "r" || $firstLetter == "d") {
  4917.                 return true;
  4918.             } else {
  4919.                 return false;
  4920.             }
  4921.         } else {
  4922.             return false;
  4923.         }
  4924.     }
  4925.     private function isRechercheByOneLocalisation($parameters) {
  4926.         $id_localisation = isset($parameters['id_localisation']) ? $parameters['id_localisation'] : '';
  4927.         $array_loc array_values(array_filter(explode(","$id_localisation)));
  4928.         return count($array_loc) == 1;
  4929.     }
  4930.     private function isRechercheBySeveralLocalisations($parameters) {
  4931.         $id_localisation = isset($parameters['id_localisation']) ? $parameters['id_localisation'] : '';
  4932.         $array_loc array_values(array_filter(explode(","$id_localisation)));
  4933.         return count($array_loc) > 1;
  4934.     }
  4935.     /**
  4936.      * @param $id_sous_localisation
  4937.      * @return $id_localisation_pays
  4938.      * Determine l'id_localisation du pays en fonction de la sous localisation (region ou departement) en paramètre
  4939.      */
  4940.     private function getPaysIdLocalisationBySousLocalisationId($id_sous_localisation) {
  4941.         // exemple de format : ,r33_01,
  4942.         $id_sous_localisation array_values(array_filter(explode(","$id_sous_localisation)))[0];
  4943.         $id_localisation_pays substr($id_sous_localisation1strpos($id_sous_localisation'_') - 1);
  4944.         return $id_localisation_pays;
  4945.     }
  4946.     private function donneNomLocalisationPourTitle($annonce) {
  4947.         $nom_localisation "";
  4948.         if (isset($annonce['nom_localisation']) && $annonce['nom_localisation'] != "Confidentiel") {
  4949.             $nom_localisation .= $annonce['nom_localisation'];
  4950.         }
  4951.         return $nom_localisation;
  4952.     }
  4953.     /**
  4954.      *
  4955.      * @param type $codePays
  4956.      * @return type
  4957.      */
  4958.     private function getVersionByCodePays($codePays) {
  4959.         return Utils::codePaysWithoutDash($codePays);
  4960.     }
  4961. }