From 6957d0828e8817578dff0a22ec57769d3e9ad4a4 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Tue, 25 Apr 2006 09:56:15 +0000
Subject: [PATCH] suite de [6236]

---
 ecrire/balise/login_public.php | 5 ++---
 ecrire/inc/utils.php           | 4 ++--
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/ecrire/balise/login_public.php b/ecrire/balise/login_public.php
index 1ddea1eced..4e39c0ce2c 100644
--- a/ecrire/balise/login_public.php
+++ b/ecrire/balise/login_public.php
@@ -42,10 +42,9 @@ function login_explicite($login, $cible) {
 	global $auteur_session;
 
 	$action = str_replace('&amp;', '&', self());
-
 	if ($cible) {
-		$cible = ereg_replace("[?&]var_erreur=[^&]*", '', $cible);
-		$cible = ereg_replace("[?&]var_login=[^&]*", '', $cible);
+		$cible = parametre_url($cible, 'var_erreur', '', '&');
+		$cible = parametre_url($cible, 'var_login', '', '&');
 	} else {
 		if (ereg("[?&]url=([^&]*)", $action, $m))
 			$cible = urldecode($m[1]);
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index fb5ec4a319..4b5f7d63fc 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -324,8 +324,8 @@ function parametre_url($url, $c, $v=NULL, $sep='&amp;') {
 //
 function nettoyer_uri() {
 	return preg_replace
-		(',[?&](PHPSESSID|(var_[^=&]*))=[^&]*,i',
-		'', 
+		(',([?&])(PHPSESSID|(var_[^=&]*))=[^&]*(&|$),i',
+		'\1',
 		$GLOBALS['REQUEST_URI']);
 }
 
-- 
GitLab