diff --git a/ecrire/action/editer_auteurs.php b/ecrire/action/editer_auteurs.php index af9cff03a990940e74221c8e3e067c4c7cfb56ea..bbef1cb854d69c4f463744d4f0f8d5b28ea6de27 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 acf76116c7d9ebb0ca4dea7b61edcf50c0889951..4f6d895d34cf31172e2885b2189a19971599c297 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 a58730874a5d90b758bb82bf92db0a6f98253e39..477fed60fb5808f22b91368faeca5ce0ebe1bf60 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) {