[PLUGINS] +clavettes et dependances
[lhc/web/clavette_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 d'un autre objet que s'il peut modifier l'objet en question
75 * Si l'objet lié n'existe plus, on vérifie que l'auteur a le droit de modifier le point
76 *
77 * @param string $faire L'action
78 * @param string $type Le type d'objet
79 * @param int $id L'identifiant numérique de l'objet
80 * @param array $qui Les informations de session de l'auteur
81 * @param array $opt Des options
82 * @return boolean true/false
83 */
84 function autoriser_gis_delier_dist($faire,$quoi,$id,$qui,$opts){
85 $table = table_objet_sql($opts['objet']);
86 $_id_objet = id_table_objet($table);
87 if (!sql_getfetsel($_id_objet,$table,"$_id_objet=".intval($opts['id_objet'])))
88 return autoriser('modifier','gis',$id,$qui,$opts);
89 else
90 return autoriser('lier','gis',$id,$qui,$opts);
91 }
92
93 /**
94 * Autorisation a supprimer un point
95 * Un auteur peut supprimer un point s'il peut délier tous les objets et modifier le point
96 *
97 * @param string $faire L'action
98 * @param string $type Le type d'objet
99 * @param int $id L'identifiant numérique de l'objet
100 * @param array $qui Les informations de session de l'auteur
101 * @param array $opt Des options
102 * @return boolean true/false
103 */
104 function autoriser_gis_supprimer_dist($faire,$quoi,$id,$qui,$opts){
105 $liaisons = sql_select('*','spip_gis_liens','id_gis='.intval($id));
106 while($liaison = sql_fetch($liaisons)){
107 if(!autoriser('delier','gis',$liaison['id_gis'],$qui,$liaison)){
108 return false;
109 }
110 }
111 return autoriser('modifier','gis',$id,$qui,$opts);
112 }
113 ?>