From 432d515f1c128f12f660866ce504ba7d03a01cda Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Tue, 25 Jul 2006 21:47:57 +0000
Subject: [PATCH] =?UTF-8?q?Suite=20de=20[6903]:=20la=20fonction=20verifier?=
 =?UTF-8?q?=5Fvisiteur=20retourne=20le=20statut=20de=20l'internaute=20s'il?=
 =?UTF-8?q?=20figure=20dans=20la=20table=20des=20auteurs,=20false=20sinon.?=
 =?UTF-8?q?=20Comme=20exemple=20d'utilisation,=20un=20squelette=20qui=20n'?=
 =?UTF-8?q?affiche=20des=20choses=20que=20si=20l'internaute=20a=20un=20cer?=
 =?UTF-8?q?tain=20statut=20(rare=20cas=20de=20PHP=20l=C3=A9gitimement=20in?=
 =?UTF-8?q?terpol=C3=A9=20dans=20un=20squelette):?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

<?php if (verifier_visiteur() == '0minirezo') {?>
<BOUCLE1(ARTICLES){id_article}>#TEXTE</BOUCLE1>
<?php } ?>

Cela résoud en particulier le problème particulier énoncé par [6903].
---
 ecrire/inc/actions.php | 6 +++---
 ecrire/inc/utils.php   | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/ecrire/inc/actions.php b/ecrire/inc/actions.php
index 3daec774ec..da99f2340b 100644
--- a/ecrire/inc/actions.php
+++ b/ecrire/inc/actions.php
@@ -89,7 +89,7 @@ function determine_upload()
 }
 
 //
-// reconnaitre un utilisateur authentifie en php_auth
+// retourne le statut d'un utilisateur authentifie en php_auth, false sinon
 //
 function verifier_php_auth() {
 	if ($_SERVER['PHP_AUTH_USER'] && $_SERVER['PHP_AUTH_PW']
@@ -102,7 +102,7 @@ function verifier_php_auth() {
 		if ($row AND $row['source'] != 'ldap') {
 		  if ($row['pass'] != md5($row['alea_actuel'] . $_SERVER['PHP_AUTH_PW'])) {
 			$GLOBALS['auteur_session'] = $row;
-			return true;
+			return $row['statut'];
 		  } else return false;
 		} else {
 		  if (!$row AND !$GLOBALS['ldap_present'])
@@ -111,7 +111,7 @@ function verifier_php_auth() {
 			$f = charger_fonction('auth_ldap', 'inc', true);
 			if ($f) {
 			  $GLOBALS['auteur_session'] =  $f($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
-			  return true;
+			  return $GLOBALS['auteur_session']['statut'];
 			}
 		  }
 		}
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index f21d46eb7b..e10f0133c1 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1031,7 +1031,7 @@ function spip_desinfecte(&$t) {
 	}
 }
 
-// Authentifier le visiteur s'il s'annonce
+//  retourne le statut du visiteur s'il s'annonce
 
 function verifier_visiteur() {
 // Rq: pour que cette fonction marche depuis mes_options elle a besoin
@@ -1041,7 +1041,7 @@ function verifier_visiteur() {
 	if (isset($_COOKIE['spip_session']) OR
 	(isset($_SERVER['PHP_AUTH_USER'])  AND !$GLOBALS['ignore_auth_http'])) {
 		$var_f = charger_fonction('session', 'inc');
-		if ($var_f()) return true;
+		if ($var_f()) return $GLOBALS['auteur_session']['statut'];
 		include_spip('inc/actions');
 		return verifier_php_auth();
 	}
-- 
GitLab