source: spip-zone/_plugins_/espaces/branches/v1/espaces_autorisations.php @ 114067

Last change on this file since 114067 was 114067, checked in by abelass@…, 2 years ago

Objet éditorial espaces. Par exemple les espaces d'un immeuble. Utilisé par location d'immeubles

File size: 4.1 KB
Line 
1<?php
2/**
3 * Définit les autorisations du plugin Espaces
4 *
5 * @plugin     Espaces
6 * @copyright  2018 - 2019
7 * @author     Rainer Müller
8 * @licence    GNU/GPL v3
9 * @package    SPIP\Espaces\Autorisations
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13  return;
14}
15
16
17/*
18 * Un fichier d'autorisations permet de regrouper
19 * les fonctions d'autorisations de votre plugin
20 */
21
22/**
23 * Fonction d'appel pour le pipeline
24 * @pipeline autoriser */
25function espaces_autoriser() {
26}
27
28
29/* Exemple
30function autoriser_espaces_configurer_dist($faire, $type, $id, $qui, $opt) {
31  // type est un objet (la plupart du temps) ou une chose.
32  // autoriser('configurer', '_espaces') => $type = 'espaces'
33  // au choix :
34  return autoriser('webmestre', $type, $id, $qui, $opt); // seulement les webmestres
35  return autoriser('configurer', '', $id, $qui, $opt); // seulement les administrateurs complets
36  return $qui['statut'] == '0minirezo'; // seulement les administrateurs (même les restreints)
37  // ...
38}
39*/
40
41// -----------------
42// Objet espaces
43
44
45/**
46 * Autorisation de voir un élément de menu (espaces)
47 *
48 * @param  string $faire Action demandée
49 * @param  string $type  Type d'objet sur lequel appliquer l'action
50 * @param  int    $id    Identifiant de l'objet
51 * @param  array  $qui   Description de l'auteur demandant l'autorisation
52 * @param  array  $opt   Options de cette autorisation
53 * @return bool          true s'il a le droit, false sinon
54**/
55function autoriser_espaces_menu_dist($faire, $type, $id, $qui, $opt) {
56  return true;
57}
58
59
60/**
61 * Autorisation de créer (espace)
62 *
63 * @param  string $faire Action demandée
64 * @param  string $type  Type d'objet sur lequel appliquer l'action
65 * @param  int    $id    Identifiant de l'objet
66 * @param  array  $qui   Description de l'auteur demandant l'autorisation
67 * @param  array  $opt   Options de cette autorisation
68 * @return bool          true s'il a le droit, false sinon
69**/
70function autoriser_espace_creer_dist($faire, $type, $id, $qui, $opt) {
71  return in_array($qui['statut'], array('0minirezo', '1comite'));
72}
73
74/**
75 * Autorisation de voir (espace)
76 *
77 * @param  string $faire Action demandée
78 * @param  string $type  Type d'objet sur lequel appliquer l'action
79 * @param  int    $id    Identifiant de l'objet
80 * @param  array  $qui   Description de l'auteur demandant l'autorisation
81 * @param  array  $opt   Options de cette autorisation
82 * @return bool          true s'il a le droit, false sinon
83**/
84function autoriser_espace_voir_dist($faire, $type, $id, $qui, $opt) {
85  return true;
86}
87
88/**
89 * Autorisation de modifier (espace)
90 *
91 * @param  string $faire Action demandée
92 * @param  string $type  Type d'objet sur lequel appliquer l'action
93 * @param  int    $id    Identifiant de l'objet
94 * @param  array  $qui   Description de l'auteur demandant l'autorisation
95 * @param  array  $opt   Options de cette autorisation
96 * @return bool          true s'il a le droit, false sinon
97**/
98function autoriser_espace_modifier_dist($faire, $type, $id, $qui, $opt) {
99  return in_array($qui['statut'], array('0minirezo', '1comite'));
100}
101
102/**
103 * Autorisation de supprimer (espace)
104 *
105 * @param  string $faire Action demandée
106 * @param  string $type  Type d'objet sur lequel appliquer l'action
107 * @param  int    $id    Identifiant de l'objet
108 * @param  array  $qui   Description de l'auteur demandant l'autorisation
109 * @param  array  $opt   Options de cette autorisation
110 * @return bool          true s'il a le droit, false sinon
111**/
112function autoriser_espace_supprimer_dist($faire, $type, $id, $qui, $opt) {
113  return $qui['statut'] == '0minirezo' and !$qui['restreint'];
114}
115
116
117
118/**
119 * Autorisation de lier/délier l'élément (espaces)
120 *
121 * @param  string $faire Action demandée
122 * @param  string $type  Type d'objet sur lequel appliquer l'action
123 * @param  int    $id    Identifiant de l'objet
124 * @param  array  $qui   Description de l'auteur demandant l'autorisation
125 * @param  array  $opt   Options de cette autorisation
126 * @return bool          true s'il a le droit, false sinon
127**/
128function autoriser_associerespaces_dist($faire, $type, $id, $qui, $opt) {
129  return $qui['statut'] == '0minirezo' and !$qui['restreint'];
130}
Note: See TracBrowser for help on using the repository browser.