499f7c73162c34a142ee2405554dccd6ce531915
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
14 if (!defined('_ECRIRE_INC_VERSION')) {
18 // fonction pour le pipeline
19 function sites_autoriser() { }
23 function autoriser_sites_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
25 autoriser('voir', '_sites', $id, $qui, $opt);
28 // Le bouton de création d'un site est présent si on peut en créer un.
29 function autoriser_sitecreer_menu_dist($faire, $type, $id, $qui, $opt) {
31 autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
34 function autoriser_sites_voir_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
36 ($GLOBALS['meta']['activer_sites'] != 'non');
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
43 function autoriser_site_moderer_dist($faire, $type, $id, $qui, $opt) {
45 autoriser('modifier', 'site', $id, $qui, $opt);
48 function autoriser_site_purger_dist($faire, $type, $id, $qui, $opt) {
50 autoriser('moderer', 'site', $id, $qui, $opt);
54 function autoriser_controlersyndication_menu_dist($faire, $type, $id, $qui, $opt) {
55 return ($qui['statut'] == '0minirezo' and sql_countsel('spip_syndic_articles'));
58 // Creer un nouveau site ?
59 function autoriser_site_creer_dist($faire, $type, $id, $qui, $opt) {
61 ($GLOBALS['meta']["activer_sites"] != 'non'
62 and verifier_table_non_vide()
64 $qui['statut'] == '0minirezo'
65 or ($GLOBALS['meta']['proposer_sites'] >=
66 ($qui['statut'] == '1comite' ?
1 : 2))));
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
73 function autoriser_rubrique_creersitedans_dist($faire, $type, $id, $qui, $opt) {
76 and autoriser('voir', 'rubrique', $id)
77 and autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
81 // Autoriser a modifier un site
82 // https://code.spip.net/@autoriser_site_modifier_dist
83 function autoriser_site_modifier_dist($faire, $type, $id, $qui, $opt) {
84 if ($qui['statut'] == '0minirezo' and !$qui['restreint']) {
88 $r = sql_fetsel("id_rubrique,statut", "spip_syndic", "id_syndic=" . intval($id));
91 and autoriser('voir', 'rubrique', $r['id_rubrique'])
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'))
99 // Autoriser a voir un site $id_syndic
100 // https://code.spip.net/@autoriser_site_voir_dist
101 function autoriser_site_voir_dist($faire, $type, $id, $qui, $opt) {
103 autoriser_site_modifier_dist($faire, $type, $id, $qui, $opt);
106 // Autoriser l'importation de sites que si on peut en créer
107 function autoriser_sites_importer_dist($faire, $type, $id, $qui, $opt) {
109 autoriser_site_creer_dist($faire, $type, $id, $qui, $opt);
112 // Autoriser l'exportation de sites que si la table n'est pas vide
113 function autoriser_sites_exporter_dist($faire, $type, $id, $qui, $opt) {
115 verifier_table_non_vide('spip_syndic');