[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / gis / gis_autoriser.php
1 <?php
2
3 if (!defined("_ECRIRE_INC_VERSION")) return;
4
5 function 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 */
18 function 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 */
34 function 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 */
50 function 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 */
65 function 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 */
83 function 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 */
98 function 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 ?>