Changeset 65683 in spip-zone


Ignore:
Timestamp:
Sep 8, 2012, 10:46:38 AM (7 years ago)
Author:
gildas.cotomale@…
Message:

suite refactoring et corrections

Location:
_plugins_/Association/Associaspip
Files:
6 edited

Legend:

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

    r65682 r65683  
    617617 * @param string $statut
    618618 *   Valeur du "statut" a iconifier
    619  * @param string $icone
    620  *   Nom (couleur) de la puce parmis celles disponibles : orange, rouge, vert, poubelle
     619 * @param string|array $icone
     620 *   Nom (couleur) de la puce parmis celles disponibles : orange, rouge, vert, poubelle...
     621 *   Tableau associant chaque statut a un nom de puce...
    621622 * @param bool $acote
    622623 *   Indique si la legende est placee a cote de l'icone (vrai, par defaut) ou dedans (faux)
     
    626627function association_formater_puce($statut, $icone,  $acote=TRUE)
    627628{
     629        if ( is_array($icone) )
     630                $icone = $icone[$statut];
    628631        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
    629632}
     
    11491152        if (!is_array($lignes) )
    11501153                return FALSE;
    1151         $nombre = $nombre_total = 0;
     1154        $nbr_actuel = $nbr_total = 0;
    11521155        $res = '<table width="100%" class="asso_infos">';
    11531156        $res .= '<caption>'. _T('asso:totaux_nombres', array('de_par'=>_T("local:$legende"))) .'</caption><tbody>';
     
    11551158                $res .= '<tr class="'.$classe_css.'">';
    11561159                $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];
     1160                $nbr_actuel = is_array($params[1]) ? call_user_func_array('sql_countsel', $params[1]) : $params[1] ;
     1161                $res .= '<td class="' .($decimales_significatives?'decimal':'integer') .'">'. association_formater_nombre($nbr_actuel, $decimales_significatives) .'</td>';
     1162                $nbr_total += $nbr_actuel;
    11591163                $res .= '</tr>';
    11601164        }
     
    11631167                $res .= '<tfoot>';
    11641168                $res .= '<tr><th class="text">'._T('asso:liste_nombre_total').'</th>';
    1165                 $res .= '<th class="' .($decimales_significatives?'decimal':'integer') .'">'. association_formater_nombre($nombre_total,$decimales_significatives) .'</th></tr>';
     1169                $res .= '<th class="' .($decimales_significatives?'decimal':'integer') .'">'. association_formater_nombre($nbr_total, $decimales_significatives) .'</th></tr>';
    11661170                $res .= '</tfoot>';
    11671171        }
     
    11881192        $res = '<table width="100%" class="asso_infos">';
    11891193        $res .= '<caption>'. _T('asso:totaux_montants', array('de_par'=>_T("local:$legende"))) .'</caption><tbody>';
    1190 #       if ($somme_recettes) {
     1194        $recettes = is_array($somme_recettes) ? call_user_func_array('sql_getfetsel', $somme_recettes) : $somme_recettes ;
     1195#       if ($recettes) {
    11911196                $res .= '<tr class="impair">'
    11921197                . '<th class="entree">'. _T('asso:bilan_recettes') .'</th>'
    1193                 . '<td class="decimal">' .association_formater_prix($somme_recettes). ' </td>'
     1198                . '<td class="decimal">' .association_formater_prix($recettes). ' </td>'
    11941199                . '</tr>';
    11951200#       }
    1196 #       if ($somme_depenses) {
     1201        $depenses = is_array($somme_depenses) ? call_user_func_array('sql_getfetsel', $somme_depenses) : $somme_depenses ;
     1202#       if ($depenses) {
    11971203                $res .= '<tr class="pair">'
    11981204                . '<th class="sortie">'. _T('asso:bilan_depenses') .'</th>'
    1199                 . '<td class="decimal">'.association_formater_prix($somme_depenses) .'</td>'
     1205                . '<td class="decimal">'.association_formater_prix($depenses) .'</td>'
    12001206                . '</tr>';
    12011207#       }
    1202         if ($somme_recettes && $somme_depenses) {
    1203                 $solde = $somme_recettes-$somme_depenses;
     1208        if ($recettes && $depenses) {
     1209                $solde = $recettes-$depenses;
    12041210                $res .= '<tr class="'.($solde>0?'impair':'pair').'">'
    12051211                . '<th class="solde">'. _T('asso:bilan_solde') .'</th>'
     
    13991405        foreach ($presentation as &$param) {
    14001406                $entete = array_shift($param);
    1401                 $res .= '<th>'. _T((strpos($entete,':') ? '' : 'asso:').$entete) .'</th>';
     1407                $res .= '<th>'. ($entete ? _T((strpos($entete,':') ? '' : 'asso:').$entete) : '&nbsp;' ) .'</th>';
    14021408        }
    14031409        if ( count($boutons) ) {
     
    14081414        $reponse_sql = call_user_func_array('sql_select', $requete_sql);
    14091415        while ($data = sql_fetch($reponse_sql)) {
    1410                 $res .= '<tr'. ($cle1?' id="'.$data[$cle1].'"':'') .'>';
     1416                if ( is_array($extra) && $nbr_couleurs=count($extra) ) { // on a bien un tableau de classes supplementaires
     1417                        if ( $cle2 ) { // lignes colorees selon les valeurs d'un champ
     1418                                $tr_css = $extra[$data[$cle2]];
     1419                        } else { // simple alternance de couleurs
     1420                                $nbr_lignes++;
     1421                                $tr_css = $extra[$nbr_lignes%$nbr_couleurs];
     1422                        }
     1423                } elseif ( $extra ) { // classe supplementaire appliquee inconditionnellement
     1424                                $tr_css = $extra;
     1425                }
     1426                $res .= '<tr'. ($cle1?' id="'.$data[$cle1].'"':'') . ($tr_css?' class="'.$tr_css.'"':'') .'>';
    14111427                foreach ($presentation as $champ=>$params) {
    14121428                        $format = array_shift($params);
     
    14141430                                case 'date' :
    14151431                                case 'heure' :
    1416                                         $classes = 'date';
     1432                                        $td_css = 'date';
    14171433                                        break;
    14181434                                case 'duree' :
    14191435                                case 'nombre' :
    14201436                                case 'prix' :
    1421                                         $classes = 'decimal';
     1437                                        $td_css = 'decimal';
    14221438                                        break;
    14231439                                case 'entier' :
    1424                                         $classes = 'integer';
     1440                                        $td_css = 'integer';
    14251441                                        $format = 'nombre'; $params = array(0);
     1442                                        break;
     1443                                case 'puce' :
     1444                                case 'logo' :
     1445                                        $td_css = 'image';
    14261446                                        break;
    14271447                                case 'texte' : // ajouter : propre()
    14281448                                default :
    1429                                         $classes = 'text';
    1430                                         break;
    1431                         }
    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";
     1449                                        $td_css = 'text';
     1450                                        break;
    14411451                        }
    14421452                        if ( $data[$cle1]==$selection )
    14431453                                $classes .= ' surligne';
    14441454                        $ok = array_unshift($params,$data[$champ]);
    1445                         $res .= '<td class="'.$classes.'">'. call_user_func_array("association_formater_$format", $params) .'</td>';
     1455                        $res .= '<td class="'.$td_css.'">'. call_user_func_array("association_formater_$format", $params) .'</td>';
    14461456                }
    14471457                foreach ($boutons as $params) {
     
    14501460                                $param = str_replace('$$', $data[$cle1], $param);
    14511461                        }
    1452                         $res .= call_user_func_array("association_bouton_$type", $params);
     1462                        $res .= '<td class="action">'. call_user_func_array("association_bouton_$type", $params) .'</td>';
    14531463                }
    14541464                $res .= "</tr>\n";
  • _plugins_/Association/Associaspip/exec/activites.php

    r65588 r65683  
    4242                $liste_effectifs['impair'] = sql_countsel('spip_evenements', "DATE_FORMAT(date_debut, '%Y')=$annee")-$liste_effectifs['pair']; // le monde a l'envers... mais ca fonctionne
    4343                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'], ),
     44                        'pair'=>array( 'activites_avec_inscrits', $liste_effectifs['pair'], ),
     45                        'impair'=>array( 'activites_sans_inscrits', $liste_effectifs['impair'], ),
    4646                ));
    4747/*
  • _plugins_/Association/Associaspip/exec/categories.php

    r65600 r65683  
    4343                        ), // entetes et formats des donnees
    4444                        array(
    45                                 array('supprimer', 'categorie', 'id=$$', 'td'),
    46                                 array('modifier', 'categorie', 'id=$$', 'td'),
     45                                array('supprimer', 'categorie', 'id=$$' ),
     46                                array('modifier', 'categorie', 'id=$$' ),
    4747                        ), // boutons d'action
    4848                        'id_categorie' // champ portant la cle des lignes et des boutons
  • _plugins_/Association/Associaspip/exec/exercices.php

    r65588 r65683  
    5252                        ), // entetes et formats des donnees
    5353                        array(
    54                                 array('supprimer', 'exercice', 'id=$$', 'td'),
    55                                 array('modifier', 'exercice', 'id=$$', 'td'),
     54                                array('supprimer', 'exercice', 'id=$$' ),
     55                                array('modifier', 'exercice', 'id=$$' ),
    5656                        ), // boutons d'action
    5757                        'id_exercice' // champ portant la cle des lignes et des boutons
  • _plugins_/Association/Associaspip/exec/prets.php

    r65588 r65683  
    2828                $infos['ressources_libelle_code'] = $ressource['code'];
    2929                $infos['ressources_libelle_caution'] = association_formater_prix($ressource['prix_caution']);
    30                 if (is_numeric($ressource['statut'])) { /* utilisation des 3 nouveaux statuts numeriques (gestion de quantites/exemplaires) */
     30                if (is_numeric($ressource['statut'])) { // utilisation des 3 nouveaux statuts numeriques (gestion de quantites/exemplaires)
    3131                        if ($ressource['statut']>0) {
    3232                                $puce = 'verte';
     
    4040                        }
    4141                } else {
    42                         switch($ressource['statut']){ /* utilisation des anciens 4+ statuts textuels (etat de reservation) */
     42                        switch($ressource['statut']){ // utilisation des anciens 4+ statuts textuels (etat de reservation)
    4343                                case 'ok':
    4444                                        $puce = 'verte';
     
    5858                        $type = $ressource['statut'];
    5959                }
    60                 $infos['statut'] =  '<img src="'._DIR_PLUGIN_ASSOCIATION_ICONES.'puce-'.$puce.'.gif" title="'.$ressource['statut'].'" alt="" /> '. _T("asso:ressources_libelle_statut_$type");
     60                $infos['statut'] = association_formater_puce("ressources_libelle_statut_$type", $puce);
    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
     
    7272                // datation et raccourcis
    7373                if ( (is_numeric($ressource['statut']) && $ressource['statut']>0) || $ressource['statut']=='ok' )
    74                         $res['prets_nav_ajouter'] = array('creer-12.gif', 'edit_pret', "id_ressource=$id_ressource&id_pret=");
     74                        $res['prets_nav_ajouter'] = array('creer-12.gif', array('edit_pret', "id_ressource=$id_ressource&id_pret="), );
    7575                raccourcis_association('ressources', $res);
    7676                debut_cadre_association('pret-24.gif', 'prets_titre_liste_reservations');
  • _plugins_/Association/Associaspip/exec/ressources.php

    r65588 r65683  
    2727                // TOTAUX : nombre de ressources par statut
    2828                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)"), ),
     29                        'valide' => array( association_formater_puce('ressources_libelle_statut_ok', 'verte'), sql_countsel('spip_asso_ressources', "statut='ok' OR ROUND(statut,0)>0"), ),
     30                        'prospect' => array( association_formater_puce('ressources_libelle_statut_suspendu', 'orange'), sql_countsel('spip_asso_ressources', "statut='suspendu' OR ROUND(statut,0)<0"), ),
     31                        'cv' => array( association_formater_puce('ressources_libelle_statut_reserve', 'rouge'), sql_countsel('spip_asso_ressources', "statut IN ('reserve',0)"), ),
     32                        'sorti' => array( association_formater_puce('ressources_libelle_statut_sorti', 'poubelle'), sql_countsel('spip_asso_ressources', "statut IN ('sorti','',NULL)"), ),
    3333                ));
    3434/* mdr : cela n'a de sens que si les ressources se pretent toutes sur la meme unite...
     
    4545                ) );
    4646                debut_cadre_association('pret-24.gif', 'ressources_titre_liste_ressources');
    47                 echo "<table width='100%' class='asso_tablo' id='asso_tablo_ressources'>\n";
    48                 echo "<thead>\n<tr>";
    49                 echo '<th>'._T('asso:entete_id').'</th>';
    50                 echo '<th>&nbsp;</th>';
    51                 echo '<th>'._T('asso:ressources_entete_intitule').'</th>';
    52                 echo '<th>'._T('asso:entete_code').'</th>';
    53                 echo '<th>'._T('asso:ressources_entete_montant').'</th>';
    54                 echo '<th>'._T('asso:ressources_entete_caution').'</th>';
    55                 echo '<th colspan="3" class="actions">'._T('asso:entete_action').'</th>';
    56                 echo "</tr>\n</thead><tbody>";
    57                 $query = sql_select('*', 'spip_asso_ressources', '','',  'id_ressource') ;
    58                 while ($data = sql_fetch($query)) {
    59                         if (is_numeric($data['statut'])) { /* utilisation des 3 nouveaux statuts numeriques (gestion de quantites/exemplaires) */
     47                // preparation des listes associees aux statuts
     48                $s_ico = $s_css = array();
     49                $s_query = sql_select('DISTINCT statut', 'spip_asso_ressources'); // liste des statuts utilises
     50                while ($data = sql_fetch($s_query)) {
     51                        if (is_numeric($data['statut'])) { // utilisation des 3 nouveaux statuts numeriques (gestion de quantites/exemplaires)
    6052                                if ($data['statut']>0) { // ex: 'ok' (disponible ou libre)
    61                                         $puce = 'verte';
    62                                         $css = 'valide';
     53                                        $s_ico[$data['statut']] = 'verte';
     54                                        $s_css[$data['statut']] = 'valide';
    6355                                } elseif ($data['statut']<0) { // ex: 'suspendu' (plus en pret)
    64                                         $puce = 'orange';
    65                                         $css = 'prospect';
     56                                        $s_ico[$data['statut']] = 'orange';
     57                                        $s_css[$data['statut']] = 'prospect';
    6658                                } else { // ex: 'reserve' (temporairement indisponible)
    67                                         $puce = 'rouge';
    68                                         $css = 'cv';
     59                                        $s_ico[$data['statut']] = 'rouge';
     60                                        $s_css[$data['statut']] = 'cv';
    6961                                }
    70                         } else switch($data['statut']){ /* utilisation des anciens 4+ statuts textuels (etat de reservation) */
     62                        } else switch($data['statut']){ // utilisation des anciens 4+ statuts textuels (etat de reservation)
    7163                                case 'ok':
    72                                         $puce = 'verte';
    73                                         $css = 'valide';
     64                                        $s_ico[$data['statut']] = 'verte';
     65                                        $s_css[$data['statut']] = 'valide';
    7466                                        break;
    7567                                case 'reserve':
    76                                         $puce = 'rouge';
    77                                         $css = 'cv';
     68                                        $s_ico[$data['statut']] = 'rouge';
     69                                        $s_css[$data['statut']] = 'cv';
    7870                                        break;
    7971                                case 'suspendu':
    80                                         $puce = 'orange';
    81                                         $css = 'prospect';
     72                                        $s_ico[$data['statut']] = 'orange';
     73                                        $s_css[$data['statut']] = 'prospect';
    8274                                        break;
    8375                                case 'sorti':
    8476                                case '':
    8577                                case NULL:
    86                                         $puce = 'poubelle';
    87                                         $css = 'sorti';
     78                                        $s_ico[$data['statut']] = 'poubelle';
     79                                        $s_css[$data['statut']] = 'sorti';
    8880                                        break;
    8981                        }
    90                         echo "<tr class='$css'>";
    91                         echo '<td class="integer">'.$data['id_ressource'].'</td>';
    92                         echo '<td class="actions">'. association_formater_puce($data['statut'], $puce, false) .'</td>';
    93                         echo '<td class="text">'.$data['intitule'].'</td>';
    94                         echo '<td class="text">'.$data['code'].'</td>';
    95                         echo '<td class="decimal">'.association_formater_prix($data['pu']).' / '.association_formater_duree(1,$data['ud']).'</td>';
    96                         echo '<td class="decimal">'.association_formater_prix($data['prix_caution']).'</td>';
    97                         echo '<td class="action">', association_bouton_faire('ressources_nav_supprimer', 'suppr-12.gif', 'suppr_ressource', 'id='.$data['id_ressource']), '</td>';
    98                         echo '<td class="action">', association_bouton_faire('ressources_nav_editer', 'edit-12.gif', 'edit_ressource', 'id='.$data['id_ressource']), '</td>';
    99                         echo '<td class="action">', association_bouton_faire('prets_nav_gerer', 'voir-12.png', 'prets', 'id='.$data['id_ressource']), '</td>';
    100                         echo "</tr>\n";
    10182                }
     83                // affichage du tableau
     84                echo association_bloc_listehtml(
     85                        array('*', 'spip_asso_ressources', '','',  'id_ressource'), // requete
     86                        array(
     87                                'id_ressource' => array('asso:entete_id', 'entier'),
     88                                'statut' => array('', 'puce', $s_ico, false),
     89                                'intitule' => array('asso:ressources_entete_intitule', 'texte'),
     90                                'code' => array('asso:entete_code', 'texte'),
     91                                'pu' => array('asso:ressources_entete_montant', 'prix'),
     92//                              'ud' => array('asso:entete_code', 'duree', 'M'), // '<td class="decimal">'.association_formater_prix($data['pu']).' / '.association_formater_duree(1,$data['ud']).'</td>'
     93                                'prix_caution' => array('asso:ressources_entete_caution', 'prix'),
     94                        ), // entetes et formats des donnees
     95                        array(
     96                                array('faire', 'ressources_nav_supprimer', 'suppr-12.gif', 'suppr_ressource', 'id=$$'),
     97                                array('faire', 'ressources_nav_editer', 'edit-12.gif', 'edit_ressource', 'id=$$'),
     98                                array('faire', 'prets_nav_gerer', 'voir-12.png', 'prets', 'id=$$'),
     99                        ), // boutons d'action
     100                        'id_ressource', // champ portant la cle des lignes et des boutons
     101                        $s_css, 'statut'
     102                );
    102103                echo "</tbody>\n</table>\n";
    103104                fin_page_association();
Note: See TracChangeset for help on using the changeset viewer.