From ae97f84bc9e7f865b65192c2feb01fc70f1a6822 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sat, 25 Dec 2004 11:15:08 +0000
Subject: [PATCH] meilleure mise en page des cas d'erreur

---
 formulaire_login-dist.html |  6 +++---
 inc-login_public.php3      | 33 ++++++++++++++-------------------
 2 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/formulaire_login-dist.html b/formulaire_login-dist.html
index f2a61ef8cf..cafa97410e 100644
--- a/formulaire_login-dist.html
+++ b/formulaire_login-dist.html
@@ -12,14 +12,14 @@ onclick="javascript:window.open('spip_pass.php3?[mode=(#HTTP_VARS{mode})]', 'spi
 	<script type="text/javascript" src="ecrire/md5.js"></script>
 	<form	name="form_login"
 		action="[(#HTTP_VARS{action2})]"
-		method="post"[(#HTTP_VARS{source})
+		method="post"[(#HTTP_VARS{source}|egal{spip})
 		onSubmit='if (this.session_password.value) {
 			this.session_password_md5.value = calcMD5("[(#HTTP_VARS{alea_actuel})]" + this.session_password.value);
 			this.next_session_password_md5.value = calcMD5("[(#HTTP_VARS{alea_futur})]" + this.session_password.value);
 			this.session_password.value = "";
 			}']>
 		<div class="spip_encadrer" style="text-align: [(#HTTP_VARS{spip_lang_left})]">[
-			<div class="reponse_formulaire">(#HTTP_VARS*{statut})<br /><br /></div>
+			<div class="reponse_formulaire">(#HTTP_VARS*{erreur})<br /><br /></div>
 ][
 			<label><b><:login_login2:></b><br /></label>(#HTTP_VARS{login}|vide)
 			<input type="text" name="var_login" class="forml" value="" size="40" />
@@ -35,7 +35,7 @@ document.write('<:login_login:>&nbsp;<b>[(#HTTP_VARS{login})]</b><br />&#91<a hr
 		<a href="[(#HTTP_VARS{action})]"><:login_recharger:></a>
 	</font>
 	<br /><br />
-	<label><b>Login (identifiant de connexion au site)&nbsp;:</b><br /></label>
+	<label><b><:login_login2:></b><br /></label>
 	<input type='text' name='session_login' class='forml' [value="(#HTTP_VARS{login})" ]size='40' />
 </noscript>
 [<img src="IMG/auton(#HTTP_VARS{id_auteur}).jpg" width="75" align="right">]
diff --git a/inc-login_public.php3 b/inc-login_public.php3
index d99a0da1f1..fbbbac6c5e 100644
--- a/inc-login_public.php3
+++ b/inc-login_public.php3
@@ -29,9 +29,10 @@ function login_explicite($login, $cible, $mode) {
 	$clean_link->delVar('var_login');
 	$action = $clean_link->getUrl();
 
-	if ($cible)
+	if ($cible) {
 	  $cible = ereg_replace("[?&]var_erreur=[^&]*", '', $cible);
-	else {
+	  $cible = ereg_replace("[?&]var_login=[^&]*", '', $cible);
+	} else {
 	  if (ereg("[?&]url=([^&]*)", $action, $m))
 	    $cible = urldecode($m[1]);
 	  else
@@ -76,25 +77,16 @@ function login_pour_tous($login, $cible, $message, $action, $mode) {
 	  $login = '';
 
 	$row = array();
-
+	$erreur = '';
 	if ($login) {
-		$login = addslashes($login);
-		$row = spip_query("SELECT * FROM spip_auteurs WHERE login='$login'");
+		$row = spip_query("SELECT * FROM spip_auteurs WHERE login='" .addslashes($login) ."'");
 		$row =  spip_fetch_array($row);
-		if (!$row) {
-			$row['statut'] = $GLOBALS['ldap_present'];
-		} else {
-			$row['source'] = ($row['source'] == 'spip') ? ' ' : '' ;
-			if ($row['statut'] == '5poubelle' OR ((!$row['source']) AND $row['pass'] == '')) {
-				$row['statut'] = false;
-			}
-		}
-
-		if ($row['statut'])
-			$row['statut'] = '';
-		else {
-			$row['statut'] =  _T('login_identifiant_inconnu', array('login' => htmlspecialchars($login)));
- 			$row['login'] = '';
+		if ((!$row AND !$GLOBALS['ldap_present']) OR
+		    ($row['statut'] == '5poubelle') OR 
+		    (($row['source'] == 'spip') AND $row['pass'] == '')) {
+			$erreur =  _T('login_identifiant_inconnu', array('login' => $login));
+ 			$row = array();
+			$login = '';
 			@spip_setcookie("spip_admin", "", time() - 3600);
 		}
 	}
@@ -105,6 +97,7 @@ function login_pour_tous($login, $cible, $message, $action, $mode) {
 		     array_merge(array_map('addslashes', $row),
 				 array(
 				       'action2' => ($login ? 'spip_cookie.php3' : $action),
+				       'erreur' => $erreur,
 				       'action' => $action,
 				       'url' => $cible,
 				       'auth' => $auth,
@@ -137,4 +130,6 @@ function vide($a) {return $a ? '' : ' ';}
 
 function choisir($t,$v,$f) {return $t ? $v : $f;}
 
+function egal($a1,$a2) {return ($a1 == $a2) ? ' ' : '';}
+
 ?>
-- 
GitLab