From d5f3d8ff4cf9cabec7000a9bb6cf6dc3757245d4 Mon Sep 17 00:00:00 2001 From: thrax <vincent.callies@gmail.com> Date: Fri, 22 Nov 2024 09:11:30 +0100 Subject: [PATCH 1/6] fix19 idiome de langue --- objets/liste/auteurs_lies.html | 69 +++++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/objets/liste/auteurs_lies.html b/objets/liste/auteurs_lies.html index b209c14d75..cf225cf7db 100644 --- a/objets/liste/auteurs_lies.html +++ b/objets/liste/auteurs_lies.html @@ -1,24 +1,64 @@ -[(#SET{defaut_tri,#ARRAY{ +[(#REM) +<!-- + + Le squelette permet de : + - personnaliser l'aide @param cle_aide + - personnaliser le titre @param info_aucun,info_1,info_nb + Par défaut l'aide et le titre seront définis selon l'objet + si les items de langue sont existants. + @exemple OBJET:info_OBJET_aucun_auteur + OBJET:info_OBJET_1_auteur + OBJET:info_OBJET_nb_auteurs + clé d'appel de l'aide = OBJETauteurs + +-->][(#SET{defaut_tri,#ARRAY{ statut,1, multi nom,1, site,1, compteur_articles,-1 -}}) -] -#SET{auteurs_voiremails,#AUTORISER{auteurs_voiremails}} +}})] #SET{selection,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}} #SET{debut,#ENV{debutautl,#EVAL{_request("debutautl");}}} +[(#REM) <!-- Permettre de personnaliser l'aide -->] +[(#ENV{cle_aide}|?{ + #SET{cle_aide,#ENV{cle_aide}} +, + [(#ENV{objet}|=={article}|oui|et{#ENV{table_source}|=={auteurs}|oui}|?{ + [(#SET{cle_aide,#ENV{objet}|substr{0,3}|concat{#ENV{table_source}}})] + , + [(#SET{cle_aide,#ENV{objet}|concat{#ENV{table_source}}})] + })] +})] <input type="hidden" name="debutautl" value="#GET{debut}"> <B_liste_aut> [(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle a mis a jour la valeur avec la page reelle] #SET{debut,#ENV{debutautl,#EVAL{_request("debutautl");}}} #SET{afficher_lettres,#TRI|=={'multi nom'}|oui} -#SET{auteurs_voiremails,#AUTORISER{auteurs_voiremails}} #ANCRE_PAGINATION <div class="liste-objets liste-objets-lies auteurs"> <table class='spip liste'> -[<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{info_1_auteur,info_nb_auteurs}}) #AIDER{artauteurs}</strong></caption>] +[(#REM) <!-- Permettre de personnaliser les items `info_1_auteur` et `info_nb_auteur` -->] +[(#ENV{info_1}|?{ + [(#SET{info_1,#ENV{info_1}})] +, + [(#REM) <!-- personnalisation selon l'objet auquel est lié l'auteur -->] + [(#VAL{#ENV{objet_source}:info_#ENV{objet}_1_#ENV{objet_source}}|_T{'',#ARRAY{force,''}}|?{ + [(#SET{info_1,#VAL{#ENV{objet_source}:info_#ENV{objet}_1_#ENV{objet_source}}})] + , + [(#SET{info_1,info_1_auteur})] + })] +})] +[(#ENV{info_nb}|?{ + [(#SET{info_nb,#ENV{info_nb}})] +, + [(#VAL{#ENV{objet_source}:info_#ENV{objet}_nb_#ENV{table_source}}|_T{#TOTAL_BOUCLE,#ARRAY{force,''}}|?{ + [(#SET{info_nb,#VAL{#ENV{objet_source}:info_#ENV{objet}_nb_#ENV{table_source}}})] + , + [(#SET{info_nb,info_nb_auteurs})] + })] +})] +[<caption><strong class="caption">(#ENV*{titre,#TOTAL_BOUCLE|singulier_ou_pluriel{#GET{info_1}|sinon{#VAL{#ENV{objet_source}:info_1_#ENV{objet_source}}},#GET{info_nb}|sinon{#VAL{#ENV{objet_source}:info_nb_#ENV{table_source}}}}})#AIDER{#GET{cle_aide}}</strong></caption>] <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'}}>[ @@ -33,11 +73,11 @@ a mis a jour la valeur avec la page reelle] } })]</B_lettre> [<tr><td colspan="5"><nav role='navigation' class='pagination'>(#GET{p})</nav></td></tr>] - + <tr class='first_row'> <th class='statut' scope='col'>[(#TRI{statut,#CHEMIN_IMAGE{auteur-0minirezo-16.png}|balise_img{<:lien_trier_statut|attribut_html:>},ajax})]</th> <th class='nom' scope='col' colspan='2'>[(#TRI{multi nom,<:info_nom:>,ajax})]</th> - [(#GET{auteurs_voiremails})<th class='email' scope='col'>[(#TRI{email,<:email:>,ajax})]</th>] + <th class='email' scope='col'>[(#TRI{email,<:email:>,ajax})]</th> <th class='nombre' scope='col'>[(#TRI{compteur_articles,<:info_articles:>,ajax})]</th> <th class='action' scope='col'> </th> </tr> @@ -48,7 +88,7 @@ a mis a jour la valeur avec la page reelle] <td class='statut'>[(#STATUT|puce_statut{auteur})]</td> <td class='nom[ (#NOM|non)vide]'[(#LOGO_AUTEUR|non)colspan='2']><a href="[(#ID_AUTEUR|generer_objet_url{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[<span class='rang'>(#RANG).</span> ][(#NOM|sinon{<:texte_vide:>})]</a></td> [<td class='logo'><a href="[(#ID_AUTEUR|generer_objet_url{auteur})]" style="background-image:url\((#LOGO_AUTEUR|image_recadre_avec_fallback{40,40}|extraire_attribut{src}))"></a></td>] - [(#GET{auteurs_voiremails})<td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td>] + <td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td> <td class='nombre'>[(#COMPTEUR_ARTICLES|singulier_ou_pluriel{info_1_article,info_nb_articles})][<br /><span>(#PIPELINE{'compter_contributions_auteur',#ARRAY{args,#ARRAY{id_auteur,#ID_AUTEUR},data,#ARRAY{}}}|implode{'<br />'})</span>]</td> <td class='action'> [(#ENV{editable}|oui) @@ -64,6 +104,15 @@ a mis a jour la valeur avec la page reelle] </div> </B_liste_aut> <div class="liste-objets liste-objets-lies auteurs caption-wrap"> -<strong class="caption">[(#ENV*{titre,<:info_aucun_auteur:>}) ]#AIDER{artauteurs}</strong> +[(#REM) <!-- Permettre de personnaliser l'item `info_aucun_auteur` -->] +[(#ENV{info_aucun}|?{ + [(#SET{info_aucun,#ENV{info_aucun}})] +, + [(#VAL{#ENV{objet_source}:info_#ENV{objet}_aucun_#ENV{objet_source}}|_T{'',#ARRAY{force,''}}|?{ + [(#SET{info_aucun,#VAL{#ENV{objet_source}:info_#ENV{objet}_aucun_#ENV{objet_source}}})] + , + [(#SET{info_aucun,info_aucun_auteur})] + })] +})]<strong class="caption">[(#ENV*{titre,#GET{info_aucun}|_T}) ]#AIDER{#GET{cle_aide}}</strong> </div> <//B_liste_aut> -- GitLab From 8b837641075b3a37f198c3c958a955f40a6fd712 Mon Sep 17 00:00:00 2001 From: thrax <vincent.callies@gmail.com> Date: Sat, 23 Nov 2024 18:54:58 +0100 Subject: [PATCH 2/6] add: filtre pour une gestion optimale des item info_aucun_1_nb --- objets/liste/auteurs_lies.html | 15 ++------- objets/liste/auteurs_lies_fonctions.php | 42 +++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 12 deletions(-) diff --git a/objets/liste/auteurs_lies.html b/objets/liste/auteurs_lies.html index cf225cf7db..c349afaa37 100644 --- a/objets/liste/auteurs_lies.html +++ b/objets/liste/auteurs_lies.html @@ -58,7 +58,7 @@ a mis a jour la valeur avec la page reelle] [(#SET{info_nb,info_nb_auteurs})] })] })] -[<caption><strong class="caption">(#ENV*{titre,#TOTAL_BOUCLE|singulier_ou_pluriel{#GET{info_1}|sinon{#VAL{#ENV{objet_source}:info_1_#ENV{objet_source}}},#GET{info_nb}|sinon{#VAL{#ENV{objet_source}:info_nb_#ENV{table_source}}}}})#AIDER{#GET{cle_aide}}</strong></caption>] +[<caption><strong class="caption">(#ENV*{titre,#TOTAL_BOUCLE|info_association{#ENV{objet_source},#ENV{objet}}})#AIDER{#GET{cle_aide}}</strong></caption>] <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'}}>[ @@ -103,16 +103,7 @@ a mis a jour la valeur avec la page reelle] [(#GRAND_TOTAL|>{3}|oui)<div class="action"><button type="submit" class="supprimer btn_link btn_mini" name="supprimer_lien\[auteur-*-#OBJET-#ID_OBJET\]" value="X"><:lien_retirer_tous_auteurs:>[ (#CHEMIN_IMAGE{supprimer-12.svg}|balise_img)]</button></div>] </div> </B_liste_aut> -<div class="liste-objets liste-objets-lies auteurs caption-wrap"> [(#REM) <!-- Permettre de personnaliser l'item `info_aucun_auteur` -->] -[(#ENV{info_aucun}|?{ - [(#SET{info_aucun,#ENV{info_aucun}})] -, - [(#VAL{#ENV{objet_source}:info_#ENV{objet}_aucun_#ENV{objet_source}}|_T{'',#ARRAY{force,''}}|?{ - [(#SET{info_aucun,#VAL{#ENV{objet_source}:info_#ENV{objet}_aucun_#ENV{objet_source}}})] - , - [(#SET{info_aucun,info_aucun_auteur})] - })] -})]<strong class="caption">[(#ENV*{titre,#GET{info_aucun}|_T}) ]#AIDER{#GET{cle_aide}}</strong> -</div> +<strong class="caption">(#ENV*{titre,#VAL{0}|info_association{#ENV{objet_source},#ENV{objet}}}) #AIDER{#GET{cle_aide}}</strong> +</div>] <//B_liste_aut> diff --git a/objets/liste/auteurs_lies_fonctions.php b/objets/liste/auteurs_lies_fonctions.php index c9c3d3a031..0ecbad9d50 100644 --- a/objets/liste/auteurs_lies_fonctions.php +++ b/objets/liste/auteurs_lies_fonctions.php @@ -12,5 +12,47 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } +/** + * Filtre automatisant la présentation du nombre d'association d'un objet. + * Tient compte de l'objet lié et de l'objet associé + * pour rechercher un item de langue normalisé pertinent. + * + * @param int $nb : le nombre + * @param string $objet_source : l'objet associé + * @param string $objet : l'objet lié + * @param string $role : role + * @return string : la chaine de langue finale en utilisant la fonction _T() + */ +function info_association($nb, $objet_source, $objet, $role = '') { + switch ($nb) { + case 0: + $chaine_aucun = "{$objet_source}:info_{$objet}{$role}_aucun_{$objet_source}"; + $info_aucun = _T($chaine_aucun, '', ['force' => '']); + if (!strlen($info_aucun) && in_array($objet, ['article','auteur'])) { + $info_aucun = _T("info_aucun_{$objet_source}"); + } + return $info_aucun; + break; + case 1: + $chaine_un = "{$objet_source}:info_{$objet}{$role}_1_{$objet_source}"; + $info_1 = _T($chaine_un, '', ['force' => '']); + if (!strlen($info_1) && in_array($objet, ['article','auteur'])) { + $info_1 = _T("info_1_{$objet_source}"); + } + return $info_1; + break; + case $nb >= 2: + include_spip('base/objets'); + $table_source = table_objet($objet_source); + $chaine_plusieurs = "{$objet_source}:info_{$objet}{$role}_nb_{$table_source}"; + $info_nb = _T($chaine_plusieurs, ['nb' => $nb], ['force' => '']); + if (!strlen($info_nb) && in_array($objet, ['article','auteur'])) { + $info_nb = _T("info_nb_{$objet_source}", ['nb' => $nb]); + } + return $info_nb; + break; + } + return ''; +} include_spip('prive/objets/liste/auteurs_fonctions'); -- GitLab From d80cf5cc4a5b24d95bd8a062a803bdd2e90355d9 Mon Sep 17 00:00:00 2001 From: thrax <vincent.callies@gmail.com> Date: Tue, 26 Nov 2024 20:44:14 +0100 Subject: [PATCH 3/6] =?UTF-8?q?refactor:=20fonction=20de=20cr=C3=A9ation?= =?UTF-8?q?=20d'item=20de=20langue=20add:=20fonction=20de=20cr=C3=A9ation?= =?UTF-8?q?=20d'item=20d'aide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- objets/liste/auteurs_lies.html | 33 +++---------------------- objets/liste/auteurs_lies_fonctions.php | 21 +++++++++++++++- 2 files changed, 23 insertions(+), 31 deletions(-) diff --git a/objets/liste/auteurs_lies.html b/objets/liste/auteurs_lies.html index c349afaa37..3a2dae300e 100644 --- a/objets/liste/auteurs_lies.html +++ b/objets/liste/auteurs_lies.html @@ -20,15 +20,7 @@ #SET{selection,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}} #SET{debut,#ENV{debutautl,#EVAL{_request("debutautl");}}} [(#REM) <!-- Permettre de personnaliser l'aide -->] -[(#ENV{cle_aide}|?{ - #SET{cle_aide,#ENV{cle_aide}} -, - [(#ENV{objet}|=={article}|oui|et{#ENV{table_source}|=={auteurs}|oui}|?{ - [(#SET{cle_aide,#ENV{objet}|substr{0,3}|concat{#ENV{table_source}}})] - , - [(#SET{cle_aide,#ENV{objet}|concat{#ENV{table_source}}})] - })] -})] +[(#SET{cle_aide,#ENV{cle_aide}|sinon{#VAL|constuire_cle_aide{#ENV{objet},#ENV{table_source}}}})] <input type="hidden" name="debutautl" value="#GET{debut}"> <B_liste_aut> [(#REM) En cas de pagination indirecte @32, il faut refaire le set car la boucle @@ -39,26 +31,7 @@ a mis a jour la valeur avec la page reelle] <div class="liste-objets liste-objets-lies auteurs"> <table class='spip liste'> [(#REM) <!-- Permettre de personnaliser les items `info_1_auteur` et `info_nb_auteur` -->] -[(#ENV{info_1}|?{ - [(#SET{info_1,#ENV{info_1}})] -, - [(#REM) <!-- personnalisation selon l'objet auquel est lié l'auteur -->] - [(#VAL{#ENV{objet_source}:info_#ENV{objet}_1_#ENV{objet_source}}|_T{'',#ARRAY{force,''}}|?{ - [(#SET{info_1,#VAL{#ENV{objet_source}:info_#ENV{objet}_1_#ENV{objet_source}}})] - , - [(#SET{info_1,info_1_auteur})] - })] -})] -[(#ENV{info_nb}|?{ - [(#SET{info_nb,#ENV{info_nb}})] -, - [(#VAL{#ENV{objet_source}:info_#ENV{objet}_nb_#ENV{table_source}}|_T{#TOTAL_BOUCLE,#ARRAY{force,''}}|?{ - [(#SET{info_nb,#VAL{#ENV{objet_source}:info_#ENV{objet}_nb_#ENV{table_source}}})] - , - [(#SET{info_nb,info_nb_auteurs})] - })] -})] -[<caption><strong class="caption">(#ENV*{titre,#TOTAL_BOUCLE|info_association{#ENV{objet_source},#ENV{objet}}})#AIDER{#GET{cle_aide}}</strong></caption>] +[<caption><strong class="caption">(#ENV*{titre,#TOTAL_BOUCLE|info_nombre_association_objet{#ENV{objet_source},#ENV{objet}}})#AIDER{#GET{cle_aide}}</strong></caption>] <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'}}>[ @@ -104,6 +77,6 @@ a mis a jour la valeur avec la page reelle] </div> </B_liste_aut> [(#REM) <!-- Permettre de personnaliser l'item `info_aucun_auteur` -->] -<strong class="caption">(#ENV*{titre,#VAL{0}|info_association{#ENV{objet_source},#ENV{objet}}}) #AIDER{#GET{cle_aide}}</strong> +<strong class="caption">(#ENV*{titre,#VAL{0}|info_nombre_association_objet{#ENV{objet_source},#ENV{objet}}}) #AIDER{#GET{cle_aide}}</strong> </div>] <//B_liste_aut> diff --git a/objets/liste/auteurs_lies_fonctions.php b/objets/liste/auteurs_lies_fonctions.php index 0ecbad9d50..e6c09dfe77 100644 --- a/objets/liste/auteurs_lies_fonctions.php +++ b/objets/liste/auteurs_lies_fonctions.php @@ -23,7 +23,7 @@ if (!defined('_ECRIRE_INC_VERSION')) { * @param string $role : role * @return string : la chaine de langue finale en utilisant la fonction _T() */ -function info_association($nb, $objet_source, $objet, $role = '') { +function info_nombre_association_objet(int $nb, string $objet_source, string $objet, string $role = ''): string { switch ($nb) { case 0: $chaine_aucun = "{$objet_source}:info_{$objet}{$role}_aucun_{$objet_source}"; @@ -55,4 +55,23 @@ function info_association($nb, $objet_source, $objet, $role = '') { return ''; } +/** + * Filtre créant l'item d'appel de l'aide. + * + * @link: https://contrib.spip.net/Creer-une-aide-en-ligne-pour-un-plugin + * + * @param string $objet_source : l'objet associé + * @param string $objet : l'objet lié + * @param string $role : role + * @return string : la chaine constitutive de l'appel à l'aide de SPIP + */ +function constuire_cle_aide(string $objet_source, string $objet, string $role = ''): string { + // gestion du cas historique + if ($objet === 'article' && $table_source === 'auteurs' && $role === ''){ + return 'artauteurs'; + } else { + return $objet . $role . $objet_source; + } +} + include_spip('prive/objets/liste/auteurs_fonctions'); -- GitLab From d1979ea2f1760015518870de018baeb14d5d84ca Mon Sep 17 00:00:00 2001 From: thrax <vincent.callies@gmail.com> Date: Tue, 26 Nov 2024 21:45:12 +0100 Subject: [PATCH 4/6] add: variante tcharlss en idiome et respectant chaine_titre_singulier et pluriel --- objets/liste/auteurs_lies.html | 4 ++-- objets/liste/auteurs_lies_fonctions.php | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/objets/liste/auteurs_lies.html b/objets/liste/auteurs_lies.html index 3a2dae300e..5c2fea3290 100644 --- a/objets/liste/auteurs_lies.html +++ b/objets/liste/auteurs_lies.html @@ -31,7 +31,7 @@ a mis a jour la valeur avec la page reelle] <div class="liste-objets liste-objets-lies auteurs"> <table class='spip liste'> [(#REM) <!-- Permettre de personnaliser les items `info_1_auteur` et `info_nb_auteur` -->] -[<caption><strong class="caption">(#ENV*{titre,#TOTAL_BOUCLE|info_nombre_association_objet{#ENV{objet_source},#ENV{objet}}})#AIDER{#GET{cle_aide}}</strong></caption>] +[<caption><strong class="caption">(#ENV*{titre,#GRAND_TOTAL|singulier_ou_pluriel{#ENV{chaine_titre_singulier,#VAL{1}|info_nombre_association_objet{#ENV{objet_source},#ENV{objet},#ENV{role,''}}},#ENV{chaine_titre_pluriel,#VAL{2}|info_nombre_association_objet{#ENV{objet_source},#ENV{objet},#ENV{role,''}}}}})#AIDER{#GET{cle_aide}}</strong></caption>] <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'}}>[ @@ -77,6 +77,6 @@ a mis a jour la valeur avec la page reelle] </div> </B_liste_aut> [(#REM) <!-- Permettre de personnaliser l'item `info_aucun_auteur` -->] -<strong class="caption">(#ENV*{titre,#VAL{0}|info_nombre_association_objet{#ENV{objet_source},#ENV{objet}}}) #AIDER{#GET{cle_aide}}</strong> +<strong class="caption">(#ENV*{sinon,#VAL{0}|info_nombre_association_objet{#ENV{objet_source},#ENV{objet},#ENV{role,''}}|_T}) #AIDER{#GET{cle_aide}}</strong> </div>] <//B_liste_aut> diff --git a/objets/liste/auteurs_lies_fonctions.php b/objets/liste/auteurs_lies_fonctions.php index e6c09dfe77..03de03d129 100644 --- a/objets/liste/auteurs_lies_fonctions.php +++ b/objets/liste/auteurs_lies_fonctions.php @@ -12,16 +12,17 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } + /** - * Filtre automatisant la présentation du nombre d'association d'un objet. + * Filtre créant un idiome de langue. * Tient compte de l'objet lié et de l'objet associé - * pour rechercher un item de langue normalisé pertinent. + * pour rechercher un idiome de langue normalisé existant. * * @param int $nb : le nombre * @param string $objet_source : l'objet associé * @param string $objet : l'objet lié - * @param string $role : role - * @return string : la chaine de langue finale en utilisant la fonction _T() + * @param string $role : role (variable nullable) + * @return string : la chaine de langue finale */ function info_nombre_association_objet(int $nb, string $objet_source, string $objet, string $role = ''): string { switch ($nb) { @@ -29,17 +30,17 @@ function info_nombre_association_objet(int $nb, string $objet_source, string $ob $chaine_aucun = "{$objet_source}:info_{$objet}{$role}_aucun_{$objet_source}"; $info_aucun = _T($chaine_aucun, '', ['force' => '']); if (!strlen($info_aucun) && in_array($objet, ['article','auteur'])) { - $info_aucun = _T("info_aucun_{$objet_source}"); + $chaine_aucun = "info_aucun_{$objet_source}"; } - return $info_aucun; + return $chaine_aucun; break; case 1: $chaine_un = "{$objet_source}:info_{$objet}{$role}_1_{$objet_source}"; $info_1 = _T($chaine_un, '', ['force' => '']); if (!strlen($info_1) && in_array($objet, ['article','auteur'])) { - $info_1 = _T("info_1_{$objet_source}"); + $chaine_un = "info_1_{$objet_source}"; } - return $info_1; + return $chaine_un; break; case $nb >= 2: include_spip('base/objets'); @@ -47,9 +48,9 @@ function info_nombre_association_objet(int $nb, string $objet_source, string $ob $chaine_plusieurs = "{$objet_source}:info_{$objet}{$role}_nb_{$table_source}"; $info_nb = _T($chaine_plusieurs, ['nb' => $nb], ['force' => '']); if (!strlen($info_nb) && in_array($objet, ['article','auteur'])) { - $info_nb = _T("info_nb_{$objet_source}", ['nb' => $nb]); + $chaine_plusieurs = "info_nb_{$objet_source}"; } - return $info_nb; + return $chaine_plusieurs; break; } return ''; -- GitLab From 3a72f339ac93ba23d28aea0284e133da49d3895b Mon Sep 17 00:00:00 2001 From: thrax <vincent.callies@gmail.com> Date: Sat, 30 Nov 2024 09:48:30 +0100 Subject: [PATCH 5/6] fix: retrait par erreur de auteurs_voiremails doc: include plus haut et doc variables d'environnement --- objets/liste/auteurs_lies.html | 12 +++++++----- objets/liste/auteurs_lies_fonctions.php | 6 +++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/objets/liste/auteurs_lies.html b/objets/liste/auteurs_lies.html index 5c2fea3290..be72cbe851 100644 --- a/objets/liste/auteurs_lies.html +++ b/objets/liste/auteurs_lies.html @@ -3,7 +3,7 @@ Le squelette permet de : - personnaliser l'aide @param cle_aide - - personnaliser le titre @param info_aucun,info_1,info_nb + - personnaliser le titre @param chaine_titre_singulier,chaine_titre_pluriel,sinon Par défaut l'aide et le titre seront définis selon l'objet si les items de langue sont existants. @exemple OBJET:info_OBJET_aucun_auteur @@ -16,7 +16,9 @@ multi nom,1, site,1, compteur_articles,-1 -}})] +}}) +] +#SET{auteurs_voiremails,#AUTORISER{auteurs_voiremails}} #SET{selection,#ENV{objet_source}|lister_objets_lies{#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}} #SET{debut,#ENV{debutautl,#EVAL{_request("debutautl");}}} [(#REM) <!-- Permettre de personnaliser l'aide -->] @@ -27,6 +29,7 @@ a mis a jour la valeur avec la page reelle] #SET{debut,#ENV{debutautl,#EVAL{_request("debutautl");}}} #SET{afficher_lettres,#TRI|=={'multi nom'}|oui} +#SET{auteurs_voiremails,#AUTORISER{auteurs_voiremails}} #ANCRE_PAGINATION <div class="liste-objets liste-objets-lies auteurs"> <table class='spip liste'> @@ -50,18 +53,17 @@ a mis a jour la valeur avec la page reelle] <tr class='first_row'> <th class='statut' scope='col'>[(#TRI{statut,#CHEMIN_IMAGE{auteur-0minirezo-16.png}|balise_img{<:lien_trier_statut|attribut_html:>},ajax})]</th> <th class='nom' scope='col' colspan='2'>[(#TRI{multi nom,<:info_nom:>,ajax})]</th> - <th class='email' scope='col'>[(#TRI{email,<:email:>,ajax})]</th> + [(#GET{auteurs_voiremails})<th class='email' scope='col'>[(#TRI{email,<:email:>,ajax})]</th>] <th class='nombre' scope='col'>[(#TRI{compteur_articles,<:info_articles:>,ajax})]</th> <th class='action' scope='col'> </th> </tr> </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**|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|non)colspan='2']><a href="[(#ID_AUTEUR|generer_objet_url{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[<span class='rang'>(#RANG).</span> ][(#NOM|sinon{<:texte_vide:>})]</a></td> [<td class='logo'><a href="[(#ID_AUTEUR|generer_objet_url{auteur})]" style="background-image:url\((#LOGO_AUTEUR|image_recadre_avec_fallback{40,40}|extraire_attribut{src}))"></a></td>] - <td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td> + [(#GET{auteurs_voiremails})<td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td>] <td class='nombre'>[(#COMPTEUR_ARTICLES|singulier_ou_pluriel{info_1_article,info_nb_articles})][<br /><span>(#PIPELINE{'compter_contributions_auteur',#ARRAY{args,#ARRAY{id_auteur,#ID_AUTEUR},data,#ARRAY{}}}|implode{'<br />'})</span>]</td> <td class='action'> [(#ENV{editable}|oui) diff --git a/objets/liste/auteurs_lies_fonctions.php b/objets/liste/auteurs_lies_fonctions.php index 03de03d129..fd86b4a31c 100644 --- a/objets/liste/auteurs_lies_fonctions.php +++ b/objets/liste/auteurs_lies_fonctions.php @@ -13,6 +13,8 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } +include_spip('prive/objets/liste/auteurs_fonctions'); + /** * Filtre créant un idiome de langue. * Tient compte de l'objet lié et de l'objet associé @@ -73,6 +75,4 @@ function constuire_cle_aide(string $objet_source, string $objet, string $role = } else { return $objet . $role . $objet_source; } -} - -include_spip('prive/objets/liste/auteurs_fonctions'); +} \ No newline at end of file -- GitLab From aebafba3f808be2d9191d113ff4b3942b50dbb9d Mon Sep 17 00:00:00 2001 From: thrax <vincent.callies@gmail.com> Date: Sun, 1 Dec 2024 20:25:42 +0100 Subject: [PATCH 6/6] fix: retrait par erreur d'une ligne du tableau --- objets/liste/auteurs_lies.html | 1 + 1 file changed, 1 insertion(+) diff --git a/objets/liste/auteurs_lies.html b/objets/liste/auteurs_lies.html index be72cbe851..b3e00e305b 100644 --- a/objets/liste/auteurs_lies.html +++ b/objets/liste/auteurs_lies.html @@ -60,6 +60,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**|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|non)colspan='2']><a href="[(#ID_AUTEUR|generer_objet_url{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[<span class='rang'>(#RANG).</span> ][(#NOM|sinon{<:texte_vide:>})]</a></td> [<td class='logo'><a href="[(#ID_AUTEUR|generer_objet_url{auteur})]" style="background-image:url\((#LOGO_AUTEUR|image_recadre_avec_fallback{40,40}|extraire_attribut{src}))"></a></td>] -- GitLab