source: spip-zone/_core_/branches/spip-3.0/plugins/forum/forum_autoriser.php @ 104360

Last change on this file since 104360 was 104360, checked in by spip.franck@…, 3 years ago

code.spip est maintenant en https, donc j'ajoute le "s" à http

File size: 4.7 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2016                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15// declarer la fonction du pipeline
16function forum_autoriser(){}
17
18
19function autoriser_foruminternesuivi_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
20        if ((($GLOBALS['meta']['forum_prive'] == 'non') && ($GLOBALS['meta']['forum_prive_admin'] == 'non'))
21                OR (($GLOBALS['meta']['forum_prive'] == 'non') && ($qui['statut'] == '1comite')))
22                return false;
23        return true;
24}
25
26function autoriser_forumreactions_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
27        return (sql_countsel('spip_forum') && autoriser('publierdans','rubrique',_request('id_rubrique')));
28}
29
30
31// Moderer le forum ?
32// = modifier l'objet correspondant (si forum attache a un objet)
33// = droits par defaut sinon (admin complet pour moderation complete)
34// https://code.spip.net/@autoriser_modererforum_dist
35function autoriser_modererforum_dist($faire, $type, $id, $qui, $opt) {
36        return $type ? autoriser('modifier', $type, $id, $qui, $opt):autoriser('moderer', 'forum', 0, $qui, $opt);
37}
38
39/**
40 * Autorise a changer le statut d'un message de forum :
41 * seulement sur les objets qu'on a le droit de moderer
42 */
43function autoriser_forum_instituer_dist($faire, $type, $id, $qui, $opt){
44        if (!intval($id)) return autoriser('moderer','forum');
45        $row = sql_fetsel('objet,id_objet','spip_forum','id_forum='.intval($id));
46        return $row?autoriser('modererforum',$row['objet'],$row['id_objet'],$qui,$opt):false;
47}
48
49function autoriser_forum_moderer_dist($faire, $type, $id, $qui, $opt){
50        // si on fournit un id : deleguer a modererforum sur l'objet concerne
51        if ($id){
52                include_spip('inc/forum');
53                if ($racine = racine_forum($id)
54                  AND list($objet,$id_objet,) = $racine
55                  AND $objet){
56                        return autoriser('modererforum',$objet,$id_objet);
57                }
58        }
59       
60        // sinon : admins uniquement
61        return $qui['statut']=='0minirezo'; // les admins restreints peuvent moderer leurs messages
62}
63
64// Modifier un forum ?
65// = jamais !
66// https://code.spip.net/@autoriser_forum_modifier_dist
67function autoriser_forum_modifier_dist($faire, $type, $id, $qui, $opt) {
68        return false;
69}
70
71// Consulter le forum des admins ?
72// admins y compris restreints
73// https://code.spip.net/@autoriser_forum_admin_dist
74function autoriser_forum_admin_dist($faire, $type, $id, $qui, $opt) {
75        return $qui['statut'] == '0minirezo';
76}
77
78/**
79 * Auto-association de documents sur des forum : niet
80 */
81function autoriser_forum_autoassocierdocument_dist($faire, $type, $id, $qui, $opts) {
82        return false;
83}
84
85/**
86 * Autorisation d'association de documents sur des forum
87 *
88 * Toujours
89 *
90 * @param  string $faire Action demandée
91 * @param  string $type  Type d'objet sur lequel appliquer l'action
92 * @param  int    $id    Identifiant de l'objet
93 * @param  array  $qui   Description de l'auteur demandant l'autorisation
94 * @param  array  $opt   Options de cette autorisation
95 * @return bool          true s'il a le droit, false sinon
96 */
97function autoriser_forum_associerdocuments_dist($faire, $type, $id, $qui, $opt) {
98        return true;
99}
100
101/**
102 * Autorisation de dissociation de documents sur des forum
103 *
104 * Toujours
105 *
106 * @param  string $faire Action demandée
107 * @param  string $type  Type d'objet sur lequel appliquer l'action
108 * @param  int    $id    Identifiant de l'objet
109 * @param  array  $qui   Description de l'auteur demandant l'autorisation
110 * @param  array  $opt   Options de cette autorisation
111 * @return bool          true s'il a le droit, false sinon
112 */
113function autoriser_forum_dissocierdocuments_dist($faire, $type, $id, $qui, $opt) {
114        return true;
115}
116
117/**
118 * Autoriser a participer au forum des admins
119 *
120 * @return bool
121 */
122function autoriser_forumadmin_participer_dist($faire, $type, $id, $qui, $opts) {
123        return ($GLOBALS['meta']['forum_prive_admin'] == 'oui') && $qui['statut']=='0minirezo';
124}
125
126/**
127 * Autoriser a participer au forum privé d'un objet quelconque
128 * Afin de rester compatible avec l'existant cette autorisation est toujours vraie.
129 *
130 * @return bool
131 */
132function autoriser_participerforumprive_dist($faire, $type, $id, $qui, $opt) {
133        return true;
134}
135
136?>
Note: See TracBrowser for help on using the repository browser.