3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2011 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
13 if (!defined('_ECRIRE_INC_VERSION')) return;
15 include_spip('inc/editer_auteurs');
16 include_spip('inc/selectionner');
19 // Affiche un mini-navigateur ajax sur les auteurs
22 // http://doc.spip.org/@inc_selectionner_auteur_dist
23 function inc_selectionner_auteur_dist($id_article, $type='article')
25 $idom = "auteur_$type" . "_$id_article";
26 $new = $idom . '_new';
27 if (!$determiner_non_auteurs = charger_fonction('determiner_non_auteurs_'.$type,'inc',true))
28 $determiner_non_auteurs = 'determiner_non_auteurs';
30 $futurs = selectionner_auteur_boucle($determiner_non_auteurs($type, $id_article), $idom);
32 // url completee par la fonction JS onkeypress_rechercher
33 $url = generer_url_ecrire('rechercher_auteur', "idom=$idom&nom=");
35 return construire_selectionner_hierarchie($idom, $futurs, '', $url, $new);
38 // http://doc.spip.org/@selectionner_auteur_boucle
39 function selectionner_auteur_boucle($where, $idom)
41 $info = generer_url_ecrire('informer_auteur', "id=");
42 $idom3 = $idom . '_selection';
43 $idom2 = $idom . '_new';
44 $idom1 = $idom . '_div';
45 $args = "'$idom3', '$info', event";
47 $all = sql_allfetsel("nom, id_auteur", "spip_auteurs", $where, '', "nom, statut");
48 foreach ($all as $row) {
50 $id = $row["id_auteur"];
51 $nom = typo($row["nom"]);
53 // attention, les <a></a> doivent etre au premier niveau
54 // et se suivrent pour que changerhighligth fonctionne
55 // De plus, leur zone doit avoir une balise et une seule
56 // autour de la valeur pertinente pour que aff_selection
57 // fonctionne (faudrait concentrer tout ca).
59 $res .= "<a class='highlight off'"
60 . "\nonclick=\"changerhighlight(this);"
61 . "findObj_forcer('$idom2').value="
63 . "; aff_selection($id,$args); return false;"
65 // incomplet: le selecteur devient indisponible. A ameliorer
66 . "findObj_forcer('$idom').parentNode.innerHTML='"
68 . "'; findObj_forcer('$idom2').value="