468 lines
14 KiB
PHP
468 lines
14 KiB
PHP
<?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'];
|
|
}
|
|
|
|
if ( $formR['type']=='ent' || $formR['type']=='dir' ){
|
|
$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']))
|
|
);
|
|
FB::log($dirCpVille, 'dirCpVille');
|
|
if (preg_match('/^([0-9]{2,5})([\D]+)/i', $dirCpVille, $matches))
|
|
{
|
|
FB::log($matches, 'TEST');
|
|
$dirCp = trim($matches[1]);
|
|
$dirVille = trim($matches[2]);
|
|
}
|
|
else {
|
|
$dirVille = trim($dirCpVille);
|
|
}
|
|
}
|
|
|
|
// Index à envoyer au webservice pour obtenir les résultats suivant
|
|
if (isset($_REQUEST['p'])) {
|
|
$position = $_REQUEST['p'];
|
|
} else {
|
|
$position = 0;
|
|
}
|
|
|
|
// --------------------------------------------------------------------------- //
|
|
// Giant
|
|
// --------------------------------------------------------------------------- //
|
|
if ($typeRech == 'ent' && isset($formR['pays']) && $formR['pays'] > 0) {
|
|
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') {
|
|
FB::info('Recherche dirigeants');
|
|
FB::log($dirVille, 'dirVille');
|
|
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);
|
|
}
|
|
}
|
|
|
|
$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>';
|
|
}
|
|
|
|
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'];
|
|
FB::log($O, '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 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/>';
|
|
}
|
|
//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>
|