From 677003848cd57c65e88782e0a52605b2c24009d4 Mon Sep 17 00:00:00 2001 From: Cerdic Date: Tue, 9 Sep 2014 13:50:05 +0000 Subject: [PATCH] =?UTF-8?q?Fix=20#2013=20:=20le=20filtrage=20/auteur=20du?= =?UTF-8?q?=20statut=20de=20previsu=20introduit=20par=20r21500=20n'etait?= =?UTF-8?q?=20pas=20pris=20en=20compte=20dans=20autoriser=5Fprevisualiser?= =?UTF-8?q?=5Fdist()=20ce=20qui=20ne=20rendait=20plus=20visible=20le=20lie?= =?UTF-8?q?n=20de=20pr=C3=A9visu=20sur=20les=20articles=20en=20cours=20de?= =?UTF-8?q?=20redaction.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc/autoriser.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php index 15a66b33b3..d8a1911dbb 100644 --- a/ecrire/inc/autoriser.php +++ b/ecrire/inc/autoriser.php @@ -281,7 +281,12 @@ function autoriser_previsualiser_dist($faire, $type, $id, $qui, $opt) { $champ = $c['champ']; if (!isset($opt[$champ])) return false; // pas de champ passe a la demande => NIET $previsu = explode(',',$c['previsu']); - if (!in_array($opt[$champ],$previsu)) // le statut n'est pas dans ceux definis par la previsu => NIET + // regarder si ce statut est autoriser pour l'auteur + if (in_array($opt[$champ]."/auteur",$previsu)){ + if (!sql_countsel("spip_auteurs_liens","id_auteur=".intval($qui['id_auteur'])." AND objet=".sql_quote($type)." AND id_objet=".intval($id))) + return false; // pas auteur de cet objet => NIET + } + elseif (!in_array($opt[$champ],$previsu)) // le statut n'est pas dans ceux definis par la previsu => NIET return false; } }