extranet/includes/giant/search.php
2011-01-19 09:11:44 +00:00

124 lines
4.1 KiB
PHP

<?php
// -------------------------------------------------------------------------- //
// Recherche Giant
// -------------------------------------------------------------------------- //
$pays = $formR['pays'];
define('NUM_ROWS', 10);
define('MAX_ROWS', 200);
require_once 'giant/config.php';
require_once 'giant/client.php';
$soap_client = getClient($pays, 'search');
$o = new StdClass;
$o->IncludePhoneticMatches = 'false';
$o->IncludeSuggestions = 'false';
if (empty($siret) == false) {
$o->Query = new StdClass;
$o->Query->CompanyId = $siret;
$fonction = 'AdvancedSearch';
} else {
$o->Query = "$raisonSociale $numVoie $libVoie $cp $ville";
if (isset($position) == true) {
$o->StartRow = $position;
} else {
$o->StartRow = 0;
}
$o->NumRows = NUM_ROWS;
$fonction = 'Search';
}
try {
$O = $soap_client->__call($fonction, array($o));
} catch (SoapFault $f) {
giantErreurSoap($soap_client, $f);
}
// -------------------------------------------------------------------------- //
// afficheCompany
// -------------------------------------------------------------------------- //
function afficheCompany(&$c, $deb, $num, $pays)
{
print '<li class="StyleInfoData" type="1" value="'.($deb + $num + 1).'">';
print '<a href="?page=giant_identite&pays='.$pays.'&company='.
$c->CompanyId.'">'.$c->RegisteredName.'</a><br/>';
print '<b>Register number '.$c->CompanyRegisterNumber.'</b><br/>';
if (isset($c->VatNumber) == true) {
print '<b>VAT '.$c->VatNumber.'</b><br/>';
}
print
$c->Address->HouseNumber.' '.
$c->Address->AddressType.' ';
if (isset($c->Address->Street) == true) {
print $c->Address->Street;
}
print '<br/><b>';
if (isset($c->Address->PostCode) == true) {
print $c->Address->PostCode.' ';
}
if (isset($c->Address->City) == true) {
print $c->Address->City;
}
print '</b><br/>';
print '<i>Forme : '.$c->LegalForm.'</i><br/>';
print '<br/>';
}
// -------------------------------------------------------------------------- //
// affichage
// -------------------------------------------------------------------------- //
if (isset($O->Results->Company) == true) {
print '<ol>';
if (is_array($O->Results->Company) == true) {
foreach ($O->Results->Company as $i => $c) {
afficheCompany($c, $O->StartRow, $i, $pays);
}
} else {
afficheCompany($O->Results->Company, 0, 0, $pays);
}
print '</ol>';
print '<table><tr>';
print '<td width="40%" align="right">';
if ($O->StartRow >= NUM_ROWS) {
print '<a href="./?page=recherche&vue=list&p='.
($O->StartRow - NUM_ROWS).
'" title="Page précédente...">';
print '<img src="./img/boutton_precedent_off.gif"'.
' onmouseover="this.src=\'./img/boutton_precedent_on.gif\'"'.
' onmouseout="this.src=\'./img/boutton_precedent_off.gif\'"/>';
print '</a>';
}
print '</td>';
$curPage = $O->StartRow / NUM_ROWS + 1;
$totPage = min(intval($O->NumberOfHits / NUM_ROWS), MAX_ROWS / NUM_ROWS);
print '<td width="20%" align="center">';
if ($totPage > 1) {
print 'Page '.$curPage.'/'.$totPage;
}
print '</td>';
print '<td width="40%">';
if ($O->NumberOfHits - $O->StartRow > NUM_ROWS &&
$O->StartRow + NUM_ROWS < MAX_ROWS) {
print '<a href="./?page=recherche&vue=list&p='.
($O->StartRow + NUM_ROWS).
'" title="Page suivante...">';
print '<img src="./img/boutton_suivant_off.gif"'.
' onmouseover="this.src=\'./img/boutton_suivant_on.gif\'"'.
' onmouseout="this.src=\'./img/boutton_suivant_off.gif\'"/>';
print '</a>';
}
print '</td>';
print '</tr><table>';
} else {
print 'Aucun r&eacute;sultat.';
if (DEBUG_SOAP) {
print '<br/><br/>';
print 'Requete: '.htmlspecialchars($soap_client->__getLastRequest());
print '<br/><br/>';
print 'Reponse: '.htmlspecialchars($soap_client->__getLastResponse());
}
}
?>