2010-10-15 07:25:50 +00:00

188 lines
8.7 KiB
PHP

<?
if (!isset($_REQUEST['typeRecherche']) || ( $_REQUEST['typeRecherche']<>'exacte' &&
$_REQUEST['typeRecherche']<>'approx') )
$_REQUEST['typeRecherche']='exacte';
if (!isset($_REQUEST['nbRep']) || $_REQUEST['nbRep']<25 || $_REQUEST['nbRep']>200 )
$_REQUEST['nbRep']=25;
if (!isset($_REQUEST['nom'])) $_REQUEST['nom']='';
if (!isset($_REQUEST['prenom'])) $_REQUEST['prenom']='';
if (!isset($_REQUEST['codePostal'])) $_REQUEST['codePostal']='';
?>
<form action="./?action=rechercher" method="POST">
<input type="hidden" name="submitted" value="1">
<table>
<tr><td><i>Informations sur la personne</i></td><td>&nbsp;</td></tr>
<tr><td><b>NOM *</b></td><td><input type="text" name="nom" value="<?=$_REQUEST['nom']?>"></td></tr>
<tr><td>Pr&eacute;nom *</td><td><input type="text" name="prenom" value="<?=$_REQUEST['prenom']?>"></td></tr>
<tr><td>D&eacute;partement ou Code Postal de r&eacute;sidence *</td><td><input type="text" name="codePostal" value="<?=$_REQUEST['codePostal']?>"></td></tr>
<tr><td>Civilit&eacute;</td><td><input type="radio" name="civilite" value="Mlle"> Mlle
<input type="radio" name="civilite" value="Mme"> Mme
<input type="radio" name="civilite" value="M"> M</td></tr>
<tr><td>Date de Naissance *</td><td><input type="text" name="naissJJ" size="3" maxlength="2">&nbsp;/&nbsp;<input type="text" name="naissMM" size="3" maxlength="2">&nbsp;/&nbsp;<input type="text" name="naissAA" size="5" maxlength="4"></td></tr>
<tr><td>Ville de Naissance</td><td><input type="text" name="naissVille"></td></tr>
<tr><td>D&eacute;partement de Naissance</td><td><input type="text" name="naissDept"></td></tr>
<tr><td>Pays de Naissance</td><td><input type="text" name="naissPays"></td></tr>
<tr><td>Adresse de r&eacute;sidence *</td><td><input type="text" name="adresse"></td></tr>
<tr><td>Ville de r&eacute;sidence *</td><td><input type="text" name="adresseVille"></td></tr>
<tr><td>Montant du cr&eacute;dit demand&eacute; *</td><td><input type="text" name="creditDemande"></td></tr>
<tr><td>SIREN si entrepreneur individuel</td><td><input type="text" name="siren"></td></tr>
<tr><td>RIB</td><td><input type="text" name="siren"></td></tr>
<tr><td>T&eacute;l&eacute;phone Domicile</td><td><input type="text" name="telephoneMaison">&nbsp;<i>Liste rouge <input type="radio" name="listeRouge" value="Oui"> Oui&nbsp;&nbsp;&nbsp;<input type="radio" name="listeRouge" value="Non"> Non</td></tr>
<tr><td>T&eacute;l&eacute;phone Professionel</td><td><input type="text" name="telephonePro"></td></tr>
<tr><td>T&eacute;l&eacute;phone Portable</td><td><input type="text" name="telephonePort"></td></tr>
<tr><td><i>Informations compl&eacute;mentaires</i></td><td>&nbsp;</td></tr>
<tr><td>Nom de l'employeur</td><td><input type="text" name="employeurNom"></td></tr>
<tr><td>Adresse de l'employeur</td><td><input type="text" name="employeurAdresse"></td></tr>
<tr><td>Code Postal de l'employeur</td><td><input type="text" name="employeurCP"></td></tr>
<tr><td>Ville de l'employeur</td><td><input type="text" name="employeurVille"></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>Type de recherche</td><td><input type="radio" <?if ($_REQUEST['typeRecherche']=='exacte') echo 'CHECKED';?> name="typeRecherche" value="exacte">Exacte&nbsp;&nbsp;<input type="radio" <?if ($_REQUEST['typeRecherche']=='approx') echo 'CHECKED';?> name="typeRecherche" value="approx">Approchante</td></tr>
<tr><td>Nombre de r&eacute;sultats</td><td><select name="nbRep"><option value="25">25</option><option value="50">50</option><option value="100">100</option><option value="200">200</option></select></td></tr>
</table>
<input type="submit" value="Valider">&nbsp;&nbsp;&nbsp;<input type="reset" value="RAZ">
</form>
<?php
include_once('/var/www/includes/mysql.php');
$con = mysql_pconnect('localhost', 'root', 'bzh4231*');
if (!($con === false)) {
if (mysql_select_db('npaipp', $con) === false)
die('Could not select database: ' . mysql_error());
}
require ( "sphinxapi.php" );
//die ( "usage: php -f test.php [--any] <word [word [word [...]]]> [--group <group>] [-p <port>] [-i <index>]\n" );
$q = $_REQUEST['nom'].' '.$_REQUEST['prenom'];
$any = false; // si false $index='xxx'
$port = 3312;
if ($_REQUEST['typeRecherche']=='exacte')
$index="annuaire_pp";
else
$index="annuaire_pp_shx";
$nbRep=$_REQUEST['nbRep'];
////////////
// do query
////////////
$cl = new SphinxClient ();
$cl->SetServer ( "localhost", $port );
$cl->SetLimits (0, $nbRep);
$cl->SetWeights ( array ( 100, 1 ) );
$cl->SetMatchMode ( $any ? SPH_MATCH_ANY : SPH_MATCH_ALL );
if ( isset($_REQUEST['codePostal']) && $_REQUEST['codePostal']<>'' ) {
$tailleCP=strlen($_REQUEST['codePostal']);
if ($tailleCP>1 && $tailleCP<4) $cl->SetFilter("departement", array(0=>$_REQUEST['codePostal']));
elseif ($tailleCP==5) $cl->SetFilter("codepostal", array(0=>$_REQUEST['codePostal']));
}
if ( isset($_REQUEST['telephoneMaison']) && $_REQUEST['telephoneMaison']<>'' ) {
$cl->SetFilter("tel", array(0=>$_REQUEST['telephoneMaison']));
}
$res = $cl->Query ( $q, $index );
////////////////
// print me out
////////////////
if ( $res===false )
{
print "Query failed: " . $cl->GetLastError() . ".\n";
} else
{
if ( $cl->GetLastWarning() )
print "WARNING: " . $cl->GetLastWarning() . "\n\n";
print "Query '$q' retrieved $res[total] of $res[total_found] matches in $res[time] sec.<br/>";
print "<h3>Query stats</h3><ul>";
if ( is_array($res["words"]) )
foreach ( $res["words"] as $word => $info )
print "<li>'$word' found $info[hits] times in $info[docs] documents</li>";
print "</ul>";
if ( is_array($res["matches"]) )
{
$n = 1;
print "<h3>Reponses :</h3><ul>";
foreach ( $res["matches"] as $doc => $docinfo )
{
// print "<li>$n. doc_id=$doc, weight=$docinfo[weight]<br/>";
// foreach ( $res["attrs"] as $attrname => $attrtype )
// {
$info=mysql_select('particuliers', 'Nom, Adresse, CodePostal, Ville, Tel, Fax', "id=$doc");
$personne=$info[0];
echo '<li><i>'. $n .'.</i> '. $personne['Nom'] .' ('. $docinfo[weight] .' %)<br/>';
echo $personne['Adresse'] .'<br/>';
echo $personne['CodePostal'] .' '. $personne['Ville'] .'<br/>';
if ($personne['Tel']<>'') echo 'T&eacute;l : '.$personne['Tel'].'<br/>';
if ($personne['Fax']<>'') echo 'Fax : '.$personne['Fax'].'<br/>';
echo "</li>\n";
$n++;
/* $value = $docinfo["attrs"][$attrname];
if ( $attrtype==SPH_ATTR_TIMESTAMP )
$value = date ( "Y-m-d H:i:s", $value );
print ", $attrname=$value";
}
print "</li>";*/
//$n++;
}
print "</ul>";
}
echo '<!--';
print_r($res);
echo '-->';
if ($_POST['submitted']) {
print_r($_POST);
/* Actions à effectuer :
// 1. Vérification de l'existance du NOM, Prénom et Adresse dans Annuaire (/30 points)
1.1. Si NOM+Prénom à l'adresse ==> OK 30 points
1.2. Si NOM sans prénom à l'adresse ==> OK 25 points
1.3. Si quelqu'un dans annuaire à l'adresse 10 points
1.4. Si pas d'adresse 0 point
// Si 1.2 ==> 2
// Si 1.3 ==> 2 + 3
// Si 1.4 ==> 2 + 3 + 4
// 2. Vérifier si le prénom existe dans la table des prénoms (/ 3 points)
2.1. Si le prénom existe OK 2 points
2.2. Sinon valeur approchante 1 point
2.3. Sinon ?????????? 0 point
// 3. Vérifier si le nom existe dans la table des noms (/ 3 points)
1.1. Si le nom existe OK 2 points
1.2. Sinon valeur approchante 1 point
1.3. Sinon 0 point
// 4. Recherche de l'existance de l'adresse / ville (/ 5 points)
2.1. Si adresse complète existe 5 points
2.2. Si adresse sans n° 3 points
2.3. Si approchant 2 points
2.4. Si ville sans l'adresse 0 point
//10. Vérifier si le prénom est logique avec les l'age moyen des personnes portant ce prénom (/ 3 points)
2.4.1. Si logique OK 2 points
2.4.2. Si approchant 1 point
2.4.3. Sinon 0 point
3.3.1 Vérification dans le pages blanches
// 3. Si un téléphone est communiqué et qu'absence de liste rouge : (30 points)
3.1. Vérifier la concordance NOM, Prénom, Adresse, Téléphonesi OK 30 point
Enregistrer chaque requête
et les informations communqiuées par le client
*/
}
}
?>