diff --git a/balint_autorisations.php b/balint_autorisations.php index 0a16040..aa364dc 100644 --- a/balint_autorisations.php +++ b/balint_autorisations.php @@ -20,6 +20,18 @@ if (!defined('_ECRIRE_INC_VERSION')) { function balint_autoriser() { } +// Pour ne permettre l'accès à l'espace privé qu'aux admins +// (pour les autres, on redirige vers l'accueil) +function autoriser_ecrire($faire, $type, $id, $qui, $opt){ + if ($qui['statut']!='0minirezo'){ + include_spip('inc/headers'); + redirige_par_entete( url_de_base()); + } + else { + return in_array($qui['statut'], array('0minirezo')); + } +} + function autoriser_auteur_modifier($faire, $type, $id, $qui, $opt) { // Ni admin ni redacteur => non @@ -106,6 +118,23 @@ 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'); + $T_id_groupes = sql_allfetsel('id_article','spip_articles','id_secteur=' . $id_rub); + foreach($T_id_groupes as $id_groupe){ + if (in_array($qui['id_auteur'],auteurs_objet('article',$id_groupe['id_article']))){ + return true; + } + } + } + // Sinon il faut être admin + else{ + return in_array($qui['statut'], array('0minirezo')); + } +} + function autoriser_sujet_creer($faire, $type, $id, $qui, $opt) { return in_array($qui['statut'], array('0minirezo','1comite','6forum')); } diff --git a/balint_options.php b/balint_options.php index d640b92..d405758 100644 --- a/balint_options.php +++ b/balint_options.php @@ -47,18 +47,5 @@ if (!isset($GLOBALS['z_blocs'])) 'breadcrumb'); -function autoriser_ecrire($faire, $type, $id, $qui, $opt){ -// Pour ne permettre l'accès à l'espace privé qu'aux admins -// (pour les autres, on redirige vers l'accueil) - if ($qui['statut']!='0minirezo'){ - include_spip('inc/headers'); - redirige_par_entete( url_de_base()); - } - else { - return in_array($qui['statut'], array('0minirezo')); - } -} - - // On retire les boutons "Espace privé" et "Recalculer" pour les admins $GLOBALS['flag_preserver'] = true; diff --git a/footer/dist.html b/footer/dist.html index 0921f8a..6d5832c 100644 --- a/footer/dist.html +++ b/footer/dist.html @@ -32,17 +32,23 @@ Mon compte +