Subversion Repositories Sites.tela-botanica.org

Compare Revisions

Ignore whitespace Rev 570 → Rev 571

/trunk/client/annuaire/annuaire_moteur_fonction.php
95,8 → 95,9
$formulaire->addElement('text', 'prenom', AM_L_PRENOM);
$formulaire->addElement('text', 'ville', AM_L_VILLE);
$departement = & $GLOBALS['ann_db']->getAssoc('select GFD_ID, CONCAT(GFD_ID,\' - \',GFD_NAME) as GFD_NAME from gen_FRENCH_DPT');
$departement = array_merge (array ('tous' => 'Tous'), $departement);
$departement['tous'] = 'Tous';
$resultat = & $GLOBALS['ann_db']->query('select GFD_ID, CONCAT(GFD_ID,\' - \',GFD_NAME) as GFD_NAME from gen_FRENCH_DPT');
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) $departement[$ligne->GFD_ID] = $ligne->GFD_NAME;
$select_dpt = new HTML_QuickForm_select ('departement', AM_L_DEPARTEMENT, $departement, array ('class' => 'projet_asso')) ;
$formulaire->addElement($select_dpt);
147,10 → 148,9
// l'état de la cotisation (jointure)
// le tableau suivant contient tous les champs de la table annuaire_tela sur lesquels on peut effectuer une recherche
$fields_annu = array("nom" => ANN_CHAMPS_NOM, "prenom" => ANN_CHAMPS_PRENOM , "mail" => ANN_CHAMPS_MAIL , "ville" => ANN_CHAMPS_VILLE,
"dept" => "U_FRENCH_DPT", "pays" => ANN_CHAMPS_PAYS ) ;
$fields_annu = array('departement' => 'U_FRENCH_DPT', "pays" => ANN_CHAMPS_PAYS ) ;
 
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"dept",
$mes_vars = array ("recherche", "nom", "ville", "mail" ,"departement",
"prenom", "cotisant", "pays", "sort", "T_REPONSE",
"lettre","statut", "annee_cotisation") ;
 
171,38 → 171,23
$queries .= ", ".ANN_TABLE_PAYS.".GC_NAME ";
$queries .= "from ";
$queries .= ANN_TABLE_PAYS.','.ANN_ANNUAIRE ;
// On effectue une jointure gauche si l on veut tous les inscrits
// y compris ce qui ne cotisent pas sinon pas de jointure gauche
/*
if (isset($cotisant) && $cotisant != 1) {
} else {
$queries .= ' left ' ;
}
$queries .= ' join annuaire_COTISATION on '.
ANN_ANNUAIRE.'.U_ID=annuaire_COTISATION.IC_ANNU_ID ';
if (isset($annee_cotisation) && $annee_cotisation != 0) {
$queries .= ' and year(IC_DATE)='.$annee_cotisation ;
} else {
$queries .= 'and year(IC_DATE)='.date('Y') ;
}
*/
 
