source: spip-zone/_plugins_/periodes/trunk/periodes_autorisations.php

Last change on this file was 122554, checked in by Rainer Müller, 4 months ago

Maintenu

File size: 3.5 KB
Line 
1<?php
2/**
3 * Définit les autorisations du plugin Périodes
4 *
5 * @plugin     Périodes
6 * @copyright  2019 - 2020
7 * @author     Rainer Müller
8 * @licence    GNU/GPL v3
9 * @package    SPIP\Periodes\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 periodes_autoriser() {
26}
27
28
29/* Exemple
30function autoriser_periodes_configurer_dist($faire, $type, $id, $qui, $opt) {
31        // type est un objet (la plupart du temps) ou une chose.
32        // autoriser('configurer', '_periodes') => $type = 'periodes'
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 periodes
43
44
45/**
46 * Autorisation de voir un élément de menu (periodes)
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_periodes_menu_dist($faire, $type, $id, $qui, $opt) {
56        return true;
57}
58
59
60/**
61 * Autorisation de créer (periode)
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_periode_creer_dist($faire, $type, $id, $qui, $opt) {
71        return in_array($qui['statut'], array('0minirezo', '1comite'));
72}
73
74/**
75 * Autorisation de voir (periode)
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_periode_voir_dist($faire, $type, $id, $qui, $opt) {
85        return true;
86}
87
88/**
89 * Autorisation de modifier (periode)
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_periode_modifier_dist($faire, $type, $id, $qui, $opt) {
99        return in_array($qui['statut'], array('0minirezo', '1comite'));
100}
101
102/**
103 * Autorisation de supprimer (periode)
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_periode_supprimer_dist($faire, $type, $id, $qui, $opt) {
113        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
114}
Note: See TracBrowser for help on using the repository browser.