extranet/www/pages_saisie/searchMandataires.php
2009-04-28 15:53:21 +00:00

73 lines
2.0 KiB
PHP

<?php
$q = (!$_GET["q"])? "" : strtolower($_GET["q"]);
if (!$q) return;
$firephp->log($q, 'q');
session_start();
$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')); //array pour trier les types de mandataires
$tableResults = array();
$tableResults = $O['result'];
$firephp->log($tableResults, 'Result');
$firephp->log(count($tableResults), 'count');
$return = "A l'adresse du bien vendu";
$return.= $separator;
$return.= "adresse";
$return.= "\n";
print $return;
//@TODO : Trier les résultats en fonction du code postal (5 chiffres) avec une expression régulière
/*
REGEX Code Postal : ^(F-)?((2[A|B])|[0-9]{2})[0-9]{3}$
preg_match($pattern, substr($subject,3), $matches,
*/
//Recherche des codes postaux
if( count($tableResults)>0 ){
$i=0;
foreach ($tableResults as $code=>$lib){
$tabResults[$i]['code'] = $code;
$tabResults[$i]['lib'] = $lib;
preg_match('/(F-)?((2[A|B])|[0-9]{2})[0-9]{3}/', $lib, $matches);
$tabResults[$i]['cp'] = $matches[0];
$i++;
}
$firephp->log($tabResults,'tabResults');
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){
$return = $item['lib'];
$return.= $separator;
$return.= $item['code'];
$return.= "\n";
//Send String|Id for the autocompleter
print $return;
}
}
}catch (SoapFault $fault){
print 'Erreur durant la recherche';
}
?>