source: spip-zone/_plugins_/pensebetes/trunk/pensebetes_autorisations.php @ 122839

Last change on this file since 122839 was 122839, checked in by vincent.callies@…, 15 months ago

Davantage de documentation du code (sans changement de programmation)

File size: 5.6 KB
Line 
1<?php
2/**
3 * Définit les autorisations du plugin Pensebetes
4 *
5 * @plugin     Pensebetes
6 * @copyright  2019
7 * @author     Vincent CALLIES
8 * @licence    GNU/GPL
9 * @package    SPIP\Pensebetes\Autorisations
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16
17/**
18 * Fonction d'appel pour le pipeline
19 * @pipeline autoriser */
20function pensebetes_autoriser() {
21}
22
23/**
24 * Autorisation d'associer un pensebete
25 *
26 * @param  string $faire Action demandée
27 * @param  string $type  Type d'objet sur lequel appliquer l'action
28 * @param  int    $id    Identifiant de l'objet
29 * @param  array  $qui   Description de l'auteur demandant l'autorisation
30 * @param  array  $opt   Options de cette autorisation
31 * @return bool          true s'il a le droit, false sinon
32**/
33
34function autoriser_associerpensebetes_dist($faire, $type, $id, $qui, $opt) {
35        return true;
36}
37
38
39/**
40 * Fonctions relatives aux menus de l'interface privée
41 *
42 */
43
44/**
45 * Autorisation de voir un élément de menu (pensebetes)
46 *
47 * @param  string $faire Action demandée
48 * @param  string $type  Type d'objet sur lequel appliquer l'action
49 * @param  int    $id    Identifiant de l'objet
50 * @param  array  $qui   Description de l'auteur demandant l'autorisation
51 * @param  array  $opt   Options de cette autorisation
52 * @return bool          true s'il a le droit, false sinon
53**/
54function autoriser_pensebetes_menu_dist($faire, $type, $id, $qui, $opt) {
55         return true;
56}
57
58
59/**
60 * Autorisation de voir le bouton d'accès rapide de création (pensebete)
61 *
62 * @param  string $faire Action demandée
63 * @param  string $type  Type d'objet sur lequel appliquer l'action
64 * @param  int    $id    Identifiant de l'objet
65 * @param  array  $qui   Description de l'auteur demandant l'autorisation
66 * @param  array  $opt   Options de cette autorisation
67 * @return bool          true s'il a le droit, false sinon
68**/
69function autoriser_pensebetecreer_menu_dist($faire, $type, $id, $qui, $opt) {
70        return true;
71}
72
73/**
74 * Autorisation de voir le bouton d'outil collaboratif du mur
75 *
76 * @param  string $faire Action demandée
77 * @param  string $type  Type d'objet sur lequel appliquer l'action
78 * @param  int    $id    Identifiant de l'objet
79 * @param  array  $qui   Description de l'auteur demandant l'autorisation
80 * @param  array  $opt   Options de cette autorisation
81 * @return bool          true s'il a le droit, false sinon
82**/
83function autoriser_murs_menu_dist($faire, $type, $id, $qui, $opt) {
84        return true;
85}
86
87/**
88 * Fonctions relatives à l'Objet pensebete
89 *
90 */
91
92/**
93 * Autorisation de créer (pensebete)
94 *
95 * @param  string $faire Action demandée
96 * @param  string $type  Type d'objet sur lequel appliquer l'action
97 * @param  int    $id    Identifiant de l'objet
98 * @param  array  $qui   Description de l'auteur demandant l'autorisation
99 * @param  array  $opt   Options de cette autorisation
100 * @return bool          true s'il a le droit, false sinon
101**/
102function autoriser_pensebete_creer_dist($faire, $type, $id, $qui, $opt) {
103        return true;
104}
105
106/**
107 * Autorisation de voir (pensebete)
108 *
109 * On ne peut voir  les pensebetes dont on est l'auteur ou le destinataire.
110 *
111 * @param  string $faire Action demandée
112 * @param  string $type  Type d'objet sur lequel appliquer l'action
113 * @param  int    $id    Identifiant de l'objet
114 * @param  array  $qui   Description de l'auteur demandant l'autorisation
115 * @param  array  $opt   Options de cette autorisation
116 * @return bool          true s'il a le droit, false sinon
117**/
118function autoriser_pensebete_voir_dist($faire, $type, $id, $qui, $opt) {
119        if (!$id_auteur=intval($qui['id_auteur'])) {
120                return false;
121        }
122        if (!$id_donneur=intval($opt['id_donneur']) AND !$id_receveur=intval($opt['id_receveur'])) {
123                $row = sql_fetsel('id_donneur,id_receveur', 'spip_pensebetes', 'id_pensebete=' . intval($id));
124                if (!$row)
125                        return false;
126                $id_donneur = $row['id_donneur'];$id_receveur = $row['id_receveur'];
127        }
128
129        if (in_array($id_auteur, array($id_donneur,$id_receveur))) {
130                return true;
131        }
132        // on peut tout faire si on est admin mais c'est pas cool
133        if ($qui['statut'] == '0minirezo') {
134                return true;
135        }
136
137        return false;
138}
139
140/**
141 * Autorisation de modifier (pensebete)
142 *
143 * On ne peut modifier que les pensebetes dont on est l'auteur.
144 *
145 * @param  string $faire Action demandée
146 * @param  string $type  Type d'objet sur lequel appliquer l'action
147 * @param  int    $id    Identifiant de l'objet
148 * @param  array  $qui   Description de l'auteur demandant l'autorisation
149 * @param  array  $opt   Options de cette autorisation
150 * @return bool          true s'il a le droit, false sinon
151**/
152function autoriser_pensebete_modifier_dist($faire, $type, $id, $qui, $opt) {
153        if (!$id_auteur=intval($qui['id_auteur'])) {
154                return false;
155        }
156        if (!$id_donneur=intval($opt['id_donneur'])) {
157                $id_donneur = sql_getfetsel('id_donneur', 'spip_pensebetes', 'id_pensebete=' . intval($id));
158                if (!$id_donneur)
159                return false;
160        }
161
162        if ($id_auteur==$id_donneur) {
163                return true;
164        }
165        // on peut tout faire si on est admin mais c'est pas cool
166        if ($qui['statut'] == '0minirezo') {
167                return true;
168        }
169
170        return false;
171}
172
173/**
174 * Autorisation de supprimer (pensebete)
175 *
176 * On ne peut supprimer tous les pensebetes que l'on peut voir.
177 *
178 * @param  string $faire Action demandée
179 * @param  string $type  Type d'objet sur lequel appliquer l'action
180 * @param  int    $id    Identifiant de l'objet
181 * @param  array  $qui   Description de l'auteur demandant l'autorisation
182 * @param  array  $opt   Options de cette autorisation
183 * @return bool          true s'il a le droit, false sinon
184**/
185function autoriser_pensebete_supprimer_dist($faire, $type, $id, $qui, $opt) {
186        return autoriser_pensebete_voir_dist($faire, $type, $id, $qui, $opt);
187}
188
Note: See TracBrowser for help on using the repository browser.