Valider 6b8b3b2d rédigé par Fil's avatar Fil
Parcourir les fichiers

on remballe les choses bizarres necessaires pour faire de #LESAUTEURS un vrai...

on remballe les choses bizarres necessaires pour faire de #LESAUTEURS un vrai modele -- c'est plus simple quand c'est moins complique
parent 570b7a6e
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+2 −8
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
[(#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})]
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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, 
+29 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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
+4 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -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) {