- on ajoute un forum accessible aux membres d'un groupe
- on ajoute des boutons visibles pour faciliter la rédaction d'articles pour les membres autorisés - autorisations précisées en conséquence
This commit is contained in:
parent
716317b4e6
commit
c2619da0b1
5 changed files with 93 additions and 46 deletions
|
@ -118,7 +118,7 @@ function autoriser_article_lire($faire, $type, $id, $qui, $opt) {
|
||||||
|
|
||||||
function autoriser_article_modifier($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)){
|
if ($opt AND in_array('groupe',$opt)){
|
||||||
$where = array(
|
$where = array(
|
||||||
'id_objet='.intval($id),
|
'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) {
|
function autoriser_article_rediger($faire, $type, $id, $qui, $opt) {
|
||||||
|
/*
|
||||||
// Si le membre est rédacteur, il doit être animateur d'au moins un groupe
|
// Si le membre est rédacteur, il doit être animateur d'au moins un groupe
|
||||||
if ($qui['statut']=="1comite"){
|
if ($qui['statut']=="1comite"){
|
||||||
$id_rub = lire_config('balint/id_rub_groupes');
|
$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
|
// Sinon il faut être admin
|
||||||
else{
|
else{
|
||||||
return in_array($qui['statut'], array('0minirezo'));
|
return in_array($qui['statut'], array('0minirezo'));
|
||||||
}
|
}*/
|
||||||
|
return in_array($qui['statut'], array('0minirezo','1comite'));
|
||||||
}
|
}
|
||||||
|
|
||||||
function autoriser_sujet_creer($faire, $type, $id, $qui, $opt) {
|
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) {
|
function autoriser_forum_voir($faire, $type, $id, $qui, $opt) {
|
||||||
return in_array($qui['statut'], array('0minirezo','1comite'));
|
|
||||||
|
|
||||||
/* $id_auteur = $qui['id_auteur'];
|
// Si le forum est lié à un groupe, il faut être membre du groupe (auteur de l'article)
|
||||||
// Il faut être au moins membre
|
if ($opt AND in_array('groupe',$opt)){
|
||||||
if ($qui['statut']=='1comite'){
|
if (in_array($qui['id_auteur'],auteurs_objet('article',$id))){
|
||||||
// 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'){
|
|
||||||
return true;
|
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'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,34 @@
|
||||||
<a href="[(#URL_PAGE{#ENV{type-page}}|parametre_url{rub_forum,#ENV{rub_forum}})]"><i class="fas fa-arrow-circle-left"></i> Retour</a>
|
<?php
|
||||||
|
include_spip('inc/autoriser');
|
||||||
|
$id_auteur = $GLOBALS['visiteur_session']['id_auteur'] ?? 0;
|
||||||
|
if (autoriser('voir','forum', #ID_ARTICLE,$id_auteur, array('groupe'))){
|
||||||
|
?>
|
||||||
|
|
||||||
|
[(#ENV{type-page}|=={groupes}|non)
|
||||||
|
<a href="[(#URL_PAGE{#ENV{type-page}}|parametre_url{rub_forum,#ENV{rub_forum}})]"><i class="fas fa-arrow-circle-left"></i> Toutes les discussions</a>
|
||||||
|
]
|
||||||
|
|
||||||
<BOUCLE_sujet(ARTICLES){id_article=#ENV{id_article}}>
|
<BOUCLE_sujet(ARTICLES){id_article=#ENV{id_article}}>
|
||||||
<div id="sujet-forum" class="sujet-forum">
|
<div id="sujet-forum" class="sujet-forum">
|
||||||
<h2>Forum - #TITRE</h2>
|
<h2>Forum - #TITRE</h2>
|
||||||
|
[(#ENV{type-page}|=={groupes}|non)
|
||||||
<div class="infos-sujet mt-2 font-italic">Démarré par #LESAUTEURS le [(#DATE|date_interface)]</div>
|
<div class="infos-sujet mt-2 font-italic">Démarré par #LESAUTEURS le [(#DATE|date_interface)]</div>
|
||||||
<div>[(#TEXTE)]</div>
|
<div>[(#TEXTE)]</div>
|
||||||
|
|
||||||
<div class="boutons a-droite">
|
<div class="boutons a-droite">
|
||||||
<INCLURE{fond=inclure/boutons_modifier_sujet, env, id_article=#ID_ARTICLE}/>
|
<INCLURE{fond=inclure/boutons_modifier_sujet, env, id_article=#ID_ARTICLE}/>
|
||||||
</div>
|
</div>
|
||||||
|
]
|
||||||
|
|
||||||
|
[(#ENV{type-page}|=={groupes}|oui)
|
||||||
|
<?php if (autoriser('modifier','article', #ID_ARTICLE,$id_auteur, array('groupe'))){ ?>
|
||||||
|
<div class="boutons a-droite">
|
||||||
|
<INCLURE{fond=inclure/boutons_modifier_sujet, env, id_article=#ID_ARTICLE}/>
|
||||||
|
</div>
|
||||||
|
<div>[(#TEXTE)]</div>
|
||||||
|
<?php } ?>
|
||||||
|
]
|
||||||
|
|
||||||
<B_docs>
|
<B_docs>
|
||||||
<div class="liste-documents row mt-3 mb-3">
|
<div class="liste-documents row mt-3 mb-3">
|
||||||
<BOUCLE_docs(DOCUMENTS){id_article}>
|
<BOUCLE_docs(DOCUMENTS){id_article}>
|
||||||
|
@ -56,3 +75,8 @@
|
||||||
|
|
||||||
</BOUCLE_sujet>
|
</BOUCLE_sujet>
|
||||||
|
|
||||||
|
<?php } else{ ?>
|
||||||
|
<div class="mt-3 mb-3">
|
||||||
|
Vous n'êtes pas membre de ce groupe. Contactez l'administrateur·ice pour obtenir l'accès au forum.
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
|
|
@ -23,14 +23,19 @@
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
<B_articles>
|
<B_articles>
|
||||||
|
<?php if (isset($GLOBALS['visiteur_session']['statut']) AND in_array($GLOBALS['visiteur_session']['statut'],array("0minirezo","1comite"))) { ?>
|
||||||
|
<div class="mb-3 text-right">
|
||||||
|
<a href="[(#URL_PAGE{editer_article})]" class="btn bouton-rediger"><i class="fas fa-pencil"></i> Rédiger un dossier</a>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
<div class="row liste-articles">
|
<div class="row liste-articles">
|
||||||
#ANCRE_PAGINATION
|
#ANCRE_PAGINATION
|
||||||
<BOUCLE_articles(ARTICLES){id_mot=#ENV{id_mot}}{par rang}{inverse #GET{tri}}{par date}{inverse #GET{tri}}{pagination 8}{si #ENV{rub_forum}|non}>
|
<BOUCLE_articles(ARTICLES){id_mot=#ENV{id_mot}}{par rang}{inverse #GET{tri}}{par date}{inverse #GET{tri}}{pagination 8}{si #ENV{rub_forum}|non}>
|
||||||
<div class="col-lg-3 mt-4 mt-lg-3">
|
<div class="col-md-3 mt-4 mt-lg-3">
|
||||||
<INCLURE{fond=inclure/bloc_article, env, id_article}/>
|
<INCLURE{fond=inclure/bloc_article, env, id_article}/>
|
||||||
</div>
|
</div>
|
||||||
</BOUCLE_articles>
|
</BOUCLE_articles>
|
||||||
</div>
|
</div>
|
||||||
[<div class="pagination mt-3">(#PAGINATION{page_precedent_suivant})</div>]
|
[<div class="pagination mt-3">(#PAGINATION{page_precedent_suivant})</div>]
|
||||||
</B_articles>
|
</B_articles>
|
||||||
|
|
|
@ -7,24 +7,31 @@
|
||||||
<div class="col w-100 col-lg-8">
|
<div class="col w-100 col-lg-8">
|
||||||
<INCLURE{fond=inclure/choix_ville,env} />
|
<INCLURE{fond=inclure/choix_ville,env} />
|
||||||
</div>
|
</div>
|
||||||
<aside class="col col-lg-4 d-none d-lg-block dernieres-nouvelles">
|
<aside class="col-12 col-lg-4 dernieres-nouvelles">
|
||||||
<INCLURE{fond=inclure/sidebar_groupes,env} />
|
<INCLURE{fond=inclure/sidebar_groupes,env} />
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
]
|
]
|
||||||
|
|
||||||
[(#ENV{id_article}|oui)
|
[(#ENV{id_article}|oui)
|
||||||
|
|
||||||
<INCLURE{fond=inclure/menu-groupes,env}>
|
<INCLURE{fond=inclure/menu-groupes,env}>
|
||||||
<a href="[(#URL_PAGE{groupes})]" class="ajax"><i class="fas fa-arrow-circle-left"></i> Tous les groupes</a>
|
|
||||||
|
|
||||||
|
[(#ENV{forum}|=={oui}|non)
|
||||||
|
<a href="[(#URL_PAGE{groupes})]" class="ajax"><i class="fas fa-arrow-circle-left"></i> Tous les groupes</a>
|
||||||
<div class="row mt-4">
|
<div class="row mt-4">
|
||||||
<div class="col w-100 col-lg-8">
|
<div class="col-12 w-100 col-lg-8">
|
||||||
<INCLURE{fond=inclure/groupe-detail,env} />
|
<INCLURE{fond=inclure/groupe-detail,env} />
|
||||||
</div>
|
</div>
|
||||||
<aside class="col col-lg-4 dernieres-nouvelles">
|
<aside class="col-12 col-lg-4 dernieres-nouvelles">
|
||||||
<INCLURE{fond=inclure/sidebar_groupes,env} />
|
<INCLURE{fond=inclure/sidebar_groupes,env} />
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
|
]
|
||||||
|
[(#ENV{forum}|=={oui}|oui)
|
||||||
|
<a href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ENV{id_article}})]" class="ajax"><i class="fas fa-arrow-circle-left"></i> Retour à la page du groupe</a>
|
||||||
|
<INCLURE{fond=inclure/article-forum,env} />
|
||||||
|
]
|
||||||
]
|
]
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,36 @@
|
||||||
[(#REM) Rappel : ici #ENV{id_article} correspond à l'id du groupe.]
|
[(#REM) Rappel : ici #ENV{id_article} correspond à l'id du groupe.]
|
||||||
|
|
||||||
|
|
||||||
|
[(#REM) S'il s'agit de la page d'un groupe :]
|
||||||
|
<BOUCLE_groupe(ARTICLES){id_article=#ENV{id_article}}{par rang}>
|
||||||
|
|
||||||
|
[(#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']}}
|
||||||
|
<BOUCLE_test(AUTEURS){id_article=#ID_ARTICLE}{id_auteur=#GET{id_auteur}}>
|
||||||
|
<div class="mb-1">
|
||||||
|
<a href="[(#URL_PAGE{editer_article})]" class="btn bouton-rediger"><i class="fas fa-pencil"></i> Rédiger un article</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<a href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ENV{id_article}}|parametre_url{forum,oui})]" class="btn bouton-rediger ajax"><i class="fas fa-comment"></i> Forum</a>
|
||||||
|
</div>
|
||||||
|
</BOUCLE_test>
|
||||||
|
<?php if (isset($GLOBALS['visiteur_session']['statut']) AND $GLOBALS['visiteur_session']['statut']=="0minirezo") { ?>
|
||||||
|
<div class="mb-3">
|
||||||
|
<a href="[(#URL_PAGE{editer_article})]" class="btn bouton-rediger"><i class="fas fa-pencil"></i> Rédiger un article</a>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
<//B_test>
|
||||||
|
|
||||||
<div class="bloc-groupe mt-4 mt-lg-0">
|
<div class="bloc-groupe mt-4 mt-lg-0">
|
||||||
|
|
||||||
[(#REM) S'il s'agit de la page d'un groupe :]
|
|
||||||
<BOUCLE_groupe(ARTICLES){id_article=#ENV{id_article}}{par rang}>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
include_spip('inc/autoriser');
|
include_spip('inc/autoriser');
|
||||||
if (autoriser('modifier','article', #ID_ARTICLE,$GLOBALS['visiteur_session']['id_auteur'], array('groupe'))){ ?>
|
$id_auteur = $GLOBALS['visiteur_session']['id_auteur'] ?? 0;
|
||||||
|
if (autoriser('modifier','article', #ID_ARTICLE,$id_auteur, array('groupe'))){ ?>
|
||||||
<a class="btn" href="#URL_PAGE{editer_groupe,id_article=#ID_ARTICLE }"><i class="fas fa-edit"></i> Mettre à jour le groupe</a>
|
<a class="btn" href="#URL_PAGE{editer_groupe,id_article=#ID_ARTICLE }"><i class="fas fa-edit"></i> Mettre à jour le groupe</a>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
[<h3 class="h4">(#TITRE)</h3>]
|
[<h3>(#TITRE)</h3>]
|
||||||
|
|
||||||
<strong>Contact</strong>
|
<strong>Contact</strong>
|
||||||
<BOUCLE_auteurs(AUTEURS){id_article=#ID_ARTICLE}{role=admin}>
|
<BOUCLE_auteurs(AUTEURS){id_article=#ID_ARTICLE}{role=admin}>
|
||||||
|
@ -22,14 +41,14 @@
|
||||||
</div>
|
</div>
|
||||||
</BOUCLE_auteurs>
|
</BOUCLE_auteurs>
|
||||||
|
|
||||||
[<div class="texte"><strong>Adresse :</strong> (#SOUSTITRE)</div>]
|
[<div class="texte"><strong>Adresse :</strong> (#SOUSTITRE)</div>]
|
||||||
[<div class="texte"><strong>Fréquence :</strong> (#DESCRIPTIF|textebrut)</div>]
|
[<div class="texte"><strong>Fréquence :</strong> (#DESCRIPTIF|textebrut)</div>]
|
||||||
<div class="texte">#TEXTE</div>
|
<div class="texte">#TEXTE</div>
|
||||||
</div>
|
</div>
|
||||||
</BOUCLE_groupe>
|
</BOUCLE_groupe>
|
||||||
|
|
||||||
[(#REM) S'il s'agit de la page de tous les groupes :]
|
[(#REM) S'il s'agit de la page de tous les groupes :]
|
||||||
|
<div class="bloc-groupe mt-4 mt-lg-0">
|
||||||
<h3 class="h4">Derniers articles</br></h3>
|
<h3 class="h4">Derniers articles</br></h3>
|
||||||
<div class="liste-articles">
|
<div class="liste-articles">
|
||||||
<BOUCLE_a_la_une(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{id_groupe>0}{0,6}{! par date}>
|
<BOUCLE_a_la_une(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{id_groupe>0}{0,6}{! par date}>
|
||||||
|
@ -51,6 +70,5 @@
|
||||||
<div class="col">Il n'y a pas encore d'article.</div>
|
<div class="col">Il n'y a pas encore d'article.</div>
|
||||||
<//B_a_la_une>
|
<//B_a_la_une>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<//B_groupe>
|
<//B_groupe>
|
||||||
</div>
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue