extranet/www/pages/international_recherche.php

230 lines
7.1 KiB
PHP
Raw Normal View History

2009-04-07 17:44:17 +00:00
<?php
2009-07-21 15:08:08 +00:00
if (!$_SESSION['connected']) die();
$tabInfo = $_SESSION['tabInfo'];
2009-04-07 17:44:17 +00:00
$vue = isset($_REQUEST['vue']) ? $_REQUEST['vue'] : 'recherche';
require_once 'graydon/graydon_log.php';
require_once 'dbbootstrap.php';
/* Affichage du formulaire de recherche */
2009-04-07 17:44:17 +00:00
if($vue=='recherche'){
?>
<script type="text/javascript">
$(document).ready(function(){
$('#mode').change(function(){
var mode = $('#mode :selected').val();
document.location.href='<?php print EXTRANET_URL; ?>?page=international_recherche&mode='+mode;
2009-07-21 15:08:08 +00:00
});
$('#pays').change(function(){
var pays = $('#pays :selected').val();
2009-07-21 15:08:08 +00:00
$('#method').html('<p><img src="./img/ajax/19-1.gif" /></p>');
$('#method').load('./pages/graydon/methodfield.php', {'paysCode': pays});
2009-07-21 15:08:08 +00:00
});
2009-04-07 17:44:17 +00:00
});
</script>
<div id="international">
<h2 class="StyleRechercheTitre">RECHERCHE INTERNATIONALE</h2>
<form name="recherche" method="post" action="index.php?page=international_recherche">
2009-04-07 17:44:17 +00:00
<input type="hidden" name="vue" value="list">
<div class="fieldgrp">
<label>Mode : </label>
<div class="field">
<select id="mode" name="mode">
<option value="normal" <?php $_REQUEST['mode']=='normal' ? print ' selected' : '' ;?>>Normal</option>
<option value="demo" <?php $_REQUEST['mode']=='demo' ? print ' selected' : '' ;?>>D<>monstration</option>
</select>
</div>
</div>
2009-04-07 17:44:17 +00:00
<div id="subsearch">
2009-07-21 15:08:08 +00:00
<?php
2009-04-07 17:44:17 +00:00
//Si les param<61>tres mode, method sont dans l'url alors on force la m<>thode de recherche
if(isset($_REQUEST['method']))
{
$method = $_REQUEST['method'];
$pays = $_SESSION['graydon']['pays'];
2009-04-07 17:44:17 +00:00
}
require_once 'international_rechercheform.php';
?>
</div>
</form>
2009-04-07 17:44:17 +00:00
</div>
2009-07-21 15:08:08 +00:00
<?php
2009-04-07 17:44:17 +00:00
}elseif($vue=='list'){
2009-07-21 15:08:08 +00:00
//*********** Mode d<>monstration
2009-04-07 17:44:17 +00:00
if($_REQUEST['mode']=='demo'){
$pays = $_REQUEST['frmDemo']['Country'];
//Trouver le code pays pour le mode d<>mos
2009-07-21 15:08:08 +00:00
setDbConn('graydon');
$q = Doctrine_Query::Create()
->select('code')
->from('Country')
->where('graydon_country = ?', $pays);
$result = $q->fetchOne();
$paysCode = $result->code;
2009-07-21 15:08:08 +00:00
$_SESSION['graydon']['mode'] = 'demo';
$_SESSION['graydon']['paysCode'] = $paysCode;
$_SESSION['graydon']['pays'] = $pays;
2009-07-21 15:08:08 +00:00
2009-04-07 17:44:17 +00:00
?>
<div id="internationallist">
<span class="StyleInfoLib">R<EFBFBD>sultat de la recherche de d<EFBFBD>monstration :</span>
2009-04-07 17:44:17 +00:00
<?php
require_once 'i18n/cleanchar.php';
2009-04-07 17:44:17 +00:00
require_once 'graydon/graydonws.php';
// Create the request parameters
$request = new StdClass();
// Initialise the request object
$request->Authentication_Parameters = $authentication;
$request->Country = $pays;
2009-04-07 17:44:17 +00:00
try
2009-07-21 15:08:08 +00:00
{
2009-04-07 17:44:17 +00:00
// Make a request on the web service
$result = $graydon->getDemoCompanies($request);
2009-07-21 15:08:08 +00:00
//Enregistrement de l'action dans les logs
$transactionIdentifier = $result->Service_Log->TransactionIdentifier;
$sessionID = $result->Service_Log->SessionID;
graydonRequeteLog($_SESSION['tabInfo']['login'], $page, 'getDemoCompanies', $transactionIdentifier, $sessionID, $manager);
2009-07-21 15:08:08 +00:00
2009-05-11 09:52:19 +00:00
//Log de la requete dans la bdd
2009-05-13 16:05:50 +00:00
setDbConn('graydon');
2009-05-11 09:52:19 +00:00
$log = new Requetelog();
$log->login = $_SESSION['tabInfo']['login'];
$log->action = 'getDemoCompanies';
$log->request = serialize($request);
$log->transactionIdentifier = $transactionIdentifier;
$log->sessionID = $sessionID;
2009-07-21 15:08:08 +00:00
$log->mode = 'demo';
2009-05-11 09:52:19 +00:00
$log->save();
2009-07-21 15:08:08 +00:00
2009-05-13 16:05:50 +00:00
//Get the list of companies
2009-04-07 17:44:17 +00:00
$demoCompaniesCountry = $result->DemoCompanies->CountryAndCompany;
2009-07-21 15:08:08 +00:00
2009-04-07 17:44:17 +00:00
?>
<br/>
<span class="StyleInfoLib">Pays :</span> <span><?php print $demoCompaniesCountry->Country; ?></span>
2009-04-07 17:44:17 +00:00
<ol>
2009-07-21 15:08:08 +00:00
<?php
2009-04-07 17:44:17 +00:00
$demoCompanies = array();
//Enregitrement de la liste en session
$count = count($demoCompaniesCountry->Companies->Company);
if ($count>1){
$demoCompanies = $demoCompaniesCountry->Companies->Company;
}elseif($count==1){
$demoCompanies[] = $demoCompaniesCountry->Companies->Company;
}
$firephp->log($demoCompanies,'demoCompanies');
2009-07-21 15:08:08 +00:00
2009-04-07 17:44:17 +00:00
$counterCompany = 1;
foreach($demoCompanies as $company){
?>
<li class="StyleInfoData" type="1" value="<?php print $counterCompany++; ?>">
<b><a title="Voir la fiche d'identit&eacute; de cet &eacute;tablissement" href="index.php?page=international_identite&mode=demo&identifier=<?php print $company->CompanyMatchIdentifier;?>">
<?php print cleanutf8($company->Name); ?></a></b><br />
2009-07-21 15:08:08 +00:00
Adresse :
<?php
print cleanutf8($company->RegisteredAddress->EntireAddress);
2009-04-07 17:44:17 +00:00
?><br/><br/>
</li>
2009-07-21 15:08:08 +00:00
<?php
2009-04-07 17:44:17 +00:00
}
?>
</ol>
</div>
2009-07-21 15:08:08 +00:00
<?php
}catch( SoapFault $fault ){
2009-05-28 14:36:16 +00:00
if(isset($fault->faultstring) && $fault->faultcode = 'HTTP'){
print '<br/>Le service partenaire n\'est pas disponible.';
}else{
$code = $fault->detail->GraydonCompanyData_Fault->FaultReturnCode;
$text = $fault->detail->GraydonCompanyData_Fault->FaultMessage;
$firephp->log($text,'texterror');
require_once 'graydon/graydon_error.php';
if(graydon_error($code, $text)==FALSE){
print graydon_processSoapFault($graydon,$fault,$tabInfo);
2009-05-28 14:36:16 +00:00
}
}
2009-07-21 15:08:08 +00:00
}
//*********** Mode normal
2009-04-07 17:44:17 +00:00
}elseif($_REQUEST['mode']=='normal'){
2009-07-21 15:08:08 +00:00
$paysCode = $_REQUEST['frmRecherche']['CountryCode'];
2009-05-13 16:05:50 +00:00
//Lire le lib<69>l<EFBFBD> du pays graydon en fonction du code
setDbConn('graydon');
$q = Doctrine_Query::Create()
->select('graydon_country')
->from('Country')
->where('code = ?', $paysCode);
2009-05-13 16:05:50 +00:00
$result = $q->fetchOne();
$pays = $result->graydon_country;
2009-05-15 16:36:05 +00:00
$firephp->log($pays,'pays');
2009-05-15 16:43:43 +00:00
$_SESSION['graydon']['pays'] = $pays;
$_SESSION['graydon']['paysCode'] = $paysCode;
$_SESSION['graydon']['mode'] = 'normal';
2009-06-08 15:36:41 +00:00
?>
2009-04-07 17:44:17 +00:00
<div id="internationallist">
<span class="StyleInfoLib">R<EFBFBD>sultat de la recherche :</span>
2009-04-07 17:44:17 +00:00
<?php
require_once 'i18n/cleanchar.php';
2009-04-07 17:44:17 +00:00
require_once 'graydon/graydonws.php';
2009-07-21 15:08:08 +00:00
2009-06-08 15:36:41 +00:00
$result = getCompanyMatches($pays);
2009-07-21 15:08:08 +00:00
2009-10-13 16:08:58 +00:00
if(is_object($result) && count($result)>0)
{
2009-04-07 17:44:17 +00:00
?>
<br/>
<span class="StyleInfoLib">Pays :</span> <span><?php print $result->Service_Log->Country; ?></span>
2009-04-07 17:44:17 +00:00
<ol>
2009-07-21 15:08:08 +00:00
<?php
2009-04-07 17:44:17 +00:00
$count = count($result->CompanyMatches->Company);
if ($count>1){
$companies = $result->CompanyMatches->Company;
}elseif($count==1){
$companies[] = $result->CompanyMatches->Company;
}
$firephp->log($companies,'companies');
2009-07-21 15:08:08 +00:00
2009-04-07 17:44:17 +00:00
$counterCompany = 1;
foreach($companies as $company){
?>
<li class="StyleInfoData" type="1" value="<?php print $counterCompany++; ?>">
2009-10-13 16:08:58 +00:00
<b><a title="Voir la fiche d'identit&eacute; de cet &eacute;tablissement" href="index.php?page=international_identite&identifier=<?php print $company->CompanyMatchIdentifier;?>&name=<?=urlencode(cleanutf8($company->Name))?>">
<?php print cleanutf8($company->Name); ?></a></b><br />
2009-07-21 15:08:08 +00:00
Addresse :
2009-05-13 16:05:50 +00:00
<?php
print cleanutf8($company->RegisteredAddress->EntireAddress);
2009-04-07 17:44:17 +00:00
?><br />
</li>
2009-07-21 15:08:08 +00:00
<?php
2009-04-07 17:44:17 +00:00
}
?>
</ol>
2009-05-13 16:05:50 +00:00
<br/>
2009-07-21 15:08:08 +00:00
<p class="StyleInfoLib">Si aucun r<EFBFBD>sultat ne correspond <EFBFBD> votre recherche.</p>
2009-05-15 16:43:43 +00:00
<p class="StyleInfoLib"><a href="./index.php?page=international_recherche">Cliquez-ici</a> pour essayer <EFBFBD> nouveau avec des informations diff<EFBFBD>rentes.</p>
2009-04-07 17:44:17 +00:00
</div>
2009-07-21 15:08:08 +00:00
<?php
2009-06-08 15:36:41 +00:00
}elseif(is_array($result) && count($result)==0){
?>
<br/><p class="StyleInfoLib">Aucun r<EFBFBD>sultat n'a <EFBFBD>t<EFBFBD> trouv<EFBFBD>. <a href="./index.php?page=international_recherche">Cliquez-ici</a> pour retourner au formulaire de recherche.</p>
2009-07-21 15:08:08 +00:00
<?php
2009-06-08 15:36:41 +00:00
}else{
print $result;
}
2009-04-07 17:44:17 +00:00
}
}
?>