diff --git a/balint_autorisations.php b/balint_autorisations.php
index 8ab0823..f7a8c13 100644
--- a/balint_autorisations.php
+++ b/balint_autorisations.php
@@ -118,7 +118,7 @@ function autoriser_article_lire($faire, $type, $id, $qui, $opt) {
function autoriser_article_modifier($faire, $type, $id, $qui, $opt) {
- // Si l'article est un groupe, il faut être auteur et avoir le role "admin"
+ // Si l'article est un groupe, il faut être auteur et avoir le rôle "admin"
if ($opt AND in_array('groupe',$opt)){
$where = array(
'id_objet='.intval($id),
@@ -146,6 +146,7 @@ function autoriser_article_modifier($faire, $type, $id, $qui, $opt) {
}
function autoriser_article_rediger($faire, $type, $id, $qui, $opt) {
+ /*
// Si le membre est rédacteur, il doit être animateur d'au moins un groupe
if ($qui['statut']=="1comite"){
$id_rub = lire_config('balint/id_rub_groupes');
@@ -159,7 +160,8 @@ function autoriser_article_rediger($faire, $type, $id, $qui, $opt) {
// Sinon il faut être admin
else{
return in_array($qui['statut'], array('0minirezo'));
- }
+ }*/
+ return in_array($qui['statut'], array('0minirezo','1comite'));
}
function autoriser_sujet_creer($faire, $type, $id, $qui, $opt) {
@@ -177,27 +179,18 @@ function autoriser_sujet_editer($faire, $type, $id, $qui, $opt) {
}
function autoriser_forum_voir($faire, $type, $id, $qui, $opt) {
- return in_array($qui['statut'], array('0minirezo','1comite'));
-/* $id_auteur = $qui['id_auteur'];
- // Il faut être au moins membre
- if ($qui['statut']=='1comite'){
- // si le forum est privé, il faut être membre du bureau
- if ($id==lire_config('balint/id_rub_forum_prive')){
- if (sql_getfetsel('bureau','spip_auteurs',"id_auteur=$id_auteur")=='on'){
- return true;
- }
- else{
- return false;
- }
- }
- else{
- return true;
- }
- }
- // Les admins ont accès à tout
- if ($qui['statut']=='0minirezo'){
+// Si le forum est lié à un groupe, il faut être membre du groupe (auteur de l'article)
+if ($opt AND in_array('groupe',$opt)){
+ if (in_array($qui['id_auteur'],auteurs_objet('article',$id))){
return true;
}
-*/
+ else{
+ return in_array($qui['statut'], array('0minirezo'));
+ }
+}
+// Sinon, il suffit d'être rédacteur
+else{
+ return in_array($qui['statut'], array('0minirezo','1comite'));
+ }
}
diff --git a/inclure/article-forum.html b/inclure/article-forum.html
index d81d309..5b0cd41 100644
--- a/inclure/article-forum.html
+++ b/inclure/article-forum.html
@@ -1,15 +1,34 @@
- Retour
+
+
+[(#ENV{type-page}|=={groupes}|non)
+ Toutes les discussions
+]
Forum - #TITRE
+ [(#ENV{type-page}|=={groupes}|non)
Démarré par #LESAUTEURS le [(#DATE|date_interface)]
[(#TEXTE)]
-
+
+ ]
+ [(#ENV{type-page}|=={groupes}|oui)
+
+
+
+
+
[(#TEXTE)]
+
+ ]
+
@@ -56,3 +75,8 @@
+
+
+ Vous n'êtes pas membre de ce groupe. Contactez l'administrateur·ice pour obtenir l'accès au forum.
+
diff --git a/inclure/sidebar_groupes.html b/inclure/sidebar_groupes.html
index 33f437c..96d49e6 100644
--- a/inclure/sidebar_groupes.html
+++ b/inclure/sidebar_groupes.html
@@ -1,17 +1,36 @@
[(#REM) Rappel : ici #ENV{id_article} correspond à l'id du groupe.]
+
+[(#REM) S'il s'agit de la page d'un groupe :]
+
+
+ [(#REM) Si la personne connectée est admin ou membre du groupe, elle peut rédiger un article]
+ #SET{id_auteur,#EVAL{$GLOBALS['visiteur_session']['id_auteur']}}
+
+
-[(#REM) S'il s'agit de la page d'un groupe :]
-
-
+ $id_auteur = $GLOBALS['visiteur_session']['id_auteur'] ?? 0;
+ if (autoriser('modifier','article', #ID_ARTICLE,$id_auteur, array('groupe'))){ ?>
Mettre à jour le groupe
- [
(#TITRE)
]
+ [
(#TITRE)
]
Contact
@@ -22,14 +41,14 @@
- [
Adresse : (#SOUSTITRE)
]
- [
Fréquence : (#DESCRIPTIF|textebrut)
]
-
#TEXTE
-
-
+ [
Adresse : (#SOUSTITRE)
]
+ [
Fréquence : (#DESCRIPTIF|textebrut)
]
+
#TEXTE
+
+
[(#REM) S'il s'agit de la page de tous les groupes :]
-
+