Changeset 61063 in spip-zone


Ignore:
Timestamp:
May 7, 2012, 9:02:11 AM (7 years ago)
Author:
gildas.cotomale@…
Message:

harmonisation, correction et extension du filtrage des listes principales

Location:
_plugins_/Association/Associaspip
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/association_options.php

    r60892 r61063  
    581581    $qGroupes = sql_select('nom, id_groupe', 'spip_asso_groupes', 'id_groupe>=100', '', 'nom');  // on ne prend en consideration que les groupe d'id >= 100, les autres sont reserves a la gestion des autorisations
    582582    if ( $qGroupes && sql_count($qGroupes) ) { // ne proposer que s'il y a des groupes definis
    583                 $res .= '<select name="id_groupe" onchange="form.submit()">';
     583                $res .= '<select name="groupe" onchange="form.submit()">';
    584584                $res .= '<option value="">'._T('asso:tous_les_groupes').'</option>';
    585585                while ($groupe = sql_fetch($qGroupes)) {
     
    628628                $res = '';
    629629    }
    630     $res .= '<input type="text" name="id" onfocus=\'this.value=""\' size="5"  value="'. $id .'" onchange="form.submit()" />';
    631     if ($exec) {
    632                 $res .= '<noscript><input type="submit" value="'._T('asso:bouton_lister').'" /></noscript>';
     630    $res .= '<input type="text" name="id" onfocus=\'this.value=""\' size="5"  value="'. ($id?$id:_T('asso:entete_id')) .'" />';
     631    if ($exec) {
     632                $res .= '<noscript><input type="submit" value="'._T('spip:chercher').'" /></noscript>';
    633633                $res .= '</div></form>';
    634634    }
     
    646646    $pager = '';
    647647    $res .= '<select name ="annee" onchange="form.submit()">';
    648 #    $res .= '<option value="0" ';
    649 #    if (!$exercice) {
    650 #               $res .= ' selected="selected"';
    651 #    }
    652 #    $res .= '>'. _L("choisir l'exercice ?") .'</option>';
    653     $sql = sql_select("DATE_FORMAT(date_$dchamp, '%Y') AS annee", "spip_asso_$dtable",'', 'annee DESC', 'annee');
     648    $an_max = sql_getfetsel("MAX(DATE_FORMAT(date_$dchamp, '%Y')) AS an_max", "spip_$dtable", '');
     649    $an_min = sql_getfetsel("MIN(DATE_FORMAT(date_$dchamp, '%Y')) AS an_min", "spip_$dtable", '');
     650    if ($annee>$an_max || $annee<$an_min) { // a l'initialisation, l'annee courante est mise si rien n'est indique... or si l'annee n'est pas disponible dans la liste deroulante on est mal positionne et le changement de valeur n'est pas top
     651                $res .= '<option value="'.$annee.'" selected="selected">'.$annee.'</option>';
     652
     653        }
     654    $sql = sql_select("DATE_FORMAT(date_$dchamp, '%Y') AS annee", "spip_$dtable",'', 'annee DESC', 'annee');
    654655    while ($val = sql_fetch($sql)) {
    655                 $res .= '<option value="'.$val['annee'].'" ';
     656                $res .= '<option value="'.$val['annee'].'"';
    656657                if ($annee==$val['annee']) {
    657658                        $res .= ' selected="selected"';
  • _plugins_/Association/Associaspip/exec/activites.php

    r60892 r61063  
    2222                echo minipres();
    2323        } else {
    24                 $id_mot = intval(_request('id_mot'));
    25                 $annee = intval(_request('annee'));
    26                 if(!$annee){
    27                         $annee = date('Y');
     24                $id_evenement = intval(_request('id'));
     25                if ($id_evenement) { // la presence de ce parametre interdit la prise en compte d'autres (a annuler donc si presents dans la requete)
     26                        $annee = sql_getfetsel("DATE_FORMAT(date_debut, '%Y')",'spip_evenements', "id_evenement=$id_evenement"); // on recupere l'annee correspondante
     27                } else {
     28                        $annee = intval(_request('annee')); // on recupere l'annee requetee
     29                        $id_mot = intval(_request('mot')); // on recupere l'id du mot cle requete
     30                        $id_evenement = ''; // ne pas afficher ce disgracieux '0'
     31                }
     32                if (!$annee) {
     33                        $annee = date('Y'); // par defaut c'est l'annee courante
     34                        $id_evenement = ''; // virer l'ID inexistant
    2835                }
    2936                onglets_association('titre_onglet_activite');
     
    5057                debut_cadre_association('activites.gif','activite_titre_toutes_activites');
    5158                // FILTRES
    52                 echo '<table width="100%" class="asso_tablo_filtre"><tr>';
    53                 echo '<td>'. association_selectionner_annee($annee, 'activites', 'inscription','activites'.($id_mot?'&id_mot='.$id_mot:'')) .'</td>'; // evenements/asso_activites debut/inscription activites/activites
    54                 if (test_plugin_actif('AGENDA')) { /* le plugin "Agenda 2" peut associer des mots-cles aux evenements */
     59                echo '<form method="get" action="'.generer_url_ecrire('activites').'">';
     60                echo "\n<input type='hidden' name='exec' value='activites' />";
     61                echo "\n<table width='100%' class='asso_tablo_filtres'><tr>";
     62                echo '<td id="filtre_annee">'. association_selectionner_annee($annee, 'evenements', 'debut') .'</td>';
     63#               echo '<td id="filtre_id">'. association_selectionner_id($id_evenement) .'</td>';
     64                if (test_plugin_actif('AGENDA')) { /* le plugin "Agenda 2" peut associer des mots-cles aux evenements : les proposer comme critere de filtrage */
    5565                        if ($id_mot) {
    5666                                $mc_sel = ', M.id_mot AS motact';
     
    6171                                $mc_sel = $mc_join = $mc_where = '';
    6272                        }
    63                         echo '<td width="60%">';
    64                         echo '<form method="get"><div>';
    65                         echo '<input type="hidden" name="exec" value="activites" />';
    66                         echo '<input type="hidden" name="annee" value="'.$annee.'" />';
    67                         echo '<select name="id_mot" onchange="form.submit()">';
     73                        echo '<td id="filtre_mot">';
     74                        echo '<select name="mot" onchange="form.submit()">';
    6875                        echo '<option value="">'._T('asso:entete_tous').'</option>';
    6976                        $query_groupes = sql_select('id_groupe, titre', 'spip_groupes_mots', "tables_liees LIKE '%evenements%'");
     
    8087                                echo '</optgroup>';
    8188                        }
    82                         echo '</select><noscript><input type="submit" value="'._T('asso:bouton_lister').'" /></noscript></div></form></td>';
     89                        echo '</select></td>';
    8390                }
    84                 echo '</tr></table>';
     91                echo '<noscript><td><input type="submit" value="'._T('asso:bouton_filtrer').'" /></noscript></td>';
     92                echo '</tr></table></form>';
    8593                //TABLEAU
    8694                echo "<table width='100%' class='asso_tablo' id='asso_tablo_activites'>\n";
     
    102110                while ($data = sql_fetch($query)) {
    103111                        $inscrits = sql_fetsel('SUM(inscrits) AS total', 'spip_asso_activites', 'id_evenement='.$data['id_evenement']);
    104                         echo '<tr class="'.($inscrits['total']?'pair':'impair').'">';
     112                        echo '<tr class="'. ($inscrits['total']?'pair':'impair') . (($id_evenement==$data['id_evenement'])?' surligne':'') .'" id="'.$data['id_evenement'].'">';
    105113                        echo '<td class="integer">'.$data['id_evenement'].'</td>';
    106114                        echo '<td class="date">'. association_datefr($data['date_debut'],'dtstart') .'</td>';
  • _plugins_/Association/Associaspip/exec/adherents.php

    r60892 r61063  
    5757                        $id = _T('asso:adherent_libelle_id_auteur');
    5858                        //Filtre groupe
    59                         $id_groupe = intval(_request('id_groupe'));
     59                        $id_groupe = intval(_request('groupe'));
    6060                } else {
    6161                        $critere = "a.id_auteur=$id";
     
    9999                echo "<table width='100%' class='asso_tablo_filtres'>\n<tr>";
    100100                // Pagination alphabetique
    101                 echo '<td width="30%" class="pagination0">';
     101                echo '<td class="filtre_lettre">';
    102102                if (!$lettre) {
    103103                        $lettre = '%';
     
    109109                                echo ' <strong>'.$i.'</strong>';
    110110                        } else {
    111                                 $h = generer_url_ecrire('adherents', "statut_interne=$statut_interne&lettre=$i");
     111                                $h = generer_url_ecrire('adherents', "statut_interne=$statut_interne&lettre=$i".($id_groupe?"&groupe=$id_groupe":''));
    112112                                echo " <a href='$h'>$i</a>\n";
    113113                        }
     
    116116                        echo ' <strong>'._T('asso:entete_tous').'</strong>';
    117117                } else {
    118                         $h = generer_url_ecrire('adherents', "statut_interne=$statut_interne");
     118                        $h = generer_url_ecrire('adherents', "statut_interne=$statut_interne".($id_groupe?"&groupe=$id_groupe":''));
    119119                        echo "<a href='$h'>"._T('asso:entete_tous').'</a>';
    120120                }
    121121#               if ($GLOBALS['association_metas']['aff_groupes']) { // ne proposer que si on affiche les groupes ?? (on peut vouloir filtrer par groupe sans pour autant les afficher donc desactive)
    122                         echo '</td><td width="25%">'. association_selectionner_groupe($id_groupe, 'adherents') ; // filtre groupes
     122                        echo '</td><td class="filtre_groupe">'. association_selectionner_groupe($id_groupe, 'adherents') ; // filtre groupes
    123123#               }
    124124                //Filtre ID
    125                 echo '</td><td width="16%" class="formulaire">';
    126                 echo '<form method="post" action="'.generer_url_ecrire('adherents').'"><div>';
    127                 echo association_selectionner_statut($id, '');
    128                 echo '<noscript><input type="submit" value="'._T('asso:bouton_lister').'" /></noscript></div></form>';
     125                echo '</td><td class="filtre_id">';
     126                echo association_selectionner_id($id, 'adherents');
     127                echo '</div></form>';
    129128                //Filtre statut
    130                 echo '</td><td width="23%">';
     129                echo '</td><td class="fitre_statut">';
    131130                echo '<form method="post" action="'.generer_url_ecrire('adherents').'"><div>';
    132131                echo '<input type="hidden" name="lettre" value="'.$lettre.'" />';
     132                if ($id_groupe)
     133                        echo '<input type="hidden" name="groupe" value="'.$id_groupe.'" />';
    133134                echo association_selectionner_statut($statut_interne, '');
    134135                echo '<noscript><input type="submit" value="'._T('asso:bouton_lister').'" /></noscript></div></form></td>';
  • _plugins_/Association/Associaspip/exec/comptes.php

    r60763 r61063  
    3939                if (!$id_compte) {
    4040                        $id_compte = '';
    41                 } else { /* quand on a un id compte, on doit selectionner automatiquement l'exercice dans lequel il se trouve */
     41                } else { // quand on a un id compte, on doit selectionner automatiquement l'exercice dans lequel il se trouve
    4242                        $date_operation = sql_getfetsel('date', 'spip_asso_comptes', 'id_compte='.$id_compte);
    4343                        $exercice = sql_getfetsel('id_exercice','spip_asso_exercices', "fin>='$date_operation' AND debut<='$date_operation'", '', 'debut DESC');
     
    8787                ) );
    8888                debut_cadre_association('finances-24.png', 'informations_comptables');
    89                 echo "\n<table width='100%'><tr>";
    90                 echo '<td width="50%" align="left">'. association_selectionner_exercice($id_exercice, generer_url_ecrire('comptes',"imputation=$imputation") ) .'</td>';
    91                 echo '<td width="50%" align="right">';
    92                 echo '<form method="post" action="'.generer_url_ecrire('comptes', "exercice=$id_exercice").'"><div>';
    93                 echo '<select name ="imputation" onchange="form.submit()">';
     89                // FILTRES
     90                echo '<form method="get" action="'.generer_url_ecrire('comptes').'">';
     91                echo "\n<input type='hidden' name='exec' value='comptes' />";
     92                echo "\n<table width='100%' class='asso_tablo_filtres'><tr>";
     93                echo '<td id="filtre_exercice">'. association_selectionner_exercice($id_exercice) .'</td>';
     94#               echo '<td id="filtre_id">'. association_selectionner_id($id_compte) .'</td>';
     95                echo '<td id="filtre_imputation">';
     96                echo '<select name="imputation" onchange="form.submit()">';
    9497                echo '<option value="%" ';
    9598                if ($imputation=='%') {
    9699                        echo ' selected="selected"';
    97100                }
    98                 echo '>Tous</option>';
    99                 /* Remplir le select uniquement avec les comptes utilises */
     101                echo '>'. _T('asso:entete_tous') .'</option>';
    100102                $sql = sql_select(
    101103                        'imputation , code, intitule, classe',
    102104                        'spip_asso_comptes RIGHT JOIN spip_asso_plan ON imputation=code',
    103                         /* n'afficher ni les comptes de la classe financiere --ce ne sont pas des imputations-- ni les inactifs */
    104                         "classe<>'".$GLOBALS['association_metas']['classe_banques']."' AND active AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' ",
     105                        "classe<>'".$GLOBALS['association_metas']['classe_banques']."' AND active AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' ", // pour l'exercice en cours... ; n'afficher ni les comptes de la classe financiere --ce ne sont pas des imputations-- ni les inactifs
    105106                        'code', 'code ASC');
    106                 while ($plan = sql_fetch($sql)) {
    107                         echo '<option value="'.$plan['code'].'" ';
     107                while ($plan = sql_fetch($sql)) { // Remplir le select uniquement avec les comptes utilises
     108                        echo '<option value="'.$plan['code'].'"';
    108109                        if ($imputation==$plan['code']) {
    109110                                echo ' selected="selected"';
     
    111112                        echo '>'.$plan['code'].' - '.$plan['intitule'].'</option>';
    112113                }
    113                 echo '</select><noscript><input type="submit" value="'._T('asso:bouton_filtrer').'" /></noscript></div></form></td>';
    114                 echo '</tr></table>';
     114                echo '</select></td>';
     115                echo '<noscript><td><input type="submit" value="'._T('asso:bouton_filtrer').'" /></noscript></td>';
     116                echo '</tr></table></form>';
    115117                /* (re)calculer la pagination en fonction de id_compte */
    116118                if ($id_compte) {
     
    171173        $comptes = '';
    172174        while ($data = sql_fetch($query)) {
    173                 if ($data['depense']>0) {
     175                if ($data['depense']>0) { // depense
    174176                        $class = 'impair';
    175                 } else {
     177                } else { // recette
    176178                        $class = 'pair';
    177179                }
    178                 if ($data['imputation']==$GLOBALS['association_metas']['pc_intravirements']) {
     180                if ($data['imputation']==$GLOBALS['association_metas']['pc_intravirements']) { // virement interne
    179181                        $class = 'vi';
    180                 } // virement interne
    181                 if (substr($data['imputation'],0,1)==$GLOBALS['association_metas']['classe_contributions_volontaires']) {
     182                }
     183                if (substr($data['imputation'],0,1)==$GLOBALS['association_metas']['classe_contributions_volontaires']) { // contribution volontaire
    182184                        $class = 'cv';
    183185                }
    184                 if($id_compte==$data['id_compte']) { /* pour voir au chargement l'id_compte recherche */
     186                if($id_compte==$data['id_compte']) { // pour voir au chargement l'id_compte recherche
    185187                        $onload_option .= 'onLoad="document.getElementById(\'id_compte'.$id_compte.'\').scrollIntoView(true);"';
    186188                        $class = 'surligne';
  • _plugins_/Association/Associaspip/exec/dons.php

    r60892 r61063  
    2323                echo minipres();
    2424        } else {
    25                 $annee = intval(_request('annee'));
    26                 if(!$annee){
    27                         $annee = date('Y');
     25                $id_don = intval(_request('id'));
     26                if ($id_don) { // la presence de ce parametre interdit la prise en compte d'autres (a annuler donc si presents dans la requete)
     27                        $annee = sql_getfetsel("DATE_FORMAT(date_don, '%Y')",'spip_asso_dons', "id_don=$id_don"); // on recupere l'annee correspondante
     28                } else {
     29                        $annee = intval(_request('annee')); // on recupere l'annee requetee
     30                        $id_don = ''; // ne pas afficher ce disgracieux '0'
     31                }
     32                if (!$annee) {
     33                        $annee = date('Y'); // par defaut c'est l'annee courante
     34                        $id_don = ''; // virer l'ID inexistant
    2835                }
    2936                onglets_association('titre_onglet_dons');
     
    4754                ));
    4855                debut_cadre_association('dons-24.gif', 'tous_les_dons');
    49                 // Filtres
    50                 echo '<table width="100%" class="asso_tablo_filtre"><tr>';
    51                 echo '<td>'. association_selectionner_annee($annee, 'dons', 'don','dons') .'</td>';
    52                 echo '</tr></table>';
     56                // FILTRES
     57                filtres_association(array(
     58                        'annee' => array($annee, 'asso_dons', 'don'),
     59                        'id' => $id_don,
     60                ), 'dons');
    5361                //TABLEAU
    5462                echo "<table width='100%' class='asso_tablo' id='asso_tablo_dons'>\n";
     
    7179                $query = sql_select('DISTINCT a_d.*', 'spip_asso_dons AS a_d LEFT JOIN spip_asso_comptes AS a_c ON a_c.id_journal=a_d.id_don', "$critere2$critere1 DATE_FORMAT(date_don, '%Y')=$annee", '',  'id_don' ) ;
    7280                while ($data = sql_fetch($query)) {
    73                         $id_don = $data['id_don'];
    74                         echo '<tr class="'.(($data['argent'] && !$data['colis'])?'pair':(($data['argent'] && !$data['colis'])?'prospect':'impair')).'" id="'.$data['id_don'].'">';
    75                         echo '<td class="integer">'.$id_don.'</td>';
     81                        echo '<tr class="'. (($data['argent'] && !$data['colis'])?'pair':(($data['argent'] && !$data['colis'])?'prospect':'impair')) . (($id_don==$data['id_don'])?' surligne':'') .'" id="'.$data['id_don'].'">';
     82                        echo '<td class="integer">'.$data['id_don'].'</td>';
    7683                        echo '<td class="date">'. association_datefr($data['date_don']) .'</td>';
    7784                        echo '<td class="text">'. association_calculer_lien_nomid($data['bienfaiteur'],$data['id_adherent']) .'</td>';
     
    8491                            : ('<td class="text">'. propre($data['contrepartie']) .'</td>')
    8592                                );
    86                         echo '<td  class="action">'. association_bouton('supprimer_le_don', 'suppr-12.gif', 'action_dons', "id=$id_don") .'</td>';
    87                         echo '<td class="action">' . association_bouton('mettre_a_jour_le_don', 'edit-12.gif', 'edit_don', "id=$id_don") .'</td>';;
     93                        echo '<td  class="action">'. association_bouton('supprimer_le_don', 'suppr-12.gif', 'action_dons', "id=$data[id_don]") .'</td>';
     94                        echo '<td class="action">' . association_bouton('mettre_a_jour_le_don', 'edit-12.gif', 'edit_don', "id=$data[id_don]") .'</td>';;
    8895                        echo "</tr>\n";
    8996                }
  • _plugins_/Association/Associaspip/exec/edit_relances.php

    r60892 r61063  
    6767}
    6868
    69 function relances_while($statut_interne, $groupe=0)
     69function relances_while($statut_interne, $id_groupe=0)
    7070{
    71         $query = sql_select('id_auteur, sexe, nom_famille, prenom, statut_interne, validite', 'spip_asso_membres AS a_m', " statut_interne like '$statut_interne' AND statut_interne <> 'sorti'", '', 'nom_famille');
     71        $query = sql_select(
     72                'id_auteur, sexe, nom_famille, prenom, statut_interne, validite', // select
     73                'spip_asso_membres AS a_m'. ($id_groupe?' LEFT JOIN spip_asso_groupes_liaisons a_g_l ON a_m.id_auteur=a_g_l.id_auteur ':''), // from
     74                " statut_interne LIKE '$statut_interne' AND statut_interne <> 'sorti'". ($id_groupe?' AND id_groupe='.intval($id_groupe):''), //where
     75                '', // limit
     76                'nom_famille, prenom, validite' // order by
     77        );
    7278        $res = '';
    7379        while ($data = sql_fetch($query)) {
    74                 $res .= '<tr class="'.$GLOBALS['association_styles_des_statuts'][$data['statut_interne']].'">'
    75                 .'<td class="integer">'. $data['id_auteur'] .'</td>'
    76                 .'<td class="text">'. association_calculer_nom_membre($data['sexe'], $data['prenom'], $data['nom_famille']) .'</td>'
    77                 .'<td class="date">'. association_datefr($data['validite']) .'</td>'
    78                 .'<td class="action"><input name="id[]" type="checkbox" value="'.$data['id_auteur'].'" checked="checked" /><input name="statut['.$data['id_auteur'].']" type="hidden" value="'.$data['statut_interne'].'" /></td>'
     80                $res .= '<tr class="'.$GLOBALS['association_styles_des_statuts'][$data['statut_interne']].'" id="'.$data['id_auteur'].'">'
     81                .'<td class="integer"><label for="mbr'.$data['id_auteur'].'">'.$data['id_auteur'].'</label></td>'
     82                .'<td class="text"><label for="mbr'.$data['id_auteur'].'">'. association_calculer_nom_membre($data['sexe'], $data['prenom'], $data['nom_famille']) .'</label></td>'
     83                .'<td class="date"><label for="mbr'.$data['id_auteur'].'">'. association_datefr($data['validite']) .'</label></td>'
     84                .'<td class="action"><input name="id[]" type="checkbox" id="mbr'.$data['id_auteur'].'" value="'.$data['id_auteur'].'" checked="checked" /><input name="statut['.$data['id_auteur'].']" type="hidden" value="'.$data['statut_interne'].'" /></td>'
    7985                ."</tr>\n";
    8086        }
  • _plugins_/Association/Associaspip/exec/ventes.php

    r60892 r61063  
    2323                echo minipres();
    2424        } else {
    25                 $annee = intval(_request('annee'));
    26                 if(!$annee)
    27                         $annee = date('Y');
     25                $id_vente = intval(_request('id'));
     26                if ($id_vente) { // la presence de ce parametre interdit la prise en compte d'autres (a annuler donc si presents dans la requete)
     27                        $annee = sql_getfetsel("DATE_FORMAT(date_vente, '%Y')",'spip_asso_ventes', "id_vente=$id_vente"); // on recupere l'annee correspondante
     28                } else {
     29                        $annee = intval(_request('annee')); // on recupere l'annee requetee
     30                        $id_vente = ''; // ne pas afficher ce disgracieux '0'
     31                }
     32                if (!$annee) {
     33                        $annee = date('Y'); // par defaut c'est l'annee courante
     34                        $id_vente = ''; // virer l'ID inexistant
     35                }
    2836                onglets_association('titre_onglet_ventes');
    2937                // INTRO : nom du module et annee affichee
     
    4957                ) );
    5058                debut_cadre_association('ventes.gif', 'toutes_les_ventes');
    51                 // Filtres
    52                 echo '<table width="100%" class="asso_tablo_filtre"><tr>';
    53                 echo '<td>'. association_selectionner_annee($annee, 'ventes', 'vente','ventes') .'</td>';
    54                 echo '</tr></table>';
     59                // FILTRES
     60                filtres_association(array(
     61                        'annee' => array($annee, 'asso_ventes', 'vente'),
     62                        'id' => $id_vente,
     63                ), 'ventes');
    5564                //TABLEAU
    5665                echo "<table width='100%' class='asso_tablo' id='asso_tablo_ventes'>\n";
     
    6776                $query = sql_select('*', 'spip_asso_ventes', "DATE_FORMAT(date_vente, '%Y')=$annee", '',  'id_vente DESC') ;
    6877                while ($data = sql_fetch($query)) {
    69                         echo '<tr class="'. ($data['date_envoi']<$data['date_vente']?'pair':'impair') . '">';
     78                        echo '<tr class="'. ($data['date_envoi']<$data['date_vente']?'pair':'impair') . (($id_vente==$data['id_vente'])?' surligne':'') .'" id="'.$data['id_vente'].'">';
    7079                        echo '<td class="integer">'.$data['id_vente'].'</td>';
    7180                        echo '<td class="date">'. association_datefr($data['date_vente'],'dtstart') .'</td>';
  • _plugins_/Association/Associaspip/inc/navigation_modules.php

    r60892 r61063  
    129129}
    130130
    131 // Bloc (tableau en ligne) d'affinage (filtrage) des resultats dans les pages principales
    132 function filtres_association($liste_filtres, $exec='')
     131// Bloc (tableau en ligne) d'affinage (filtrage) des resultats dans les pages principales... (ici il s'agit de la navigation au sein des donnees tabulaires --un grand listing-- d'un module...)
     132function filtres_association($liste_filtres, $exec='', $supplements='', $td=TRUE)
    133133{
    134134        echo '<form method="get" action="'. ($exec?generer_url_ecrire($exec):'') .'">';
    135135        if ($exec)
    136136                echo "\n<input type='hidden' name='exec' value='$exec' />";
    137         echo "\n<table width='100%'><tr>";
    138         $largeur_cellules = ceil((100/count($liste_filtres)+1));
    139         foreach($liste_filtres as $filtre_selection =>$id_selectionne) {
    140                 echo "<td width='$largeur_cellules%'>". call_user_func("association_selectionner_$filtre_selection", $id_selectionne) .'</td>';
     137        echo "\n<". ($td?'table width="100%"':'ul') .' class="asso_tablo_filtres">'. ($td?'<tr>':'');
     138        foreach($liste_filtres as $filtre_selection =>$params) {
     139//              echo ($td?'<td>':'<li>') . call_user_func("association_selectionner_$filtre_selection", (is_array($params)?implode(', ',$params):$params) ) . ($td?'</td>':'</li>');
     140                echo ($td?'<td':'<li') ." class='filtre_$filtre_selection'>". call_user_func_array("association_selectionner_$filtre_selection", (is_array($params)?$params:array($params)) ) . ($td?'</td>':'</li>');
    141141        }
    142         echo "<td width='$largeur_cellules%' class='boutons'><noscript><input type='submit' value='". _T('asso:bouton_lister') ."' /></noscript></td>";
    143         echo "</tr></table>\n</form>\n";
     142        if ( is_array($supplements) ) {
     143                foreach ($supplements as $nom => $supplement) {
     144                        echo ($td?'<td':'<li') ." class='filtre_$nom'>$supplement</". ($td?'td>':'li>');
     145                }
     146        } elseif ($supplements) {
     147                echo ($td?'<td':'<li') .">$supplements</". ($td?'td>':'li>');
     148        }
     149        echo ($td?'<td':'<li') . ' class="boutons"><noscript><input type="submit" value="'. _T('asso:bouton_lister') .'" /></noscript></td>' . ($td?'</td>':'</li>');
     150        echo ($td?'</tr></table':'</ul>') .">\n</form>\n";
    144151}
    145152
Note: See TracChangeset for help on using the changeset viewer.