Changeset 65588 in spip-zone


Ignore:
Timestamp:
Sep 6, 2012, 5:58:54 AM (7 years ago)
Author:
gildas.cotomale@…
Message:

refactoring : utiliser un seul tableau au lieu d'une paire liée afin de minimiser les erreurs

Location:
_plugins_/Association/Associaspip
Files:
11 edited

Legend:

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

    r65538 r65588  
    612612}
    613613
     614/**
     615 * Affiche une puce de couleur
     616 *
     617 * @param string $statut
     618 *   Valeur du "statut" a iconifier
     619 * @param string $icone
     620 *   Nom (couleur) de la puce parmis celles disponibles : orange, rouge, vert, poubelle
     621 * @param bool $acote
     622 *   Indique si la legende est placee a cote de l'icone (vrai, par defaut) ou dedans (faux)
     623 * @return string
     624 *   Dessin et texte
     625 */
     626function association_formater_puce($statut, $icone, $texte='', $acote=TRUE)
     627{
     628        return $acote ? association_bouton_faire('', 'puce-'.$icone.'.gif', '', '', '') ' '._T("asso:$statut") : association_bouton_faire($statut, 'puce-'.$icone.'.gif', '', '', '') ; // c'est comme un bouton... mais n'a pas d'action
     629}
     630
    614631/** @} */
    615632
     
    11171134 * @param string $legende
    11181135 *   Complement du titre du tableau
    1119  * @param array $table_textes
    1120  *   'classe_unique_css_de_la_ligne' => 'chaine_de_langue' (sans prefixe "asso")
    1121  * @param array $table_nombres
    1122  *   'classe_unique_css_de_la_ligne' => effectif/occurence
     1136 * @param array $lignes
     1137 *   'classe_unique_css_de_la_ligne' => array( 'chaine_de_langue', effectif_occurence)
    11231138 * @param int $decimales_significatives
    11241139 *   Nombre de decimales affichees
     
    11301145 *   Les classes CSS sont utilisees comme cle des tables parce-qu'il ne doit y en avoir qu'une par ligne.
    11311146 */
    1132 function association_totauxinfos_effectifs($legende='', $table_textes, $table_nombres, $decimales_significatives=0)
    1133 {
    1134         if (!is_array($table_textes) || !is_array($table_nombres) )
     1147function association_totauxinfos_effectifs($legende='', $lignes, $decimales_significatives=0)
     1148{
     1149        if (!is_array($lignes) )
    11351150                return FALSE;
    11361151        $nombre = $nombre_total = 0;
    11371152        $res = '<table width="100%" class="asso_infos">';
    11381153        $res .= '<caption>'. _T('asso:totaux_nombres', array('de_par'=>_T("local:$legende"))) .'</caption><tbody>';
    1139         foreach ($table_textes as $classe_css=>$libelle) {
     1154        foreach ($tlgnes as $classe_css=>$params) {
    11401155                $res .= '<tr class="'.$classe_css.'">';
    1141                 $res .= '<td class"text">'._T('asso:'.$libelle).'</td>';
    1142                 $res .= '<td class="' .($decimales_significatives?'decimal':'integer') .'">'. association_formater_nombre($table_nombres[$classe_css],$decimales_significatives) .'</td>';
    1143                 $nombre_total += $table_nombres[$classe_css];
     1156                $res .= '<td class"text">'._T('asso:'.$params[0]).'</td>';
     1157                $res .= '<td class="' .($decimales_significatives?'decimal':'integer') .'">'. association_formater_nombre($params[1],$decimales_significatives) .'</td>';
     1158                $nombre_total += $params[1];
    11441159                $res .= '</tr>';
    11451160        }
     
    13491364 * Listing sous forme de tableau HTML
    13501365 *
    1351  * @param array $entetes
    1352  *   Liste des chaines de langue des libelles d'entete
    1353  * @param ressource $reponse_sql
    1354  *   Resultat du "sql_select"
    1355  * @param array $formats
    1356  *   'nom_ou_alias_du_champ' => array('format', 'parametre1', ...)
     1366 * @param array $requete_sql
     1367 *   Liste des parametres de "sql_select()"
     1368 *   http://doc.spip.org/@sql_select
     1369 *   http://programmer.spip.net/sql_select,569
     1370 * @param array $presentation
     1371 *   Tableau decrivant les donnees affichees :
     1372 *   'nom_ou_alias_du_champ' => array('chaine_de:langue_du_libelle_d_entete', 'nom_du_format', 'parametre1', ...)
    13571373 *   Le nom du format est celui de la fonction de formatage du meme nom prefixee de association_formater_
    13581374 * @param array $boutons
    13591375 *   array('bouton', 'parametre1', ...)
    13601376 *   Le nom du type de bouton est celui de la fonction d'action du meme nom prefixee de association_bouton_
     1377 * @param string $cle1
     1378 *   Nom (ou alias) de la colonne cle primaire,
    13611379 * @param array $extra
    1362  *   Elements annexes optionnel :
    1363  *   - 'table' => 'nom_de_la_table_sql_sans_prefixe',
    1364  *   - 'key' => 'nom_de_la_colonne_cle_primaire',
    1365  *   - 'colors' => array('couleur1', ...)
     1380 *   Liste de classes supplemetaires appliquees alternativement aux lignes ;
     1381 *   Ou tableau des valeur=>classe supplementaires appliquees aux lignes presentant la valeur
     1382 * @param string $cle2
     1383 *   Nom (ou alias) de la colonne dont les valeurs servent de cle de classe
     1384 * @param int $selection
     1385 *   ID de la cle primaire selectionnee
    13661386 * @return string $res
    13671387 *   Table-HTML listant les donnees formatees
    13681388 */
    1369 function association_bloc_listehtml($entetes, $reponse_sql, $formats, $boutons=array(), $extra=array() )
    1370 {
    1371         $res =  '<table width="100%" class="asso_tablo'. ($extra['table']?'" id="liste_'.$extra['table']:'').'">';
     1389function association_bloc_listehtml($requete_sql, $presentation, $boutons=array(), $cle1='', $extra=array(), $cle2='', $selection=0 )
     1390{
     1391        if ( !is_array($requete_sql) || count($requete_sql)<2 )
     1392                return '';
     1393        $table = ($requete_sql[1] ? $requete_sql[1] : ($requete_sql['table'] ? $requete_sql['table'] : ($requete_sql['from']?$requete_sql['from']:$requete_sql['tables']) ) ) ; // on recupere la partie "FROM" de la requete SQL...
     1394        $table = substr_replace(trim( is_array($table)?$table[0]:$table ), '', 0, 5); //  on supprime le prefixe "spip_" de la 1ere table (normalement la principale...)
     1395        $spc_pos = strpos($table, ' '); // requete avec alias (" AS ") ou jointure de plusieurs tables ( " JOIN ")
     1396        $table = substr($table, 0, $spc_pos?$spc_pos:strlen($table) ); // on recupere jusqu'au premier espace (donc le vrai nom de la 1ere table) sinon la fin.
     1397        $res =  '<table width="100%" class="asso_tablo" id="liste_'.$table.'">';
    13721398        $res .= "\n<thead>\n<tr>";
    1373         foreach ($entetes as $entete) {
    1374                 $res .= '<th>'. _T($entete) .'</th>';
     1399        foreach ($presentation as &$param) {
     1400                $entete = array_shift($param);
     1401                $res .= '<th>'. _T((strpos($entete,':') ? '' : 'asso:').$entete) .'</th>';
    13751402        }
    13761403        if ( count($boutons) ) {
     
    13781405        }
    13791406        $res .= "</tr>\n</thead><tbody>";
    1380         if ( !$reponse_sql && $extra['table'] ) {
    1381                 $reponse_sql = sql_select('*', 'spip_'.$extra['table'], $extra['where'], $extra['order']) ;
    1382         }
    13831407        $nbr_lignes = 0;
     1408        $reponse_sql = call_user_func_array('sql_select', $requete_sql);
    13841409        while ($data = sql_fetch($reponse_sql)) {
    1385                 $res .= '<tr'. ($extra['key']?' id="'.$data[$extra['key']].'"':'') .'>';
    1386                 foreach ($formats as $champ=>$params) {
     1410                $res .= '<tr'. ($cle1?' id="'.$data[$cle1].'"':'') .'>';
     1411                foreach ($presentation as $champ=>$params) {
    13871412                        $format = array_shift($params);
    13881413                        switch ($format) {
     
    14051430                                        break;
    14061431                        }
    1407                         if ( is_array($extra['colors']) && $nbr_couleurs=count($extra['colors']) ) {
    1408                                 $nbr_lignes++;
    1409                                 $classes .= ' '.$extra['colors'][$nbr_lignes%$nbr_couleurs];
    1410                         }
     1432                        if ( is_array($extra) && $nbr_couleurs=count($extra) ) { // on a bien un tableau de classes supplementaires
     1433                                if ( $cle2 ) { // lignes colorees selon les valeurs d'un champ
     1434                                        $classes .= ' '.$extra[$data[$cle2]];
     1435                                } else { // simple alternance de couleurs
     1436                                        $nbr_lignes++;
     1437                                        $classes .= ' '.$extra[$nbr_lignes%$nbr_couleurs];
     1438                                }
     1439                        } elseif ( $extra ) { // classe supplementaire appliquee inconditionnellement
     1440                                $classes .= " $extra";
     1441                        }
     1442                        if ( $data[$cle1]==$selection )
     1443                                $classes .= ' surligne';
    14111444                        $ok = array_unshift($params,$data[$champ]);
    14121445                        $res .= '<td class="'.$classes.'">'. call_user_func_array("association_formater_$format", $params) .'</td>';
     
    14151448                        $type = array_shift($params);
    14161449                        foreach ($params as &$param) {
    1417                                 $param = str_replace('$$', $data[$extra['key']], $param);
     1450                                $param = str_replace('$$', $data[$cle1], $param);
    14181451                        }
    14191452                        $res .= call_user_func_array("association_bouton_$type", $params);
  • _plugins_/Association/Associaspip/exec/activites.php

    r65469 r65588  
    3737                // TOTAUX : nombre d'activites de l'annee en cours repartis par mots-clefs
    3838                // TOTAUX : nombre d'activites de l'annee en cours repartis par iscriptions
    39                 $liste_libelles = $liste_effectifs = array();
    40                 $liste_libelles['pair'] = _T('asso:activites_avec_inscrits');
    41                 $liste_effectifs['pair'] = sql_count( sql_select('*, SUM(a.inscrits)', 'spip_asso_activites AS a INNER JOIN spip_evenements AS e ON a.id_evenement=e.id_evenement ', "DATE_FORMAT(e.date_debut, '%Y')=$annee",'a.id_evenement', '', '', "SUM(a.inscrits)>0") );
    42                 $liste_libelles['impair'] = _T('asso:activites_sans_inscrits');
     39                $liste_effectifs = array();
     40                $liste_effectifs['pair'] = sql_count(sql_select('*, SUM(a.inscrits)', 'spip_asso_activites AS a INNER JOIN spip_evenements AS e ON a.id_evenement=e.id_evenement ', "DATE_FORMAT(e.date_debut, '%Y')=$annee",'a.id_evenement', '', '', "SUM(a.inscrits)>0"));
    4341                $liste_effectifs['impair'] = sql_countsel('spip_asso_activites AS a LEFT JOIN spip_evenements AS e ON a.id_evenement=e.id_evenement', "DATE_FORMAT(e.date_debut, '%Y')=$annee",'a.id_evenement', "SUM(a.inscrits)=0");
    4442                $liste_effectifs['impair'] = sql_countsel('spip_evenements', "DATE_FORMAT(date_debut, '%Y')=$annee")-$liste_effectifs['pair']; // le monde a l'envers... mais ca fonctionne
    45                 echo association_totauxinfos_effectifs('activites', $liste_libelles, $liste_effectifs);
     43                echo association_totauxinfos_effectifs('activites', array(
     44                        'pair'=>array( 'asso:activites_avec_inscrits', $liste_effectifs['pair'], ),
     45                        'impair'=>array( 'asso:activites_sans_inscrits', $liste_effectifs['impair'], ),
     46                ));
    4647/*
    4748                // STATS sur toutes les participations
    4849                echo association_totauxinfos_stats('participations_par_personne_par_activite', 'activites', array('activite_entete_inscrits'=>'inscrits','entete_montant'=>'montant',), "DATE_FORMAT(date, '%Y')=$annee");
     50*/
    4951                // TOTAUX : montants des participations durant l'annee en cours
    5052                $data = sql_fetsel('SUM(recette) AS somme_recettes, SUM(depense) AS somme_depenses', 'spip_asso_comptes', "DATE_FORMAT('date', '%Y')=$annee AND imputation=".sql_quote($GLOBALS['association_metas']['pc_activites']) );
    5153                echo association_totauxinfos_montants('activites', $data['somme_recettes'], $data['somme_depenses']);
    52 */
    5354                // datation et raccourci vers la gestion des evenements
    5455                if ( test_plugin_actif('SIMPLECAL') ) { // gestion des evenements avec Simple Calendrier
     
    7172                echo '<td id="filtre_annee">'. association_selectionner_annee($annee, 'evenements', 'debut') .'</td>';
    7273#               echo '<td id="filtre_id">'. association_selectionner_id($id_evenement) .'</td>';
    73                 if (test_plugin_actif('AGENDA')) { /* le plugin "Agenda 2" peut associer des mots-cles aux evenements : les proposer comme critere de filtrage */
     74                if (test_plugin_actif('AGENDA')) { // le plugin "Agenda 2" peut associer des mots-cles aux evenements : les proposer comme critere de filtrage
    7475                        if ($id_mot) {
    7576                                $mc_sel = ', M.id_mot AS motact';
  • _plugins_/Association/Associaspip/exec/adherents.php

    r65491 r65588  
    3030                $membres = $GLOBALS['association_liste_des_statuts'];
    3131                array_shift($membres); // on sort les anciens membres
    32                 $liste_libelles = $liste_effectifs = array();
     32                $liste_decomptes = array();
    3333                foreach ($membres as $statut) {
    3434                        $classe_css = $GLOBALS['association_styles_des_statuts'][$statut];
    35                         $liste_libelles[$classe_css] = _T('asso:adherent_liste_nombre_'.$statut);
    36                         $liste_effectifs[$classe_css] = sql_countsel('spip_asso_membres', "statut_interne='$statut'");
    37                 }
    38                 echo association_totauxinfos_effectifs('adherents', $liste_libelles, $liste_effectifs);
     35                        $liste_decomptes[$classe_css] = array( 'adherent_liste_nombre_'.$statut, sql_countsel('spip_asso_membres', "statut_interne='$statut'"), );
     36                }
     37                echo association_totauxinfos_effectifs('adherents', $liste_decomptes);
    3938                // TOTAUX : montants des cotisations durant l'annee en cours
    4039                $annee = date('Y'); // dans la requete SQL est : DATE_FORMAT(NOW(), '%Y') ou YEAR(NOW())
  • _plugins_/Association/Associaspip/exec/categories.php

    r65538 r65588  
    3333                debut_cadre_association('calculatrice.gif','toutes_categories_de_cotisations');
    3434                echo association_bloc_listehtml(
    35                         array('asso:entete_id', 'asso:entete_code', 'asso:libelle_intitule', 'asso:entete_duree', 'asso:entete_montant', 'asso:entete_commentaire', ), // entetes
    36                         sql_select('*', 'spip_asso_categories', '', 'id_categorie'), // ressource requete
     35                        array('*', 'spip_asso_categories', '', 'id_categorie'), // requete
    3736                        array(
    38                                 'id_categorie' => array('entier'),
    39                                 'valeur' => array('texte'),
    40                                 'libelle' => array('texte'),
    41                                 'duree' => array('duree', 'dtstart'),
    42                                 'cotisation' => array('prix'),
    43                                 'commentaire' => array('texte', 'propre'),
    44                         ), // formats des donnees
     37                                'id_categorie' => array('asso:entete_id', 'entier'),
     38                                'valeur' => array('asso:entete_code', 'texte'),
     39                                'libelle' => array('asso:libelle_intitule', 'texte'),
     40                                'duree' => array('asso:entete_duree', 'duree', 'dtstart'),
     41                                'cotisation' => array('asso:entete_montant', 'prix'),
     42                                'commentaire' => array('asso:entete_commentaire', 'texte', 'propre'),
     43                        ), // entetes et formats des donnees
    4544                        array(
    46                                 array('categorie', 'exercice', 'id=$$', 'td'),
    47                                 array('categorie', 'exercice', 'id=$$', 'td'),
     45                                array('supprimer', 'categorie', 'id=$$', 'td'),
     46                                array('modifier', 'categorie', 'id=$$', 'td'),
    4847                        ), // boutons d'action
    49                         array('key'=>'id_categorie') // extra
     48                        'id_categorie' // champ portant la cle des lignes et des boutons
    5049                );
    5150                fin_page_association();
  • _plugins_/Association/Associaspip/exec/comptes.php

    r65469 r65588  
    6060                                $nombre_direction = sql_countsel('spip_asso_comptes', "journal='".$financier['journal']."' AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' AND $direction<>0 ");
    6161                                if ($nombre_direction) { // on ne s'embarasse pas avec ceux a zero
    62                                         $direction_libelles[$financier['journal']] = $financier['intitule'];
    63                                         $direction_effectifs[$financier['journal']] = $nombre_direction;
     62                                        $direction_decomptes[$financier['journal']] = array( $financier['intitule'], $nombre_direction, );
    6463                                }
    6564                        }
    6665                        if (count($direction_libelles))
    67                                 echo association_totauxinfos_effectifs(_T('asso:compte_entete_financier') .': '. _T('asso:'.$direction.'s'), $direction_libelles, $direction_effectifs); // ToDo: tri par ordre decroissant (sorte de "top")
     66                                echo association_totauxinfos_effectifs(_T('asso:compte_entete_financier') .': '. _T('asso:'.$direction.'s'), $direction_decomptes); // ToDo: tri par ordre decroissant (sorte de "top")
    6867                }
    6968                // TOTAUX : operations de l'exercice par type d'operation
    7069                $classes = array('pair'=>'produits', 'impair'=>'charges', 'cv'=>'contributions_volontaires', 'vi'=>'banques');
    71                 $liste_libelles = $liste_effectifs = array();
     70                $liste_types = array();
    7271                foreach ($classes as $classe_css=>$classe_cpt) {
    73                         $liste_effectifs[$classe_css] = sql_countsel('spip_asso_comptes', "LEFT(imputation,1)='".$GLOBALS['association_metas']["classe_$classe_cpt"]."' AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' ");
    74                         $liste_libelles[$classe_css] = 'compte_liste_nombre_'.$classe_css;
    75                 }
    76                 echo association_totauxinfos_effectifs('compte_entete_imputation', $liste_libelles, $liste_effectifs);
     72                        $liste_types[$classe_css] = array( 'compte_liste_nombre_'.$classe_css, sql_countsel('spip_asso_comptes', "LEFT(imputation,1)='".$GLOBALS['association_metas']["classe_$classe_cpt"]."' AND date>='$exercice_data[debut]' AND date<='$exercice_data[fin]' "), );
     73                }
     74                echo association_totauxinfos_effectifs('compte_entete_imputation', $liste_types);
    7775                // STATS : montants de l'exercice pour l'imputation choisie (toutes si aucune)
    7876                echo association_totauxinfos_stats('mouvements', 'comptes', array('bilan_recettes'=>'recette','bilan_depenses'=>'depense',), $where, 2);
  • _plugins_/Association/Associaspip/exec/dons.php

    r65469 r65588  
    3838                echo association_totauxinfos_intro('','dons',$annee);
    3939                // TOTAUX : nombre de dons selon leur nature
    40                 $liste_libelles = array('pair'=>'dons_financier', 'prospect'=>'dons_en_nature', 'impair'=>'autres');
    41                 $liste_effectifs['pair'] = sql_countsel('spip_asso_dons', "argent<>0 AND colis='' AND  DATE_FORMAT(date_don, '%Y')='$annee' ");
    42                 $liste_effectifs['prospect'] = sql_countsel('spip_asso_dons', "argent=0 AND colis<>'' AND  DATE_FORMAT(date_don, '%Y')='$annee' ");
    43                 $liste_effectifs['impair'] = sql_countsel('spip_asso_dons', "DATE_FORMAT(date_don, '%Y')='$annee' ")-$liste_effectifs['pair']-$liste_effectifs['prospect'];
    44                 echo association_totauxinfos_effectifs('dons', $liste_libelles, $liste_effectifs);
     40                $liste_effectifs = array(
     41                        'argent' => sql_countsel('spip_asso_dons', "argent<>0 AND colis='' AND  DATE_FORMAT(date_don, '%Y')='$annee' "),
     42                        'colis' => sql_countsel('spip_asso_dons', "argent=0 AND colis<>'' AND  DATE_FORMAT(date_don, '%Y')='$annee' ")
     43                );
     44                echo association_totauxinfos_effectifs('dons', array(
     45                        'pair' => array( 'dons_financier', $liste_effectifs['argent'], ),
     46                        'prospect' => array('dons_en_nature', $liste_effectifs['colis'], ),
     47                        'impair' => array('autres', sql_countsel('spip_asso_dons', "DATE_FORMAT(date_don, '%Y')='$annee' ")-$liste_effectifs['argent']-$liste_effectifs['colis'] ),
     48                ));
    4549                // STATS sur les donnations de l'annee
    4650                echo association_totauxinfos_stats('donnations', 'dons', array('dons_financier'=>'argent','don_en_nature'=>'valeur',), "DATE_FORMAT(date_don, '%Y')='$annee' ");
  • _plugins_/Association/Associaspip/exec/exercices.php

    r65538 r65588  
    2626                // notice
    2727                echo '';
    28                 // quelques stats sur les categories
     28                // quelques stats sur les exrcices
    2929                echo association_totauxinfos_stats('tous', 'exercices', array('semaines'=>"TIMESTAMPDIFF(week,debut,fin)", 'mois'=>"TIMESTAMPDIFF(month,debut,fin)") );
    3030                /* portability issue on "DATEDIFF(week,debut,fin)"
     
    4343                debut_cadre_association('calculatrice.gif', 'tous_les_exercices');
    4444                echo association_bloc_listehtml(
    45                         array('asso:entete_id', 'asso:entete_intitule', 'asso:exercice_entete_debut', 'asso:exercice_entete_fin', 'asso:entete_commentaire', ), // entetes
    46                         sql_select('*', 'spip_asso_exercices', '', 'intitule DESC'), // ressource requete
     45                        array('*', 'spip_asso_exercices', '', 'intitule DESC'), // requete
    4746                        array(
    48                                 'id_exercice' => array('entier'),
    49                                 'intitule' => array('texte'),
    50                                 'debut' => array('date', 'dtstart'),
    51                                 'fin' => array('date', 'dtend'),
    52                                 'commentaire' => array('texte', 'propre'),
    53                         ), // formats des donnees
     47                                'id_exercice' => array('asso:entete_id', 'entier'),
     48                                'intitule' => array('asso:entete_intitule', 'texte'),
     49                                'debut' => array('asso:exercice_entete_debut', 'date', 'dtstart'),
     50                                'fin' => array('asso:exercice_entete_fin', 'date', 'dtend'),
     51                                'commentaire' => array('asso:entete_commentaire', 'texte', 'propre'),
     52                        ), // entetes et formats des donnees
    5453                        array(
    5554                                array('supprimer', 'exercice', 'id=$$', 'td'),
    5655                                array('modifier', 'exercice', 'id=$$', 'td'),
    5756                        ), // boutons d'action
    58                         array('key'=>'id_exercice') // extra
     57                        'id_exercice' // champ portant la cle des lignes et des boutons
    5958                );
    6059                fin_page_association();
  • _plugins_/Association/Associaspip/exec/inscrits_activite.php

    r65469 r65588  
    3333                echo association_totauxinfos_stats('participations', 'activites', array('activite_entete_inscrits'=>'inscrits','entete_montant'=>'montant',), "id_evenement=$id_evenement");
    3434                // TOTAUX : nombres d'inscrits par etat de paiement
    35                 $liste_libelles = $liste_effectifs = array();
    36                 $liste_libelles['valide'] = _T('asso:activite_entete_validees');
    37                 $liste_libelles['pair'] = _T('asso:activite_entete_impayees');
    38                 $liste_effectifs['valide'] = sql_getfetsel('COUNT(*)+SUM(inscrits) AS valide', 'spip_asso_activites', "id_evenement=$id_evenement AND date_paiement<date_inscription ");
    39                 $liste_effectifs['impair'] = sql_getfetsel('COUNT(*)+SUM(inscrits) AS impair', 'spip_asso_activites', "id_evenement=$id_evenement AND NOT date_paiement<date_inscription ");
    40                 echo association_totauxinfos_effectifs('activites', $liste_libelles, $liste_effectifs);
     35                echo association_totauxinfos_effectifs('activites', array(
     36                        'valide' => array( 'asso:activite_entete_validees', sql_getfetsel('COUNT(*)+SUM(inscrits) AS valide', 'spip_asso_activites', "id_evenement=$id_evenement AND date_paiement<date_inscription "), ),
     37                        'pair' => array( 'asso:activite_entete_impayees', sql_getfetsel('COUNT(*)+SUM(inscrits) AS pair', 'spip_asso_activites', "id_evenement=$id_evenement AND NOT date_paiement<date_inscription "), ),
     38                ));
    4139                // TOTAUX : montants des participations
    4240                $montant = sql_fetsel('SUM(montant) AS encaisse', 'spip_asso_activites', "id_evenement=$id_evenement " );
  • _plugins_/Association/Associaspip/exec/prets.php

    r65469 r65588  
    6161                echo association_totauxinfos_intro($ressource['intitule'], 'ressource', $id_ressource, $infos, 'asso', 'asso_ressource');
    6262                // TOTAUX : nombres d'emprunts de la ressource depuis le debut
    63                 $liste_libelles = $liste_effectifs = array();
    64                 $liste_libelles['pair'] = _T('asso:prets_restitues'); // restitues, termines, anciens, ...
    65                 $liste_libelles['impair'] = _T('asso:prets_encours'); // dus, en attente, en cours, nouveaux, ...
    66                 $liste_effectifs['pair'] = sql_countsel('spip_asso_prets', "id_ressource=$id_ressource AND date_retour>date_sortie");
    67                 $liste_effectifs['impair'] = sql_countsel('spip_asso_prets', "id_ressource=$id_ressource AND date_retour<=date_sortie");
    68                 echo association_totauxinfos_effectifs('prets', $liste_libelles, $liste_effectifs);
     63                echo association_totauxinfos_effectifs('prets', array(
     64                        'pair' => array( 'prets_restitues', sql_countsel('spip_asso_prets', "id_ressource=$id_ressource AND date_retour>date_sortie"), ), // restitues, termines, anciens, ...
     65                        'impair' => array( 'prets_encours', sql_countsel('spip_asso_prets', "id_ressource=$id_ressource AND date_retour<=date_sortie"), ), // dus, en attente, en cours, nouveaux, ...
     66                ));
    6967                // STATS sur la duree et le montant des emprunts
    7068                echo association_totauxinfos_stats('prets', 'prets', array('entete_duree'=>'duree','entete_montant'=>'duree*prix_unitaire',), "id_ressource=$id_ressource");
  • _plugins_/Association/Associaspip/exec/ressources.php

    r65469 r65588  
    2626                echo '<p>'._T('asso:ressources_info').'</p>';
    2727                // TOTAUX : nombre de ressources par statut
    28                 $liste_libelles['valide'] = '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-verte.gif" alt="" /> '. _T('asso:ressources_libelle_statut_ok') ;
    29                 $liste_effectifs['valide'] = sql_countsel('spip_asso_ressources', "statut='ok' OR ROUND(statut,0)>0");
    30                 $liste_libelles['prospect'] = '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-orange.gif" alt="" /> '. _T('asso:ressources_libelle_statut_suspendu') ;
    31                 $liste_effectifs['prospect'] = sql_countsel('spip_asso_ressources', "statut='suspendu' OR ROUND(statut,0)<0");
    32                 $liste_libelles['cv'] = '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-rouge.gif" alt="" /> '. _T('asso:ressources_libelle_statut_reserve') ;
    33                 $liste_effectifs['cv'] = sql_countsel('spip_asso_ressources', "statut IN ('reserve',0)");
    34                 $liste_libelles['sorti'] = '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-poubelle.gif" alt="" /> '. _T('asso:ressources_libelle_statut_sorti') ;
    35                 $liste_effectifs['sorti'] = sql_countsel('spip_asso_ressources', "statut IN ('sorti','',NULL)");
    36                 echo association_totauxinfos_effectifs('ressources', $liste_libelles, $liste_effectifs);
     28                echo association_totauxinfos_effectifs('ressources', array(
     29                        'valide' => array( association_formater_puce('asso:ressources_libelle_statut_ok', 'verte'), sql_countsel('spip_asso_ressources', "statut='ok' OR ROUND(statut,0)>0"), ),
     30                        'prospect' => array( association_formater_puce('asso:ressources_libelle_statut_suspendu', 'orange'), sql_countsel('spip_asso_ressources', "statut='suspendu' OR ROUND(statut,0)<0"), ),
     31                        'cv' => array( association_formater_puce('asso:ressources_libelle_statut_reserve', 'rouge'), sql_countsel('spip_asso_ressources', "statut IN ('reserve',0)"), ),
     32                        'sorti' => array( association_formater_puce('asso:ressources_libelle_statut_sorti', 'poubelle'), sql_countsel('spip_asso_ressources', "statut IN ('sorti','',NULL)"), ),
     33                ));
    3734/* mdr : cela n'a de sens que si les ressources se pretent toutes sur la meme unite...
    3835                // STATS sur tous les prets
     
    9390                        echo "<tr class='$css'>";
    9491                        echo '<td class="integer">'.$data['id_ressource'].'</td>';
    95                         echo '<td class="actions">'. association_bouton_faire('','puce-'.$puce.'.gif', '', '', 'title="'.$data['statut'].'"') .'</td>';
     92                        echo '<td class="actions">'. association_formater_puce($data['statut'], $puce, false) .'</td>';
    9693                        echo '<td class="text">'.$data['intitule'].'</td>';
    9794                        echo '<td class="text">'.$data['code'].'</td>';
  • _plugins_/Association/Associaspip/exec/ventes.php

    r65469 r65588  
    3838                echo association_totauxinfos_intro('','ventes',$annee);
    3939                // TOTAUX : nombre de ventes selon etat de livraison
    40                 $liste_libelles = array('pair'=>'ventes_enregistrees', 'impair'=>'ventes_expediees', );
    41                 $liste_effectifs['pair'] = sql_countsel('spip_asso_ventes', "date_envoi<date_vente AND  DATE_FORMAT(date_vente, '%Y')=$annee ");
    42                 $liste_effectifs['impair'] = sql_countsel('spip_asso_ventes', "date_envoi>=date_vente AND  DATE_FORMAT(date_vente, '%Y')=$annee ");
    43                 echo association_totauxinfos_effectifs('ventes', $liste_libelles, $liste_effectifs);
     40                echo association_totauxinfos_effectifs('ventes', array(
     41                        'pair' => array( 'ventes_enregistrees', sql_countsel('spip_asso_ventes', "date_envoi<date_vente AND  DATE_FORMAT(date_vente, '%Y')=$annee "), ),
     42                        'impair' => array( 'ventes_expediees', sql_countsel('spip_asso_ventes', "date_envoi>=date_vente AND  DATE_FORMAT(date_vente, '%Y')=$annee "), ),
     43                ));
    4444                // STATS sur les paniers/achats/commandes
    4545                echo association_totauxinfos_stats('paniers/commandes', 'ventes', array('entete_quantite'=>'quantite','entete_montant'=>'prix_vente*quantite',), "DATE_FORMAT(date_vente, '%Y')=$annee");
Note: See TracChangeset for help on using the changeset viewer.