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 | **/ |
---|
18 | if (!defined('_ECRIRE_INC_VERSION')) { |
---|
19 | return; |
---|
20 | } |
---|
21 | |
---|
22 | /** |
---|
23 | * Fonction du pipeline autoriser. N'a rien à faire |
---|
24 | * |
---|
25 | * @pipeline autoriser |
---|
26 | */ |
---|
27 | function 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 | */ |
---|
40 | function 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 | */ |
---|
54 | function 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 | **/ |
---|
71 | function 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 | */ |
---|
87 | function 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 | */ |
---|
111 | function 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 | ?> |
---|