- 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) {
|
||||
|
||||
// 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'){
|
||||
// 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 false;
|
||||
return in_array($qui['statut'], array('0minirezo'));
|
||||
}
|
||||
}
|
||||
// Sinon, il suffit d'être rédacteur
|
||||
else{
|
||||
return true;
|
||||
return in_array($qui['statut'], array('0minirezo','1comite'));
|
||||
}
|
||||
}
|
||||
// Les admins ont accès à tout
|
||||
if ($qui['statut']=='0minirezo'){
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -1,14 +1,33 @@
|
|||
<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}}>
|
||||
<div id="sujet-forum" class="sujet-forum">
|
||||
<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>[(#TEXTE)]</div>
|
||||
|
||||
<div class="boutons a-droite">
|
||||
<INCLURE{fond=inclure/boutons_modifier_sujet, env, id_article=#ID_ARTICLE}/>
|
||||
</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>
|
||||
<div class="liste-documents row mt-3 mb-3">
|
||||
|
@ -56,3 +75,8 @@
|
|||
|
||||
</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 } ?>
|
||||
|
|
|
@ -24,10 +24,15 @@
|
|||
]
|
||||
|
||||
<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">
|
||||
#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}>
|
||||
<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}/>
|
||||
</div>
|
||||
</BOUCLE_articles>
|
||||
|
|
|
@ -7,25 +7,32 @@
|
|||
<div class="col w-100 col-lg-8">
|
||||
<INCLURE{fond=inclure/choix_ville,env} />
|
||||
</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} />
|
||||
</aside>
|
||||
</div>
|
||||
]
|
||||
|
||||
[(#ENV{id_article}|oui)
|
||||
<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>
|
||||
|
||||
<INCLURE{fond=inclure/menu-groupes,env}>
|
||||
|
||||
[(#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="col w-100 col-lg-8">
|
||||
<div class="col-12 w-100 col-lg-8">
|
||||
<INCLURE{fond=inclure/groupe-detail,env} />
|
||||
</div>
|
||||
<aside class="col col-lg-4 dernieres-nouvelles">
|
||||
<aside class="col-12 col-lg-4 dernieres-nouvelles">
|
||||
<INCLURE{fond=inclure/sidebar_groupes,env} />
|
||||
</aside>
|
||||
</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>
|
||||
|
||||
|
||||
|
|
|
@ -1,17 +1,36 @@
|
|||
[(#REM) Rappel : ici #ENV{id_article} correspond à l'id du groupe.]
|
||||
|
||||
<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}>
|
||||
|
||||
[(#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">
|
||||
|
||||
<?php
|
||||
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>
|
||||
<?php } ?>
|
||||
|
||||
[<h3 class="h4">(#TITRE)</h3>]
|
||||
[<h3>(#TITRE)</h3>]
|
||||
|
||||
<strong>Contact</strong>
|
||||
<BOUCLE_auteurs(AUTEURS){id_article=#ID_ARTICLE}{role=admin}>
|
||||
|
@ -29,7 +48,7 @@
|
|||
</BOUCLE_groupe>
|
||||
|
||||
[(#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>
|
||||
<div class="liste-articles">
|
||||
<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>
|
||||
<//B_a_la_une>
|
||||
</div>
|
||||
|
||||
<//B_groupe>
|
||||
</div>
|
||||
<//B_groupe>
|
||||
|
|
Loading…
Add table
Reference in a new issue