// Construction en fonction des champs saisies
// juste le champs "rechercher", on regarde partout
$queries .= " where " ;
$queries .= " where 1 " ;
if ($lettre == "") {
if ($_REQUEST['recherche'] != '') {
$queries .= '('.ANN_CHAMPS_NOM.' like "%'.$_REQUEST['recherche'].'%"' ; // le premier
$queries .= ' and ('.ANN_CHAMPS_NOM.' like "%'.$_REQUEST['recherche'].'%"' ; // le premier
foreach($fields_annu as $key=>$value) {
if ($key == "nom") continue ;
$queries .= ($key == "pays" ?
$pays == "tous" ? ")" :
") and $value = '$pays'" : " or $value like '%$recherche%'") ; // les autres
}
$queries .= ' and ' ;
if ($key == "nom") continue ;
$queries .= ($key == "pays" ?
$pays == "tous" ? ")" :
") and $value = '$pays'" : " or $value like '%$recherche%'") ; // les autres
}
//$queries .= ' and ' ;
} else {
 
// si un ou plusieurs autres champs ont été indiqué, on les rajoute ici
211,19 → 196,18
foreach($fields_annu as $key=>$valeur) {
if ($key != "") {
if ($key == "pays" && ($$key != 'tous' && $$key != '')) {
if ($$key != "tous") $queries .= ") and $valeur like \"%".$$key."%\"" ;
if ($$key != "tous") $queries .= " and $valeur like \"%".$$key."%\"" ;
} else {
if ($key == "dept") {
if ($$key != "tous" && isset($HTTP_POST_VARS[$key])) {
$queries .= " and U_FRENCH_DPT=".$$key ;
if ($key == "departement") {
if (isset ($_REQUEST[$key]) && $_REQUEST[$key] != "tous") {
$queries .= ' and U_FRENCH_DPT="'.$_REQUEST[$key].'"' ;
if ($fields_annu["pays"] != "fr") $queries .= ' and '.ANN_CHAMPS_PAYS.'="fr"' ;
}
} else {
if ($$key != '' && $key != 'pays') {
if (!$or_flag) $queries .= '(' ;
$queries .= $valeur.' like "%'.$$key.'%"' ;
if ($key != "ville") $queries .= " and " ;
$queries .= ' and '.$valeur.' like "%'.$$key.'%"' ;
}
}
238,11 → 222,11
}
} else {
if ($lettre == "tous") $lettre = "" ;
$queries .= ANN_CHAMPS_NOM.' like "'.$lettre.'%" and ' ;
$queries .= 'and '.ANN_CHAMPS_NOM.' like "'.$lettre.'%" ' ;
}
$queries .= "" ;
// jointure entre annuaire et table des pays annuaire_tela et gen_COUNTRY
$queries .= " ".ANN_ANNUAIRE.".".ANN_CHAMPS_PAYS."=".ANN_TABLE_PAYS.".GC_ID" ;
$queries .= " and ".ANN_ANNUAIRE.".".ANN_CHAMPS_PAYS."=".ANN_TABLE_PAYS.".GC_ID" ;
if (isset($nom) && $nom != "") $queries .= " and ".ANN_CHAMPS_NOM." like \"%$nom%\"" ;
if (isset($prenom) && $prenom != "") $queries .= " and ".ANN_CHAMPS_PRENOM." like \"%$prenom%\"" ;
249,6 → 233,20
if (isset($ville) && $ville != "") $queries .= " and ".ANN_CHAMPS_VILLE." like \"%$ville%\"" ;
if (isset($mail) && $mail != "") $queries .= " and ".ANN_CHAMPS_MAIL." like \"%$mail%\"" ;
if (isset($_REQUEST['sort']) && $_REQUEST['sort'] != '') $queries .= ' order by '.$_REQUEST['sort'] ;
// traitement de l etat de cotisation
if (isset($cotisant) && $cotisant != 1) {
$queries .= ' and U_ID IN (select IC_ANNU_ID from annuaire_COTISATION where ';
if (isset($annee_cotisation) && $annee_cotisation != 0) {
$queries .= ' year(IC_DATE)='.$annee_cotisation ;
} else {
$queries .= 'year(IC_DATE)='.date('Y') ;
}
$queries .= ')';
}
return $queries;
}
360,7 → 358,7
$ret .= '<div class="bazar_numero">'.$pager->links.'</div>'."\n";
$GLOBALS['ann_url']->addQueryString(ANN_VARIABLE_ACTION, ANN_ACTION_MAIL_TOUS);
$ret .= "<div id=\"envoyer_selection\"><a href=\"".$GLOBALS['ann_url']->getURL()."\">".AM_L_MAIL_SELECTION."</a></div>\n" ;
//$ret .= '<pre id="debogage">'.$requete.'</pre>';
$ret .= '<pre id="debogage">'.$requete.'</pre>';
return $ret;
}
 
429,4 → 427,4
* * +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
?>
?>