source: spip-zone/_plugins_/gis/trunk/gis_autoriser.php @ 60882

Last change on this file since 60882 was 60882, checked in by guy.cesaro@…, 9 years ago

quelques reports des evolutions de la branche v2 entre r51054 et r60879 : a tester.

File size: 3.4 KB
Line 
1<?php 
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5function gis_autoriser(){};
6
7/**
8 * Autorisation a modifier le logo d'un point
9 * Si on est autorisé à modifier le point en question
10 *
11 * @param string $faire L'action
12 * @param string $type Le type d'objet
13 * @param int $id L'identifiant numérique de l'objet
14 * @param array $qui Les informations de session de l'auteur
15 * @param array $opt Des options
16 * @return boolean true/false
17 */
18function autoriser_gis_iconifier_dist($faire,$quoi){
19        return autoriser('modifier','gis',$id,$qui,$opts);
20}
21
22/**
23 * Autorisation a modifier un point
24 * Avoir un statut dans les 3 fournis par SPIP
25 * (On n'a pas d'auteur pour un point ...)
26 *
27 * @param string $faire L'action
28 * @param string $type Le type d'objet
29 * @param int $id L'identifiant numérique de l'objet
30 * @param array $qui Les informations de session de l'auteur
31 * @param array $opt Des options
32 * @return boolean true/false
33 */
34function autoriser_gis_modifier_dist($faire,$quoi,$id,$qui,$opts){
35        return (in_array($qui['statut'],array('0minirezo','1comite','6forum')));
36}
37
38/**
39 * Autorisation a creer un point
40 * Avoir un statut dans les 3 fournis par SPIP
41 * (On n'a pas d'auteur pour un point ...)
42 *
43 * @param string $faire L'action
44 * @param string $type Le type d'objet
45 * @param int $id L'identifiant numérique de l'objet
46 * @param array $qui Les informations de session de l'auteur
47 * @param array $opt Des options
48 * @return boolean true/false
49 */
50function autoriser_gis_creer_dist($faire,$quoi,$id,$qui,$opts){
51        return (in_array($qui['statut'],array('0minirezo','1comite','6forum')));
52}
53
54/**
55 * Autorisation a lier un point d'un objet
56 * Un auteur peut lier un point à un autre objet que s'il peut modifier l'objet à lier en question
57 *
58 * @param string $faire L'action
59 * @param string $type Le type d'objet
60 * @param int $id L'identifiant numérique de l'objet
61 * @param array $qui Les informations de session de l'auteur
62 * @param array $opt Des options
63 * @return boolean true/false
64 */
65function autoriser_gis_lier_dist($faire,$quoi,$id,$qui,$opts){
66        if(is_array($opts) && isset($opts['objet']) && isset($opts['id_objet'])){
67                return autoriser('modifier',$opts['objet'],$opts['id_objet'],$qui);
68        }
69        return false;
70}
71
72/**
73 * Autorisation a délier un point d'un objet
74 * Un auteur peut délier un point à un autre objet que s'il peut modifier l'objet à lier en question
75 *
76 * @param string $faire L'action
77 * @param string $type Le type d'objet
78 * @param int $id L'identifiant numérique de l'objet
79 * @param array $qui Les informations de session de l'auteur
80 * @param array $opt Des options
81 * @return boolean true/false
82 */
83function autoriser_gis_delier_dist($faire,$quoi,$id,$qui,$opts){
84        return autoriser('lier','gis',$id,$qui,$opts);
85}
86
87/**
88 * Autorisation a supprimer un point
89 * Un auteur peut supprimer un point s'il peut délier tous les objets et modifier le point
90 *
91 * @param string $faire L'action
92 * @param string $type Le type d'objet
93 * @param int $id L'identifiant numérique de l'objet
94 * @param array $qui Les informations de session de l'auteur
95 * @param array $opt Des options
96 * @return boolean true/false
97 */
98function autoriser_gis_supprimer_dist($faire,$quoi,$id,$qui,$opts){
99        $liaisons = sql_select('*','spip_gis_liens','id_gis='.intval($id));
100        while($liaison = sql_fetch($liaisons)){
101                if(!autoriser('delier','gis',$liaison['id_gis'],$qui,$liaison)){
102                        return false;
103                }
104        }
105        return autoriser('modifier','gis',$id,$qui,$opts);
106}
107?>
Note: See TracBrowser for help on using the repository browser.