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

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

ajout de la fonction autoriser_pensebetecreer_menu_dist manquante
on nourrit les fonctions autoriser_pensebete_modifier/voir/supprimer_dist

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