singulier_ou_pluriel ne gere pas explicitement le cas nul pour ne pas alourdir la syntaxe inutilement
MAIS
il renvoie rien dans le cas zéro.
On peut donc ecrire utilement
[(#NOMBRETRUC|singulier_ou_pluriel{<:untruc:>,<:destrucs:>}|sinon{<:aucuntruc:>})]
pour traiter ton besoin, sans avoir à alourdir la syntaxe générale, ni à faire un deuxième filtre
Cédric
Le 7 juil. 09 à 17:29, nicolas@hoizey.com a écrit :
Author: nicolas@hoizey.com
Date: Tue Jul 7 17:29:28 2009
New Revision: 29730Log:
un filtre pour aller plus loin que singulier_ou_pluriel avec aussi le cas nul, et applicationAdded:
_plugins_/clevermail/2_0/clevermail_fonctions.php
_plugins_/clevermail/2_0/inc/clevermail_filtres.php
Modified:
_plugins_/clevermail/2_0/lang/clevermail_fr.php
_plugins_/clevermail/2_0/plugin.xml
_plugins_/clevermail/2_0/prive/exec/clevermail.htmlAdded: _plugins_/clevermail/2_0/clevermail_fonctions.php
--- _plugins_/clevermail/2_0/clevermail_fonctions.php (added)
+++ _plugins_/clevermail/2_0/clevermail_fonctions.php Tue Jul 7 17:29:28 2009
@@ -0,0 +1,3 @@
+<?php
+include_spip('inc/clevermail_filtres');
+?>
\ No newline at end of fileAdded: _plugins_/clevermail/2_0/inc/clevermail_filtres.php
--- _plugins_/clevermail/2_0/inc/clevermail_filtres.php (added)
+++ _plugins_/clevermail/2_0/inc/clevermail_filtres.php Tue Jul 7 17:29:28 2009
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Afficher un message "aucun truc"/"un truc"/"N trucs", inspire de singulier_ou_pluriel
+ *
+ * @param int $nb
+ * @param string $chaine_aucun
+ * @param string $chaine_un
+ * @param string $chaine_plusieurs
+ * @return string
+ */
+function aucun_ou_un_ou_plusieurs($nb, $chaine_aucun, $chaine_un, $chaine_plusieurs, $vars = array()) {
+ $vars = array_merge($vars, array('nb' => intval($nb)));
+ if (intval($nb) == 0) {
+ return _T($chaine_aucun, $vars);
+ } elseif (intval($nb) == 1) {
+ return _T($chaine_un, $vars);
+ } else {
+ return _T($chaine_plusieurs, $vars);
+ }
+}
+?>
\ No newline at end of fileModified: _plugins_/clevermail/2_0/lang/clevermail_fr.php
--- _plugins_/clevermail/2_0/lang/clevermail_fr.php (original)
+++ _plugins_/clevermail/2_0/lang/clevermail_fr.php Tue Jul 7 17:29:28 2009
@@ -22,7 +22,8 @@
'nouveaux_abonnes_et' => ' et ',
'changements_mode_abonnement' => ' changements de mode d\'abonnement',
'inscription_deja_abonne_meme_mode' => 'Vous étiez déjà inscrit à la liste « @lst_name@ » dans ce même mode.',
- 'inscription_deja_abonne_autre_mode' => 'Vous étiez déjà inscrit à la liste « @lst_name@ » dans un autre mode.',
+ 'inscription_deja_abonne_autre_mode' => 'Vous étiez déjà inscrit à la liste « @lst_name@ » dans un autre mode, changement opéré.',
+ 'bouton_inscription' => 'S\'inscrire',// Front
'email' => 'E-mail :',
@@ -44,7 +45,18 @@
'front_clevermail_action_validation' => 'Validation d\'une opération',
'front_clevermail_unsubscription_query' => 'Demande de désinscription',- // Back
+ // Back ?exec=clevermail
+ 'aucun_message_en_attente' => 'aucun en attente',
+ 'un_message_en_attente' => '1 en attente',
+ 'plusieurs_messages_en_attente' => '@nb@ en attente',
+ 'aucun_message_en_cours_envoi' => 'aucun en cours d\'envoi',
+ 'un_message_en_cours_envoi' => '1 en cours d\'envoi',
+ 'plusieurs_messages_en_cours_envoi' => '@nb@ en cours d\'envoi',
+ 'aucun_message_envoye' => 'aucun envoyé',
+ 'un_message_envoye' => '1 envoyé',
+ 'plusieurs_messages_envoyes' => '@nb@ envoyés',
+
+ // Back reste
'administration' => 'Administration de CleverMail',
'liste_lettres' => 'Liste des lettres d\'information',
'creer_lettre' => 'Créer une lettre d\'information',Modified: _plugins_/clevermail/2_0/plugin.xml
--- _plugins_/clevermail/2_0/plugin.xml (original)
+++ _plugins_/clevermail/2_0/plugin.xml Tue Jul 7 17:29:28 2009
@@ -26,6 +26,7 @@
<icon>img_pack/lettre-24.png</icon>
<install>base/clevermail.php</install>
<options>clevermail_options.php</options>
+ <fonctions>clevermail_fonctions.php</fonctions>
<prefix>clevermail</prefix>
<pipeline>
<nom>declarer_tables_principales</nom>Modified: _plugins_/clevermail/2_0/prive/exec/clevermail.html
--- _plugins_/clevermail/2_0/prive/exec/clevermail.html (original)
+++ _plugins_/clevermail/2_0/prive/exec/clevermail.html Tue Jul 7 17:29:28 2009
@@ -3,6 +3,9 @@
<BOUCLE_lists(SPIP_CM_LISTS){par lst_name}>
<BOUCLE_subscribers(SPIP_CM_LISTS_SUBSCRIBERS){lst_id} />#SET{nbSubs,#TOTAL_BOUCLE}<//B_subscribers>
<BOUCLE_posts(SPIP_CM_POSTS){lst_id} />#SET{nbPosts,#TOTAL_BOUCLE}<//B_posts>
+ <BOUCLE_posts_new(SPIP_CM_POSTS){lst_id}{pst_date_sent=0} />#SET{nbPostsNew,#TOTAL_BOUCLE}<//B_posts_new>
+ <BOUCLE_posts_queued(SPIP_CM_POSTS_QUEUED){fusion pst_id} />#SET{nbPostsQueued,#TOTAL_BOUCLE}<//B_posts_queued>
+ #SET{nbPostsSent,#GET{nbPosts}|moins{#GET{nbPostsNew}}|moins{#GET{nbPostsQueued}}}
<li class="item">
<p><strong>#LST_NAME</strong> (#LST_MODERATION)</p>
<div>[(#LST_COMMENT|propre)]</div>
@@ -15,7 +18,10 @@
]
|
[(#GET{nbPosts}|>{0}|oui)
- <a href="[(#URL_ECRIRE{clevermail_posts}|parametre_url{lst_id,#LST_ID})]">#GET{nbPosts} [ (#GET{nbPosts}|singulier_ou_pluriel{clevermail:message,clevermail:messages})]</a>
+ <a href="[(#URL_ECRIRE{clevermail_posts}|parametre_url{lst_id,#LST_ID})]">#GET{nbPosts} [ (#GET{nbPosts}|singulier_ou_pluriel{clevermail:message,clevermail:messages})]</a> :
+ [(#GET{nbPostsNew}|aucun_ou_un_ou_plusieurs{clevermail:aucun_message_en_attente,clevermail:un_message_en_attente,clevermail:plusieurs_messages_en_attente})],
+ [(#GET{nbPostsQueued}|aucun_ou_un_ou_plusieurs{clevermail:aucun_message_en_cours_envoi,clevermail:un_message_en_cours_envoi,clevermail:plusieurs_messages_en_cours_envoi})],
+ [(#GET{nbPostsSent}|aucun_ou_un_ou_plusieurs{clevermail:aucun_message_envoye,clevermail:un_message_envoye,clevermail:plusieurs_messages_envoyes})]
]
[(#GET{nbPosts}|>{0}|non)
<:clevermail:aucun_message:>_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit