extranet/www/pages_saisie/searchMandataires.php
2010-03-16 16:06:50 +00:00

82 lines
2.1 KiB
PHP

<?php
header('Content-Type: text/html; charset='.CHARSET);
$q = (!$_GET["q"])? "" : strtolower($_GET["q"]);
if (!$q) return;
list($q, $filtre) = explode(',', $q);
$q = trim($q);
$filtre = str_replace(' ', '', $filtre);
if( strlen($filtre) == 5 ){
$filtreCp = $filtre;
}elseif( strlen($filtre) == 2 ){
$filtreDept = $filtre;
}
$separator = "|";
// Utilisation du WS
$client = new SoapClient(null, array(
'trace' => 1,
'soap_version' => SOAP_1_1,
'location' => WEBSERVICE_URL,
'uri' => WEBSERVICE_URI,
'login' => $_SESSION['tabInfo']['login'],
'password' => $_SESSION['tabInfo']['password'],
// 'encoding' => 'UTF-8'
));
//raisonSociale adresse codePostal Ville Siege actif deb nbRep maxRep Pertinence AvecSIREN naf
try {
$O = $client->searchMandataires($q,
array('V', 'N', 'H', 'A', 'M')); //types de mandataires
$tableResults = array();
$tableResults = $O['result'];
}catch (SoapFault $fault){
echo 'Erreur durant la recherche';
exit;
}
$return = "A l'adresse du bien vendu";
$return.= $separator;
$return.= "adresse";
$return.= "\n";
/*
REGEX Code Postal : ^(F-)?((2[A|B])|[0-9]{2})[0-9]{3}$
(?<!/BP /i) Ne pas avoir la présence de BP devant les 5 chiffres
*/
//Recherche des codes postaux
if( count($tableResults)>0 ){
$i=0;
foreach ($tableResults as $code=>$lib){
$tabResults[$i]['code'] = $code;
$tabResults[$i]['lib'] = htmlspecialchars_decode(
html_entity_decode($lib), ENT_QUOTES);
preg_match('/(?<!bp )((2[A|B])|[0-9]{2})[0-9]{3}( )/i', $lib, $matches);
$tabResults[$i]['cp'] = $matches[0];
$i++;
}
foreach ($tabResults as $key => $row){
$code[$key] = $row['code'];
$lib[$key] = $row['lib'];
$cp[$key] = $row['cp'];
}
//Classement du tableau
array_multisort($cp, SORT_NUMERIC, $tabResults);
$firephp->log($tabResults,'tabResults');
//Affichage des valeurs
foreach ($tabResults as $item){
if ( !isset($filtreCp) && !isset($filtreDept) ||
$filtreCp == $item['cp'] ||
$filtreDept == substr($item['cp'],0,2) ){
$return.= $item['lib'];
$return.= $separator;
$return.= $item['code'];
$return.= "\n";
//Send String|Id for the autocompleter
}
}
}
echo $return;
?>