From cf02079e55ad1934f1e970235ddc5eb78db47368 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sat, 3 Jan 2009 09:44:32 +0000
Subject: [PATCH] =?UTF-8?q?Eviter=20les=20appels=20=C3=A0=20=5Frequest()?=
 =?UTF-8?q?=20dans=20les=20fichiers=20de=20inc/?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/surligne.php     | 10 ++++------
 ecrire/public/assembler.php | 11 +++++------
 2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/ecrire/inc/surligne.php b/ecrire/inc/surligne.php
index f57770fb7d..350e59ab97 100644
--- a/ecrire/inc/surligne.php
+++ b/ecrire/inc/surligne.php
@@ -10,20 +10,18 @@
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-
-//
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 // Ces commentaires vont etre substitue's en mode recherche
-// voir les champs SURLIGNE dans inc-index-squel
+// voir balise_DEBUT_SURLIGNE et balise_FIN_SURLIGNE
 
 define("MARQUEUR_SURLIGNE",  'debut_surligneconditionnel');
 define("MARQUEUR_FSURLIGNE", 'finde_surligneconditionnel');
 
 
 // http://doc.spip.org/@surligner_mots
-function surligner_mots($page) {
-  $surlignejs_engines = array(
+function surligner_mots($page, $surcharge_surligne='') {
+  	$surlignejs_engines = array(
       array(",".str_replace(array("/","."),array("\/","\."),$GLOBALS['meta']['adresse_site']).",i", ",recherche=([^&]+),i"), //SPIP
       array(",^http://(www\.)?google\.,i", ",q=([^&]+),i"),                            // Google
       array(",^http://(www\.)?search\.yahoo\.,i", ",p=([^&]+),i"),                     // Yahoo
@@ -41,7 +39,7 @@ function surligner_mots($page) {
     
   $ref = $_SERVER['HTTP_REFERER'];
   //avoid a js injection
-  if($surcharge_surligne=_request("var_recherche")) {
+  if($surcharge_surligne) {
     $surcharge_surligne = preg_replace(",(?<!\\\\)((?:(?>\\\\){2})*)('),","$1\\\\$2",$surcharge_surligne);
     $surcharge_surligne = str_replace("\\","\\\\",$surcharge_surligne);
     if($GLOBALS['meta']['charset']=='utf-8') {
diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index f62e53cd7a..c821d91f1b 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -268,12 +268,11 @@ function inclure_balise_dynamique($texte, $echo=true, $ligne=0) {
 // Traiter var_recherche ou le referrer pour surligner les mots
 // http://doc.spip.org/@f_surligne
 function f_surligne ($texte) {
-	if ($GLOBALS['html']
-	AND (isset($_SERVER['HTTP_REFERER']) OR isset($_GET['var_recherche']))) {
-		include_spip('inc/surligne');
-		$texte = surligner_mots($texte);
-	}
-	return $texte;
+	if (!$GLOBALS['html']) return $texte;
+	$rech = _request('var_recherche');
+	if (!$rech AND !isset($_SERVER['HTTP_REFERER'])) return $texte;
+	include_spip('inc/surligne');
+	return surligner_mots($texte, $rech);
 }
 
 // Valider/indenter a la demande.
-- 
GitLab