Changeset 67092 in spip-zone


Ignore:
Timestamp:
Oct 25, 2012, 7:36:28 AM (7 years ago)
Author:
cedric@…
Message:

Deplacer les filtres des tickets vers dossier noisettes/afaire
conditionner la recherche de tickets dans le menu a la presence du plugin tickets (evite une requete sql inutile en l'absence du plugin)

Location:
_squelettes_/sarkaspip/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/sarkaspip/trunk/inc/sarkaspip_filtres.php

    r66730 r67092  
    77if (!defined("_ECRIRE_INC_VERSION")) return;
    88
     9// TODO : conditionner a l'existence du plugin tickets
     10include_spip("noisettes/afaire/filtres");
    911
    1012// =======================================================================================================================================
     
    171173// FIN du Filtre : libelle_statut
    172174
    173 // =======================================================================================================================================
    174 // Filtre : afaire_liste_par_jalon
    175 // =======================================================================================================================================
    176 // Auteur: Smellup
    177 // Fonction : Retourne les blocs d'affichage des tickets par jalon dans la page afaire
    178 // =======================================================================================================================================
    179 //
    180 function afaire_liste_par_jalon($jalons) {
    181         $page = NULL;
    182         if (($jalons) && defined('_SARKASPIP_AFAIRE_JALONS_AFFICHES')) {
    183                 $liste = explode(":", $jalons);
    184                 $i =0;
    185                 foreach($liste as $_jalon) {
    186                         $i += 1;
    187                         $page .= recuperer_fond('noisettes/afaire/jalon',
    188                                 array('jalon' => $_jalon, 'ancre' => 'ancre_jalon_'.strval($i)));
    189                 }
    190         }
    191         return $page;
    192 }
    193 // FIN du Filtre : afaire_liste_par_jalon
    194 
    195 // =======================================================================================================================================
    196 // Filtre : afaire_tdm_par_jalon
    197 // =======================================================================================================================================
    198 // Auteur: Smellup
    199 // Fonction : Retourne les blocs d'affichage des tickets par jalon dans la page afaire
    200 // =======================================================================================================================================
    201 //
    202 function afaire_tdm_par_jalon($jalons) {
    203         $page = NULL;
    204         if (($jalons) && defined('_SARKASPIP_AFAIRE_JALONS_AFFICHES')) {
    205                 $liste = explode(":", $jalons);
    206                 $i =0;
    207                 foreach($liste as $_jalon) {
    208                         $i += 1;
    209                         $nb = afaire_compteur_jalon($_jalon);
    210                         $nb_str = ($nb == 0) ? _T('sarkaspip:0_ticket') : (($nb == 1) ? strval($nb).' '._T('sarkaspip:1_ticket') : strval($nb).' '._T('sarkaspip:n_tickets'));
    211                         $page .= '<li><a href="#ancre_jalon_'.strval($i).'" title="'._T('sarkaspip:afaire_aller_jalon').'">'
    212                                 ._T('sarkaspip:afaire_colonne_jalon').'&nbsp;&#171;&nbsp;'.$_jalon.'&nbsp;&#187;, '.$nb_str
    213                                 .'</a></li>';
    214                 }
    215         }
    216         $nb = afaire_compteur_jalon();
    217         if ($nb > 0) {
    218                 $nb_str = ($nb == 1) ? strval($nb).' '._T('sarkaspip:1_ticket') : strval($nb).' '._T('sarkaspip:n_tickets');
    219                 $page .= '<li><a href="#ancre_jalon_non_planifie" title="'._T('sarkaspip:afaire_aller_jalon').'">&#171;&nbsp;'
    220                         ._T('sarkaspip:afaire_non_planifies').'&nbsp;&#187;, '.$nb_str
    221                         .'</a></li>';
    222         }
    223         return $page;
    224 }
    225 // FIN du Filtre : afaire_tdm_par_jalon
    226 
    227 // =======================================================================================================================================
    228 // Filtre : afaire_compteur_jalon
    229 // =======================================================================================================================================
    230 // Auteur: Smellup
    231 // Fonction : Retourne le nombre de tickets pour le jalon ou pour le jalon et le statut choisis
    232 // =======================================================================================================================================
    233 //
    234 function afaire_compteur_jalon($jalon='', $statut='') {
    235         $valeur = 0;
    236         // Nombre total de tickets pour le jalon
    237         $select = array('t1.id_ticket');
    238         $from = array('spip_tickets AS t1');
    239         $where = array('t1.jalon='.sql_quote($jalon));
    240         if ($statut)
    241                 $where = array_merge($where, array('t1.statut='.sql_quote($statut)));
    242         $result = sql_select($select, $from, $where);
    243         $valeur = sql_count($result);
    244         return $valeur;
    245 }
    246 // FIN du Filtre : afaire_compteur_jalon
    247 
    248 // =======================================================================================================================================
    249 // Filtre : afaire_avancement_jalon
    250 // =======================================================================================================================================
    251 // Auteur: Smellup
    252 // Fonction : Retourne le pourcetage de tickets termines sur le nombre de tickets total du jalon
    253 // =======================================================================================================================================
    254 //
    255 function afaire_avancement_jalon($jalon='') {
    256         $valeur = 0;
    257         // Nombre total de tickets pour le jalon
    258         $select = array('t1.id_ticket');
    259         $from = array('spip_tickets AS t1');
    260         $where = array('t1.jalon='.sql_quote($jalon));
    261         $result = sql_select($select, $from, $where);
    262         $n1 = sql_count($result);
    263         // Nombre de tickets termines pour le jalon
    264         if ($n1 != 0) {
    265                 $where = array_merge($where, array(sql_in('t1.statut', array('resolu','ferme'))));
    266                 $result = sql_select($select, $from, $where);
    267                 $n2 = sql_count($result);
    268                 $valeur = floor($n2*100/$n1);
    269         }
    270         return $valeur;
    271 }
    272 // FIN du Filtre : afaire_avancement_jalon
    273 
    274 // =======================================================================================================================================
    275 // Filtre : afaire_ticket_existe
    276 // =======================================================================================================================================
    277 // Auteur: Smellup
    278 // Fonction : Retourne l'info qu'au moins un ticket a ete cree
    279 // =======================================================================================================================================
    280 //
    281 function afaire_ticket_existe($bidon) {
    282         $existe = false;
    283         // Test si la table existe
    284         $table = sql_showtable('spip_tickets', true);
    285         if ($table) {
    286                 // Nombre total de tickets
    287                 $from = array('spip_tickets AS t1');
    288                 $where = array();
    289                 $result = sql_countsel($from, $where);
    290                 // Nombre de tickets termines pour le jalon
    291                 if ($result >= 1)
    292                         $existe = true;
    293         }
    294         return $existe;
    295 }
    296 // FIN du Filtre : afaire_ticket_existe
    297 
    298 // =======================================================================================================================================
    299 // Filtre : statut_forum
    300 // =======================================================================================================================================
    301 // Auteur: Smellup
    302 // Fonction : Retourne le statut d'un forum cad non autorise, ouvert, ferme
    303 // =======================================================================================================================================
    304 //
    305175function statut_forum($id_article) {
    306176
  • _squelettes_/sarkaspip/trunk/noisettes/menu/pages_speciales.html

    r66753 r67092  
    3939</BOUCLE_acces_syndics>
    4040
    41 [(#VAL{1}|afaire_ticket_existe|oui)
    42         [(#PLUGIN{TICKETS}|oui)
     41[(#PLUGIN{TICKETS}|oui)
     42        [(#REM|afaire_ticket_existe|oui)
    4343                <li class="menu_pages_speciales[(#SI_PAGE{afaire}|oui)on active]"><a href="[(#URL_PAGE{afaire})]"><:sarkaspip:afaire:></a></li>
    4444        ]
Note: See TracChangeset for help on using the changeset viewer.