<?php /* * Le formulaire est soumis en POST * puis on place le résultat dans la session et on fait un header pour rediriger * le navigateur du client sur la même url */ if (isset($_REQUEST['formR'])){ $_SESSION['formR'] = $_REQUEST['formR']; unset($_REQUEST['formR']); header('Location: ./?page=recherche&vue=list'); exit; } /* * Si la session est rempli alors on affecte les valeurs * pour les champs du formulaire */ if (isset($_SESSION['formR'])) { $formR = $_SESSION['formR']; } $typeRech = $formR['type']; if (isset($formR['siret']) == true) { $siret = trim(strtr($formR['siret'], array(' ' => '', '.' => '', '-' => '', '/' => ''))); } $pays = strtoupper(substr($siret,0,2)); $typeId = ''; require_once 'i18n/cleanchar.php'; //Enregistrement en session des dix dernières recherches if ($vueRecherche != 'list_pre' ){ require_once 'recherche/session.php'; recherche_save($formR); recherche_saveinfo( array('page' => $page) ); } ?> <div id="center"> <table border="0"> <tr> <td width="10"> </td> <td valign="top" width="570"> <?php //Traitement des éléments de recherche if ($siret!='') { $len = strlen($siret); //Numéro WALDEC if (strtoupper(substr($siret,0,1))=='W') { $typeId='W'; $autreId=$siret; $siret=''; } //Code ISIN elseif ($len==12){ $typeId = 'I'; $autreId = $siret; $siret = ''; $firephp->info('Code ISIN'); } //TVA Intracommunautaire elseif ( $pays=='AT' || $pays=='BE' || $pays=='BG' || $pays=='CY' || $pays=='CZ' || $pays=='DE' || $pays=='DK' || $pays=='EE' || $pays=='EL' || $pays=='ES' || $pays=='FI' || $pays=='GB' || $pays=='HU' || $pays=='IE' || $pays=='IT' || $pays=='LT' || $pays=='LU' || $pays=='LV' || $pays=='MT' || $pays=='NL' || $pays=='PL' || $pays=='PT' || $pays=='RO' || $pays=='SE' || $pays=='SI' || $pays=='SK') { echo "La recherche par numéro de TVA n'est pas encore possible sur ce pays !"; $tvaIntra = true; } //Pour la france elseif ($pays=='FR') { if ($len==13) $siret = substr($siret,4,9); } //Numéro RC elseif (preg_match('/A|B|C|D/i', $siret)) { $typeId='R'; $autreId=$siret; $siret=''; } //Siren normal on enleve tout ce qui n'est pas un chiffre else { $siret = trim(preg_replace('/[^0-9]/', '', $siret)); } } if ($typeRech == 'ent') { // Type de recherche = entreprises $telFax = trim(preg_replace('/[^0-9]/', '', $formR['telFax'])); $naf = trim(preg_replace('/[^0-9A-Z]/i', '', $formR['naf'])); //if ($telFax<>'') $typeId='T'; // Traitement des données formulaire $raisonSociale = preg_replace('/[^0-9A-Z]/', ' ', strtoupper(cleanstring($formR['raisonSociale']))); $numVoie = preg_replace('/[^0-9]/', '', $formR['numVoie']); if ($numVoie > 9999) { die('Numéro de voie incorrecte !'); } $libVoie = preg_replace('/[^0-9A-Z]/', ' ', strtoupper(cleanstring($formR['voie']))); $cpVille = preg_replace('/ +/',' ', preg_replace('/[^0-9A-Z]/', ' ', strtoupper(cleanstring($formR['cpVille'])))); if (preg_match("/^([0-9]{2,5})([\D]*)/i", $cpVille, $matches)) { $cp = trim($matches[1]); $ville = trim($matches[2]); } else { $cp = ''; $ville = trim($cpVille); } } else if ($typeRech == 'dir') { // Type de recherche = dirigeants $dirNom = preg_replace('/[^0-9A-Z]/', ' ', strtoupper(trimAccent($formR['dirNom'])) ); $dirPrenom = preg_replace('/[^0-9A-Z]/', ' ', strtoupper(trimAccent($formR['dirPrenom'])) ); $dirDateNaissJJ = preg_replace('/[^0-9]/', '', $formR['dirDateNaissJJ'])*1; if ($dirDateNaissJJ<0 || $dirDateNaissJJ>31) die('Jour de naissance incorrect !'); $dirDateNaissMM = preg_replace('/[^0-9]/', '', $formR['dirDateNaissMM'])*1; if ($dirDateNaissMM<0 || $dirDateNaissMM>12) die('Mois de naissance incorrect !'); $dirDateNaissAAAA = preg_replace('/[^0-9]/', '', $formR['dirDateNaissAAAA'])*1; $year = date('Y')-18; if ($dirDateNaissAAAA<0 || $dirDateNaissAAAA>$year) die('Année de naissance incorrecte !'); $dirDateNaiss = $dirDateNaissJJ.'/'.$dirDateNaissMM.'/'.$dirDateNaissAAAA; $dirCpVille = preg_replace('/ +/',' ', preg_replace('/[^0-9A-Z]/', ' ', strtoupper($formR['dirCpVille'])) ); if (preg_match('/^([0-9]{2,5})([\D]+)/i', $dirCpVille, $matches)) { $dirCp = trim($matches[1]); $dirVille = trim($matches[2]); } else { $dirVille = trim($dirCpVille); } } elseif ($typeRech == 'act') { $actNomRs = trim($formR['actNomRs']); $pays = $formR['pays']; $pctMin = preg_replace('/[^0-9]/', '', trim($formR['pctMin'])); $pctMax = preg_replace('/[^0-9]/', '', trim($formR['pctMax'])); $cpVille = preg_replace('/ +/',' ', preg_replace('/[^0-9A-Z]/', ' ',strtoupper(cleanstring($formR['cpVille'])))); } // Index à envoyer au webservice pour obtenir les résultats suivant if (isset($_REQUEST['p'])) { $position = $_REQUEST['p']; } else { $position = 0; } // --------------------------------------------------------------------------- // // Giant // --------------------------------------------------------------------------- // if ($typeRech == 'ent' && !empty($formR['pays'])) { include_once('giant/Search.php'); exit; } //Type de recherche = entreprise if ($typeRech=='ent' && $siret<>'') { echo "<!--_typeRech=ent, siren=$siret-->\n"; try { $O = $client->searchSiren($siret, $position, $tabInfo['nbReponses'], 200, $cp); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); } } elseif ($typeRech=='ent' && $telFax<>'') { echo "<!--_typeRech=ent, telFax=$telFax-->\n"; try { $O = $client->searchTelFax($telFax, $position, $tabInfo['nbReponses'], 200); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); } } elseif ($typeRech=='ent' && ($typeId=='R' || $typeId=='W' || $typeId=='I') ) { $firephp->log( 'searchAutreId('.$typeId.', '.$autreId.', '.$position.', '.$tabInfo['nbReponses'].', 200, '.$cp.')', 'Requete'); echo "<!--_typeRech=ent, Autre Id $typeId=$autreId-->\n"; try { $O = $client->searchAutreId($typeId, $autreId, $position, $tabInfo['nbReponses'], 200, $cp); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); } } elseif ($typeRech=='ent' && $siret=='') { echo "<!--_typeRech=ent, $raisonSociale, ". "$numVoie $libVoie, $cp, $ville-->\n"; try { $O = $client->searchNomAdr( $raisonSociale, $numVoie.' '.$libVoie, $cp, $ville, false, false, $position, $tabInfo['nbReponses'], 200, false, false, $naf ); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); } } elseif ($typeRech=='dir') { echo "<!--_typeRech=dir, $dirNom, $dirPrenom, -->\n"; try { $O = $client->searchDir( $dirNom, $dirPrenom, $dirDateNaiss, $dirVille, $position, $tabInfo['nbReponses'], 200, false ); } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); } } elseif ($typeRech=='act') { try { $O = $client->searchAct( $actNomRs, $cpVille, $siret, $pays, $pctMin, $pctMax, $tabInfo['nbReponses'], 200, false ); echo '<!-- '.print_r($formR,1).' -->'; echo '<!-- '.print_r($O,1).' -->'; } catch (SoapFault $fault) { require_once 'soaperror.php'; processSoapFault($client,$fault,$tabInfo); } } $params = ''; foreach($formR as $key => $value){ $params.= '&formR['.$key.']='.urlencode($value); } if($typeRech == 'ent'){ $strCriteres = '<a href="./?page=recherche&vue=ent'.$params.'">'.trim(@implode(' ', $O['results']['criteres'])).'</a>'; } elseif($typeRech == 'dir') { $strCriteres = '<a href="./?page=recherche&vue=dir'.$params.'">'.trim(@implode(' ', $O['results']['criteres'])).'</a>'; } elseif($typeRech == 'act') { $strCriteres = '<a href="./?page=recherche&vue=act'.$params.'">'.trim(@implode(' ', $O['results']['criteres'])).'</a>'; } if ( $O['results']['nbReponses']==0) { if( !isset($tvaIntra) ) echo '<p class="StyleInfoLib">Pas de résultat affiché avec le(s) critère(s) " '. $strCriteres .'" ('.$O['results']['nbReponsesTotal'].' sans les filtres).</p>'; } else { $etabs = $O['results']['reponses']; //Enregistrement de la première raison sociale trouvé si la recherche n'a été faite que sur un siren if ($typeRech=='ent' && $siret!='' && $raisonSociale==''){ recherche_saveinfo( array('raisonSociale' => $etabs[0]['Nom']) ); } ?> <p class="StyleInfoLib"> <?php if ($O['results']['nbReponses']<$O['results']['nbReponsesTotal']) { $totPage=ceil($O['results']['nbReponsesTotal']/$tabInfo['nbReponses']); $curPage=ceil($position/$tabInfo['nbReponses'])+1; echo $O['results']['nbReponsesTotal'] . ' réponses avec les critères "' . $strCriteres . '". ' . $O['results']['nbReponses']. ' résultats affichés. Page ' . $curPage.'/'.$totPage.'.'; } else { $totPage=$curPage=1; echo $O['results']['nbReponsesTotal'] . ' réponses avec les critères "' . $strCriteres .'".'; } ?> </p> <?php if ( isset($O['results']['info']) && !empty($O['results']['info']) ){ ?> <div style="margin:5px; padding: 0pt 0.7em;" class="ui-state-highlight ui-corner-all"> <p><span style="float: left; margin-right: 0.3em;" class="ui-icon ui-icon-info"></span> <?=$O['results']['info']?></p> </div> <?php } ?> <ol> <?php foreach ($etabs as $i => $etab) { if ($etab['Siege']==1) $strEtab='Établissement siège '; else $strEtab='Établissement secondaire '; if ($etab['Actif']==1) $strEtab.='actif'; else $strEtab.='inactif'; if($etab['Nic']*1==0 || $etab['Nic']*1>=99990) $strEtab.=' provisoire'; //Lien vers fiche identité if ($etab['Siege']!=1 || ($etab['Siege']==1 && $etab['Actif']!=1)) $lien='<a title="Voir la fiche d\'identité du siège de cette entreprise" href="/?page=identite&siret='.$etab['Siren'].'">(Accès siège)</a>'; else $lien=''; ?> <li style="list-style-type:decimal;" class="StyleInfoData" type="1" value="<?=((($curPage-1)*$tabInfo['nbReponses'])+$i+1);?>"> <?php $href = '/?page=identite&siret='.$etab['Siret'].'&idEntreprise='.$etab['id']; ?> <b><a title="Voir la fiche d'identité de cet établissement" href="<?=$href?>"><?=$etab['Nom']?></a></b><br/> <? if ($etab['Nom2']<>'' || $etab['Enseigne']<>'' || $etab['Sigle']<>'') { echo '<i>'; if ($etab['Nom2']<>'') echo $etab['Nom2'].'<br/>'; if ($etab['Enseigne']<>'') echo 'Enseigne : '.$etab['Enseigne'].' '; if ($etab['Sigle']<>'') echo 'Sigle : '.$etab['Sigle']; echo '</i><br/>'; } ?> <b>RCS <?=substr($etab['Siren'],0,3).' '.substr($etab['Siren'],3,3).' '.substr($etab['Siren'],6,3).' '.$etab['Nic'];?><br/> <?=$strEtab;?></b> <?=$lien;?><br/> <?=$etab['Adresse'];?><br/> <?php if (isset($etab['Adresse2']) && $etab['Adresse2'] != '') { echo $etab['Adresse2'].'<br/>'; } ?> <b><?=$etab['CP'].' '.$etab['Ville']?></b><br/> <?php /** Si présent, on affiche la forme Juridique **/ if (trim($etab['FJ'])!='') { ?> <i>Forme : <?=strWsToHtml($etab['FJLib']). ' ('.$etab['FJ'];?>)</i><br/> <? } /** Si présent, on affiche l'activité NAF **/ if (trim($etab['NafEnt'])!='') { ?> <i>Activité : <?=strWsToHtml($etab['NafEntLib']). ' ('.$etab['NafEnt'];?>)</i><br/> <? } if ($typeRech=='dir') { echo '<u>Dirigeant recherché :</u> '; if ($etab['DirRs']<>'') { echo '<b>'. strWsToHtml($etab['DirRs']) . '</b>, représenté par '; } echo strWsToHtml($etab['DirNom']) .' '. strWsToHtml($etab['DirPrenom']); if ($etab['DirNomUsage']<>'' && $etab['DirNomUsage']<>$etab['DirNom']) echo ' ('. strWsToHtml($etab['DirNomUsage']) . ')'; echo '<i>, '.strWsToHtml($etab['DirFonction']).'</i><br/>'; } if ($typeRech == 'act'){ } //Affichage spécial if( $_SESSION['tabInfo']['idClient']==34 ) { ?> Liens : <i><a title="Consultez les comptes annuels" href="./?page=greffes&vue=bilans&siret=<?=$etab['Siret']?>">Comptes annuels</a></i> - <i><a title="Consultez les actes et status" href="./?page=greffes&vue=actes&siret=<?=$etab['Siret']?>">Actes et status</a></i> <br/> <?php } ?> <?php $listProfile = defineProfil(); $idClient = $_SESSION['tabInfo']['idClient']; if(array_key_exists($idClient, $listProfile)) { $liensProfile = $listProfile[$idClient]; if(is_array($liensProfile) && count($liensProfile)>0) { $i=0; foreach($liensProfile as $vue => $lien) { if(hasProfil($vue)) { if($i==0) { echo 'Liens :'; } ?> <i> <a title="<?=$lien['titre']?>" href="./?page=<?=$vue?>&siret=<?=$etab['Siret']?>&idEntreprise=<?=$etab['idEntreprise']?>&profil=1"> <?=$lien['titre']?> </a> </i> <?php } if(count($liensProfile)<$i) { echo '-'; } $i++; if(count($liensProfile)==$i) { echo '<br/>'; } } } } ?> <br/> </li> <? } //fin parcours etabs ?> <table> <tr> <?php if ($curPage>1) { $prev_index=$position-$O['results']['nbReponses']; if ($prev_index<$O['results']['nbReponses']) $prev_index=0; ?> <td width="40%" align="right"> <a href="./?page=recherche&vue=list&p=<?=$prev_index?>" title="Page précédente..."> <img src="./img/boutton_precedent_off.gif" onmouseover="this.src='./img/boutton_precedent_on.gif'" onmouseout="this.src='./img/boutton_precedent_off.gif'"/> </a> </td> <? } else { ?> <td width="40%"> </td> <?php } if ($curPage!=$totPage) { ?> <td width="20%">Page <?=$curPage?>/<?=$totPage?></td> <?php } if ($curPage<$totPage) { ?> <td width="40%" align="left"> <a href="./?page=recherche&vue=list&p=<?=$position+$O['results']['nbReponses']?>" title="Page suivante..."> <img src="./img/boutton_suivant_off.gif" onmouseover="this.src='./img/boutton_suivant_on.gif'" onmouseout="this.src='./img/boutton_suivant_off.gif'"/> </a> </td> <? } else { ?> <td width="40%"> </td> <?php } ?> </table> </ol> <?php } //Fin test nombre de résultat ?> <br/> <?php if ($typeRech=='dir') { $search = ''; if(isset($_SESSION['formR']['dirNom'])){ $search.= $_SESSION['formR']['dirNom']; } if(isset($_SESSION['formR']['dirPrenom']) && count($search)>0 ){ $search.= ' '.$_SESSION['formR']['dirPrenom']; } if(isset($_SESSION['formR']['dirPrenom']) && count($search)==0 ){ $search.= $_SESSION['formR']['dirPrenom']; } ?> <p class="StyleInfoLib">Effectuer une recherche entreprise avec les paramètres "<a href="./?page=recherche&vue=list&formR[type]=ent&formR[raisonSociale]=<?=$search?>"><?=$search?></a>"</p> <?php } if ( hasPerm('investig') ) { ?> <p class="StyleInfoLib"> Si aucun résultat ne correspond à votre recherche. <a href="./?page=recherche&action=rechercher&vue=enq">Cliquez-ici.</a><br/> </p> <?php } ?> </td> </tr> </table> </div>