source: spip-zone/_plugins_/lim/trunk/lim_autorisations.php @ 88722

Last change on this file since 88722 was 88722, checked in by peetdu@…, 5 years ago

fonction lim_autoriser réduite à sa plus simple expression

File size: 3.3 KB
Line 
1<?php
2/**
3 * Définit les autorisations du plugin Lim
4 *
5 * @plugin     Lim
6 * @copyright  2015
7 * @author     Pierre Miquel
8 * @licence    GNU/GPL
9 * @package    SPIP\Lim\Autorisations
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14
15/**
16 * Fonction d'appel pour le pipeline
17 * @pipeline autoriser */
18function lim_autoriser(){}
19
20
21/**************************************************************/
22/************* DESACTIVER DES LOGOS PAR CONTENUS *************/
23
24/* Exceptions historiques */
25function autoriser_auteur_iconifier($faire,$type,$id,$qui,$opt){
26        if (in_array(table_objet_sql($type),explode(',',lire_config('lim_logos'))))
27                return false;
28        else return (($id == $qui['id_auteur']) OR
29                        (($qui['statut'] == '0minirezo') AND !$qui['restreint']));
30}
31
32function autoriser_mot_iconifier($faire,$type,$id,$qui,$opt){
33        if (in_array(table_objet_sql($type),explode(',',lire_config('lim_logos'))))
34                return false;
35        return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
36}
37
38function autoriser_groupemots_iconifier($faire,$type,$id,$qui,$opt){
39        if (in_array(table_objet_sql($type),explode(',',lire_config('lim_logos'))))
40                return false;
41        else return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
42}
43
44function autoriser_rubrique_iconifier($faire,$type,$id,$qui,$opt){
45        if (in_array(table_objet_sql($type),explode(',',lire_config('lim_logos'))))
46                return false;
47        return autoriser('publierdans', 'rubrique', $id, $qui, $opt);
48}
49
50
51// iconifier ou non les objets
52function autoriser_iconifier($faire, $type, $id, $qui, $opt) {
53        if (in_array(table_objet_sql($type),explode(',',lire_config('lim_logos'))))
54                return false;
55        // par defaut, on a le droit d'iconifier si on a le droit de modifier
56        else return autoriser('modifier', $type, $id, $qui, $opt);
57}
58
59/**********************************************************/
60/************* RESTRICTION DANS LES RUBRIQUES *************/
61
62
63if (!function_exists('autoriser_rubrique_creerarticledans')) {
64        function autoriser_rubrique_creerarticledans($faire, $type, $id, $qui, $opt) {
65                $quelles_rubriques = lire_config('lim_rubriques/article');
66                is_null($quelles_rubriques) ? $lim_rub = true : $lim_rub = !in_array($id,$quelles_rubriques);
67               
68                return
69                        $id
70                        AND $lim_rub
71                        AND autoriser('voir','rubrique',$id)
72                        AND autoriser('creer', 'article');
73        }
74}
75
76if (!function_exists('autoriser_rubrique_creerbrevedans')) {
77        function autoriser_rubrique_creerbrevedans($faire, $type, $id, $qui, $opt) {
78                $r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=".intval($id));
79                $quelles_rubriques = lire_config('lim_rubriques/breve');
80                is_null($quelles_rubriques) ? $lim_rub = true : $lim_rub = !in_array($id,$quelles_rubriques);
81
82                return
83                        $id
84                        AND $lim_rub
85                        AND ($r['id_parent']==0)
86                        AND ($GLOBALS['meta']["activer_breves"]!="non")
87                        AND autoriser('voir','rubrique',$id);
88        }
89}
90
91if (!function_exists('autoriser_rubrique_creersitedans')) {
92        function autoriser_rubrique_creersitedans($faire, $type, $id, $qui, $opt) {
93                $quelles_rubriques = lire_config('lim_rubriques/site');
94                is_null($quelles_rubriques) ? $lim_rub = true : $lim_rub = !in_array($id,$quelles_rubriques);
95                return
96                        $id
97                        AND $lim_rub
98                        AND autoriser('voir','rubrique',$id)
99                        AND $GLOBALS['meta']['activer_sites'] != 'non'
100                        AND (
101                                $qui['statut']=='0minirezo'
102                                OR ($GLOBALS['meta']["proposer_sites"] >=
103                                    ($qui['statut']=='1comite' ? 1 : 2)));
104        }
105}
106
107?>
Note: See TracBrowser for help on using the repository browser.