MDL-30981 Upgrade API: Added related phpdocs
[moodle.git] / lib / db / access.php
CommitLineData
117bd748 1<?php
5b4a78e2 2// This file is part of Moodle - http://moodle.org/
bbbf2d40 3//
5b4a78e2
PS
4// Moodle is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
bbbf2d40 8//
5b4a78e2
PS
9// Moodle is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
bbbf2d40 13//
5b4a78e2
PS
14// You should have received a copy of the GNU General Public License
15// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
16
17/**
18 * Capability definitions for Moodle core.
19 *
20 * The capabilities are loaded into the database table when the module is
21 * installed or updated. Whenever the capability definitions are updated,
22 * the module version number should be bumped up.
23 *
24 * The system has four possible values for a capability:
25 * CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT, and inherit (not set).
26 *
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 *
39b90b51
EL
45 * For more information, take a look to the documentation available:
46 * - Access API: {@link http://docs.moodle.org/dev/Access_API}
47 * - Upgrade API: {@link http://docs.moodle.org/dev/Upgrade_API}
48 *
49 * @package core_access
50 * @category access
51 * @copyright 2006 onwards Martin Dougiamas http://dougiamas.com
52 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
5b4a78e2 53 */
bbbf2d40 54
5b4a78e2 55defined('MOODLE_INTERNAL') || die();
bbbf2d40 56
0ac940b3 57$capabilities = array(
bbbf2d40 58 'moodle/site:config' => array(
eef868d1 59
f432bebf 60 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG | RISK_DATALOSS,
21b6db6e 61
bbbf2d40 62 'captype' => 'write',
63 'contextlevel' => CONTEXT_SYSTEM,
31c93303 64 'archetypes' => array(
bbbf2d40 65 )
66 ),
eef868d1 67
51792df0 68 'moodle/site:readallmessages' => array(
eef868d1 69
bcdb0f19 70 'riskbitmask' => RISK_PERSONAL,
71
51792df0 72 'captype' => 'read',
73 'contextlevel' => CONTEXT_SYSTEM,
31c93303 74 'archetypes' => array(
4f0c2d00 75 'manager' => CAP_ALLOW,
4b7ae3c4 76 'editingteacher' => CAP_ALLOW
51792df0 77 )
78 ),
f7c0d84b 79
576ad290 80 'moodle/site:sendmessage' => array(
81
3a0c6cca 82 'riskbitmask' => RISK_SPAM,
576ad290 83
84 'captype' => 'write',
85 'contextlevel' => CONTEXT_SYSTEM,
31c93303 86 'archetypes' => array(
4f0c2d00 87 'manager' => CAP_ALLOW,
576ad290 88 'user' => CAP_ALLOW
89 )
f7c0d84b 90 ),
eef868d1 91
51792df0 92 'moodle/site:approvecourse' => array(
eef868d1 93
bcdb0f19 94 'riskbitmask' => RISK_XSS,
95
51792df0 96 'captype' => 'write',
97 'contextlevel' => CONTEXT_SYSTEM,
31c93303 98 'archetypes' => array(
4f0c2d00 99 'manager' => CAP_ALLOW
51792df0 100 )
101 ),
eef868d1 102
d2940003 103 'moodle/backup:backupcourse' => array(
eef868d1 104
21b6db6e 105 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
106
bbbf2d40 107 'captype' => 'write',
f432bebf 108 'contextlevel' => CONTEXT_COURSE,
31c93303 109 'archetypes' => array(
7246585a 110 'editingteacher' => CAP_ALLOW,
4f0c2d00 111 'manager' => CAP_ALLOW
d2940003
EL
112 ),
113
114 'clonepermissionsfrom' => 'moodle/site:backup'
bbbf2d40 115 ),
eef868d1 116
57ca97b3
EL
117 'moodle/backup:backupsection' => array(
118
119 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
120
121 'captype' => 'write',
122 'contextlevel' => CONTEXT_COURSE,
31c93303 123 'archetypes' => array(
57ca97b3
EL
124 'editingteacher' => CAP_ALLOW,
125 'manager' => CAP_ALLOW
126 ),
127
128 'clonepermissionsfrom' => 'moodle/backup:backupcourse'
129 ),
130
131 'moodle/backup:backupactivity' => array(
132
133 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
134
135 'captype' => 'write',
136 'contextlevel' => CONTEXT_MODULE,
31c93303 137 'archetypes' => array(
57ca97b3
EL
138 'editingteacher' => CAP_ALLOW,
139 'manager' => CAP_ALLOW
140 ),
141
142 'clonepermissionsfrom' => 'moodle/backup:backupcourse'
143 ),
144
145 'moodle/backup:backuptargethub' => array(
146
147 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
148
149 'captype' => 'write',
150 'contextlevel' => CONTEXT_COURSE,
31c93303 151 'archetypes' => array(
57ca97b3
EL
152 'editingteacher' => CAP_ALLOW,
153 'manager' => CAP_ALLOW
154 ),
155
156 'clonepermissionsfrom' => 'moodle/backup:backupcourse'
157 ),
158
159 'moodle/backup:backuptargetimport' => array(
160
161 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
162
163 'captype' => 'write',
164 'contextlevel' => CONTEXT_COURSE,
31c93303 165 'archetypes' => array(
57ca97b3
EL
166 'editingteacher' => CAP_ALLOW,
167 'manager' => CAP_ALLOW
168 ),
169
170 'clonepermissionsfrom' => 'moodle/backup:backupcourse'
171 ),
172
2fdde5d1 173 'moodle/backup:downloadfile' => array(
172dd12c 174
175 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
176
177 'captype' => 'write',
178 'contextlevel' => CONTEXT_COURSE,
31c93303 179 'archetypes' => array(
172dd12c 180 'editingteacher' => CAP_ALLOW,
4f0c2d00 181 'manager' => CAP_ALLOW
172dd12c 182 ),
183
2fdde5d1 184 'clonepermissionsfrom' => 'moodle/site:backupdownload'
172dd12c 185 ),
186
57ca97b3
EL
187 'moodle/backup:configure' => array(
188
189 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
190
191 'captype' => 'write',
192 'contextlevel' => CONTEXT_COURSE,
31c93303 193 'archetypes' => array(
57ca97b3
EL
194 'editingteacher' => CAP_ALLOW,
195 'manager' => CAP_ALLOW
196 )
197 ),
198
2fdde5d1 199 'moodle/backup:userinfo' => array(
172dd12c 200
2fdde5d1 201 'riskbitmask' => RISK_PERSONAL,
172dd12c 202
2fdde5d1 203 'captype' => 'read',
172dd12c 204 'contextlevel' => CONTEXT_COURSE,
31c93303 205 'archetypes' => array(
4f0c2d00 206 'manager' => CAP_ALLOW
2fdde5d1 207 )
172dd12c 208 ),
209
57ca97b3
EL
210 'moodle/backup:anonymise' => array(
211
212 'riskbitmask' => RISK_PERSONAL,
213
214 'captype' => 'read',
215 'contextlevel' => CONTEXT_COURSE,
31c93303 216 'archetypes' => array(
57ca97b3
EL
217 'manager' => CAP_ALLOW
218 )
219 ),
220
2fdde5d1 221 'moodle/restore:restorecourse' => array(
f2a0da6c 222
2fdde5d1 223 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
f2a0da6c 224
2fdde5d1 225 'captype' => 'write',
f2a0da6c 226 'contextlevel' => CONTEXT_COURSE,
31c93303 227 'archetypes' => array(
2fdde5d1 228 'editingteacher' => CAP_ALLOW,
4f0c2d00 229 'manager' => CAP_ALLOW
2fdde5d1
EL
230 ),
231
232 'clonepermissionsfrom' => 'moodle/site:restore'
f2a0da6c
EL
233 ),
234
57ca97b3
EL
235 'moodle/restore:restoresection' => array(
236
237 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
238
239 'captype' => 'write',
240 'contextlevel' => CONTEXT_COURSE,
31c93303 241 'archetypes' => array(
57ca97b3
EL
242 'editingteacher' => CAP_ALLOW,
243 'manager' => CAP_ALLOW
244 ),
245
246 'clonepermissionsfrom' => 'moodle/restore:restorecourse'
247 ),
248
249 'moodle/restore:restoreactivity' => array(
250
251 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
252
253 'captype' => 'write',
7efd488e 254 'contextlevel' => CONTEXT_COURSE,
31c93303 255 'archetypes' => array(
57ca97b3
EL
256 'editingteacher' => CAP_ALLOW,
257 'manager' => CAP_ALLOW
258 ),
259
260 'clonepermissionsfrom' => 'moodle/restore:restorecourse'
261 ),
262
bac233d3
SH
263 'moodle/restore:viewautomatedfilearea' => array(
264
265 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
266
267 'captype' => 'write',
268 'contextlevel' => CONTEXT_COURSE,
269 ),
270
57ca97b3
EL
271 'moodle/restore:restoretargethub' => array(
272
273 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
274
275 'captype' => 'write',
276 'contextlevel' => CONTEXT_COURSE,
31c93303 277 'archetypes' => array(
57ca97b3
EL
278 'editingteacher' => CAP_ALLOW,
279 'manager' => CAP_ALLOW
280 ),
281
282 'clonepermissionsfrom' => 'moodle/restore:restorecourse'
283 ),
284
157aa3a2 285 'moodle/restore:restoretargetimport' => array(
eef868d1 286
21b6db6e 287 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
288
bbbf2d40 289 'captype' => 'write',
f432bebf 290 'contextlevel' => CONTEXT_COURSE,
31c93303 291 'archetypes' => array(
7246585a 292 'editingteacher' => CAP_ALLOW,
4f0c2d00 293 'manager' => CAP_ALLOW
d2940003
EL
294 ),
295
157aa3a2 296 'clonepermissionsfrom' => 'moodle/site:import'
bbbf2d40 297 ),
eef868d1 298
157aa3a2 299 'moodle/restore:uploadfile' => array(
5e934890 300
157aa3a2 301 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
5e934890
EL
302
303 'captype' => 'write',
157aa3a2 304 'contextlevel' => CONTEXT_COURSE,
31c93303 305 'archetypes' => array(
157aa3a2 306 'editingteacher' => CAP_ALLOW,
4f0c2d00 307 'manager' => CAP_ALLOW
157aa3a2
EL
308 ),
309
310 'clonepermissionsfrom' => 'moodle/site:backupupload'
5e934890
EL
311 ),
312
57ca97b3 313 'moodle/restore:configure' => array(
f6459d12 314
57ca97b3 315 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
f6459d12
EL
316
317 'captype' => 'write',
318 'contextlevel' => CONTEXT_COURSE,
31c93303 319 'archetypes' => array(
57ca97b3 320 'editingteacher' => CAP_ALLOW,
4f0c2d00 321 'manager' => CAP_ALLOW
f6459d12
EL
322 )
323 ),
324
57ca97b3 325 'moodle/restore:rolldates' => array(
157aa3a2
EL
326
327 'captype' => 'write',
57ca97b3 328 'contextlevel' => CONTEXT_COURSE,
31c93303 329 'archetypes' => array(
57ca97b3 330 'coursecreator' => CAP_ALLOW,
4f0c2d00 331 'manager' => CAP_ALLOW
157aa3a2
EL
332 )
333 ),
334
57ca97b3
EL
335 'moodle/restore:userinfo' => array(
336
337 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG,
982e45af 338
339 'captype' => 'write',
340 'contextlevel' => CONTEXT_COURSE,
31c93303 341 'archetypes' => array(
57ca97b3
EL
342 'manager' => CAP_ALLOW
343 )
344 ),
345
346 'moodle/restore:createuser' => array(
347
348 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
349
350 'captype' => 'write',
351 'contextlevel' => CONTEXT_SYSTEM,
31c93303 352 'archetypes' => array(
4f0c2d00 353 'manager' => CAP_ALLOW
982e45af 354 )
355 ),
356
bbbf2d40 357 'moodle/site:manageblocks' => array(
eef868d1 358
21b6db6e 359 'riskbitmask' => RISK_SPAM | RISK_XSS,
360
bbbf2d40 361 'captype' => 'write',
f432bebf 362 'contextlevel' => CONTEXT_BLOCK,
31c93303 363 'archetypes' => array(
73b73d21 364 'editingteacher' => CAP_ALLOW,
4f0c2d00 365 'manager' => CAP_ALLOW
bbbf2d40 366 )
367 ),
eef868d1 368
27950688 369 'moodle/site:accessallgroups' => array(
eef868d1 370
27950688 371 'captype' => 'read',
f432bebf 372 'contextlevel' => CONTEXT_COURSE,
31c93303 373 'archetypes' => array(
27950688 374 'teacher' => CAP_ALLOW,
375 'editingteacher' => CAP_ALLOW,
4f0c2d00 376 'manager' => CAP_ALLOW
27950688 377 )
378 ),
eef868d1 379
53d7785b 380 'moodle/site:viewfullnames' => array(
eef868d1 381
53d7785b 382 'captype' => 'read',
f432bebf 383 'contextlevel' => CONTEXT_COURSE,
31c93303 384 'archetypes' => array(
53d7785b 385 'teacher' => CAP_ALLOW,
386 'editingteacher' => CAP_ALLOW,
4f0c2d00 387 'manager' => CAP_ALLOW
53d7785b 388 )
389 ),
eef868d1 390
5c60a847 391 // In reports that give lists of users, extra information about each user's
392 // identity (the fields configured in site option showuseridentity) will be
393 // displayed to users who have this capability.
394 'moodle/site:viewuseridentity' => array(
395
396 'captype' => 'read',
397 'contextlevel' => CONTEXT_COURSE,
398 'archetypes' => array(
399 'teacher' => CAP_ALLOW,
400 'editingteacher' => CAP_ALLOW,
401 'manager' => CAP_ALLOW
402 )
403 ),
404
a028c291 405 'moodle/site:viewreports' => array(
eef868d1 406
21b6db6e 407 'riskbitmask' => RISK_PERSONAL,
408
a028c291 409 'captype' => 'read',
f432bebf 410 'contextlevel' => CONTEXT_COURSE,
31c93303 411 'archetypes' => array(
a028c291 412 'teacher' => CAP_ALLOW,
413 'editingteacher' => CAP_ALLOW,
4f0c2d00 414 'manager' => CAP_ALLOW
a028c291 415 )
416 ),
eef868d1 417
7d8a3cb0 418 'moodle/site:trustcontent' => array(
eef868d1 419
21b6db6e 420 'riskbitmask' => RISK_XSS,
421
7d8a3cb0 422 'captype' => 'write',
f432bebf 423 'contextlevel' => CONTEXT_COURSE,
31c93303 424 'archetypes' => array(
7d8a3cb0 425 'editingteacher' => CAP_ALLOW,
4f0c2d00 426 'manager' => CAP_ALLOW
7d8a3cb0 427 )
428 ),
eef868d1 429
6df3c7df 430 'moodle/site:uploadusers' => array(
eef868d1 431
21b6db6e 432 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
433
bbbf2d40 434 'captype' => 'write',
435 'contextlevel' => CONTEXT_SYSTEM,
31c93303 436 'archetypes' => array(
4f0c2d00 437 'manager' => CAP_ALLOW
bbbf2d40 438 )
439 ),
eef868d1 440
94211250 441 // Permission to manage filter setting overrides in subcontexts.
442 'moodle/filter:manage' => array(
443
444 'captype' => 'write',
445 'contextlevel' => CONTEXT_COURSE,
31c93303 446 'archetypes' => array(
94211250 447 'editingteacher' => CAP_ALLOW,
4f0c2d00 448 'manager' => CAP_ALLOW,
94211250 449 )
450 ),
6df3c7df 451
452 'moodle/user:create' => array(
453
454 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
eef868d1 455
bbbf2d40 456 'captype' => 'write',
457 'contextlevel' => CONTEXT_SYSTEM,
31c93303 458 'archetypes' => array(
4f0c2d00 459 'manager' => CAP_ALLOW
bbbf2d40 460 )
461 ),
eef868d1 462
6df3c7df 463 'moodle/user:delete' => array(
cc891abe 464
3a0c6cca 465 'riskbitmask' => RISK_PERSONAL, RISK_DATALOSS,
bcdb0f19 466
cc891abe 467 'captype' => 'write',
468 'contextlevel' => CONTEXT_SYSTEM,
31c93303 469 'archetypes' => array(
4f0c2d00 470 'manager' => CAP_ALLOW
cc891abe 471 )
472 ),
473
6df3c7df 474 'moodle/user:update' => array(
cc891abe 475
476 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
21b6db6e 477
bbbf2d40 478 'captype' => 'write',
479 'contextlevel' => CONTEXT_SYSTEM,
31c93303 480 'archetypes' => array(
4f0c2d00 481 'manager' => CAP_ALLOW
bbbf2d40 482 )
483 ),
eef868d1 484
bbbf2d40 485 'moodle/user:viewdetails' => array(
eef868d1 486
e58eca72 487 'captype' => 'read',
f432bebf 488 'contextlevel' => CONTEXT_COURSE,
31c93303 489 'archetypes' => array(
22ae509e 490 'guest' => CAP_ALLOW,
491 'student' => CAP_ALLOW,
492 'teacher' => CAP_ALLOW,
493 'editingteacher' => CAP_ALLOW,
4f0c2d00 494 'manager' => CAP_ALLOW
bbbf2d40 495 )
496 ),
e58eca72 497
6d153e67 498 'moodle/user:viewalldetails' => array(
499 'riskbitmask' => RISK_PERSONAL,
500 'captype' => 'read',
501 'contextlevel' => CONTEXT_USER,
502 'archetypes' => array(
503 'manager' => CAP_ALLOW
504 ),
505 'clonepermissionsfrom' => 'moodle/user:update'
506 ),
507
e58eca72 508 'moodle/user:viewhiddendetails' => array(
eef868d1 509
21b6db6e 510 'riskbitmask' => RISK_PERSONAL,
511
e58eca72 512 'captype' => 'read',
f432bebf 513 'contextlevel' => CONTEXT_COURSE,
31c93303 514 'archetypes' => array(
e58eca72 515 'teacher' => CAP_ALLOW,
516 'editingteacher' => CAP_ALLOW,
4f0c2d00 517 'manager' => CAP_ALLOW
e58eca72 518 )
519 ),
eef868d1 520
6c95827f 521 'moodle/user:loginas' => array(
522
523 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG,
524
525 'captype' => 'write',
526 'contextlevel' => CONTEXT_COURSE,
31c93303 527 'archetypes' => array(
4f0c2d00 528 'manager' => CAP_ALLOW
6c95827f 529 )
530 ),
531
03d9401e
MD
532 // can the user manage the system default profile page?
533 'moodle/user:managesyspages' => array(
534
535 'riskbitmap' => RISK_SPAM | RISK_PERSONAL | RISK_CONFIG,
536
537 'captype' => 'write',
538 'contextlevel' => CONTEXT_SYSTEM,
31c93303 539 'archetypes' => array(
03d9401e
MD
540 'manager' => CAP_ALLOW
541 )
542 ),
543
544 // can the user manage another user's profile page?
545 'moodle/user:manageblocks' => array(
546
547 'riskbitmap' => RISK_SPAM | RISK_PERSONAL,
548
549 'captype' => 'write',
550 'contextlevel' => CONTEXT_USER
551 ),
552
553 // can the user manage their own profile page?
554 'moodle/user:manageownblocks' => array(
555
556 'riskbitmap' => RISK_SPAM | RISK_PERSONAL,
557
558 'captype' => 'write',
559 'contextlevel' => CONTEXT_SYSTEM,
31c93303 560 'archetypes' => array(
e4f413b4
MD
561 'user' => CAP_ALLOW
562 )
563 ),
564
565 // can the user manage their own files?
566 'moodle/user:manageownfiles' => array(
567
568 'riskbitmap' => RISK_SPAM | RISK_PERSONAL,
569
570 'captype' => 'write',
571 'contextlevel' => CONTEXT_SYSTEM,
572 'archetypes' => array(
573 'user' => CAP_ALLOW
03d9401e
MD
574 )
575 ),
576
577 // can the user manage the system default dashboard page?
578 'moodle/my:configsyspages' => array(
579
580 'riskbitmap' => RISK_SPAM | RISK_PERSONAL | RISK_CONFIG,
581
582 'captype' => 'write',
583 'contextlevel' => CONTEXT_SYSTEM,
31c93303 584 'archetypes' => array(
03d9401e
MD
585 'manager' => CAP_ALLOW
586 )
587 ),
588
bbbf2d40 589 'moodle/role:assign' => array(
eef868d1 590
3a0c6cca 591 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
592
bbbf2d40 593 'captype' => 'write',
f432bebf 594 'contextlevel' => CONTEXT_COURSE,
31c93303 595 'archetypes' => array(
861fdcaa 596 'editingteacher' => CAP_ALLOW,
4f0c2d00 597 'manager' => CAP_ALLOW
68c52526 598 )
599 ),
eef868d1 600
01a2ce80
PS
601 'moodle/role:review' => array(
602
603 'riskbitmask' => RISK_PERSONAL,
604
605 'captype' => 'read',
606 'contextlevel' => CONTEXT_COURSE,
31c93303 607 'archetypes' => array(
01a2ce80
PS
608 'teacher' => CAP_ALLOW,
609 'editingteacher' => CAP_ALLOW,
4f0c2d00 610 'manager' => CAP_ALLOW
01a2ce80
PS
611 )
612 ),
613
68c52526 614 'moodle/role:override' => array(
eef868d1 615
bcdb0f19 616 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
617
68c52526 618 'captype' => 'write',
f432bebf 619 'contextlevel' => CONTEXT_COURSE,
31c93303 620 'archetypes' => array(
4f0c2d00 621 'manager' => CAP_ALLOW
bbbf2d40 622 )
623 ),
eef868d1 624
3a0c6cca 625 'moodle/role:safeoverride' => array(
626
627 'riskbitmask' => RISK_SPAM,
628
629 'captype' => 'write',
f432bebf 630 'contextlevel' => CONTEXT_COURSE,
31c93303 631 'archetypes' => array(
3a0c6cca 632 'editingteacher' => CAP_ALLOW
633 )
634 ),
635
bbbf2d40 636 'moodle/role:manage' => array(
eef868d1 637
bcdb0f19 638 'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
639
bbbf2d40 640 'captype' => 'write',
641 'contextlevel' => CONTEXT_SYSTEM,
31c93303 642 'archetypes' => array(
4f0c2d00 643 'manager' => CAP_ALLOW
bbbf2d40 644 )
645 ),
f43ce1ad 646
20dd4cf5 647 'moodle/role:switchroles' => array(
bcdb0f19 648
3a0c6cca 649 'riskbitmask' => RISK_XSS | RISK_PERSONAL,
bcdb0f19 650
20dd4cf5 651 'captype' => 'read',
f432bebf 652 'contextlevel' => CONTEXT_COURSE,
31c93303 653 'archetypes' => array(
20dd4cf5 654 'editingteacher' => CAP_ALLOW,
4f0c2d00 655 'manager' => CAP_ALLOW
20dd4cf5 656 )
657 ),
658
8ed5dd63 659 // Create, update and delete course categories. (Deleting a course category
660 // does not let you delete the courses it contains, unless you also have
661 // moodle/course: delete.) Creating and deleting requires this permission in
662 // the parent category.
663 'moodle/category:manage' => array(
eef868d1 664
89a792ab 665 'riskbitmask' => RISK_XSS,
666
bbbf2d40 667 'captype' => 'write',
668 'contextlevel' => CONTEXT_COURSECAT,
31c93303 669 'archetypes' => array(
4f0c2d00 670 'manager' => CAP_ALLOW
8ed5dd63 671 ),
672 'clonepermissionsfrom' => 'moodle/category:update'
bbbf2d40 673 ),
eef868d1 674
8ed5dd63 675 'moodle/category:viewhiddencategories' => array(
eef868d1 676
8ed5dd63 677 'captype' => 'read',
bbbf2d40 678 'contextlevel' => CONTEXT_COURSECAT,
31c93303 679 'archetypes' => array(
8ed5dd63 680 'coursecreator' => CAP_ALLOW,
4f0c2d00 681 'manager' => CAP_ALLOW
8ed5dd63 682 ),
683 'clonepermissionsfrom' => 'moodle/category:visibility'
bbbf2d40 684 ),
eef868d1 685
3f791403
PS
686 // create, delete, move cohorts in system and course categories,
687 // (cohorts with component !== null can be only moved)
688 'moodle/cohort:manage' => array(
689
690 'captype' => 'write',
691 'contextlevel' => CONTEXT_COURSECAT,
31c93303 692 'archetypes' => array(
3f791403
PS
693 'manager' => CAP_ALLOW
694 )
695 ),
696
697 // add and remove cohort members (only for cohorts where component !== null)
698 'moodle/cohort:assign' => array(
699
700 'captype' => 'write',
701 'contextlevel' => CONTEXT_COURSECAT,
31c93303 702 'archetypes' => array(
3f791403
PS
703 'manager' => CAP_ALLOW
704 )
705 ),
706
707 // view members of a cohort, this can be used in course context too,
708 // this also controls the ability to actually use cohort
709 'moodle/cohort:view' => array(
710
711 'captype' => 'read',
712 'contextlevel' => CONTEXT_COURSE,
31c93303 713 'archetypes' => array(
3f791403
PS
714 'editingteacher' => CAP_ALLOW,
715 'manager' => CAP_ALLOW
716 )
717 ),
718
bbbf2d40 719 'moodle/course:create' => array(
eef868d1 720
21b6db6e 721 'riskbitmask' => RISK_XSS,
722
bbbf2d40 723 'captype' => 'write',
5e992f56 724 'contextlevel' => CONTEXT_COURSECAT,
31c93303 725 'archetypes' => array(
4473252d 726 'coursecreator' => CAP_ALLOW,
4f0c2d00 727 'manager' => CAP_ALLOW
bbbf2d40 728 )
729 ),
eef868d1 730
e452210a 731 'moodle/course:request' => array(
732 'captype' => 'write',
733 'contextlevel' => CONTEXT_SYSTEM,
31c93303 734 'archetypes' => array(
e452210a 735 'user' => CAP_ALLOW,
736 )
737 ),
738
bbbf2d40 739 'moodle/course:delete' => array(
eef868d1 740
3a0c6cca 741 'riskbitmask' => RISK_DATALOSS,
742
bbbf2d40 743 'captype' => 'write',
744 'contextlevel' => CONTEXT_COURSE,
31c93303 745 'archetypes' => array(
4f0c2d00 746 'manager' => CAP_ALLOW
bbbf2d40 747 )
748 ),
eef868d1 749
bbbf2d40 750 'moodle/course:update' => array(
eef868d1 751
21b6db6e 752 'riskbitmask' => RISK_XSS,
753
bbbf2d40 754 'captype' => 'write',
755 'contextlevel' => CONTEXT_COURSE,
31c93303 756 'archetypes' => array(
bbbf2d40 757 'editingteacher' => CAP_ALLOW,
4f0c2d00 758 'manager' => CAP_ALLOW
bbbf2d40 759 )
760 ),
eef868d1 761
df997f84 762 'moodle/course:view' => array(
eef868d1 763
bbbf2d40 764 'captype' => 'read',
765 'contextlevel' => CONTEXT_COURSE,
31c93303 766 'archetypes' => array(
df997f84 767 'manager' => CAP_ALLOW,
bbbf2d40 768 )
769 ),
eef868d1 770
df997f84
PS
771 /* review course enrolments - no group restrictions, it is really full access to all participants info*/
772 'moodle/course:enrolreview' => array(
773
774 'riskbitmask' => RISK_PERSONAL,
4f0c2d00
PS
775
776 'captype' => 'read',
777 'contextlevel' => CONTEXT_COURSE,
31c93303 778 'archetypes' => array(
df997f84
PS
779 'editingteacher' => CAP_ALLOW,
780 'manager' => CAP_ALLOW,
781 )
782 ),
783
784 /* add, remove, hide enrol instances in courses */
785 'moodle/course:enrolconfig' => array(
786
787 'riskbitmask' => RISK_PERSONAL,
788
789 'captype' => 'write',
790 'contextlevel' => CONTEXT_COURSE,
791 'archetypes' => array(
792 'editingteacher' => CAP_ALLOW,
4f0c2d00
PS
793 'manager' => CAP_ALLOW,
794 )
795 ),
796
77c645df 797 'moodle/course:bulkmessaging' => array(
798
799 'riskbitmask' => RISK_SPAM,
800
801 'captype' => 'write',
802 'contextlevel' => CONTEXT_COURSE,
31c93303 803 'archetypes' => array(
77c645df 804 'teacher' => CAP_ALLOW,
805 'editingteacher' => CAP_ALLOW,
4f0c2d00 806 'manager' => CAP_ALLOW
77c645df 807 )
808 ),
809
1c45e42e 810 'moodle/course:viewhiddenuserfields' => array(
eef868d1 811
21b6db6e 812 'riskbitmask' => RISK_PERSONAL,
4e781c7b 813
814 'captype' => 'read',
815 'contextlevel' => CONTEXT_COURSE,
31c93303 816 'archetypes' => array(
4e781c7b 817 'teacher' => CAP_ALLOW,
818 'editingteacher' => CAP_ALLOW,
4f0c2d00 819 'manager' => CAP_ALLOW
4e781c7b 820 )
821 ),
822
1c45e42e 823 'moodle/course:viewhiddencourses' => array(
eef868d1 824
1c45e42e 825 'captype' => 'read',
826 'contextlevel' => CONTEXT_COURSE,
31c93303 827 'archetypes' => array(
2f5ab42b 828 'coursecreator' => CAP_ALLOW,
829 'teacher' => CAP_ALLOW,
830 'editingteacher' => CAP_ALLOW,
4f0c2d00 831 'manager' => CAP_ALLOW
1c45e42e 832 )
833 ),
eef868d1 834
bbbf2d40 835 'moodle/course:visibility' => array(
eef868d1 836
bbbf2d40 837 'captype' => 'write',
838 'contextlevel' => CONTEXT_COURSE,
31c93303 839 'archetypes' => array(
df997f84 840 'editingteacher' => CAP_ALLOW,
4f0c2d00 841 'manager' => CAP_ALLOW
bbbf2d40 842 )
843 ),
eef868d1 844
a028c291 845 'moodle/course:managefiles' => array(
eef868d1 846
21b6db6e 847 'riskbitmask' => RISK_XSS,
848
a028c291 849 'captype' => 'write',
850 'contextlevel' => CONTEXT_COURSE,
31c93303 851 'archetypes' => array(
a028c291 852 'editingteacher' => CAP_ALLOW,
4f0c2d00 853 'manager' => CAP_ALLOW
a028c291 854 )
855 ),
eef868d1 856
bbbf2d40 857 'moodle/course:manageactivities' => array(
eef868d1 858
21b6db6e 859 'riskbitmask' => RISK_XSS,
860
bbbf2d40 861 'captype' => 'write',
af189935 862 'contextlevel' => CONTEXT_MODULE,
31c93303 863 'archetypes' => array(
bbbf2d40 864 'editingteacher' => CAP_ALLOW,
4f0c2d00 865 'manager' => CAP_ALLOW
bbbf2d40 866 )
867 ),
eef868d1 868
bbbf2d40 869 'moodle/course:activityvisibility' => array(
eef868d1 870
bbbf2d40 871 'captype' => 'write',
af189935 872 'contextlevel' => CONTEXT_MODULE,
31c93303 873 'archetypes' => array(
bbbf2d40 874 'editingteacher' => CAP_ALLOW,
4f0c2d00 875 'manager' => CAP_ALLOW
bbbf2d40 876 )
877 ),
eef868d1 878
bbbf2d40 879 'moodle/course:viewhiddenactivities' => array(
eef868d1 880
bbbf2d40 881 'captype' => 'write',
af189935 882 'contextlevel' => CONTEXT_MODULE,
31c93303 883 'archetypes' => array(
bbbf2d40 884 'teacher' => CAP_ALLOW,
885 'editingteacher' => CAP_ALLOW,
4f0c2d00 886 'manager' => CAP_ALLOW
bbbf2d40 887 )
888 ),
eef868d1 889
bbbf2d40 890 'moodle/course:viewparticipants' => array(
eef868d1 891
bbbf2d40 892 'captype' => 'read',
893 'contextlevel' => CONTEXT_COURSE,
31c93303 894 'archetypes' => array(
bbbf2d40 895 'student' => CAP_ALLOW,
896 'teacher' => CAP_ALLOW,
897 'editingteacher' => CAP_ALLOW,
4f0c2d00 898 'manager' => CAP_ALLOW
165088f6 899 )
900 ),
f7c0d84b 901
902 'moodle/course:changefullname' => array(
903
cd7f72c0 904 'riskbitmask' => RISK_XSS,
905
f7c0d84b 906 'captype' => 'write',
907 'contextlevel' => CONTEXT_COURSE,
31c93303 908 'archetypes' => array(
f7c0d84b 909 'editingteacher' => CAP_ALLOW,
4f0c2d00 910 'manager' => CAP_ALLOW
5e99b9d7 911 ),
912 'clonepermissionsfrom' => 'moodle/course:update'
f7c0d84b 913 ),
914
915 'moodle/course:changeshortname' => array(
916
cd7f72c0 917 'riskbitmask' => RISK_XSS,
918
f7c0d84b 919 'captype' => 'write',
920 'contextlevel' => CONTEXT_COURSE,
31c93303 921 'archetypes' => array(
f7c0d84b 922 'editingteacher' => CAP_ALLOW,
4f0c2d00 923 'manager' => CAP_ALLOW
5e99b9d7 924 ),
925 'clonepermissionsfrom' => 'moodle/course:update'
f7c0d84b 926 ),
927
928 'moodle/course:changeidnumber' => array(
929
cd7f72c0 930 'riskbitmask' => RISK_XSS,
931
f7c0d84b 932 'captype' => 'write',
933 'contextlevel' => CONTEXT_COURSE,
31c93303 934 'archetypes' => array(
f7c0d84b 935 'editingteacher' => CAP_ALLOW,
4f0c2d00 936 'manager' => CAP_ALLOW
5e99b9d7 937 ),
938 'clonepermissionsfrom' => 'moodle/course:update'
f7c0d84b 939 ),
50569ba3 940 'moodle/course:changecategory' => array(
941 'riskbitmask' => RISK_XSS,
942
943 'captype' => 'write',
944 'contextlevel' => CONTEXT_COURSE,
31c93303 945 'archetypes' => array(
50569ba3 946 'editingteacher' => CAP_ALLOW,
4f0c2d00 947 'manager' => CAP_ALLOW
50569ba3 948 ),
949 'clonepermissionsfrom' => 'moodle/course:update'
950 ),
951
952 'moodle/course:changesummary' => array(
953 'riskbitmask' => RISK_XSS,
954
955 'captype' => 'write',
956 'contextlevel' => CONTEXT_COURSE,
31c93303 957 'archetypes' => array(
50569ba3 958 'editingteacher' => CAP_ALLOW,
4f0c2d00 959 'manager' => CAP_ALLOW
50569ba3 960 ),
961 'clonepermissionsfrom' => 'moodle/course:update'
962 ),
963
f7c0d84b 964
165088f6 965 'moodle/site:viewparticipants' => array(
966
967 'captype' => 'read',
968 'contextlevel' => CONTEXT_SYSTEM,
31c93303 969 'archetypes' => array(
4f0c2d00 970 'manager' => CAP_ALLOW
bbbf2d40 971 )
972 ),
eef868d1 973
bbbf2d40 974 'moodle/course:viewscales' => array(
eef868d1 975
bbbf2d40 976 'captype' => 'read',
977 'contextlevel' => CONTEXT_COURSE,
31c93303 978 'archetypes' => array(
bbbf2d40 979 'student' => CAP_ALLOW,
980 'teacher' => CAP_ALLOW,
981 'editingteacher' => CAP_ALLOW,
4f0c2d00 982 'manager' => CAP_ALLOW
bbbf2d40 983 )
984 ),
eef868d1 985
bbbf2d40 986 'moodle/course:managescales' => array(
eef868d1 987
bbbf2d40 988 'captype' => 'write',
989 'contextlevel' => CONTEXT_COURSE,
31c93303 990 'archetypes' => array(
bbbf2d40 991 'editingteacher' => CAP_ALLOW,
4f0c2d00 992 'manager' => CAP_ALLOW
bbbf2d40 993 )
994 ),
eef868d1 995
bbbf2d40 996 'moodle/course:managegroups' => array(
997
998 'captype' => 'write',
999 'contextlevel' => CONTEXT_COURSE,
31c93303 1000 'archetypes' => array(
a028c291 1001 'editingteacher' => CAP_ALLOW,
4f0c2d00 1002 'manager' => CAP_ALLOW
a028c291 1003 )
1004 ),
eef868d1 1005
a028c291 1006 'moodle/course:reset' => array(
1007
3a0c6cca 1008 'riskbitmask' => RISK_DATALOSS,
1009
a028c291 1010 'captype' => 'write',
1011 'contextlevel' => CONTEXT_COURSE,
31c93303 1012 'archetypes' => array(
bbbf2d40 1013 'editingteacher' => CAP_ALLOW,
4f0c2d00 1014 'manager' => CAP_ALLOW
bbbf2d40 1015 )
1016 ),
eef868d1 1017
bbbf2d40 1018 'moodle/blog:view' => array(
1019
1020 'captype' => 'read',
05de723b 1021 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1022 'archetypes' => array(
05de723b
NC
1023 'guest' => CAP_ALLOW,
1024 'user' => CAP_ALLOW,
1025 'student' => CAP_ALLOW,
1026 'teacher' => CAP_ALLOW,
1027 'editingteacher' => CAP_ALLOW,
4f0c2d00 1028 'manager' => CAP_ALLOW
05de723b
NC
1029 )
1030 ),
1031
1032 'moodle/blog:search' => array(
1033 'captype' => 'read',
1034 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1035 'archetypes' => array(
00adf177 1036 'guest' => CAP_ALLOW,
c785d40a 1037 'user' => CAP_ALLOW,
bbbf2d40 1038 'student' => CAP_ALLOW,
1039 'teacher' => CAP_ALLOW,
1040 'editingteacher' => CAP_ALLOW,
4f0c2d00 1041 'manager' => CAP_ALLOW
bbbf2d40 1042 )
1043 ),
eef868d1 1044
05de723b
NC
1045 'moodle/blog:viewdrafts' => array(
1046
1047 'riskbitmask' => RISK_PERSONAL,
1048 'captype' => 'read',
1049 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1050 'archetypes' => array(
4f0c2d00 1051 'manager' => CAP_ALLOW
05de723b
NC
1052 )
1053 ),
1054
5a8ab2e9 1055 'moodle/blog:create' => array( // works in CONTEXT_SYSTEM only
bbbf2d40 1056
21b6db6e 1057 'riskbitmask' => RISK_SPAM,
1058
bbbf2d40 1059 'captype' => 'write',
1060 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1061 'archetypes' => array(
c785d40a 1062 'user' => CAP_ALLOW,
4f0c2d00 1063 'manager' => CAP_ALLOW
bbbf2d40 1064 )
1065 ),
eef868d1 1066
bbbf2d40 1067 'moodle/blog:manageentries' => array(
1068
21b6db6e 1069 'riskbitmask' => RISK_SPAM,
1070
bbbf2d40 1071 'captype' => 'write',
05de723b 1072 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1073 'archetypes' => array(
bbbf2d40 1074 'teacher' => CAP_ALLOW,
1075 'editingteacher' => CAP_ALLOW,
4f0c2d00 1076 'manager' => CAP_ALLOW
bbbf2d40 1077 )
1078 ),
05de723b 1079
cae83708 1080 'moodle/blog:manageexternal' => array(
1081
1082 'riskbitmask' => RISK_SPAM,
1083
1084 'captype' => 'write',
296f6c99 1085 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1086 'archetypes' => array(
cae83708 1087 'student' => CAP_ALLOW,
1088 'user' => CAP_ALLOW,
1089 'teacher' => CAP_ALLOW,
1090 'editingteacher' => CAP_ALLOW,
4f0c2d00 1091 'manager' => CAP_ALLOW
cae83708 1092 )
1093 ),
1094
05de723b
NC
1095 'moodle/blog:associatecourse' => array(
1096
1097 'captype' => 'write',
1098 'contextlevel' => CONTEXT_COURSE,
31c93303 1099 'archetypes' => array(
05de723b
NC
1100 'student' => CAP_ALLOW,
1101 'user' => CAP_ALLOW,
1102 'teacher' => CAP_ALLOW,
1103 'editingteacher' => CAP_ALLOW,
4f0c2d00 1104 'manager' => CAP_ALLOW
05de723b
NC
1105 )
1106 ),
1107
1108 'moodle/blog:associatemodule' => array(
1109
1110 'captype' => 'write',
1111 'contextlevel' => CONTEXT_MODULE,
31c93303 1112 'archetypes' => array(
05de723b
NC
1113 'student' => CAP_ALLOW,
1114 'user' => CAP_ALLOW,
1115 'teacher' => CAP_ALLOW,
1116 'editingteacher' => CAP_ALLOW,
4f0c2d00 1117 'manager' => CAP_ALLOW
05de723b
NC
1118 )
1119 ),
eef868d1 1120
5a8ab2e9 1121 'moodle/calendar:manageownentries' => array( // works in CONTEXT_SYSTEM only
bbbf2d40 1122
21b6db6e 1123 'riskbitmask' => RISK_SPAM,
1124
bbbf2d40 1125 'captype' => 'write',
f432bebf 1126 'contextlevel' => CONTEXT_COURSE,
31c93303 1127 'archetypes' => array(
c785d40a 1128 'user' => CAP_ALLOW,
4f0c2d00 1129 'manager' => CAP_ALLOW
bbbf2d40 1130 )
1131 ),
eef868d1 1132
f63d2922 1133 'moodle/calendar:managegroupentries' => array(
1134
1135 'riskbitmask' => RISK_SPAM,
1136
1137 'captype' => 'write',
f432bebf 1138 'contextlevel' => CONTEXT_COURSE,
31c93303 1139 'archetypes' => array(
f63d2922 1140 'teacher' => CAP_ALLOW,
1141 'editingteacher' => CAP_ALLOW,
4f0c2d00 1142 'manager' => CAP_ALLOW
f63d2922 1143 )
1144 ),
1145
bbbf2d40 1146 'moodle/calendar:manageentries' => array(
1147
21b6db6e 1148 'riskbitmask' => RISK_SPAM,
1149
bbbf2d40 1150 'captype' => 'write',
f432bebf 1151 'contextlevel' => CONTEXT_COURSE,
31c93303 1152 'archetypes' => array(
bbbf2d40 1153 'teacher' => CAP_ALLOW,
1154 'editingteacher' => CAP_ALLOW,
4f0c2d00 1155 'manager' => CAP_ALLOW
bbbf2d40 1156 )
77d4953e 1157 ),
a044c05d 1158
1159 'moodle/user:editprofile' => array(
1160
3a0c6cca 1161 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
a044c05d 1162
1163 'captype' => 'write',
1164 'contextlevel' => CONTEXT_USER,
31c93303 1165 'archetypes' => array(
4f0c2d00 1166 'manager' => CAP_ALLOW
a044c05d 1167 )
1168 ),
eef868d1 1169
a5b8be62 1170 'moodle/user:editownprofile' => array(
1cb3da36 1171
3a0c6cca 1172 'riskbitmask' => RISK_SPAM,
1173
a5b8be62 1174 'captype' => 'write',
1175 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1176 'archetypes' => array(
1cb3da36 1177 'guest' => CAP_PROHIBIT,
1178 'user' => CAP_ALLOW,
4f0c2d00 1179 'manager' => CAP_ALLOW
a5b8be62 1180 )
1cb3da36 1181 ),
1182
a5b8be62 1183 'moodle/user:changeownpassword' => array(
1cb3da36 1184
a5b8be62 1185 'captype' => 'write',
1186 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1187 'archetypes' => array(
1cb3da36 1188 'guest' => CAP_PROHIBIT,
1189 'user' => CAP_ALLOW,
4f0c2d00 1190 'manager' => CAP_ALLOW
a5b8be62 1191 )
1cb3da36 1192 ),
1193
eef868d1 1194 // The next 3 might make no sense for some roles, e.g teacher, etc.
77d4953e 1195 // since the next level up is site. These are more for the parent role
1196 'moodle/user:readuserposts' => array(
bcdb0f19 1197
77d4953e 1198 'captype' => 'read',
4b10f08b 1199 'contextlevel' => CONTEXT_USER,
31c93303 1200 'archetypes' => array(
77d4953e 1201 'student' => CAP_ALLOW,
1202 'teacher' => CAP_ALLOW,
1203 'editingteacher' => CAP_ALLOW,
4f0c2d00 1204 'manager' => CAP_ALLOW
77d4953e 1205 )
1206 ),
eef868d1 1207
77d4953e 1208 'moodle/user:readuserblogs' => array(
bcdb0f19 1209
77d4953e 1210 'captype' => 'read',
4b10f08b 1211 'contextlevel' => CONTEXT_USER,
31c93303 1212 'archetypes' => array(
77d4953e 1213 'student' => CAP_ALLOW,
1214 'teacher' => CAP_ALLOW,
1215 'editingteacher' => CAP_ALLOW,
4f0c2d00 1216 'manager' => CAP_ALLOW
77d4953e 1217 )
1218 ),
eef868d1 1219
3c7da16d 1220 // designed for parent role - not used in legacy roles
77d4953e 1221 'moodle/user:viewuseractivitiesreport' => array(
3c7da16d 1222 'riskbitmask' => RISK_PERSONAL,
bcdb0f19 1223
77d4953e 1224 'captype' => 'read',
4b10f08b 1225 'contextlevel' => CONTEXT_USER,
31c93303 1226 'archetypes' => array(
77d4953e 1227 )
945f88ca 1228 ),
4e781c7b 1229
3b120e46 1230 //capabilities designed for the new message system configuration
1231 'moodle/user:editmessageprofile' => array(
f7c0d84b 1232
3b120e46 1233 'riskbitmask' => RISK_SPAM,
f7c0d84b 1234
3b120e46 1235 'captype' => 'write',
1236 'contextlevel' => CONTEXT_USER,
31c93303 1237 'archetypes' => array(
4f0c2d00 1238 'manager' => CAP_ALLOW
3b120e46 1239 )
1240 ),
f7c0d84b 1241
1242 'moodle/user:editownmessageprofile' => array(
1243
1244 'captype' => 'write',
1245 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1246 'archetypes' => array(
3b120e46 1247 'guest' => CAP_PROHIBIT,
1248 'user' => CAP_ALLOW,
4f0c2d00 1249 'manager' => CAP_ALLOW
f7c0d84b 1250 )
3b120e46 1251 ),
eef868d1 1252
271e6dec 1253 'moodle/question:managecategory' => array(
14d701d6 1254 'riskbitmask' => RISK_SPAM | RISK_XSS,
945f88ca 1255 'captype' => 'write',
1256 'contextlevel' => CONTEXT_COURSE,
31c93303 1257 'archetypes' => array(
945f88ca 1258 'editingteacher' => CAP_ALLOW,
4f0c2d00 1259 'manager' => CAP_ALLOW
945f88ca 1260 )
a5b8be62 1261 ),
1262
271e6dec 1263 //new in moodle 1.9
1264 'moodle/question:add' => array(
14d701d6 1265 'riskbitmask' => RISK_SPAM | RISK_XSS,
271e6dec 1266 'captype' => 'write',
1267 'contextlevel' => CONTEXT_COURSE,
31c93303 1268 'archetypes' => array(
271e6dec 1269 'editingteacher' => CAP_ALLOW,
4f0c2d00 1270 'manager' => CAP_ALLOW
271e6dec 1271 ),
1272 'clonepermissionsfrom' => 'moodle/question:manage'
945f88ca 1273 ),
271e6dec 1274 'moodle/question:editmine' => array(
14d701d6 1275 'riskbitmask' => RISK_SPAM | RISK_XSS,
271e6dec 1276 'captype' => 'write',
1277 'contextlevel' => CONTEXT_COURSE,
31c93303 1278 'archetypes' => array(
271e6dec 1279 'editingteacher' => CAP_ALLOW,
4f0c2d00 1280 'manager' => CAP_ALLOW
271e6dec 1281 ),
a5b8be62 1282 'clonepermissionsfrom' => 'moodle/question:manage'
271e6dec 1283 ),
1284 'moodle/question:editall' => array(
14d701d6 1285 'riskbitmask' => RISK_SPAM | RISK_XSS,
271e6dec 1286 'captype' => 'write',
1287 'contextlevel' => CONTEXT_COURSE,
31c93303 1288 'archetypes' => array(
271e6dec 1289 'editingteacher' => CAP_ALLOW,
4f0c2d00 1290 'manager' => CAP_ALLOW
271e6dec 1291 ),
a5b8be62 1292 'clonepermissionsfrom' => 'moodle/question:manage'
271e6dec 1293 ),
1294 'moodle/question:viewmine' => array(
945f88ca 1295 'captype' => 'read',
1296 'contextlevel' => CONTEXT_COURSE,
31c93303 1297 'archetypes' => array(
945f88ca 1298 'editingteacher' => CAP_ALLOW,
4f0c2d00 1299 'manager' => CAP_ALLOW
271e6dec 1300 ),
a5b8be62 1301 'clonepermissionsfrom' => 'moodle/question:manage'
945f88ca 1302 ),
271e6dec 1303 'moodle/question:viewall' => array(
1304 'captype' => 'read',
1305 'contextlevel' => CONTEXT_COURSE,
31c93303 1306 'archetypes' => array(
271e6dec 1307 'editingteacher' => CAP_ALLOW,
4f0c2d00 1308 'manager' => CAP_ALLOW
271e6dec 1309 ),
a5b8be62 1310 'clonepermissionsfrom' => 'moodle/question:manage'
271e6dec 1311 ),
1312 'moodle/question:usemine' => array(
1313 'captype' => 'read',
1314 'contextlevel' => CONTEXT_COURSE,
31c93303 1315 'archetypes' => array(
271e6dec 1316 'editingteacher' => CAP_ALLOW,
4f0c2d00 1317 'manager' => CAP_ALLOW
271e6dec 1318 ),
a5b8be62 1319 'clonepermissionsfrom' => 'moodle/question:manage'
271e6dec 1320 ),
1321 'moodle/question:useall' => array(
1322 'captype' => 'read',
1323 'contextlevel' => CONTEXT_COURSE,
31c93303 1324 'archetypes' => array(
271e6dec 1325 'editingteacher' => CAP_ALLOW,
4f0c2d00 1326 'manager' => CAP_ALLOW
271e6dec 1327 ),
a5b8be62 1328 'clonepermissionsfrom' => 'moodle/question:manage'
1329 ),
271e6dec 1330 'moodle/question:movemine' => array(
945f88ca 1331 'captype' => 'write',
1332 'contextlevel' => CONTEXT_COURSE,
31c93303 1333 'archetypes' => array(
945f88ca 1334 'editingteacher' => CAP_ALLOW,
4f0c2d00 1335 'manager' => CAP_ALLOW
271e6dec 1336 ),
a5b8be62 1337 'clonepermissionsfrom' => 'moodle/question:manage'
945f88ca 1338 ),
271e6dec 1339 'moodle/question:moveall' => array(
945f88ca 1340 'captype' => 'write',
1341 'contextlevel' => CONTEXT_COURSE,
31c93303 1342 'archetypes' => array(
945f88ca 1343 'editingteacher' => CAP_ALLOW,
4f0c2d00 1344 'manager' => CAP_ALLOW
271e6dec 1345 ),
a5b8be62 1346 'clonepermissionsfrom' => 'moodle/question:manage'
7191a1fa 1347 ),
271e6dec 1348 //END new in moodle 1.9
a5b8be62 1349
0eb6b04a 1350 // Configure the installed question types.
1351 'moodle/question:config' => array(
0eb6b04a 1352 'riskbitmask' => RISK_CONFIG,
0eb6b04a 1353 'captype' => 'write',
1354 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1355 'archetypes' => array(
4f0c2d00 1356 'manager' => CAP_ALLOW
0eb6b04a 1357 )
1358 ),
1359
62e76c67 1360 // While attempting questions, the ability to flag particular questions for later reference.
1361 'moodle/question:flag' => array(
1362 'captype' => 'write',
1363 'contextlevel' => CONTEXT_COURSE,
31c93303 1364 'archetypes' => array(
62e76c67 1365 'student' => CAP_ALLOW,
1366 'teacher' => CAP_ALLOW,
1367 'editingteacher' => CAP_ALLOW,
4f0c2d00 1368 'manager' => CAP_ALLOW
62e76c67 1369 )
1370 ),
bcdb0f19 1371
62e76c67 1372 'moodle/site:doclinks' => array(
7191a1fa 1373 'captype' => 'read',
1374 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1375 'archetypes' => array(
7191a1fa 1376 'teacher' => CAP_ALLOW,
1377 'editingteacher' => CAP_ALLOW,
4f0c2d00 1378 'manager' => CAP_ALLOW
7191a1fa 1379 )
3924b988 1380 ),
eef868d1 1381
3924b988 1382 'moodle/course:sectionvisibility' => array(
bcdb0f19 1383
3924b988 1384 'captype' => 'write',
1385 'contextlevel' => CONTEXT_COURSE,
31c93303 1386 'archetypes' => array(
3924b988 1387 'editingteacher' => CAP_ALLOW,
4f0c2d00 1388 'manager' => CAP_ALLOW
3924b988 1389 )
1390 ),
eef868d1 1391
dc558690 1392 'moodle/course:useremail' => array(
bcdb0f19 1393
dc558690 1394 'captype' => 'write',
1395 'contextlevel' => CONTEXT_COURSE,
31c93303 1396 'archetypes' => array(
dc558690 1397 'editingteacher' => CAP_ALLOW,
4f0c2d00 1398 'manager' => CAP_ALLOW
dc558690 1399 )
1400 ),
eef868d1 1401
3924b988 1402 'moodle/course:viewhiddensections' => array(
bcdb0f19 1403
3924b988 1404 'captype' => 'write',
1405 'contextlevel' => CONTEXT_COURSE,
31c93303 1406 'archetypes' => array(
3924b988 1407 'editingteacher' => CAP_ALLOW,
4f0c2d00 1408 'manager' => CAP_ALLOW
3924b988 1409 )
1410 ),
eef868d1 1411
3924b988 1412 'moodle/course:setcurrentsection' => array(
bcdb0f19 1413
3924b988 1414 'captype' => 'write',
1415 'contextlevel' => CONTEXT_COURSE,
31c93303 1416 'archetypes' => array(
3924b988 1417 'editingteacher' => CAP_ALLOW,
4f0c2d00 1418 'manager' => CAP_ALLOW
3924b988 1419 )
1420 ),
eef868d1 1421
dd45888a 1422 'moodle/site:mnetlogintoremote' => array(
bc4c9800 1423
3924b988 1424 'captype' => 'read',
dd45888a 1425 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1426 'archetypes' => array(
3924b988 1427 )
1428 ),
eef868d1 1429
dd45888a 1430 'moodle/grade:viewall' => array(
bcdb0f19 1431 'riskbitmask' => RISK_PERSONAL,
dd45888a 1432 'captype' => 'read',
eecf76df 1433 'contextlevel' => CONTEXT_COURSE, // and CONTEXT_USER
31c93303 1434 'archetypes' => array(
dd45888a 1435 'teacher' => CAP_ALLOW,
3924b988 1436 'editingteacher' => CAP_ALLOW,
4f0c2d00 1437 'manager' => CAP_ALLOW
dd45888a 1438 ),
1439 'clonepermissionsfrom' => 'moodle/course:viewcoursegrades'
f509ce06 1440 ),
f43ce1ad 1441
dd45888a 1442 'moodle/grade:view' => array(
f509ce06 1443 'captype' => 'read',
eecf76df 1444 'contextlevel' => CONTEXT_COURSE,
31c93303 1445 'archetypes' => array(
dd45888a 1446 'student' => CAP_ALLOW
f509ce06 1447 )
ca9ffa18 1448 ),
dd45888a 1449
1450 'moodle/grade:viewhidden' => array(
ca9ffa18 1451 'riskbitmask' => RISK_PERSONAL,
1452 'captype' => 'read',
eecf76df 1453 'contextlevel' => CONTEXT_COURSE,
31c93303 1454 'archetypes' => array(
0371f8e5 1455 'teacher' => CAP_ALLOW,
1456 'editingteacher' => CAP_ALLOW,
4f0c2d00 1457 'manager' => CAP_ALLOW
dd45888a 1458 ),
1459 'clonepermissionsfrom' => 'moodle/course:viewcoursegrades'
ca9ffa18 1460 ),
dd45888a 1461
1462 'moodle/grade:import' => array(
3a0c6cca 1463 'riskbitmask' => RISK_PERSONAL | RISK_XSS,
dd45888a 1464 'captype' => 'write',
ca9ffa18 1465 'contextlevel' => CONTEXT_COURSE,
31c93303 1466 'archetypes' => array(
ca9ffa18 1467 'editingteacher' => CAP_ALLOW,
4f0c2d00 1468 'manager' => CAP_ALLOW
dd45888a 1469 ),
1470 'clonepermissionsfrom' => 'moodle/course:managegrades'
ca9ffa18 1471 ),
dd45888a 1472
1473 'moodle/grade:export' => array(
ca9ffa18 1474 'riskbitmask' => RISK_PERSONAL,
1475 'captype' => 'read',
1476 'contextlevel' => CONTEXT_COURSE,
31c93303 1477 'archetypes' => array(
ca9ffa18 1478 'teacher' => CAP_ALLOW,
1479 'editingteacher' => CAP_ALLOW,
4f0c2d00 1480 'manager' => CAP_ALLOW
dd45888a 1481 ),
1482 'clonepermissionsfrom' => 'moodle/course:managegrades'
ca9ffa18 1483 ),
dd45888a 1484
1485 'moodle/grade:manage' => array(
3a0c6cca 1486 'riskbitmask' => RISK_PERSONAL | RISK_XSS,
dd45888a 1487 'captype' => 'write',
1488 'contextlevel' => CONTEXT_COURSE,
31c93303 1489 'archetypes' => array(
dd45888a 1490 'editingteacher' => CAP_ALLOW,
4f0c2d00 1491 'manager' => CAP_ALLOW
dd45888a 1492 ),
1493 'clonepermissionsfrom' => 'moodle/course:managegrades'
ca9ffa18 1494 ),
dd45888a 1495
a5b8be62 1496 'moodle/grade:edit' => array(
1497 'riskbitmask' => RISK_PERSONAL | RISK_XSS,
04259694 1498 'captype' => 'write',
1499 'contextlevel' => CONTEXT_COURSE,
31c93303 1500 'archetypes' => array(
04259694 1501 'editingteacher' => CAP_ALLOW,
4f0c2d00 1502 'manager' => CAP_ALLOW
04259694 1503 ),
1504 'clonepermissionsfrom' => 'moodle/course:managegrades'
1505 ),
1506
86e9ccfd
DM
1507 // ability to define advanced grading forms in activities either from scratch
1508 // or from a shared template
f25a5a32
DM
1509 'moodle/grade:managegradingforms' => array(
1510 'riskbitmask' => RISK_PERSONAL | RISK_XSS,
1511 'captype' => 'write',
553af5fd 1512 'contextlevel' => CONTEXT_COURSE,
f25a5a32
DM
1513 'archetypes' => array(
1514 'editingteacher' => CAP_ALLOW,
1515 'manager' => CAP_ALLOW
1516 ),
1517 'clonepermissionsfrom' => 'moodle/course:managegrades'
04259694 1518 ),
1519
86e9ccfd
DM
1520 // ability to save a grading form as a new shared template and eventually edit
1521 // and remove own templates (templates originally shared by that user)
553af5fd 1522 'moodle/grade:sharegradingforms' => array(
86e9ccfd
DM
1523 'riskbitmask' => RISK_XSS,
1524 'captype' => 'write',
1525 'contextlevel' => CONTEXT_SYSTEM,
1526 'archetypes' => array(
1527 'manager' => CAP_ALLOW
1528 ),
1529 ),
1530
1531 // ability to edit and remove any shared template, even those originally shared
1532 // by other users
1533 'moodle/grade:managesharedforms' => array(
1534 'riskbitmask' => RISK_XSS,
553af5fd
DM
1535 'captype' => 'write',
1536 'contextlevel' => CONTEXT_SYSTEM,
1537 'archetypes' => array(
1538 'manager' => CAP_ALLOW
1539 ),
1540 ),
1541
a5b8be62 1542 'moodle/grade:manageoutcomes' => array(
284abb09 1543 'captype' => 'write',
1544 'contextlevel' => CONTEXT_COURSE,
31c93303 1545 'archetypes' => array(
284abb09 1546 'editingteacher' => CAP_ALLOW,
4f0c2d00 1547 'manager' => CAP_ALLOW
284abb09 1548 ),
1549 'clonepermissionsfrom' => 'moodle/course:managegrades'
1550 ),
1551
1552 'moodle/grade:manageletters' => array(
ca9ffa18 1553 'captype' => 'write',
1554 'contextlevel' => CONTEXT_COURSE,
31c93303 1555 'archetypes' => array(
ca9ffa18 1556 'editingteacher' => CAP_ALLOW,
4f0c2d00 1557 'manager' => CAP_ALLOW
a5b8be62 1558 ),
1559 'clonepermissionsfrom' => 'moodle/course:managegrades'
ca9ffa18 1560 ),
dd45888a 1561
a5b8be62 1562 'moodle/grade:hide' => array(
ca9ffa18 1563 'captype' => 'write',
1564 'contextlevel' => CONTEXT_COURSE,
31c93303 1565 'archetypes' => array(
ca9ffa18 1566 'editingteacher' => CAP_ALLOW,
4f0c2d00 1567 'manager' => CAP_ALLOW
ca9ffa18 1568 )
1569 ),
dd45888a 1570
a5b8be62 1571 'moodle/grade:lock' => array(
dd45888a 1572 'captype' => 'write',
ca9ffa18 1573 'contextlevel' => CONTEXT_COURSE,
31c93303 1574 'archetypes' => array(
ca9ffa18 1575 'editingteacher' => CAP_ALLOW,
4f0c2d00 1576 'manager' => CAP_ALLOW
ca9ffa18 1577 )
1578 ),
dd45888a 1579
a5b8be62 1580 'moodle/grade:unlock' => array(
ca9ffa18 1581 'captype' => 'write',
1582 'contextlevel' => CONTEXT_COURSE,
31c93303 1583 'archetypes' => array(
ca9ffa18 1584 'editingteacher' => CAP_ALLOW,
4f0c2d00 1585 'manager' => CAP_ALLOW
ca9ffa18 1586 )
282c1695 1587 ),
dd45888a 1588
1589 'moodle/my:manageblocks' => array(
282c1695 1590 'captype' => 'write',
1591 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1592 'archetypes' => array(
282c1695 1593 'user' => CAP_ALLOW
1594 )
eca3af25 1595 ),
dd45888a 1596
eca3af25 1597 'moodle/notes:view' => array(
1598 'captype' => 'read',
f432bebf 1599 'contextlevel' => CONTEXT_COURSE,
31c93303 1600 'archetypes' => array(
eca3af25 1601 'teacher' => CAP_ALLOW,
1602 'editingteacher' => CAP_ALLOW,
4f0c2d00 1603 'manager' => CAP_ALLOW
eca3af25 1604 )
1605 ),
1606
1607 'moodle/notes:manage' => array(
3a0c6cca 1608 'riskbitmask' => RISK_SPAM,
1609
eca3af25 1610 'captype' => 'write',
f432bebf 1611 'contextlevel' => CONTEXT_COURSE,
31c93303 1612 'archetypes' => array(
eca3af25 1613 'teacher' => CAP_ALLOW,
1614 'editingteacher' => CAP_ALLOW,
4f0c2d00 1615 'manager' => CAP_ALLOW
eca3af25 1616 )
dd45888a 1617 ),
79642064 1618
1619 'moodle/tag:manage' => array(
3a0c6cca 1620 'riskbitmask' => RISK_SPAM,
1621
79642064 1622 'captype' => 'write',
1623 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1624 'archetypes' => array(
79642064 1625 'teacher' => CAP_ALLOW,
1626 'editingteacher' => CAP_ALLOW,
4f0c2d00 1627 'manager' => CAP_ALLOW
79642064 1628 )
705789bd 1629 ),
1630
1631 'moodle/tag:create' => array(
3a0c6cca 1632 'riskbitmask' => RISK_SPAM,
1633
705789bd 1634 'captype' => 'write',
1635 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1636 'archetypes' => array(
4f0c2d00 1637 'manager' => CAP_ALLOW,
0f07c40e 1638 'user' => CAP_ALLOW
705789bd 1639 )
1640 ),
a5b8be62 1641
705789bd 1642 'moodle/tag:edit' => array(
3a0c6cca 1643 'riskbitmask' => RISK_SPAM,
1644
705789bd 1645 'captype' => 'write',
1646 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1647 'archetypes' => array(
4f0c2d00 1648 'manager' => CAP_ALLOW,
3e6e529f 1649 'user' => CAP_ALLOW
98b5789d 1650 )
1651 ),
a5b8be62 1652
98b5789d 1653 'moodle/tag:editblocks' => array(
1654 'captype' => 'write',
1655 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1656 'archetypes' => array(
705789bd 1657 'teacher' => CAP_ALLOW,
1658 'editingteacher' => CAP_ALLOW,
4f0c2d00 1659 'manager' => CAP_ALLOW
705789bd 1660 )
7e874772 1661 ),
1662
1663 'moodle/block:view' => array(
1664 'captype' => 'read',
1665 'contextlevel' => CONTEXT_BLOCK,
31c93303 1666 'archetypes' => array(
7e874772 1667 'guest' => CAP_ALLOW,
25a7d980 1668 'user' => CAP_ALLOW,
1669 'student' => CAP_ALLOW,
1670 'teacher' => CAP_ALLOW,
1671 'editingteacher' => CAP_ALLOW,
7e874772 1672 )
8512f577 1673 ),
1674
d14edf06 1675 'moodle/block:edit' => array(
1676 'riskbitmask' => RISK_SPAM | RISK_XSS,
1677
1678 'captype' => 'write',
1679 'contextlevel' => CONTEXT_BLOCK,
31c93303 1680 'archetypes' => array(
d14edf06 1681 'editingteacher' => CAP_ALLOW,
d14edf06 1682 )
1683 ),
1684
8512f577 1685 'moodle/portfolio:export' => array(
1686 'captype' => 'read',
1687 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1688 'archetypes' => array(
8512f577 1689 'user' => CAP_ALLOW,
1690 'student' => CAP_ALLOW,
1691 'teacher' => CAP_ALLOW,
1692 'editingteacher' => CAP_ALLOW,
8512f577 1693 )
1bcb7eb5 1694 ),
1695 'moodle/comment:view' => array(
1bcb7eb5 1696 'captype' => 'read',
ad0ae261 1697 'contextlevel' => CONTEXT_COURSE,
31c93303 1698 'archetypes' => array(
b3da2877
SH
1699 'frontpage' => CAP_ALLOW,
1700 'guest' => CAP_ALLOW,
1bcb7eb5 1701 'user' => CAP_ALLOW,
1702 'student' => CAP_ALLOW,
1703 'teacher' => CAP_ALLOW,
1704 'editingteacher' => CAP_ALLOW,
4f0c2d00 1705 'manager' => CAP_ALLOW
1bcb7eb5 1706 )
1707 ),
1708 'moodle/comment:post' => array(
1709
1710 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
1711 'captype' => 'write',
ad0ae261 1712 'contextlevel' => CONTEXT_COURSE,
31c93303 1713 'archetypes' => array(
1bcb7eb5 1714 'user' => CAP_ALLOW,
1715 'student' => CAP_ALLOW,
1716 'teacher' => CAP_ALLOW,
1717 'editingteacher' => CAP_ALLOW,
4f0c2d00 1718 'manager' => CAP_ALLOW
1bcb7eb5 1719 )
1720 ),
1721 'moodle/comment:delete' => array(
1722
1723 'riskbitmask' => RISK_DATALOSS,
1724 'captype' => 'write',
ad0ae261 1725 'contextlevel' => CONTEXT_COURSE,
31c93303 1726 'archetypes' => array(
1bcb7eb5 1727 'editingteacher' => CAP_ALLOW,
4f0c2d00 1728 'manager' => CAP_ALLOW
1bcb7eb5 1729 )
5eacbd4b 1730 ),
1731 'moodle/webservice:createtoken' => array(
1732
52dd27bf 1733 'riskbitmask' => RISK_CONFIG | RISK_DATALOSS | RISK_SPAM | RISK_PERSONAL | RISK_XSS,
5eacbd4b 1734 'captype' => 'write',
1735 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1736 'archetypes' => array(
4f0c2d00 1737 'manager' => CAP_ALLOW
5eacbd4b 1738 )
a09aeee4 1739 ),
13ea96c4
DC
1740 'moodle/webservice:createmobiletoken' => array(
1741
f2eac756 1742 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
13ea96c4
DC
1743 'captype' => 'write',
1744 'contextlevel' => CONTEXT_SYSTEM,
1745 'archetypes' => array(
1746 'user' => CAP_ALLOW
1747 )
1748 ),
19fae119 1749 'moodle/rating:view' => array(
ad0ae261 1750
a09aeee4 1751 'captype' => 'read',
ad0ae261 1752 'contextlevel' => CONTEXT_COURSE,
31c93303 1753 'archetypes' => array(
ad0ae261 1754 'user' => CAP_ALLOW,
e116a818
AD
1755 'student' => CAP_ALLOW,
1756 'teacher' => CAP_ALLOW,
1757 'editingteacher' => CAP_ALLOW,
4f0c2d00 1758 'manager' => CAP_ALLOW
a09aeee4
AD
1759 )
1760 ),
6595a568 1761 'moodle/rating:viewany' => array(
ad0ae261 1762
6595a568
MD
1763 'riskbitmask' => RISK_PERSONAL,
1764 'captype' => 'read',
ad0ae261 1765 'contextlevel' => CONTEXT_COURSE,
31c93303 1766 'archetypes' => array(
ad0ae261 1767 'user' => CAP_ALLOW,
6595a568
MD
1768 'student' => CAP_ALLOW,
1769 'teacher' => CAP_ALLOW,
1770 'editingteacher' => CAP_ALLOW,
1771 'manager' => CAP_ALLOW
1772 )
1773 ),
19fae119 1774 'moodle/rating:viewall' => array(
ad0ae261 1775
a09aeee4
AD
1776 'riskbitmask' => RISK_PERSONAL,
1777 'captype' => 'read',
ad0ae261 1778 'contextlevel' => CONTEXT_COURSE,
31c93303 1779 'archetypes' => array(
ad0ae261 1780 'user' => CAP_ALLOW,
6595a568 1781 'student' => CAP_ALLOW,
e116a818
AD
1782 'teacher' => CAP_ALLOW,
1783 'editingteacher' => CAP_ALLOW,
4f0c2d00 1784 'manager' => CAP_ALLOW
a09aeee4
AD
1785 )
1786 ),
19fae119 1787 'moodle/rating:rate' => array(
ad0ae261 1788
a09aeee4 1789 'captype' => 'write',
ad0ae261 1790 'contextlevel' => CONTEXT_COURSE,
31c93303 1791 'archetypes' => array(
ad0ae261 1792 'user' => CAP_ALLOW,
6595a568 1793 'student' => CAP_ALLOW,
e116a818
AD
1794 'teacher' => CAP_ALLOW,
1795 'editingteacher' => CAP_ALLOW,
4f0c2d00 1796 'manager' => CAP_ALLOW
a09aeee4 1797 )
07ab0c80 1798 ),
1799 'moodle/course:publish' => array(
1800
07ab0c80 1801 'captype' => 'write',
ad0ae261 1802 'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
07ab0c80 1803 'contextlevel' => CONTEXT_SYSTEM,
31c93303 1804 'archetypes' => array(
07ab0c80 1805 'manager' => CAP_ALLOW
1806 )
2be4d090
MD
1807 ),
1808 'moodle/course:markcomplete' => array(
1809 'captype' => 'write',
1810 'contextlevel' => CONTEXT_COURSE,
31c93303 1811 'archetypes' => array(
2be4d090
MD
1812 'teacher' => CAP_ALLOW,
1813 'editingteacher' => CAP_ALLOW,
2be4d090
MD
1814 'manager' => CAP_ALLOW
1815 )
755f96f8 1816 ),
1817 'moodle/community:add' => array(
1818 'captype' => 'write',
1819 'contextlevel' => CONTEXT_SYSTEM,
1820 'archetypes' => array(
1821 'manager' => CAP_ALLOW,
1822 'teacher' => CAP_ALLOW,
17957b8f 1823 'editingteacher' => CAP_ALLOW,
755f96f8 1824 )
1825 ),
1826 'moodle/community:download' => array(
1827 'captype' => 'write',
1828 'contextlevel' => CONTEXT_SYSTEM,
1829 'archetypes' => array(
1830 'manager' => CAP_ALLOW,
17957b8f 1831 'editingteacher' => CAP_ALLOW,
755f96f8 1832 )
79642064 1833 )
bbbf2d40 1834);