From 595f9cdbe18863b8399ef4b28c7642b72c0ecdfb Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Tue, 14 Nov 2006 09:59:21 +0000
Subject: [PATCH] API autoriser: mieux distinguer le verbe (modererforum) et
 l'objet (article)

---
 ecrire/action/editer_article.php  |  2 +-
 ecrire/exec/articles.php          |  9 +++++----
 ecrire/exec/articles_forum.php    |  2 +-
 ecrire/exec/articles_versions.php |  2 +-
 ecrire/inc/autoriser.php          | 28 ++++++++++++++--------------
 ecrire/inc/presentation.php       |  2 +-
 6 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index 87f22b8f37..a4c0711944 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -163,7 +163,7 @@ function instituer_article($id_article, $c) {
 
 	$s = _request('statut', $c);
 	if ($s AND _request('statut', $c) != $statut) {
-		if (autoriser('publier_dans', 'rubrique', $id_rubrique))
+		if (autoriser('publierdans', 'rubrique', $id_rubrique))
 			$statut = $champs['statut'] = $s;
 		else if (autoriser('modifier', 'article', $id_article) AND $s != 'publie')
 			$statut = $champs['statut'] = $s;
diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index a1b4e7dd90..6ac5a4b90a 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -78,7 +78,7 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot
 	$virtuel =  (substr($chapo, 0, 1) == '=')  ? substr($chapo, 1) : '';
 
 
-	$statut_rubrique = autoriser('publier_dans', 'rubrique', $id_rubrique);
+	$statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique);
 	$flag_editable = autoriser('modifier', 'article', $id_article);
 
 	// Est-ce que quelqu'un a deja ouvert l'article en edition ?
@@ -219,12 +219,13 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version
 	AND $visites > 0
 	AND $GLOBALS['meta']["activer_statistiques"] != "non"
 	AND $options == "avancees"
-	AND autoriser('voir_stats', 'article', $id_article)) {
+	AND autoriser('voirstats', 'article', $id_article)) {
 		$res .= icone_horizontale(_T('icone_evolution_visites', array('visites' => $visites)), generer_url_ecrire("statistiques_visites","id_article=$id_article"), "statistiques-24.gif","rien.gif", false);
 	}
 
 	if ((($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions)
-	AND $id_version>1 AND $options == "avancees") 
+	AND $id_version>1 AND $options == "avancees"
+	AND autoriser('voirrevisions', 'article', $id_article))
 		$res .= icone_horizontale(_T('info_historique_lien'), generer_url_ecrire("articles_versions","id_article=$id_article"), "historique-24.gif", "rien.gif", false);
 
 	// Correction orthographique
