diff --git a/library/Metier/sphinx/rechercheFonc.php b/library/Metier/sphinx/rechercheFonc.php index d18acc3f..2831c076 100644 --- a/library/Metier/sphinx/rechercheFonc.php +++ b/library/Metier/sphinx/rechercheFonc.php @@ -97,7 +97,7 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx) if (empty($formR['cpVille']) == true) { return; } - + $adressePostale = $formR['cpVille']; //If we have a CEDEX if (preg_match('/^[0-9]{5}\s(.*)\sCEDEX/i', $adressePostale, $codePostaux)) { @@ -125,7 +125,7 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx) $formR['ville'] = str_replace($codePostaux[0], '', $adressePostale); $dep = intval(substr($codePostaux[0], 0, 2)); - + //Monaco if ($codePostaux[0] == '98000') { $formR['departement'] = 99; @@ -144,14 +144,14 @@ function filtreAdresse(&$formR, &$criteres, &$sphinx) || preg_match('/([0-9]{3})/', $adressePostale, $departements)) { $departement = $departements[1]; - + if ($departement == '2A'){ $departement = 201; } if ($departement == '2B' ) { $departement = 202; } - + if (strstr($criteres, 'D') != false) { debugln("filtre adr_dep='$departement'"); $sphinx->SetFilter('adr_dep', array($departement)); @@ -268,7 +268,7 @@ function filtreActif(&$formR, &$criteres, &$sphinx) //Filtre sur les sieges function filtreSiege(&$formR, &$criteres, &$sphinx) { - if ( array_key_exists('siege', $formR) && $formR['siege']===true ) { + if ( array_key_exists('siege', $formR) && $formR['siege']==1 ) { $sphinx->setFilter('siege', array(1)); } } @@ -283,15 +283,15 @@ function filtreSiege(&$formR, &$criteres, &$sphinx) function premiereRequeteSphinx(&$sphinx, &$index, &$formR, &$criteres, &$criteresSphinx, &$form2crit, $sirenValide) { - filtreSiege($formR, $criteres, $sphinx); - filtreActif($formR, $criteres, $sphinx); - filtreSiret ($formR, $criteres, $sphinx); - filtreAdresse($formR, $criteres, $sphinx); - filtreNumero ($formR, $criteres, $sphinx); + filtreSiege ($formR, $criteres, $sphinx); + filtreActif ($formR, $criteres, $sphinx); + filtreSiret ($formR, $criteres, $sphinx); + filtreAdresse ($formR, $criteres, $sphinx); + filtreNumero ($formR, $criteres, $sphinx); if ($sirenValide == true) { $sphinx->SetFilter('sirenValide', array(1)); } - + $requete_sphinx = ''; foreach ($formR as $label => $valeur) { @@ -331,11 +331,11 @@ function requeteSphinx(&$sphinx, &$index, &$formR, &$criteres, &$criteresSphinx, &$form2crit, $quorum_actif, $quorum, $sirenValide) { - filtreSiege($formR, $criteres, $sphinx); - filtreActif($formR, $criteres, $sphinx); - filtreSiret ($formR, $criteres, $sphinx); - filtreAdresse($formR, $criteres, $sphinx); - filtreNumero ($formR, $criteres, $sphinx); + filtreSiege ($formR, $criteres, $sphinx); + filtreActif ($formR, $criteres, $sphinx); + filtreSiret ($formR, $criteres, $sphinx); + filtreAdresse ($formR, $criteres, $sphinx); + filtreNumero ($formR, $criteres, $sphinx); if ($sirenValide == true) { $sphinx->SetFilter('sirenValide', array(1)); } @@ -732,16 +732,16 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit, $pertinence_generale = intval($pertinence_generale); //print 'Pertinence generale: '.$pertinence_generale.'
'; } - + if ( is_object($resDB) ) { - + $resDB->data_seek(0); - + for ($i = 0; $i < $resDB->num_rows; $i++) { $ligne = $resDB->fetch_assoc(); - + //file_put_contents('test.log', "\n".'i = '.$i.print_r($ligne,1), FILE_APPEND); - + $ret['reponses'][$i]['id'] = $ligne['id']; $pertinence = $pertinence_generale; if ($formR['type'] == 'ent') { @@ -777,7 +777,7 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit, $ret['reponses'][$i]['Actif'] = $ligne['actif']; $ret['reponses'][$i]['NafEtab'] = $ligne['ape_etab']; $ret['reponses'][$i]['NafEnt'] = $ligne['ape_entrep']; - + if ($formR['type']=='dir') { // Dirigeant $ret['reponses'][$i]['DirRs'] = ''; @@ -799,7 +799,7 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit, } } } - + if ($formR['type'] == 'ent') { $ret['pass'] = $resSphinx['pass']; } @@ -935,17 +935,17 @@ function rechercheDir(&$formR, $deb, $nbRep, $max) $requeteDB .= ")"; //file_put_contents('test.log', $requeteDB); - + debugln(); debugln("requeteDB='$requeteDB'"); $resDB = $gDatabaseJO->query($requeteDB); // Reponse $ligneDir = array(); - + for ($i = 0; $i < $resDB->num_rows; $i++) { $ligne = $resDB->fetch_assoc(); - + $nom = $ligne['nom']; if ( $ligne['naissance_nom']!='' ) { $nom.= " nom d'usage ".$ligne['naissance_nom']; @@ -960,7 +960,7 @@ function rechercheDir(&$formR, $deb, $nbRep, $max) 'naissance_lieu'=> $ligne['naissance_lieu'] ); } - + debugln(); debugln("requeteDB='$requeteDB'"); @@ -1090,7 +1090,7 @@ function rechercheAct($formR, $deb, $nbRep, $max) $req = $gDatabaseJO->query($requette); - + /*$requette2 ='SELECT id, CONCAT(siren,nic) AS siret, siren, nic, siege, '. 'raisonSociale, sigle, enseigne, adr_num, adr_typeVoie, adr_libVoie, '. 'adr_comp, adr_cp, adr_ville, tel, fax, cj, actif, ape_etab, '. @@ -1226,8 +1226,8 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false) $criteres = 'ITSEPDLVNR'; } $total_premiere_requete = $resSphinx['total']; - - + + if ($total_premiere_requete == 0 || $total_premiere_requete > 500) { // "huit a huit" donne 414 $index = 'ent_mns'; @@ -1280,6 +1280,8 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false) } while ($pass > 0) { + filtreActif($formR, $criteres, $sphinx); + filtreSiege($formR, $criteres, $sphinx); // Requete Sphinx $resSphinx = requeteSphinx($sphinx, $index, $formR, $criteres, $criteresSphinx, $form2crit,