3 if (!defined('_ECRIRE_INC_VERSION')) {
7 function gis_autoriser() {
11 * Autorisation a modifier le logo d'un point
12 * Si on est autorisé à modifier le point en question
14 * @param string $faire L'action
15 * @param string $type Le type d'objet
16 * @param int $id L'identifiant numérique de l'objet
17 * @param array $qui Les informations de session de l'auteur
18 * @param array $opt Des options
19 * @return boolean true/false
21 function autoriser_gis_iconifier_dist($faire, $quoi, $id, $qui, $opts) {
22 return autoriser('modifier', 'gis', $id, $qui, $opts);
26 * Autorisation a modifier un point
27 * Avoir un statut dans les 3 fournis par SPIP
28 * (On n'a pas d'auteur pour un point ...)
30 * @param string $faire L'action
31 * @param string $type Le type d'objet
32 * @param int $id L'identifiant numérique de l'objet
33 * @param array $qui Les informations de session de l'auteur
34 * @param array $opt Des options
35 * @return boolean true/false
37 function autoriser_gis_modifier_dist($faire, $quoi, $id, $qui, $opts) {
38 return (in_array($qui['statut'], array('0minirezo', '1comite', '6forum')));
42 * Autorisation a creer un point
43 * Avoir un statut dans les 3 fournis par SPIP
44 * (On n'a pas d'auteur pour un point ...)
46 * @param string $faire L'action
47 * @param string $type Le type d'objet
48 * @param int $id L'identifiant numérique de l'objet
49 * @param array $qui Les informations de session de l'auteur
50 * @param array $opt Des options
51 * @return boolean true/false
53 function autoriser_gis_creer_dist($faire, $quoi, $id, $qui, $opts) {
54 return (in_array($qui['statut'], array('0minirezo', '1comite', '6forum')));
58 * Autorisation d'associer un point à un objet
59 * Un auteur peut lier un point à un autre objet que s'il peut modifier l'objet à lier en question
61 * @param string $faire L'action
62 * @param string $type Le type d'objet
63 * @param int $id L'identifiant numérique de l'objet
64 * @param array $qui Les informations de session de l'auteur
65 * @param array $opt Des options
66 * @return boolean true/false
68 function autoriser_associergis_dist($faire, $quoi, $id, $qui, $opts) {
69 return autoriser('lier', 'gis', '', $qui, array('objet' => $quoi,'id_objet'=>$id));
73 * Autorisation a lier un point d'un objet
74 * Un auteur peut lier un point à un autre objet que s'il peut modifier l'objet à lier en question
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
83 function autoriser_gis_lier_dist($faire, $quoi, $id, $qui, $opts) {
84 if (is_array($opts) and isset($opts['objet']) and isset($opts['id_objet'])) {
85 return autoriser('modifier', $opts['objet'], $opts['id_objet'], $qui);
91 * Autorisation a délier un point d'un objet
92 * Un auteur peut délier un point d'un autre objet que s'il peut modifier l'objet en question
93 * Si l'objet lié n'existe plus, on vérifie que l'auteur a le droit de modifier le point
95 * @param string $faire L'action
96 * @param string $type Le type d'objet
97 * @param int $id L'identifiant numérique de l'objet
98 * @param array $qui Les informations de session de l'auteur
99 * @param array $opt Des options
100 * @return boolean true/false
102 function autoriser_gis_delier_dist($faire, $quoi, $id, $qui, $opts) {
103 $table = table_objet_sql($opts['objet']);
104 $_id_objet = id_table_objet($table);
105 if (!sql_getfetsel($_id_objet, $table, "$_id_objet=" . intval($opts['id_objet']))) {
106 return autoriser('modifier', 'gis', $id, $qui, $opts);
108 return autoriser('lier', 'gis', $id, $qui, $opts);
113 * Autorisation a supprimer un point
114 * Un auteur peut supprimer un point s'il peut délier tous les objets et modifier le point
116 * @param string $faire L'action
117 * @param string $type Le type d'objet
118 * @param int $id L'identifiant numérique de l'objet
119 * @param array $qui Les informations de session de l'auteur
120 * @param array $opt Des options
121 * @return boolean true/false
123 function autoriser_gis_supprimer_dist($faire, $quoi, $id, $qui, $opts) {
124 $liaisons = sql_select('*', 'spip_gis_liens', 'id_gis=' . intval($id));
125 while ($liaison = sql_fetch($liaisons)) {
126 if (!autoriser('delier', 'gis', $liaison['id_gis'], $qui, $liaison)) {
130 return autoriser('modifier', 'gis', $id, $qui, $opts);