source: spip-zone/_core_/plugins/sites/sites_autoriser.php @ 104354

Last change on this file since 104354 was 104354, checked in by spip.franck@…, 3 years ago

code.spip est maintenant en https, donc j'ajoute le "s" à http

File size: 3.9 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2016                                                *
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
13
14if (!defined('_ECRIRE_INC_VERSION')) {
15        return;
16}
17
18// fonction pour le pipeline
19function sites_autoriser() { }
20
21
22// bouton du bandeau
23function autoriser_sites_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
24        return
25                autoriser('voir', '_sites', $id, $qui, $opt);
26}
27
28// Le bouton de création d'un site est présent si on peut en créer un.
29function autoriser_sitecreer_menu_dist($faire, $type, $id, $qui, $opt) {
30        return
31                autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
32}
33
34function autoriser_sites_voir_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
35        return
36                ($GLOBALS['meta']['activer_sites'] != 'non');
37}
38
39// Moderer la syndication ?
40// = modifier l'objet correspondant (si forum attache a un objet)
41// = droits par defaut sinon (admin complet pour moderation complete)
42// https://code.spip.net/@autoriser_modererforum_dist
43function autoriser_site_moderer_dist($faire, $type, $id, $qui, $opt) {
44        return
45                autoriser('modifier', 'site', $id, $qui, $opt);
46}
47
48function autoriser_site_purger_dist($faire, $type, $id, $qui, $opt) {
49        return
50                autoriser('moderer', 'site', $id, $qui, $opt);
51}
52
53
54function autoriser_controlersyndication_menu_dist($faire, $type, $id, $qui, $opt) {
55        return ($qui['statut'] == '0minirezo' and sql_countsel('spip_syndic_articles'));
56}
57
58// Creer un nouveau site ?
59function autoriser_site_creer_dist($faire, $type, $id, $qui, $opt) {
60        return
61                ($GLOBALS['meta']["activer_sites"] != 'non'
62                        and verifier_table_non_vide()
63                        and (
64                                $qui['statut'] == '0minirezo'
65                                or ($GLOBALS['meta']['proposer_sites'] >=
66                                        ($qui['statut'] == '1comite' ? 1 : 2))));
67}
68
69// Pour creer un site dans la rubrique $id il faut:
70// - que la rubrique existe et soit accessible pour l'auteur
71// - que l'on puisse créer un site
72// https://code.spip.net/@autoriser_rubrique_creersitedans_dist
73function autoriser_rubrique_creersitedans_dist($faire, $type, $id, $qui, $opt) {
74        return
75                $id
76                and autoriser('voir', 'rubrique', $id)
77                and autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
78}
79
80
81// Autoriser a modifier un site
82// https://code.spip.net/@autoriser_site_modifier_dist
83function autoriser_site_modifier_dist($faire, $type, $id, $qui, $opt) {
84        if ($qui['statut'] == '0minirezo' and !$qui['restreint']) {
85                return true;
86        }
87
88        $r = sql_fetsel("id_rubrique,statut", "spip_syndic", "id_syndic=" . intval($id));
89
90        return ($r
91                and autoriser('voir', 'rubrique', $r['id_rubrique'])
92                and
93                ($r['statut'] == 'publie' or (isset($opt['statut']) and $opt['statut'] == 'publie'))
94                        ? autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
95                        : in_array($qui['statut'], array('0minirezo', '1comite'))
96        );
97}
98
99// Autoriser a voir un site $id_syndic
100// https://code.spip.net/@autoriser_site_voir_dist
101function autoriser_site_voir_dist($faire, $type, $id, $qui, $opt) {
102        return
103                autoriser_site_modifier_dist($faire, $type, $id, $qui, $opt);
104}
105
106// Autoriser l'importation de sites que si on peut en créer
107function autoriser_sites_importer_dist($faire, $type, $id, $qui, $opt) {
108        return
109                autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
110}
111
112// Autoriser l'exportation de sites que si la table n'est pas vide
113function autoriser_sites_exporter_dist($faire, $type, $id, $qui, $opt) {
114        return
115                verifier_table_non_vide('spip_syndic');
116}
Note: See TracBrowser for help on using the repository browser.