source: spip-zone/_plugins_/dictionnaires/trunk/dictionnaires_autoriser.php @ 58087

Last change on this file since 58087 was 58087, checked in by rastapopoulos@…, 8 years ago

Toutes les autorisations des deux objets de ce plugin + une action pour supprimer un dictionnaire et son intégration.

File size: 2.0 KB
Line 
1<?php
2
3// Sécurité
4if (!defined('_ECRIRE_INC_VERSION')) return;
5
6function dictionnaires_autoriser($flux){
7        return $flux;
8}
9
10// Qui peut voir la liste des dictionnaires : tout le monde
11function autoriser_dictionnaires_bouton_dist($faire, $quoi, $id, $qui, $options){
12        return autoriser('bouton', 'dictionnaires_edition');
13}
14function autoriser_dictionnaires_edition_bouton_dist($faire, $quoi, $id, $qui, $options){
15        return true;
16}
17
18// Qui peut créer un dictionnaire : ceux qui peuvent configurer le site
19function autoriser_dictionnaire_creer_dist($faire, $quoi, $id, $qui, $options){
20        return autoriser('configurer');
21}
22// Qui peut modifier un dictionnaire : ceux qui peuvent configurer le site
23function autoriser_dictionnaire_modifier_dist($faire, $quoi, $id, $qui, $options){
24        return autoriser('configurer');
25}
26// Qui peut supprimer un dictionnaire : ceux qui peuvent configurer le site SI ya plus aucune définition dedans !
27function autoriser_dictionnaire_supprimer_dist($faire, $quoi, $id, $qui, $options){
28        return ($id > 0)
29                and autoriser('configurer')
30                and !sql_fetsel(
31                        'id_definition',
32                        'spip_definitions',
33                        array(
34                                'id_dictionnaire = '.$id,
35                                sql_in('statut', array('publie', 'prop'))
36                        )
37                );
38}
39
40// Qui peut créer une définition : un rédacteur
41function autoriser_dictionnaire_creerdefinitiondans_dist($faire, $quoi, $id, $qui, $options){
42        return $qui['statut'] <= '1comite';
43}
44// Qui peut modifier une définition : un rédacteur si pas publié, un admin sinon
45function autoriser_definition_modifier_dist($faire, $quoi, $id, $qui, $options){
46        if ($id > 0
47                and $statut = sql_getfetsel('statut', 'spip_definitions', 'id_definition = '.$id)
48                and (
49                        ($statut == 'publie' and $qui['statut'] <= '0minirezo')
50                        or
51                        ($statut != 'publie' and $qui['statut'] <= '1comite')
52                )
53        ){
54                return true;
55        }
56       
57        return false;
58}
59// Qui peut supprimer une définition : pareil que modifier
60function autoriser_definition_supprimer_dist($faire, $quoi, $id, $qui, $options){
61        return autoriser('modifier', $quoi, $id, $quoi, $options);
62}
63
64?>
Note: See TracBrowser for help on using the repository browser.