diff --git a/dist/modeles/lesauteurs.html b/dist/modeles/lesauteurs.html index 0b30ac901fd9fa9124105c7386d10e95e70240a3..b65703f9ad8c93c02f0c5b2cadb6d81fe475983c 100644 --- a/dist/modeles/lesauteurs.html +++ b/dist/modeles/lesauteurs.html @@ -1,13 +1,7 @@ [(#REM) - Modele pour #LESAUTEURS : - * s'il s'agit d'un article normal, on boucle sur les auteurs de l'article - * s'il s'agit d'un article syndique, on affiche la valeur du champ, - passee dans #ENV par le compilo, en la securisant avec safehtml. - + Modele pour la balise # LESAUTEURS, dans le cas des auteurs d'un article + (pour un article syndique, la balise affiche directement la valeur du champ) ] - <BOUCLE_auteurs(AUTEURS) {id_article} {par nom} {", "}> <a href="#URL_AUTEUR">#NOM</a></BOUCLE_auteurs> - -[(#ID_SYNDIC_ARTICLE|?{#ENV**{lesauteurs}|safehtml})] diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php index 801b3a18822bcfe937953854a062c800198e09cd..97889707bb727f1230fab9586bc82ddd6646a307 100644 --- a/ecrire/public/assembler.php +++ b/ecrire/public/assembler.php @@ -447,7 +447,7 @@ function inclure_modele($squelette, $type, $id) { if ($class) $contexte['class'] = $class; -#print_r($contexte); + // Traiter les parametres // par exemple : <img1|center>, <emb12|autostart=true> ou <doc1|lang=en> $contexte = array_merge($contexte, diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index 0287efc270c7f957dc2282fc30fb90bedd261e7b..0e812b7bb1e1b69904760e971d256a2b047f832b 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -423,8 +423,7 @@ function balise_EXPOSE_dist($p) { return calculer_balise_expose($p, $on, $off); } -// obsolete. utiliser la precedente - +// #EXPOSER est obsolete. utiliser #EXPOSE ci-dessus // http://doc.spip.org/@balise_EXPOSER_dist function balise_EXPOSER_dist($p) { @@ -536,6 +535,34 @@ function balise_LANG_dist ($p) { return $p; } + +// #LESAUTEURS +// les auteurs d'un article (ou d'un article syndique) +// http://www.spip.net/fr_article902.html +// http://www.spip.net/fr_article911.html +// http://doc.spip.org/@balise_LESAUTEURS_dist +function balise_LESAUTEURS_dist ($p) { + // Cherche le champ 'lesauteurs' dans la pile + $_lesauteurs = champ_sql('lesauteurs', $p); + + // Si le champ n'existe pas (cas de spip_articles), on applique + // le modele lesauteurs.html en passant id_article dans le contexte; + // dans le cas contraire on prend le champ 'lesauteurs' (cas de + // spip_syndic_articles) + if ($_lesauteurs AND $_lesauteurs != '$Pile[0][\'lesauteurs\']') { + $p->code = "safehtml($_lesauteurs)"; + // $p->interdire_scripts = true; + } else { + $p->code = "recuperer_fond( + 'modeles/lesauteurs', + array('id_article' => ".champ_sql('id_article', $p)."))"; + $p->interdire_scripts = false; // securite apposee par recuperer_fond() + } + + return $p; +} + + // #RANG // affiche le "numero de l'article" quand on l'a titre '1. Premier article'; // ceci est transitoire afin de preparer une migration vers un vrai systeme de diff --git a/ecrire/public/references.php b/ecrire/public/references.php index ffc347f2f2e7aad217d71d0dbe5f385fe8a696bd..5b1295a7f087f85c2cc3c8dbbe192ae90abaa1b9 100644 --- a/ecrire/public/references.php +++ b/ecrire/public/references.php @@ -253,7 +253,7 @@ function calculer_balise($nom, $p) { // fonction speciale d'appel a un modele modeles/truc.html pour la balise #TRUC -// exemples : #LESAUTEURS, #TRADUCTIONS, #DOC, #IMG... +// exemples : #TRADUCTIONS, #DOC, #IMG... // http://doc.spip.org/@calculer_balise_modele_dist function calculer_balise_modele_dist($p){ $nom = strtolower($p->nom_champ); @@ -271,8 +271,9 @@ function calculer_balise_modele_dist($p){ $code_contexte = argumenter_inclure($champ, $p->descr, $p->boucles, $p->id_boucle, false); // Si le champ existe dans la pile, on le met dans le contexte - // (exemple : #LESAUTEURS dans spip_syndic_articles) - $code_contexte[] = "'$nom='.".champ_sql($nom, $p); + // (a priori c'est du code mort ; il servait pour #LESAUTEURS dans + // le cas spip_syndic_articles) + #$code_contexte[] = "'$nom='.".champ_sql($nom, $p); // Reserver la cle primaire de la boucle courante if ($primary = $p->boucles[$p->id_boucle]->primary) {