Le surlignement des Referers ne marche pas
Bonjour,
J'étais en train de tester le surlignement des mots dans le texte présents dans les referers. Et ça ne marchait pas. J'avais bien mis dans mon mes_options :
// https://www.spip.net/fr_article903.html#Surligner-la-requete-dans-les-autres-pages
if (!defined('_SURLIGNE_RECHERCHE_REFERERS')) {
define('_SURLIGNE_RECHERCHE_REFERERS',true);
}
if (isset($_REQUEST['recherche'])) {
$_GET['var_recherche'] = $_REQUEST['recherche'];
}
Le surlignement marchait dans la page des résultats de recherche du site. Mais pas dans une des pages en lien depuis les résultats de recherche.
J'ai tracé inc/surligne.php
recevait une version tronquée du referer :
http://spipmu4 localhost/spip php page recherche&recherche images
Il manquait : les .
dans le nom de domaine et les =
dans la querystring.
Forcément, après, la regexp sur [0] => ,http:\/\/spipmu4\.localhost,i [1] => ,recherche=([^&]+),i
ne pouvait pas trouver de correcpondance.
Le fautif : inc/pipeline.php
, fonction f_surligne
nettoyant un peu trop $_SERVER['HTTP_REFERER']
-
- :
$_SERVER['HTTP_REFERER'] = preg_replace(',[^\w\,/#&;:-]+,', ' ', $_SERVER['HTTP_REFERER']);
- :
-
- :
$_SERVER['HTTP_REFERER'] = preg_replace(',[^\w\,/#&;:-=\.]+,', ' ', $_SERVER['HTTP_REFERER']);
- :
Testé avec SPIP 4.2.10. Ce ticket ne peut pas concerner SPIP 5 qui a supprimé cette fonctionnalité du core : !5702 (merged)