From fffc0bfb06f51f5d3f44959b2b06e88477cc1fe0 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Wed, 15 Aug 2007 11:34:48 +0000
Subject: [PATCH] verifier que l'on n'a pas passe NULL comme troisieme argument
 de parametre_url(), mais bien qu'on n'a pas mis de troisieme argument (permet
 d'eviter un bug sur un appel parametre_url(url, toto, x) ou la variable x est
 null, bug qui s'exprimait sur 'creer un auteur et l'associer a cet article')

---
 ecrire/inc/editer_auteurs.php | 6 ++++--
 ecrire/inc/utils.php          | 8 +++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/ecrire/inc/editer_auteurs.php b/ecrire/inc/editer_auteurs.php
index 02078d4ea2..8c286688a9 100644
--- a/ecrire/inc/editer_auteurs.php
+++ b/ecrire/inc/editer_auteurs.php
@@ -63,7 +63,8 @@ function editer_auteurs_objet($type, $id, $flag, $cherche_auteur, $ids, $les_aut
 		if ($type=='article' && $bouton_creer_auteur) { // pas generique pour le moment
 
 			$legende = generer_url_ecrire("auteur_infos", "new=oui&lier_id_article=$id");
-			$legende = parametre_url($legende, 'nom', $cherche_auteur);
+			if (isset($cherche_auteur))
+				$legende = parametre_url($legende, 'nom', $cherche_auteur);
 			$legende = parametre_url($legende, 'redirect',
 				generer_url_ecrire('articles', "id_article=$id", '&'));
 
@@ -90,7 +91,8 @@ function editer_auteurs_objet($type, $id, $flag, $cherche_auteur, $ids, $les_aut
 		if ($type=='article' && $bouton_creer_auteur) { // pas generique pour le moment
 
 			$legende = generer_url_ecrire("auteur_infos", "new=oui&lier_id_article=$id");
-			$legende = parametre_url($legende, 'nom', $cherche_auteur);
+			if (isset($cherche_auteur))
+				$legende = parametre_url($legende, 'nom', $cherche_auteur);
 			$legende = parametre_url($legende, 'redirect',
 				generer_url_ecrire('articles', "id_article=$id", '&'));
 
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 27d34ee2dd..1a690ded4e 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -327,10 +327,6 @@ function parametre_url($url, $c, $v=NULL, $sep='&amp;') {
 	$a = array_shift($url);
 	if (!$a) $a= './';
 
-	// ajout de la globale ?
-	//if ($v === NULL)
-	//	$v = _request($c);
-
 	// lire les variables et agir
 	foreach ($url as $n => $val) {
 		if (preg_match(',^'.preg_quote($c,',').'(=.*)?$,', urldecode($val), $r)) {
@@ -347,7 +343,9 @@ function parametre_url($url, $c, $v=NULL, $sep='&amp;') {
 	}
 
 	// ajouter notre parametre si on ne l'a pas encore trouve
-	if ($v === NULL)
+	if ($v === NULL
+	AND $args = func_get_args()
+	AND count($args)==2)
 		return $v;
 	elseif ($v)
 		$url[] = $c.'='.rawurlencode($v);
-- 
GitLab