@@ -243,7 +244,7 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version
 // http://doc.spip.org/@boites_de_config_articles
 function boites_de_config_articles($id_article)
 {
-	if (autoriser('moderer_forum', 'article', $id_article)) {
+	if (autoriser('modererforum', 'article', $id_article)) {
 		$regler_moderation = charger_fonction('regler_moderation', 'inc');
 		$regler = $regler_moderation($id_article,"articles","id_article=$id_article");
 	}
diff --git a/ecrire/exec/articles_forum.php b/ecrire/exec/articles_forum.php
index c0a7c7c35d..0517f90339 100644
--- a/ecrire/exec/articles_forum.php
+++ b/ecrire/exec/articles_forum.php
@@ -20,7 +20,7 @@ function exec_articles_forum_dist()
 {
 	$id_article = intval(_request('id_article'));
 
-	if (!autoriser('moderer_forum', 'article', $id_article))
+	if (!autoriser('modererforum', 'article', $id_article))
 		return;
 
 	$debut = intval(_request('debut'));
diff --git a/ecrire/exec/articles_versions.php b/ecrire/exec/articles_versions.php
index c28f1b349d..58154b6ff6 100644
--- a/ecrire/exec/articles_versions.php
+++ b/ecrire/exec/articles_versions.php
@@ -44,7 +44,7 @@ function exec_articles_versions_dist()
 // Lire l'article
 //
 
-	if(!autoriser('voir_revisions', 'article', $id_article))
+	if(!autoriser('voirrevisions', 'article', $id_article))
 		return;
 
 
diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index 6f5d12a352..4fdbe1c52e 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -113,8 +113,8 @@ function autoriser_defaut_dist($faire, $type, $id, $qui, $opt) {
 }
 
 // Autoriser a publier dans la rubrique $id
-// http://doc.spip.org/@autoriser_rubrique_publier_dans_dist
-function autoriser_rubrique_publier_dans_dist($faire, $type, $id, $qui, $opt) {
+// http://doc.spip.org/@autoriser_rubrique_publierdans_dist
+function autoriser_rubrique_publierdans_dist($faire, $type, $id, $qui, $opt) {
 	return
 		($qui['statut'] == '0minirezo')
 		AND (!$qui['restreint']
@@ -124,11 +124,11 @@ function autoriser_rubrique_publier_dans_dist($faire, $type, $id, $qui, $opt) {
 }
 
 // Autoriser a modifier la rubrique $id
-// = publier_dans rubrique $id
+// = publierdans rubrique $id
 // http://doc.spip.org/@autoriser_rubrique_modifier_dist
 function autoriser_rubrique_modifier_dist($faire, $type, $id, $qui, $opt) {
 	return
-		autoriser('publier_dans', 'rubrique', $id, $qui, $opt);
+		autoriser('publierdans', 'rubrique', $id, $qui, $opt);
 }
 
 // Autoriser a modifier la breve $id
@@ -141,12 +141,12 @@ function autoriser_breve_modifier_dist($faire, $type, $id, $qui, $opt) {
 	$r = spip_fetch_array($s);
 	return
 		($r['statut'] == 'publie')
-			? autoriser('publier_dans', 'rubrique', $r['id_rubrique'], $qui, $opt)
+			? autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
 			: in_array($qui['statut'], array('0minirezo', '1comite'));
 }
 
 // Autoriser a modifier l'article $id
-// = publier_dans rubrique parente
+// = publierdans rubrique parente
 // = ou statut 'prop,prepa' et $qui est auteur
 // http://doc.spip.org/@autoriser_article_modifier_dist
 function autoriser_article_modifier_dist($faire, $type, $id, $qui, $opt) {
@@ -154,7 +154,7 @@ function autoriser_article_modifier_dist($faire, $type, $id, $qui, $opt) {
 	"SELECT id_rubrique,statut FROM spip_articles WHERE id_article="._q($id));
 	$r = spip_fetch_array($s);
 	return
-		autoriser('publier_dans', 'rubrique', $r['id_rubrique'], $qui, $opt)
+		autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
 		OR (
 			in_array($qui['statut'], array('0minirezo', '1comite'))
 			AND in_array($r['statut'], array('prop','prepa', 'poubelle'))
@@ -164,8 +164,8 @@ function autoriser_article_modifier_dist($faire, $type, $id, $qui, $opt) {
 
 // Lire les stats ?
 // = tous les admins
-// http://doc.spip.org/@autoriser_voir_stats_dist
-function autoriser_voir_stats_dist($faire, $type, $id, $qui, $opt) {
+// http://doc.spip.org/@autoriser_voirstats_dist
+function autoriser_voirstats_dist($faire, $type, $id, $qui, $opt) {
 	return
 		$qui['statut'] == '0minirezo';
 }
@@ -191,8 +191,8 @@ function autoriser_voir_dist($faire, $type, $id, $qui, $opt) {
 
 // Voir les revisions ?
 // = voir l'objet
-// http://doc.spip.org/@autoriser_voir_revisions_dist
-function autoriser_voir_revisions_dist($faire, $type, $id, $qui, $opt) {
+// http://doc.spip.org/@autoriser_voirrevisions_dist
+function autoriser_voirrevisions_dist($faire, $type, $id, $qui, $opt) {
 	return
 		autoriser('voir', $type, $id, $qui, $opt);
 }
@@ -200,15 +200,15 @@ function autoriser_voir_revisions_dist($faire, $type, $id, $qui, $opt) {
 // Moderer le forum ?
 // = modifier l'objet correspondant (si forum attache a un objet)
 // = droits par defaut sinon (admin complet pour moderation complete)
-// http://doc.spip.org/@autoriser_moderer_forum_dist
-function autoriser_moderer_forum_dist($faire, $type, $id, $qui, $opt) {
+// http://doc.spip.org/@autoriser_modererforum_dist
+function autoriser_modererforum_dist($faire, $type, $id, $qui, $opt) {
 	return
 		autoriser('modifier', $type, $id, $qui, $opt);
 }
 
 // Modifier un forum ?
 // = jamais !
-// http://doc.spip.org/@autoriser_moderer_forum_dist
+// http://doc.spip.org/@autoriser_modifier_forum_dist
 function autoriser_modifier_forum_dist($faire, $type, $id, $qui, $opt) {
 	return
 		false;
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 48bd15ca23..68f4d01889 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -524,7 +524,7 @@ function puce_statut_article($id, $statut, $id_rubrique, $ajax = false) {
 	$puce = "puce-$puce.gif";
 
 	include_spip('inc/autoriser');
-	if (autoriser('publier_dans', 'rubrique', $id_rubrique)) {
+	if (autoriser('publierdans', 'rubrique', $id_rubrique)) {
 	  // les versions de MSIE ne font pas toutes pareil sur alt/title
 	  // la combinaison suivante semble ok pour tout le monde.
 	  $titles = array(
-- 
GitLab