Changeset 54187 in spip-zone


Ignore:
Timestamp:
Nov 8, 2011, 12:08:52 PM (8 years ago)
Author:
kent1@…
Message:

des autorisations de base pour GIS certainement à améliorer ...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/branches/v2/gis_autoriser.php

    r52788 r54187  
    77/**
    88 * Autorisation a modifier le logo d'un point
     9 * Si on est autorisé à modifier le point en question
    910 *
    1011 * @param string $faire L'action
     
    1516 * @return boolean true/false
    1617 */
    17 function autoriser_gis_iconifier_dist($faire,$quoi,$id,$qui,$opts){
    18         return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
     18function autoriser_gis_iconifier_dist($faire,$quoi){
     19        return autoriser('modifier','gis',$id,$qui,$opts);
    1920}
    2021
     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 */
     34function autoriser_gis_modifier_dist($faire,$quoi,$id,$qui,$opts){
     35        return (in_array($qui['statut'],arary('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 */
     50function autoriser_gis_creer_dist($faire,$quoi,$id,$qui,$opts){
     51        return (in_array($qui['statut'],arary('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 */
     65function 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 */
     83function 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 */
     98function 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}
    21107?>
Note: See TracChangeset for help on using the changeset viewer.