batch/includes/sphinx/rechercheTest.php
2012-10-16 08:08:03 +00:00

171 lines
5.4 KiB
PHP

<?php
// --------------------------------------------------------------------------- //
// Teste la recherche avec les criteres contenus dans un fichier
// --------------------------------------------------------------------------- //
define('LOCAL', 1);
if (isset($_GET['fichier']) == true) {
$fichier = $_GET['fichier'];
} else {
$fichier = 'nontrouves.txt';
}
if (isset($_GET['num']) == true) {
define('DEBUG', 1);
$num = $_GET['num'];
} else {
define('DEBUG', 0);
$num = '';
}
if (isset($_GET['page']) == true) {
$page = intval($_GET['page']);
} else {
$page = 1;
}
require_once('rechercheFonc.php');
function rechercheTest($fichierLog, $num, $page)
{
$NB_PAR_PAGE = 40;
$crit2form = array('S' => 'raisonSociale',
'N' => 'numVoie',
'R' => 'voie',
'L' => 'cpVille',
'V' => 'cpVille');
$liste = file($fichierLog);
if ($num != '') {
$n = intval($num);
$indices = array($n);
} else {
$n = ($page - 1) * $NB_PAR_PAGE;
$indices = range($n, min($n + $NB_PAR_PAGE - 1, count($liste) - 1));
}
foreach ($indices as $i) {
$ligne = explode('#', $liste[$i], 2);
++$n;
$formR = array();
$criteres = explode(',', $ligne[0]);
unset($nb_rep);
$siret = '';
// Nombre de resultats et siret
foreach ($criteres as $c) {
$labelvaleur = explode('=', $c);
$label = trim($labelvaleur[0]);
if ($label == 'NbRep' && isset($labelvaleur[1]) == true) {
$nb_rep = intval(trim($labelvaleur[1]));
}
if ($label == 'SiretTrouve' && isset($labelvaleur[1]) == true) {
$siret = trim($labelvaleur[1]);
}
}
// Restrictions
if (isset($nb_rep) == false || $nb_rep != 1 || $siret == '') {
//continue;
}
// Criteres
foreach ($criteres as $c) {
$labelvaleur = explode('=', $c, 2);
$label = trim($labelvaleur[0]);
if (isset($labelvaleur[1]) == false) {
continue;
}
$valeur = trim($labelvaleur[1]);
if (isset($crit2form[$label]) == false) {
continue;
}
if ($label == 'R' &&
preg_match('/[0-9]+/', $valeur, $arrayValeur) > 0) {
$formR['numVoie'] = $arrayValeur[0];
$valeur = str_replace($arrayValeur[0].' ', '', $valeur);
print 'N='.$arrayValeur[0].', ';
}
if (isset($formR[$crit2form[$label]]) == false) {
$formR[$crit2form[$label]] = $valeur;
} else {
$formR[$crit2form[$label]] .= ' '.$valeur;
}
print $label.'='.$valeur.', ';
}
// Recherche
$formR['type'] = 'ent';
$res = recherche($formR, 0, 100);
$total = 0;
$siren = 0;
$nic = 0;
$resSiret = '00000000000000';
if (isset($res['nbReponsesTotal'])) {
$total = $res['nbReponsesTotal'];
if ($total == 1) {
$siren = $res['reponses'][0]['Siren'];
$nic = $res['reponses'][0]['Nic'];
$resSiret = sprintf("%09d%05d", $siren, $nic);
} else if (isset($nb_rep) != false &&
($nb_rep < $total) &&
($nb_rep == 10 ||
$nb_rep == 20)) {
$total = $nb_rep;
}
}
if ($siret != '') {
if ($siret != '00000000000000' &&
$siret != $resSiret) {
print '<font color=#FF0000>'.$siret.' </font>';
} else {
print $siret.' ';
}
print $resSiret.' ';
}
if (($siret != '' &&
$siret != '00000000000000' &&
$siret != $resSiret) ||
(isset($nb_rep) != false &&
$nb_rep != 0 &&
$nb_rep != $total) ||
(isset($nb_rep) == false &&
$total == 0)) {
print '<font color=#FF0000>pass'.$res['pass'].' </font>';
} else {
print '<font color=#00FF00>pass'.$res['pass'].' </font>';
}
if (isset($nb_rep) != false) {
if ($nb_rep != 0 &&
$nb_rep != $total) {
print '<font color=#FF0000>'.$nb_rep.' </font>';
} else {
print $nb_rep;
}
}
print ' <a href=?fichier='.$fichierLog.'&num='.($n-1).'>'.
$total.'</a>';
if (count($ligne) == 2) {
print ' #'.$ligne[1];
}
print '<br/>';
}
if ($num == '') {
print '<br/>pages: ';
for ($p = 1; $p < $page; ++$p) {
print '<a href=?fichier='.$fichierLog.
'&page='.$p.'>'.$p.'</a> ';
}
print '<b>'.$page.'</b> ';
for ($p = $page + 1; ($p - 1) * $NB_PAR_PAGE < count($liste); ++$p) {
print '<a href=?fichier='.$fichierLog.
'&page='.$p.'>'.$p.'</a> ';
}
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
rechercheTest($fichier, $num, $page);
?>
</body>
</html>