Your IP : 216.73.216.249


Current Path : /home/etiennec/www/oldsite/ecrire/inc/
Upload File :
Current File : /home/etiennec/www/oldsite/ecrire/inc/selectionner_auteur.php

<?php

/***************************************************************************\
 *  SPIP, Systeme de publication pour l'internet                           *
 *                                                                         *
 *  Copyright (c) 2001-2011                                                *
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
 *                                                                         *
 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
\***************************************************************************/

if (!defined('_ECRIRE_INC_VERSION')) return;

include_spip('inc/editer_auteurs');
include_spip('inc/selectionner');

//
// Affiche un mini-navigateur ajax sur les auteurs
//

// http://doc.spip.org/@inc_selectionner_auteur_dist
function inc_selectionner_auteur_dist($id_article, $type='article')
{
	$idom = "auteur_$type" . "_$id_article";
	$new = $idom . '_new';
	if (!$determiner_non_auteurs = charger_fonction('determiner_non_auteurs_'.$type,'inc',true))
		$determiner_non_auteurs = 'determiner_non_auteurs';

	$futurs = selectionner_auteur_boucle($determiner_non_auteurs($type, $id_article), $idom);

	// url completee par la fonction JS onkeypress_rechercher
	$url = generer_url_ecrire('rechercher_auteur', "idom=$idom&nom=");

	return construire_selectionner_hierarchie($idom, $futurs, '', $url, $new);
}

// http://doc.spip.org/@selectionner_auteur_boucle
function selectionner_auteur_boucle($where, $idom)
{
	$info = generer_url_ecrire('informer_auteur', "id=");
	$idom3 = $idom . '_selection';
	$idom2 = $idom . '_new';
	$idom1 = $idom . '_div';
	$args = "'$idom3', '$info', event";
	$res = '';
	$all = sql_allfetsel("nom, id_auteur", "spip_auteurs", $where, '', "nom, statut");
	foreach ($all as $row) {

		$id = $row["id_auteur"];
		$nom = typo($row["nom"]);

		// attention, les <a></a> doivent etre au premier niveau
		// et se suivrent pour que changerhighligth fonctionne
		// De plus, leur zone doit avoir une balise et une seule
		// autour de la valeur pertinente pour que aff_selection
		// fonctionne (faudrait concentrer tout ca).

		$res .= "<a class='highlight off'"
		. "\nonclick=\"changerhighlight(this);"
		. "findObj_forcer('$idom2').value="
		. $id
		. "; aff_selection($id,$args); return false;"
		. "\"\nondblclick=\""
		  // incomplet: le selecteur devient indisponible. A ameliorer
		. "findObj_forcer('$idom').parentNode.innerHTML='"
		. attribut_html($nom)
		. "'; findObj_forcer('$idom2').value="
		. $id
		. "; return false"
		. "\"><b>"
		. $nom
		. "</b></a>";
	}

	return $res;
}
?>