extranet/www/pages_saisie/searchMandataires.php
2010-05-28 08:44:46 +00:00

72 lines
1.9 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 && strlen($filtre) != 2 ){
$filtre = '';
}
// 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']
));
//raisonSociale adresse codePostal Ville Siege actif deb nbRep maxRep Pertinence AvecSIREN naf
try {
$O = $client->searchMandataires($q,
array('V', 'N', 'H', 'A', 'M'), $filtre); //types de mandataires
$tableResults = array();
$tableResults = $O['result'];
}catch (SoapFault $fault){
echo 'Erreur durant la recherche';
exit;
}
$output = array();
$output[] = array(
'label' => "A l'adresse du bien vendu",
'id' => 'adresse'
);
/*
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){
$output[] = array(
'label' => $item['lib'],
'id' => $item['code']
);
}
}
echo json_encode($output);