From 54dcef497550b097de43bff4772167f451bd6720 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Wed, 14 Aug 2013 08:15:40 +0000
Subject: [PATCH] [16057] introduit un filtre |initiale ; mais ce filtre peut
 servir partout, autant le definir dans inc/filtres. De plus, comme il faut
 toujours passer extraire_multi avant, autant le mettre dans le filtre plutot
 que dans chaque squelette

---
 ecrire/inc/filtres.php                   | 11 +++++++++++
 prive/objets/liste/auteurs.html          |  6 +++---
 prive/objets/liste/auteurs_associer.html |  6 +++---
 prive/objets/liste/auteurs_fonctions.php | 10 ----------
 prive/objets/liste/auteurs_lies.html     |  6 +++---
 prive/objets/liste/visiteurs.html        |  6 +++---
 6 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index 96172a0098..7dd80bad9e 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -1880,6 +1880,17 @@ function extraire_trads($bloc) {
 }
 
 
+/**
+ * Calculer l'initiale d'un nom
+ *
+ * @param string $nom
+ * @return string L'initiale en majuscule
+ */
+function filtre_initiale($nom){
+	return spip_substr(trim(strtoupper(extraire_multi($nom))),0,1);
+}
+
+
 /**
  * Retourne la donnée si c'est la première fois qu'il la voit
  *
diff --git a/prive/objets/liste/auteurs.html b/prive/objets/liste/auteurs.html
index 0f6fef750b..2d95f28105 100644
--- a/prive/objets/liste/auteurs.html
+++ b/prive/objets/liste/auteurs.html
@@ -16,9 +16,9 @@
 
 		#SET{p,''}
 		<BOUCLE_lettre(AUTEURS){tout}{id_auteur?}{where?}{statut?}{recherche?}{par multi nom}{id_auteur==#GET{afficher_lettres}|?{'.*','A'}}>[
-		(#NOM**|extraire_multi|initiale|unique|oui)
+		(#NOM**|initiale|unique|oui)
 		[(#SET{p,#GET{p}|concat{
-		#SELF|parametre_url{debutaut,@#ID_AUTEUR}|ancre_url{paginationaut}|afficher_initiale{#NOM**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
+		#SELF|parametre_url{debutaut,@#ID_AUTEUR}|ancre_url{paginationaut}|afficher_initiale{#NOM**|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
 		}})]
 		]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
 		(#SET{p,
@@ -40,7 +40,7 @@
 	<tbody>
 	<BOUCLE_liste_aut(AUTEURS){tout}{id_auteur?}{id_mot?}{where?}{statut?}{recherche?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{pagination #ENV{nb,10} aut}{!compteur_articles_filtres #ENV{filtre_statut_articles,poubelle}}>
 		[(#LANG|changer_typo)]
-		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]">
+		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|initiale|=={#ENV{i}}|?{on}|unique)]">
 			<td class='statut'>[(#STATUT|puce_statut{auteur})]</td>
 			<td class="messagerie">[<a href="(#ID_AUTEUR|auteur_lien_messagerie{#EN_LIGNE,#STATUT,#IMESSAGE})">[(#CHEMIN{images/m_envoi.gif}|balise_img{<:info_envoyer_message_prive:>})]</a>]</td>
 			<td class='nom[ (#NOM|non)vide]'>[(#LOGO_AUTEUR|image_reduire{20,26})]<a href="[(#ID_AUTEUR|generer_url_entite{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[(#RANG). ][(#NOM|sinon{<:texte_vide:>})]</a>[ <small>((#WEBMESTRE|=={oui}|?{<:statut_webmestre:>}))</small>][ <small>((#STATUT|=={0minirezo}|et{#AUTORISER{'','','',#ID_AUTEUR}|non}|?{<:statut_admin_restreint:>}))</small>]</td>
diff --git a/prive/objets/liste/auteurs_associer.html b/prive/objets/liste/auteurs_associer.html
index 44b60cdac3..1901824129 100644
--- a/prive/objets/liste/auteurs_associer.html
+++ b/prive/objets/liste/auteurs_associer.html
@@ -29,9 +29,9 @@ a mis a jour la valeur avec la page reelle]
 
 		#SET{p,''}
 		<BOUCLE_lettre(AUTEURS){!id_auteur IN #GET{exclus}}{tout}{where?}{recherche?}{statut?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{id_auteur==#GET{afficher_lettres}|?{'.*','A'}}>[
-		(#NOM**|extraire_multi|initiale|unique|oui)
+		(#NOM**|initiale|unique|oui)
 		[(#SET{p,#GET{p}|concat{
-		#SELF|parametre_url{debutauta,@#ID_AUTEUR}|ancre_url{paginationauta}|afficher_initiale{#NOM**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
+		#SELF|parametre_url{debutauta,@#ID_AUTEUR}|ancre_url{paginationauta}|afficher_initiale{#NOM**|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
 		}})]
 		]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
 		(#SET{p,
@@ -49,7 +49,7 @@ a mis a jour la valeur avec la page reelle]
 	</thead>
 	<tbody>
 	<BOUCLE_liste_aut(AUTEURS){!id_auteur IN #GET{exclus}}{tout}{where?}{recherche?}{statut?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{pagination #ENV{nb,10} auta}>
-		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]">
+		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|initiale|=={#ENV{i}}|?{on}|unique)]">
 			<td class='statut'>[(#STATUT|puce_statut{auteur})]</td>
 			<td class='nom[ (#NOM|non)vide]'>[(#LOGO_AUTEUR|image_reduire{20,20})]<a href="[(#ID_AUTEUR|generer_url_entite{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[(#RANG). ][(#NOM|sinon{<:texte_vide:>})]</a></td>
 			<td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td>
diff --git a/prive/objets/liste/auteurs_fonctions.php b/prive/objets/liste/auteurs_fonctions.php
index 3c7be37cd7..555da4cfa0 100644
--- a/prive/objets/liste/auteurs_fonctions.php
+++ b/prive/objets/liste/auteurs_fonctions.php
@@ -65,16 +65,6 @@ function balise_COMPTEUR_ARTICLES_dist($p) {
 }
 
 
-/**
- * Calculer l'initiale d'un nom
- *
- * @param string $nom
- * @return string L'initiale en majuscule
- */
-function initiale($nom){
-	return spip_substr(trim(strtoupper($nom)),0,1);
-}
-
 /**
  * Afficher l'initiale pour la navigation par lettres
  *
diff --git a/prive/objets/liste/auteurs_lies.html b/prive/objets/liste/auteurs_lies.html
index 552b3da96d..76f167ff51 100644
--- a/prive/objets/liste/auteurs_lies.html
+++ b/prive/objets/liste/auteurs_lies.html
@@ -20,9 +20,9 @@ a mis a jour la valeur avec la page reelle]
 	<thead>
 		#SET{p,''}
 		<BOUCLE_lettre(AUTEURS){tout}{id_auteur IN #GET{selection}}{where?}{statut?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{id_auteur==#GET{afficher_lettres}|?{'.*','A'}}>[
-		(#NOM**|extraire_multi|initiale|unique|oui)
+		(#NOM**|initiale|unique|oui)
 		[(#SET{p,#GET{p}|concat{
-		#SELF|parametre_url{debutautl,@#ID_AUTEUR}|ancre_url{paginationautl}|afficher_initiale{#NOM**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
+		#SELF|parametre_url{debutautl,@#ID_AUTEUR}|ancre_url{paginationautl}|afficher_initiale{#NOM**|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
 		}})]
 		]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
 		(#SET{p,
@@ -42,7 +42,7 @@ a mis a jour la valeur avec la page reelle]
 	</thead>
 	<tbody>
 	<BOUCLE_liste_aut(AUTEURS){tout}{id_auteur IN #GET{selection}}{where?}{statut?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{pagination #ENV{nb,10} autl}{!compteur_articles_filtres #ENV*{filtre_statut_articles,poubelle}}>
-		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)][(#ID_AUTEUR|=={#ENV{id_lien_ajoute}}|oui)append]">
+		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|initiale|=={#ENV{i}}|?{on}|unique)][(#ID_AUTEUR|=={#ENV{id_lien_ajoute}}|oui)append]">
 			<td class='statut'>[(#STATUT|puce_statut{auteur})]</td>
 			<td class='nom[ (#NOM|non)vide]'>[(#LOGO_AUTEUR|image_reduire{20,20})]<a href="[(#ID_AUTEUR|generer_url_entite{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[(#RANG). ][(#NOM|sinon{<:texte_vide:>})]</a></td>
 			<td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td>
diff --git a/prive/objets/liste/visiteurs.html b/prive/objets/liste/visiteurs.html
index 1865263969..fc0cd10b61 100644
--- a/prive/objets/liste/visiteurs.html
+++ b/prive/objets/liste/visiteurs.html
@@ -16,9 +16,9 @@
 
 		#SET{p,''}
 		<BOUCLE_lettre(AUTEURS){tout}{id_auteur?}{where?}{statut?}{recherche?}{par multi nom}{id_auteur==#GET{afficher_lettres}|?{'.*','A'}}>[
-		(#NOM**|extraire_multi|initiale|unique|oui)
+		(#NOM**|initiale|unique|oui)
 		[(#SET{p,#GET{p}|concat{
-		#SELF|parametre_url{debutaut,@#ID_AUTEUR}|ancre_url{paginationaut}|afficher_initiale{#NOM**|extraire_multi|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
+		#SELF|parametre_url{debutaut,@#ID_AUTEUR}|ancre_url{paginationaut}|afficher_initiale{#NOM**|initiale{},#COMPTEUR_BOUCLE,#GET{debut},#ENV{nb,10}}
 		}})]
 		]#SAUTER{#ENV{nb,10}|moins{#COMPTEUR_BOUCLE|=={1}|?{2,1}}}</BOUCLE_lettre>[
 		(#SET{p,
@@ -40,7 +40,7 @@
 	<tbody>
 	<BOUCLE_liste_aut(AUTEURS){tout}{id_auteur?}{where?}{statut?}{recherche?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{pagination #ENV{nb,10} aut}{!compteur_articles_filtres #ENV{filtre_statut_articles,poubelle}}>
 		[(#LANG|changer_typo)]
-		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]">
+		<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|initiale|=={#ENV{i}}|?{on}|unique)]">
 			<td class='statut'>[(#STATUT|puce_statut{auteur})]</td>
 			<td class="messagerie">[<a href="(#ID_AUTEUR|auteur_lien_messagerie{#EN_LIGNE,#STATUT,#IMESSAGE})">[(#CHEMIN{images/m_envoi.gif}|balise_img{<:info_envoyer_message_prive:>})]</a>]</td>
 			<td class='nom[ (#NOM|non)vide]'>[(#LOGO_AUTEUR|image_reduire{20,26})]<a href="[(#ID_AUTEUR|generer_url_entite{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[(#RANG). ][(#NOM|sinon{<:texte_vide:>})]</a></td>
-- 
GitLab