diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index 8c40bbd583d1c23007afbd90bb2e9bcb79f4a954..d7f4cfb163560305c8be1396b9a4a16b6425e975 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -440,11 +440,22 @@ 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 +/** + * #LESAUTEURS + * affiche la liste des auteurs d'un objet + * soit le champs lesauteurs existe dans la table et à ce moment là , retourne son contenu + * soit la balise appelle le modele lesauteurs.html en lui passant le couple + * objet/id_objet dans son environnement + * + * http://www.spip.net/fr_article902.html + * http://www.spip.net/fr_article911.html + * http://doc.spip.org/@balise_LESAUTEURS_dist + * + * @param Champ $p + * Pile au niveau de la balise + * @return Champ + * Pile complétée par le code à générer + */ function balise_LESAUTEURS_dist ($p) { // Cherche le champ 'lesauteurs' dans la pile $_lesauteurs = champ_sql('lesauteurs', $p, false); @@ -458,13 +469,21 @@ function balise_LESAUTEURS_dist ($p) { $p->code = "safehtml($_lesauteurs)"; // $p->interdire_scripts = true; } else { - $connect = !$p->id_boucle ? '' - : $p->boucles[$p->id_boucle]->sql_serveur; - + if(!$p->id_boucle){ + $connect = ''; + $objet = 'article'; + $id_table_objet = 'id_article'; + } + else{ + $connect = $p->boucles[$p->id_boucle]->sql_serveur; + $type_boucle = $p->boucles[$p->id_boucle]->type_requete; + $objet = objet_type($type_boucle); + $id_table_objet = id_table_objet($type_boucle); + } $c = memoriser_contexte_compil($p); $p->code = sprintf(CODE_RECUPERER_FOND, "'modeles/lesauteurs'", - "array('id_article' => ".champ_sql('id_article', $p) .")", + "array('objet'=>'".$objet."','id_objet' => ".champ_sql($id_table_objet, $p) .")", "'trim'=>true, 'compil'=>array($c)", _q($connect)); $p->interdire_scripts = false; // securite apposee par recuperer_fond()