X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins%2Fgis%2Fgis_autoriser.php;h=8f67652745fd18e145d4027105df0ddbe8d49501;hb=d24ea3eed933e1a140e426c8c4dd395f2e7b0279;hp=2a2c73960d0dfca78a9b1987f6edc533ba13df82;hpb=9bbff73a71a636a626a1be365cbf48c07f1f7220;p=lhc%2Fweb%2Fwww.git diff --git a/www/plugins/gis/gis_autoriser.php b/www/plugins/gis/gis_autoriser.php index 2a2c7396..8f676527 100644 --- a/www/plugins/gis/gis_autoriser.php +++ b/www/plugins/gis/gis_autoriser.php @@ -15,7 +15,7 @@ function gis_autoriser(){}; * @param array $opt Des options * @return boolean true/false */ -function autoriser_gis_iconifier_dist($faire,$quoi){ +function autoriser_gis_iconifier_dist($faire,$quoi,$id,$qui,$opts){ return autoriser('modifier','gis',$id,$qui,$opts); } @@ -71,7 +71,8 @@ function autoriser_gis_lier_dist($faire,$quoi,$id,$qui,$opts){ /** * Autorisation a délier un point d'un objet - * Un auteur peut délier un point à un autre objet que s'il peut modifier l'objet à lier en question + * Un auteur peut délier un point d'un autre objet que s'il peut modifier l'objet en question + * Si l'objet lié n'existe plus, on vérifie que l'auteur a le droit de modifier le point * * @param string $faire L'action * @param string $type Le type d'objet @@ -81,7 +82,12 @@ function autoriser_gis_lier_dist($faire,$quoi,$id,$qui,$opts){ * @return boolean true/false */ function autoriser_gis_delier_dist($faire,$quoi,$id,$qui,$opts){ - return autoriser('lier','gis',$id,$qui,$opts); + $table = table_objet_sql($opts['objet']); + $_id_objet = id_table_objet($table); + if (!sql_getfetsel($_id_objet,$table,"$_id_objet=".intval($opts['id_objet']))) + return autoriser('modifier','gis',$id,$qui,$opts); + else + return autoriser('lier','gis',$id,$qui,$opts); } /** @@ -104,4 +110,4 @@ function autoriser_gis_supprimer_dist($faire,$quoi,$id,$qui,$opts){ } return autoriser('modifier','gis',$id,$qui,$opts); } -?> \ No newline at end of file +?>