source: spip-zone/_plugins_/legendes/legendes_autoriser.php @ 39960

Last change on this file since 39960 was 39960, checked in by brunobergot@…, 11 years ago

hop on dépose le plugin légendes sur la zone (notes d'images à la flickr)

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1<?php
2
3/* pour que le pipeline ne rale pas ! */
4function legendes_autoriser(){}
5
6/**
7 * Autorisation d'ajout d'une legende a un document
8 *
9 * @param string $faire
10 * @param string $quoi
11 * @param int $id du document
12 * @param int $qui
13 * @param array $options
14 * @return bool
15 */
16function autoriser_legende_creerdans_dist($faire,$quoi,$id,$qui,$options){
17        if (!$id) return false; // interdit de creer une legende sur un document vide !
18        // autorisation personnalisee par config
19        if(lire_config('legendes/statuts_creerdans'))
20                return  (in_array($qui['statut'],lire_config('legendes/statuts_creerdans',array('0minirezo'))));
21        // ou autorisation du document associe
22        return autoriser('modifier','document',$id,$qui);
23}
24
25/**
26 * Autorisation de modifier une legende
27 *
28 * @param string $faire
29 * @param string $quoi
30 * @param int $id de la legende
31 * @param int $qui
32 * @param array $options
33 * @return bool
34 */
35function autoriser_legende_modifier_dist($faire,$quoi,$id,$qui,$options){
36        if (!isset($options['id_document']) OR !$id_document=$options['id_document'])
37                $legende = sql_fetsel('*','spip_legendes','id_legende='.intval($id));
38        if (!$legende['id_document']) return false;
39        // autorisation personnalisee par config
40        if (lire_config('legendes/statuts_modifier')){
41                if (in_array($qui['statut'],lire_config('legendes/statuts_modifier',array('0minirezo')))){
42                        if (($qui['statut'] != '0minirezo') AND ($qui['id_auteur'] != $legende['id_auteur'])) {
43                                return false;
44                        }
45                return true;
46                }
47        }
48        // ou autorisation du document associe
49        return autoriser('modifier','document',$legende['id_document'],$qui);
50}
51
52
53/**
54 * Autorisation de supprimer une legende
55 *
56 * @param string $faire
57 * @param string $quoi
58 * @param int $id de la legende
59 * @param int $qui
60 * @param array $options
61 * @return bool
62 */
63function autoriser_legende_supprimer_dist($faire,$quoi,$id,$qui,$options){
64        if (!isset($options['id_document']) OR !$id_document=$options['id_document'])
65                $id_document = sql_getfetsel('id_document','spip_legendes','id_legende='.intval($id));
66        // autorisation personnalisee par config
67        if (lire_config('legendes/statuts_supprimer')){
68                if (in_array($qui['statut'],lire_config('legendes/statuts_supprimer',array('0minirezo')))){
69                        if (($qui['statut'] != '0minirezo') AND ($qui['id_auteur'] != $legende['id_auteur'])) {
70                                return false;
71                        }
72                return true;
73                }
74        }
75        // ou autorisation du document associe
76        return autoriser('modifier','document',$id_document,$qui);
77}
78
79?>
Note: See TracBrowser for help on using the repository browser.