From bb840fdb8731b6868b521c7d092eb68e4e052dee Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Mon, 6 Nov 2006 07:38:18 +0000
Subject: [PATCH] mauvaises inclusions en mode non ajax

---
 ecrire/action/editer_auteurs.php | 14 ++++++++++----
 ecrire/exec/editer_mot.php       |  5 +----
 ecrire/inc/editer_mot.php        |  2 +-
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/ecrire/action/editer_auteurs.php b/ecrire/action/editer_auteurs.php
index af9cff03a9..bbef1cb854 100644
--- a/ecrire/action/editer_auteurs.php
+++ b/ecrire/action/editer_auteurs.php
@@ -34,20 +34,26 @@ function action_editer_auteurs_dist() {
 		if  ($nouv_auteur = intval(_request('nouv_auteur'))) {
 			ajouter_auteur_et_rediriger($r[1], $nouv_auteur, $redirect);
 		} else if ($cherche = _request('cherche_auteur')) {
+			if ($p = strpos($redirect, '#')) {
+				$ancre = substr($redirect,$p);
+				$redirect = substr($redirect,0,$p);
+			} else $ancre ='';
+
 			$res = rechercher_auteurs($cherche);
 			$n = count($res);
+
 			if ($n == 1)
 			# Bingo. Signaler le choix fait.
-				ajouter_auteur_et_rediriger($r[1], $res[0], "$redirect&ids=" . $res[0] . "&cherche_auteur=" . $res[0]);
+				ajouter_auteur_et_rediriger($r[1], $res[0], "$redirect&ids=" . $res[0] . "&cherche_auteur=" . $res[0] . $ancre);
 			# Trop vague. Le signaler.
 			elseif ($n > 16)
-				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=-1");
+				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=-1" . $ancre);
 			elseif (!$n)
 			# Recherche vide (mais faite). Le signaler 
-				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" );
+				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids="  . $ancre);
 			else
 			# renvoyer un formulaire de choix
-				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . join(',',$res));
+				redirige_par_entete("$redirect&cherche_auteur=$cherche&ids=" . join(',',$res)  . $ancre);
 
 		}
 	} else spip_log("action_editer_auteur: $arg pas compris");
diff --git a/ecrire/exec/editer_mot.php b/ecrire/exec/editer_mot.php
index acf76116c7..4f6d895d34 100644
--- a/ecrire/exec/editer_mot.php
+++ b/ecrire/exec/editer_mot.php
@@ -11,14 +11,11 @@
 \***************************************************************************/
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
 
 // http://doc.spip.org/@exec_editer_mot_dist
 function exec_editer_mot_dist()
 {
-	include_spip('inc/actions');
-	include_spip('inc/mots');
-	include_spip('inc/presentation');
-
 	$objet = _request('objet');
 	$id_objet = intval(_request('id_objet'));
 
diff --git a/ecrire/inc/editer_mot.php b/ecrire/inc/editer_mot.php
index a58730874a..477fed60fb 100644
--- a/ecrire/inc/editer_mot.php
+++ b/ecrire/inc/editer_mot.php
@@ -12,7 +12,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/actions');
-
+include_spip('inc/mots');
 
 // http://doc.spip.org/@inc_editer_mot_dist
 function inc_editer_mot_dist($objet, $id_objet, $cherche_mot, $select_groupe, $flag) {
-- 
GitLab