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

Last change on this file since 114710 was 114710, checked in by bruno@…, 5 months ago

pas de fermeture php + simple quotes sur le test _ECRIRE_INC_VERSION

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