source: spip-zone/_plugins_/emballe_medias/media_collections/trunk/collections_autorisations.php @ 73902

Last change on this file since 73902 was 73902, checked in by kent1@…, 6 years ago

Petite modif d'autoriser à modifier les collections.

Si l'$id est null => on considère que c'est une création => on se réfère à la bonne autorisation

Incrément de version

File size: 2.5 KB
Line 
1<?php
2/**
3 * Plugin Collections (ou albums)
4 * (c) 2012-2013 kent1 (http://www.kent1.info - kent1@arscenic.info)
5 * Licence GNU/GPL
6 */
7
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10include_spip('collections_fonctions');
11
12// declaration vide pour ce pipeline.
13function collections_autoriser(){}
14
15// -----------------
16// Objet collections
17
18
19// bouton de menu
20function autoriser_collections_menu_dist($faire, $type, $id, $qui, $opts){
21        return true;
22} 
23
24// bouton d'outils rapides
25function autoriser_collectioncreer_menu_dist($faire, $type, $id, $qui, $opts){
26        return autoriser('creer', 'collection', '', $qui, $opts);
27} 
28
29// creer
30function autoriser_collection_creer_dist($faire, $type, $id, $qui, $opt) {
31        return in_array($qui['statut'], array('0minirezo', '1comite','6forum'));
32}
33
34// voir les fiches completes
35function autoriser_collection_voir_dist($faire, $type, $id, $qui, $opt) {
36        return true;
37}
38
39/**
40 * Autorisation à lier un média à une collection
41 *
42 * Peuvent le faire :
43 * -* les admins de collections
44 * -* les auteurs liés à la collection (participants)
45 * -* les administrateurs du site
46 */
47function autoriser_collection_lierobjet_dist($faire, $type, $id, $qui, $opt) {
48        return  collection_admin($id,$qui) OR collection_auteur($id,$qui) OR (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
49}
50// modifier
51function autoriser_collection_modifier_dist($faire, $type, $id, $qui, $opt) {
52        /**
53         * Si pas numérique, c'est une création
54         * On se réfère à l'autorisation adéquate
55         */
56        if(!is_numeric($id))
57                return autoriser('creer', $type, $id, $qui, $opt);
58       
59        /**
60         * Sinon ce sont les admins de la collection et les administrateurs non restreints
61         */
62        return collection_admin($id,$qui) OR (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
63}
64
65// supprimer
66function autoriser_collection_supprimer_dist($faire, $type, $id, $qui, $opt) {
67        return collection_admin($id,$qui) OR (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
68}
69
70
71// associer (lier / delier)
72function autoriser_associercollections_dist($faire, $type, $id, $qui, $opt) {
73        return $qui['statut'] == '0minirezo' AND !$qui['restreint'];
74}
75
76/**
77 * Autorisation d'association d'auteurs à une collection
78 * La collection doit être coopérative
79 */ 
80function autoriser_collection_associerauteurs_dist($faire, $type, $id, $qui, $opt){
81        $type = sql_getfetsel('type_collection','spip_collections','id_collection='.intval($id));
82        if($type != 'coop')
83                return false;
84       
85        return in_array($qui['statut'],array('0minirezo','1comite','6forum')); 
86}
87
88
89?>
Note: See TracBrowser for help on using the repository browser.