3 if (!defined("_ECRIRE_INC_VERSION")) return;
5 function gis_autoriser(){};
8 * Autorisation a modifier le logo d'un point
9 * Si on est autorisé à modifier le point en question
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
18 function autoriser_gis_iconifier_dist($faire,$quoi,$id,$qui,$opts){
19 return autoriser('modifier','gis',$id,$qui,$opts);
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 ...)
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
34 function autoriser_gis_modifier_dist($faire,$quoi,$id,$qui,$opts){
35 return (in_array($qui['statut'],array('0minirezo','1comite','6forum')));
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 ...)
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
50 function autoriser_gis_creer_dist($faire,$quoi,$id,$qui,$opts){
51 return (in_array($qui['statut'],array('0minirezo','1comite','6forum')));
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
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
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);
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
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
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);
90 return autoriser('lier','gis',$id,$qui,$opts);
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
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
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)){
111 return autoriser('modifier','gis',$id,$qui,$opts);