source: spip-zone/_core_/plugins/mots/mots_autoriser.php @ 43406

Last change on this file since 43406 was 43406, checked in by cedric@…, 10 years ago

Les extensions avaient deja rate le passage en 2010, ne ratons pas celui a 2011

File size: 3.7 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2011                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13function mots_autoriser(){}
14
15
16function autoriser_mots_bouton_dist($faire, $type, $id, $qui, $opt){
17        return  ($GLOBALS['meta']['articles_mots'] != 'non' OR sql_countsel('spip_groupes_mots'));
18}
19function autoriser_mot_creer_bouton_dist($faire, $type, $id, $qui, $opt){
20        return  ($GLOBALS['meta']['articles_mots'] != 'non' OR sql_countsel('spip_groupes_mots'));
21}
22
23
24// Autoriser a creer un groupe de mots
25// http://doc.spip.org/@autoriser_groupemots_creer_dist
26function autoriser_groupemots_creer_dist($faire, $type, $id, $qui, $opt) {
27        return
28                $qui['statut'] == '0minirezo'
29                AND !$qui['restreint'];
30}
31
32// Autoriser a modifier un groupe de mots $id
33// y compris en ajoutant/modifiant les mots lui appartenant
34// http://doc.spip.org/@autoriser_groupemots_modifier_dist
35function autoriser_groupemots_modifier_dist($faire, $type, $id, $qui, $opt) {
36        return
37                $qui['statut'] == '0minirezo'
38                AND !$qui['restreint'];
39}
40
41// Autoriser a modifier un mot $id ; note : si on passe l'id_groupe
42// dans les options, on gagne du CPU (c'est ce que fait l'espace prive)
43// http://doc.spip.org/@autoriser_mot_modifier_dist
44function autoriser_mot_modifier_dist($faire, $type, $id, $qui, $opt) {
45        return
46        isset($opt['id_groupe'])
47                ? autoriser('modifier', 'groupemots', $opt['id_groupe'], $qui, $opt)
48                : (
49                        $t = sql_getfetsel("id_groupe", "spip_mots", "id_mot=".sql_quote($id))
50                        AND autoriser('modifier', 'groupemots', $t, $qui, $opt)
51                );
52}
53
54
55
56
57function autoriser_objet_editermots_dist($faire,$quoi,$id,$qui,$opts){
58        // on recupere les champs du groupe s'ils ne sont pas passes en opt
59        $droit = substr($GLOBALS['visiteur_session']['statut'],1);
60        if (!isset($opts['groupe_champs'])){
61                if (!$id_groupe = $opts['id_groupe'])
62                        return false;
63                include_spip('base/abstract_sql');
64                $opts['groupe_champs'] = sql_fetsel("*", "spip_groupes_mots", "id_groupe=".intval($id_groupe));
65        }
66        $droit = $opts['groupe_champs'][$droit];
67
68        return
69                ($droit == 'oui')
70                AND
71                // on verifie que l'objet demande est bien dans les tables liees
72                in_array(
73                        table_objet($quoi),
74                        explode(',', $opts['groupe_champs']['tables_liees'])
75                );
76}
77
78// http://doc.spip.org/@autoriser_rubrique_editermots_dist
79function autoriser_rubrique_editermots_dist($faire,$quoi,$id,$qui,$opts){
80        return autoriser_objet_editermots_dist($faire,'rubrique',0,$qui,$opts);
81}
82// http://doc.spip.org/@autoriser_article_editermots_dist
83function autoriser_article_editermots_dist($faire,$quoi,$id,$qui,$opts){
84        return autoriser_objet_editermots_dist($faire,'article',0,$qui,$opts);
85}
86// http://doc.spip.org/@autoriser_breve_editermots_dist
87function autoriser_breve_editermots_dist($faire,$quoi,$id,$qui,$opts){
88        return autoriser_objet_editermots_dist($faire,'breve',0,$qui,$opts);
89}
90// http://doc.spip.org/@autoriser_syndic_editermots_dist
91function autoriser_syndic_editermots_dist($faire,$quoi,$id,$qui,$opts){
92        return autoriser_objet_editermots_dist($faire,'syndic',0,$qui,$opts);
93}
94
95
96// http://doc.spip.org/@autoriser_mot_iconifier_dist
97function autoriser_mot_iconifier_dist($faire,$quoi,$id,$qui,$opts){
98 return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
99}
100
101
102?>
Note: See TracBrowser for help on using the repository browser.