source: spip-zone/_core_/plugins/breves/breves_autoriser.php @ 93607

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

Indentation et regles de codage selon http://www.spip.net/fr_article3497.html#regles_codage

File size: 4.2 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2015                                                *
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/**
14 * Déclarations d'autorisations
15 *
16 * @package SPIP\Breves\Autorisations
17 **/
18if (!defined('_ECRIRE_INC_VERSION')) {
19        return;
20}
21
22/**
23 * Fonction du pipeline autoriser. N'a rien à faire
24 *
25 * @pipeline autoriser
26 */
27function breves_autoriser() { }
28
29
30/**
31 * Autoriser les brèves dans le menu de navigation
32 *
33 * @param  string $faire Action demandée
34 * @param  string $type Type d'objet sur lequel appliquer l'action
35 * @param  int $id Identifiant de l'objet
36 * @param  array $qui Description de l'auteur demandant l'autorisation
37 * @param  array $opt Options de cette autorisation
38 * @return bool          true s'il a le droit, false sinon
39 */
40function autoriser_breves_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
41        return ($GLOBALS['meta']["activer_breves"] != "non");
42}
43
44/**
45 * Autoriser la création de brèves dans le menu de navigation
46 *
47 * @param  string $faire Action demandée
48 * @param  string $type Type d'objet sur lequel appliquer l'action
49 * @param  int $id Identifiant de l'objet
50 * @param  array $qui Description de l'auteur demandant l'autorisation
51 * @param  array $opt Options de cette autorisation
52 * @return bool          true s'il a le droit, false sinon
53 */
54function autoriser_brevecreer_menu_dist($faire, $type, $id, $qui, $opt) {
55        return ($GLOBALS['meta']["activer_breves"] != "non")
56        AND verifier_table_non_vide();
57}
58
59/**
60 * Autorisation de créer une brève
61 *
62 * Il faut que les brèves soient activées qu'une rubrique existe
63 *
64 * @param  string $faire Action demandée
65 * @param  string $type Type d'objet sur lequel appliquer l'action
66 * @param  int $id Identifiant de l'objet
67 * @param  array $qui Description de l'auteur demandant l'autorisation
68 * @param  array $opt Options de cette autorisation
69 * @return bool          true s'il a le droit, false sinon
70 **/
71function autoriser_breve_creer_dist($faire, $type, $id, $qui, $opt) {
72        return
73                ($GLOBALS['meta']["activer_breves"] != "non")
74                AND (sql_countsel('spip_rubriques') > 0);
75}
76
77/**
78 * Autoriser à créer une brève dans la rubrique $id
79 *
80 * @param  string $faire Action demandée
81 * @param  string $type Type d'objet sur lequel appliquer l'action
82 * @param  int $id Identifiant de l'objet
83 * @param  array $qui Description de l'auteur demandant l'autorisation
84 * @param  array $opt Options de cette autorisation
85 * @return bool          true s'il a le droit, false sinon
86 */
87function autoriser_rubrique_creerbrevedans_dist($faire, $type, $id, $qui, $opt) {
88        $r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=" . intval($id));
89
90        return
91                $id
92                AND ($r['id_parent'] == 0)
93                AND ($GLOBALS['meta']["activer_breves"] != "non")
94                AND autoriser('voir', 'rubrique', $id);
95}
96
97
98/**
99 * Autoriser à modifier la brève $id
100 *
101 * - admins & redac si la brève n'est pas publiée
102 * - admins de rubrique parente si publiée
103 *
104 * @param  string $faire Action demandée
105 * @param  string $type Type d'objet sur lequel appliquer l'action
106 * @param  int $id Identifiant de l'objet
107 * @param  array $qui Description de l'auteur demandant l'autorisation
108 * @param  array $opt Options de cette autorisation
109 * @return bool          true s'il a le droit, false sinon
110 */
111function autoriser_breve_modifier_dist($faire, $type, $id, $qui, $opt) {
112        $r = sql_fetsel("id_rubrique,statut", "spip_breves", "id_breve=" . intval($id));
113
114        return
115                $r AND (
116                ($r['statut'] == 'publie' OR (isset($opt['statut']) AND $opt['statut'] == 'publie'))
117                        ? autoriser('publierdans', 'rubrique', $r['id_rubrique'], $qui, $opt)
118                        : in_array($qui['statut'], array('0minirezo', '1comite'))
119                );
120}
121
122
123?>
Note: See TracBrowser for help on using the repository browser.