01cfd85032589c1e9cf7083e13d26435bc7454a0
[moodle.git] / mod / forum / db / access.php
1 <?php
3 // This file is part of Moodle - http://moodle.org/
4 //
5 // Moodle is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // Moodle is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
18 /**
19  * Capability definitions for the forum module.
20  *
21  * The capabilities are loaded into the database table when the module is
22  * installed or updated. Whenever the capability definitions are updated,
23  * the module version number should be bumped up.
24  *
25  * The system has four possible values for a capability:
26  * CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT, and inherit (not set).
27  *
28  * CAPABILITY NAMING CONVENTION
29  *
30  * It is important that capability names are unique. The naming convention
31  * for capabilities that are specific to modules and blocks is as follows:
32  *   [mod/block]/<plugin_name>:<capabilityname>
33  *
34  * component_name should be the same as the directory name of the mod or block.
35  *
36  * Core moodle capabilities are defined thus:
37  *    moodle/<capabilityclass>:<capabilityname>
38  *
39  * Examples: mod/forum:viewpost
40  *           block/recent_activity:view
41  *           moodle/site:deleteuser
42  *
43  * The variable name for the capability definitions array is $capabilities
44  *
45  * @package mod-forum
46  * @copyright 2006 vyshane
47  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
48  */
50 $capabilities = array(
52     'mod/forum:viewdiscussion' => array(
54         'captype' => 'read',
55         'contextlevel' => CONTEXT_MODULE,
56         'legacy' => array(
57             'frontpage' => CAP_ALLOW, // needed especially for news on the frontpage
58             'guest' => CAP_ALLOW,
59             'student' => CAP_ALLOW,
60             'teacher' => CAP_ALLOW,
61             'editingteacher' => CAP_ALLOW,
62             'manager' => CAP_ALLOW
63         )
64     ),
66     'mod/forum:viewhiddentimedposts' => array(
68         'captype' => 'read',
69         'contextlevel' => CONTEXT_MODULE,
70         'legacy' => array(
71             'teacher' => CAP_ALLOW,
72             'editingteacher' => CAP_ALLOW,
73             'manager' => CAP_ALLOW
74         )
75     ),
77     'mod/forum:startdiscussion' => array(
79         'riskbitmask' => RISK_SPAM,
81         'captype' => 'write',
82         'contextlevel' => CONTEXT_MODULE,
83         'legacy' => array(
84             'student' => CAP_ALLOW,
85             'teacher' => CAP_ALLOW,
86             'editingteacher' => CAP_ALLOW,
87             'manager' => CAP_ALLOW
88         )
89     ),
91     'mod/forum:replypost' => array(
93         'riskbitmask' => RISK_SPAM,
95         'captype' => 'write',
96         'contextlevel' => CONTEXT_MODULE,
97         'legacy' => array(
98             'student' => CAP_ALLOW,
99             'teacher' => CAP_ALLOW,
100             'editingteacher' => CAP_ALLOW,
101             'manager' => CAP_ALLOW
102         )
103     ),
105     'mod/forum:addnews' => array(
107         'riskbitmask' => RISK_SPAM,
109         'captype' => 'write',
110         'contextlevel' => CONTEXT_MODULE,
111         'legacy' => array(
112             'teacher' => CAP_ALLOW,
113             'editingteacher' => CAP_ALLOW,
114             'manager' => CAP_ALLOW
115         )
116     ),
118     'mod/forum:replynews' => array(
120         'riskbitmask' => RISK_SPAM,
122         'captype' => 'write',
123         'contextlevel' => CONTEXT_MODULE,
124         'legacy' => array(
125             'teacher' => CAP_ALLOW,
126             'editingteacher' => CAP_ALLOW,
127             'manager' => CAP_ALLOW
128         )
129     ),
131     'mod/forum:viewrating' => array(
133         'captype' => 'read',
134         'contextlevel' => CONTEXT_MODULE,
135         'legacy' => array(
136             'student' => CAP_ALLOW,
137             'teacher' => CAP_ALLOW,
138             'editingteacher' => CAP_ALLOW,
139             'manager' => CAP_ALLOW
140         )
141     ),
143     'mod/forum:viewanyrating' => array(
145         'captype' => 'read',
146         'contextlevel' => CONTEXT_MODULE,
147         'legacy' => array(
148             'teacher' => CAP_ALLOW,
149             'editingteacher' => CAP_ALLOW,
150             'manager' => CAP_ALLOW
151         )
152     ),
154     'mod/forum:rate' => array(
156         'captype' => 'write',
157         'contextlevel' => CONTEXT_MODULE,
158         'legacy' => array(
159             'teacher' => CAP_ALLOW,
160             'editingteacher' => CAP_ALLOW,
161             'manager' => CAP_ALLOW
162         )
163     ),
165     'mod/forum:createattachment' => array(
167         'riskbitmask' => RISK_SPAM,
169         'captype' => 'write',
170         'contextlevel' => CONTEXT_MODULE,
171         'legacy' => array(
172             'student' => CAP_ALLOW,
173             'teacher' => CAP_ALLOW,
174             'editingteacher' => CAP_ALLOW,
175             'manager' => CAP_ALLOW
176         )
177     ),
179     'mod/forum:deleteownpost' => array(
181         'captype' => 'read',
182         'contextlevel' => CONTEXT_MODULE,
183         'legacy' => array(
184             'student' => CAP_ALLOW,
185             'teacher' => CAP_ALLOW,
186             'editingteacher' => CAP_ALLOW,
187             'manager' => CAP_ALLOW
188         )
189     ),
191     'mod/forum:deleteanypost' => array(
193         'captype' => 'read',
194         'contextlevel' => CONTEXT_MODULE,
195         'legacy' => array(
196             'teacher' => CAP_ALLOW,
197             'editingteacher' => CAP_ALLOW,
198             'manager' => CAP_ALLOW
199         )
200     ),
202     'mod/forum:splitdiscussions' => array(
204         'captype' => 'read',
205         'contextlevel' => CONTEXT_MODULE,
206         'legacy' => array(
207             'teacher' => CAP_ALLOW,
208             'editingteacher' => CAP_ALLOW,
209             'manager' => CAP_ALLOW
210         )
211     ),
213     'mod/forum:movediscussions' => array(
215         'captype' => 'read',
216         'contextlevel' => CONTEXT_MODULE,
217         'legacy' => array(
218             'teacher' => CAP_ALLOW,
219             'editingteacher' => CAP_ALLOW,
220             'manager' => CAP_ALLOW
221         )
222     ),
224     'mod/forum:editanypost' => array(
226         'riskbitmask' => RISK_SPAM,
228         'captype' => 'write',
229         'contextlevel' => CONTEXT_MODULE,
230         'legacy' => array(
231             'teacher' => CAP_ALLOW,
232             'editingteacher' => CAP_ALLOW,
233             'manager' => CAP_ALLOW
234         )
235     ),
237     'mod/forum:viewqandawithoutposting' => array(
239         'captype' => 'read',
240         'contextlevel' => CONTEXT_MODULE,
241         'legacy' => array(
242             'teacher' => CAP_ALLOW,
243             'editingteacher' => CAP_ALLOW,
244             'manager' => CAP_ALLOW
245         )
246     ),
248     'mod/forum:viewsubscribers' => array(
250         'captype' => 'read',
251         'contextlevel' => CONTEXT_MODULE,
252         'legacy' => array(
253             'teacher' => CAP_ALLOW,
254             'editingteacher' => CAP_ALLOW,
255             'manager' => CAP_ALLOW
256         )
257     ),
259     'mod/forum:managesubscriptions' => array(
261         'riskbitmask' => RISK_SPAM,
263         'captype' => 'read',
264         'contextlevel' => CONTEXT_MODULE,
265         'legacy' => array(
266             'teacher' => CAP_ALLOW,
267             'editingteacher' => CAP_ALLOW,
268             'manager' => CAP_ALLOW
269         )
270     ),
272     'mod/forum:initialsubscriptions' => array(
274         'captype' => 'read',
275         'contextlevel' => CONTEXT_MODULE,
276         'legacy' => array(
277             'teacher' => CAP_ALLOW,
278             'editingteacher' => CAP_ALLOW,
279             'student' => CAP_ALLOW
280         )
281     ),
283     'mod/forum:throttlingapplies' => array(
285         'riskbitmask' => RISK_SPAM,
287         'captype' => 'write',
288         'contextlevel' => CONTEXT_MODULE,
289         'legacy' => array(
290         )
291     ),
293     'mod/forum:exportdiscussion' => array(
295         'riskbitmask' => RISK_PERSONAL,
297         'captype' => 'read',
298         'contextlevel' => CONTEXT_MODULE,
299         'legacy' => array(
300             'teacher' => CAP_ALLOW,
301             'editingteacher' => CAP_ALLOW,
302             'manager' => CAP_ALLOW
303         )
304     ),
305     'mod/forum:exportpost' => array(
307         'riskbitmask' => RISK_PERSONAL,
309         'captype' => 'read',
310         'contextlevel' => CONTEXT_MODULE,
311         'legacy' => array(
312             'teacher' => CAP_ALLOW,
313             'editingteacher' => CAP_ALLOW,
314             'manager' => CAP_ALLOW
315         )
316     ),
317     'mod/forum:exportownpost' => array(
319         'riskbitmask' => RISK_PERSONAL,
321         'captype' => 'read',
322         'contextlevel' => CONTEXT_MODULE,
323         'legacy' => array(
324             'teacher' => CAP_ALLOW,
325             'editingteacher' => CAP_ALLOW,
326             'manager' => CAP_ALLOW,
327             'student' => CAP_ALLOW,
328         )
329     ),
330 );