MDL-16263 A way for students to flag/bookmark, particular questions during a quiz...
[moodle.git] / lib / db / access.php
1 <?php  // $Id$
2 //
3 // Capability definitions for Moodle core.
4 //
5 // The capabilities are loaded into the database table when the module is
6 // installed or updated. Whenever the capability definitions are updated,
7 // the module version number should be bumped up.
8 //
9 // The system has four possible values for a capability:
10 // CAP_ALLOW, CAP_PREVENT, CAP_PROHIBIT, and inherit (not set).
11 //
12 //
13 // CAPABILITY NAMING CONVENTION
14 //
15 // It is important that capability names are unique. The naming convention
16 // for capabilities that are specific to modules and blocks is as follows:
17 //   [mod/block]/<component_name>:<capabilityname>
18 //
19 // component_name should be the same as the directory name of the mod or block.
20 //
21 // Core moodle capabilities are defined thus:
22 //    moodle/<capabilityclass>:<capabilityname>
23 //
24 // Examples: mod/forum:viewpost
25 //           block/recent_activity:view
26 //           moodle/site:deleteuser
27 //
28 // The variable name for the capability definitions array follows the format
29 //   $<componenttype>_<component_name>_capabilities
30 //
31 // For the core capabilities, the variable is $moodle_capabilities.
34 $moodle_capabilities = array(
36     'moodle/site:doanything' => array(
38         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG | RISK_DATALOSS,
40         'captype' => 'admin',
41         'contextlevel' => CONTEXT_SYSTEM
42     ),
44     'moodle/legacy:guest' => array(
46         'captype' => 'legacy',
47         'contextlevel' => CONTEXT_SYSTEM
48     ),
50     'moodle/legacy:user' => array(
52         'captype' => 'legacy',
53         'contextlevel' => CONTEXT_SYSTEM
54     ),
56     'moodle/legacy:student' => array(
58         'riskbitmask' => RISK_SPAM,
60         'captype' => 'legacy',
61         'contextlevel' => CONTEXT_SYSTEM
62     ),
65     'moodle/legacy:teacher' => array(
67         'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
69         'captype' => 'legacy',
70         'contextlevel' => CONTEXT_SYSTEM
71     ),
74     'moodle/legacy:editingteacher' => array(
76         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
78         'captype' => 'legacy',
79         'contextlevel' => CONTEXT_SYSTEM
80     ),
83     'moodle/legacy:coursecreator' => array(
85         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
87         'captype' => 'legacy',
88         'contextlevel' => CONTEXT_SYSTEM
89     ),
92     'moodle/legacy:admin' => array(
94         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG | RISK_DATALOSS,
96         'captype' => 'legacy',
97         'contextlevel' => CONTEXT_SYSTEM
98     ),
101     'moodle/site:config' => array(
103         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG | RISK_DATALOSS,
105         'captype' => 'write',
106         'contextlevel' => CONTEXT_SYSTEM,
107         'legacy' => array(
108             'admin' => CAP_ALLOW
109         )
110     ),
112     'moodle/site:readallmessages' => array(
114         'riskbitmask' => RISK_PERSONAL,
116         'captype' => 'read',
117         'contextlevel' => CONTEXT_SYSTEM,
118         'legacy' => array(
119             'admin' => CAP_ALLOW,
120             'editingteacher' => CAP_ALLOW
121         )
122     ),
123     
124     'moodle/site:sendmessage' => array(
126         'riskbitmask' => RISK_SPAM,
128         'captype' => 'write',
129         'contextlevel' => CONTEXT_SYSTEM,
130         'legacy' => array(
131             'admin' => CAP_ALLOW,
132             'user' => CAP_ALLOW
133         )
134     ),   
136     'moodle/site:approvecourse' => array(
138         'riskbitmask' => RISK_XSS,
140         'captype' => 'write',
141         'contextlevel' => CONTEXT_SYSTEM,
142         'legacy' => array(
143             'admin' => CAP_ALLOW
144         )
145     ),
147     'moodle/site:import' => array(
149         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
151         'captype' => 'write',
152         'contextlevel' => CONTEXT_COURSE,
153         'legacy' => array(
154             'editingteacher' => CAP_ALLOW,
155             'admin' => CAP_ALLOW
156         )
157     ),
159     'moodle/site:backup' => array(
161         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
163         'captype' => 'write',
164         'contextlevel' => CONTEXT_COURSE,
165         'legacy' => array(
166             'editingteacher' => CAP_ALLOW,
167             'admin' => CAP_ALLOW
168         )
169     ),
171     'moodle/site:backupdownload' => array(
173         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
175         'captype' => 'write',
176         'contextlevel' => CONTEXT_COURSE,
177         'legacy' => array(
178             'editingteacher' => CAP_ALLOW,
179             'admin' => CAP_ALLOW
180         ),
182         'clonepermissionsfrom' =>  'moodle/site:backup'
183     ),
185     'moodle/site:backupupload' => array(
187         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
189         'captype' => 'write',
190         'contextlevel' => CONTEXT_COURSE,
191         'legacy' => array(
192             'editingteacher' => CAP_ALLOW,
193             'admin' => CAP_ALLOW
194         ),
196         'clonepermissionsfrom' =>  'moodle/site:restore'
197     ),
199     'moodle/site:restore' => array(
201         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
203         'captype' => 'write',
204         'contextlevel' => CONTEXT_COURSE,
205         'legacy' => array(
206             'editingteacher' => CAP_ALLOW,
207             'admin' => CAP_ALLOW
208         )
209     ),
211     'moodle/site:manageblocks' => array(
213         'riskbitmask' => RISK_SPAM | RISK_XSS,
215         'captype' => 'write',
216         'contextlevel' => CONTEXT_BLOCK,
217         'legacy' => array(
218             'editingteacher' => CAP_ALLOW,
219             'admin' => CAP_ALLOW
220         )
221     ),
223     'moodle/site:accessallgroups' => array(
225         'captype' => 'read',
226         'contextlevel' => CONTEXT_COURSE,
227         'legacy' => array(
228             'teacher' => CAP_ALLOW,
229             'editingteacher' => CAP_ALLOW,
230             'admin' => CAP_ALLOW
231         )
232     ),
234     'moodle/site:viewfullnames' => array(
236         'captype' => 'read',
237         'contextlevel' => CONTEXT_COURSE,
238         'legacy' => array(
239             'teacher' => CAP_ALLOW,
240             'editingteacher' => CAP_ALLOW,
241             'admin' => CAP_ALLOW
242         )
243     ),
245     'moodle/site:viewreports' => array(
247         'riskbitmask' => RISK_PERSONAL,
249         'captype' => 'read',
250         'contextlevel' => CONTEXT_COURSE,
251         'legacy' => array(
252             'teacher' => CAP_ALLOW,
253             'editingteacher' => CAP_ALLOW,
254             'admin' => CAP_ALLOW
255         )
256     ),
258     'moodle/site:trustcontent' => array(
260         'riskbitmask' => RISK_XSS,
262         'captype' => 'write',
263         'contextlevel' => CONTEXT_COURSE,
264         'legacy' => array(
265             'editingteacher' => CAP_ALLOW,
266             'admin' => CAP_ALLOW
267         )
268     ),
270     'moodle/site:uploadusers' => array(
272         'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
274         'captype' => 'write',
275         'contextlevel' => CONTEXT_SYSTEM,
276         'legacy' => array(
277             'admin' => CAP_ALLOW
278         )
279     ),
281     'moodle/site:langeditmaster' => array(
283         'riskbitmask' => RISK_CONFIG | RISK_XSS,
285         'captype' => 'write',
286         'contextlevel' => CONTEXT_SYSTEM,
287         'legacy' => array(
288             'admin' => CAP_PREVENT
289         )
290     ),
292     'moodle/site:langeditlocal' => array(
294         'riskbitmask' => RISK_CONFIG | RISK_XSS,
296         'captype' => 'write',
297         'contextlevel' => CONTEXT_SYSTEM,
298         'legacy' => array(
299             'admin' => CAP_ALLOW
300         )
301     ),
304     'moodle/user:create' => array(
306         'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
308         'captype' => 'write',
309         'contextlevel' => CONTEXT_SYSTEM,
310         'legacy' => array(
311             'admin' => CAP_ALLOW
312         )
313     ),
315     'moodle/user:delete' => array(
317         'riskbitmask' => RISK_PERSONAL, RISK_DATALOSS,
319         'captype' => 'write',
320         'contextlevel' => CONTEXT_SYSTEM,
321         'legacy' => array(
322             'admin' => CAP_ALLOW
323         )
324     ),
326     'moodle/user:update' => array(
328         'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
330         'captype' => 'write',
331         'contextlevel' => CONTEXT_SYSTEM,
332         'legacy' => array(
333             'admin' => CAP_ALLOW
334         )
335     ),
337     'moodle/user:viewdetails' => array(
339         'captype' => 'read',
340         'contextlevel' => CONTEXT_COURSE,
341         'legacy' => array(
342             'guest' => CAP_ALLOW,
343             'student' => CAP_ALLOW,
344             'teacher' => CAP_ALLOW,
345             'editingteacher' => CAP_ALLOW,
346             'admin' => CAP_ALLOW
347         )
348     ),
350     'moodle/user:viewhiddendetails' => array(
352         'riskbitmask' => RISK_PERSONAL,
354         'captype' => 'read',
355         'contextlevel' => CONTEXT_COURSE,
356         'legacy' => array(
357             'teacher' => CAP_ALLOW,
358             'editingteacher' => CAP_ALLOW,
359             'admin' => CAP_ALLOW
360         )
361     ),
363     'moodle/user:loginas' => array(
365         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS | RISK_CONFIG,
367         'captype' => 'write',
368         'contextlevel' => CONTEXT_COURSE,
369         'legacy' => array(
370             'admin' => CAP_ALLOW
371         )
372     ),
374     'moodle/role:assign' => array(
376         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
378         'captype' => 'write',
379         'contextlevel' => CONTEXT_COURSE,
380         'legacy' => array(
381             'editingteacher' => CAP_ALLOW,
382             'admin' => CAP_ALLOW
383         )
384     ),
386     'moodle/role:override' => array(
388         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
390         'captype' => 'write',
391         'contextlevel' => CONTEXT_COURSE,
392         'legacy' => array(
393             'admin' => CAP_ALLOW
394         )
395     ),
397     'moodle/role:safeoverride' => array(
399         'riskbitmask' => RISK_SPAM,
401         'captype' => 'write',
402         'contextlevel' => CONTEXT_COURSE,
403         'legacy' => array(
404             'editingteacher' => CAP_ALLOW
405         )
406     ),
408     'moodle/role:manage' => array(
410         'riskbitmask' => RISK_SPAM | RISK_PERSONAL | RISK_XSS,
412         'captype' => 'write',
413         'contextlevel' => CONTEXT_SYSTEM,
414         'legacy' => array(
415             'admin' => CAP_ALLOW
416         )
417     ),
419     'moodle/role:unassignself' => array(
421         'captype' => 'write',
422         'contextlevel' => CONTEXT_COURSE,
423         'legacy' => array(
424             'student' => (empty($CFG->allowunenrol)) ? CAP_INHERIT : CAP_ALLOW,
425             'teacher' => CAP_ALLOW,
426             'editingteacher' => CAP_ALLOW,
427             'coursecreator' => CAP_ALLOW,
428             'admin' => CAP_ALLOW
429         )
430     ),
432     'moodle/role:viewhiddenassigns' => array(
434         'captype' => 'read',
435         'contextlevel' => CONTEXT_COURSE,
436         'legacy' => array(
437             'teacher' => CAP_ALLOW,
438             'editingteacher' => CAP_ALLOW,
439             'admin' => CAP_ALLOW
440         )
441     ),
443     'moodle/role:switchroles' => array(
445         'riskbitmask' => RISK_XSS | RISK_PERSONAL,
447         'captype' => 'read',
448         'contextlevel' => CONTEXT_COURSE,
449         'legacy' => array(
450             'editingteacher' => CAP_ALLOW,
451             'admin' => CAP_ALLOW
452         )
453     ),
455     'moodle/category:create' => array(
457         'riskbitmask' => RISK_XSS,
459         'captype' => 'write',
460         'contextlevel' => CONTEXT_COURSECAT,
461         'legacy' => array(
462             'admin' => CAP_ALLOW
463         )
464     ),
466     'moodle/category:delete' => array(
468         'riskbitmask' => RISK_DATALOSS,
470         'captype' => 'write',
471         'contextlevel' => CONTEXT_COURSECAT,
472         'legacy' => array(
473             'admin' => CAP_ALLOW
474         )
475     ),
477     'moodle/category:update' => array(
479         'riskbitmask' => RISK_XSS,
481         'captype' => 'write',
482         'contextlevel' => CONTEXT_COURSECAT,
483         'legacy' => array(
484             'admin' => CAP_ALLOW
485         )
486     ),
488     'moodle/category:visibility' => array(
490         'captype' => 'write',
491         'contextlevel' => CONTEXT_COURSECAT,
492         'legacy' => array(
493             'admin' => CAP_ALLOW
494         )
495     ),
497     'moodle/course:create' => array(
499         'riskbitmask' => RISK_XSS,
501         'captype' => 'write',
502         'contextlevel' => CONTEXT_COURSECAT,
503         'legacy' => array(
504             'coursecreator' => CAP_ALLOW,
505             'admin' => CAP_ALLOW
506         )
507     ),
509     'moodle/course:delete' => array(
511         'riskbitmask' => RISK_DATALOSS,
513         'captype' => 'write',
514         'contextlevel' => CONTEXT_COURSE,
515         'legacy' => array(
516             'admin' => CAP_ALLOW
517         )
518     ),
520     'moodle/course:update' => array(
522         'riskbitmask' => RISK_XSS,
524         'captype' => 'write',
525         'contextlevel' => CONTEXT_COURSE,
526         'legacy' => array(
527             'editingteacher' => CAP_ALLOW,
528             'admin' => CAP_ALLOW
529         )
530     ),
532     'moodle/course:view' => array(
534         'captype' => 'read',
535         'contextlevel' => CONTEXT_COURSE,
536         'legacy' => array(
537             'guest' => CAP_ALLOW,
538             'student' => CAP_ALLOW,
539             'teacher' => CAP_ALLOW,
540             'editingteacher' => CAP_ALLOW
541         )
542     ),
544     'moodle/course:bulkmessaging' => array(
546         'riskbitmask' => RISK_SPAM,
548         'captype' => 'write',
549         'contextlevel' => CONTEXT_COURSE,
550         'legacy' => array(
551             'teacher' => CAP_ALLOW,
552             'editingteacher' => CAP_ALLOW,
553             'admin' => CAP_ALLOW
554         )
555     ),
557     'moodle/course:viewhiddenuserfields' => array(
559         'riskbitmask' => RISK_PERSONAL,
561         'captype' => 'read',
562         'contextlevel' => CONTEXT_COURSE,
563         'legacy' => array(
564             'teacher' => CAP_ALLOW,
565             'editingteacher' => CAP_ALLOW,
566             'admin' => CAP_ALLOW
567         )
568     ),
570     'moodle/course:viewprogress' => array(
572         'riskbitmask' => RISK_PERSONAL,
574         'captype' => 'read',
575         'contextlevel' => CONTEXT_COURSE,
576         'legacy' => array(
577             'teacher' => CAP_ALLOW,
578             'editingteacher' => CAP_ALLOW,
579             'admin' => CAP_ALLOW
580         )
581     ),
583     'moodle/course:viewhiddencourses' => array(
585         'captype' => 'read',
586         'contextlevel' => CONTEXT_COURSE,
587         'legacy' => array(
588             'coursecreator' => CAP_ALLOW,
589             'teacher' => CAP_ALLOW,
590             'editingteacher' => CAP_ALLOW,
591             'admin' => CAP_ALLOW
592         )
593     ),
595     'moodle/course:visibility' => array(
597         'captype' => 'write',
598         'contextlevel' => CONTEXT_COURSE,
599         'legacy' => array(
600             'admin' => CAP_ALLOW
601         )
602     ),
604     'moodle/course:managefiles' => array(
606         'riskbitmask' => RISK_XSS,
608         'captype' => 'write',
609         'contextlevel' => CONTEXT_COURSE,
610         'legacy' => array(
611             'editingteacher' => CAP_ALLOW,
612             'admin' => CAP_ALLOW
613         )
614     ),
616     'moodle/course:manageactivities' => array(
618         'riskbitmask' => RISK_XSS,
620         'captype' => 'write',
621         'contextlevel' => CONTEXT_COURSE,
622         'legacy' => array(
623             'editingteacher' => CAP_ALLOW,
624             'admin' => CAP_ALLOW
625         )
626     ),
628     'moodle/course:managemetacourse' => array(
630         'riskbitmask' => RISK_XSS | RISK_PERSONAL,
632         'captype' => 'write',
633         'contextlevel' => CONTEXT_COURSE,
634         'legacy' => array(
635             'editingteacher' => CAP_ALLOW,
636             'admin' => CAP_ALLOW
637         )
638     ),
640     'moodle/course:activityvisibility' => array(
642         'captype' => 'write',
643         'contextlevel' => CONTEXT_COURSE,
644         'legacy' => array(
645             'editingteacher' => CAP_ALLOW,
646             'admin' => CAP_ALLOW
647         )
648     ),
650     'moodle/course:viewhiddenactivities' => array(
652         'captype' => 'write',
653         'contextlevel' => CONTEXT_COURSE,
654         'legacy' => array(
655             'teacher' => CAP_ALLOW,
656             'editingteacher' => CAP_ALLOW,
657             'admin' => CAP_ALLOW
658         )
659     ),
661     'moodle/course:viewparticipants' => array(
663         'captype' => 'read',
664         'contextlevel' => CONTEXT_COURSE,
665         'legacy' => array(
666             'student' => CAP_ALLOW,
667             'teacher' => CAP_ALLOW,
668             'editingteacher' => CAP_ALLOW,
669             'admin' => CAP_ALLOW
670         )
671     ),
672     
673     'moodle/site:viewparticipants' => array(
675         'captype' => 'read',
676         'contextlevel' => CONTEXT_SYSTEM,
677         'legacy' => array(
678             'admin' => CAP_ALLOW
679         )
680     ),
682     'moodle/course:viewscales' => array(
684         'captype' => 'read',
685         'contextlevel' => CONTEXT_COURSE,
686         'legacy' => array(
687             'student' => CAP_ALLOW,
688             'teacher' => CAP_ALLOW,
689             'editingteacher' => CAP_ALLOW,
690             'admin' => CAP_ALLOW
691         )
692     ),
694     'moodle/course:managescales' => array(
696         'captype' => 'write',
697         'contextlevel' => CONTEXT_COURSE,
698         'legacy' => array(
699             'editingteacher' => CAP_ALLOW,
700             'admin' => CAP_ALLOW
701         )
702     ),
704     'moodle/course:managegroups' => array(
706         'captype' => 'write',
707         'contextlevel' => CONTEXT_COURSE,
708         'legacy' => array(
709             'editingteacher' => CAP_ALLOW,
710             'admin' => CAP_ALLOW
711         )
712     ),
714     'moodle/course:reset' => array(
716         'riskbitmask' => RISK_DATALOSS,
718         'captype' => 'write',
719         'contextlevel' => CONTEXT_COURSE,
720         'legacy' => array(
721             'editingteacher' => CAP_ALLOW,
722             'admin' => CAP_ALLOW
723         )
724     ),
726     'moodle/blog:view' => array(
728         'captype' => 'read',
729         'contextlevel' => CONTEXT_COURSE,
730         'legacy' => array(
731             'guest' => CAP_ALLOW,
732             'user' => CAP_ALLOW,
733             'student' => CAP_ALLOW,
734             'teacher' => CAP_ALLOW,
735             'editingteacher' => CAP_ALLOW,
736             'admin' => CAP_ALLOW
737         )
738     ),
740     'moodle/blog:create' => array( // works in CONTEXT_SYSTEM only
742         'riskbitmask' => RISK_SPAM,
744         'captype' => 'write',
745         'contextlevel' => CONTEXT_SYSTEM,
746         'legacy' => array(
747             'user' => CAP_ALLOW,
748             'admin' => CAP_ALLOW
749         )
750     ),
752     'moodle/blog:manageentries' => array(
754         'riskbitmask' => RISK_SPAM,
756         'captype' => 'write',
757         'contextlevel' => CONTEXT_COURSE,
758         'legacy' => array(
759             'teacher' => CAP_ALLOW,
760             'editingteacher' => CAP_ALLOW,
761             'admin' => CAP_ALLOW
762         )
763     ),
765     'moodle/calendar:manageownentries' => array( // works in CONTEXT_SYSTEM only
767         'riskbitmask' => RISK_SPAM,
769         'captype' => 'write',
770         'contextlevel' => CONTEXT_COURSE,
771         'legacy' => array(
772             'user' => CAP_ALLOW,
773             'admin' => CAP_ALLOW
774         )
775     ),
777     'moodle/calendar:managegroupentries' => array(
779         'riskbitmask' => RISK_SPAM,
781         'captype' => 'write',
782         'contextlevel' => CONTEXT_COURSE,
783         'legacy' => array(
784             'teacher' => CAP_ALLOW,
785             'editingteacher' => CAP_ALLOW,
786             'admin' => CAP_ALLOW
787         )
788     ),
790     'moodle/calendar:manageentries' => array(
792         'riskbitmask' => RISK_SPAM,
794         'captype' => 'write',
795         'contextlevel' => CONTEXT_COURSE,
796         'legacy' => array(
797             'teacher' => CAP_ALLOW,
798             'editingteacher' => CAP_ALLOW,
799             'admin' => CAP_ALLOW
800         )
801     ),
803     'moodle/user:editprofile' => array(
805         'riskbitmask' => RISK_SPAM | RISK_PERSONAL,
807         'captype' => 'write',
808         'contextlevel' => CONTEXT_USER,
809         'legacy' => array(
810             'admin' => CAP_ALLOW
811         )
812     ),
814     'moodle/user:editownprofile' => array(
816         'riskbitmask' => RISK_SPAM,
818         'captype' => 'write',
819         'contextlevel' => CONTEXT_SYSTEM,
820         'legacy' => array(
821             'guest' => CAP_PROHIBIT,
822             'user' => CAP_ALLOW,
823             'admin' => CAP_ALLOW
824         )
825     ),
827     'moodle/user:changeownpassword' => array(
829         'captype' => 'write',
830         'contextlevel' => CONTEXT_SYSTEM,
831         'legacy' => array(
832             'guest' => CAP_PROHIBIT,
833             'user' => CAP_ALLOW,
834             'admin' => CAP_ALLOW
835         )
836     ),
838     // The next 3 might make no sense for some roles, e.g teacher, etc.
839     // since the next level up is site. These are more for the parent role
840     'moodle/user:readuserposts' => array(
842         'captype' => 'read',
843         'contextlevel' => CONTEXT_USER,
844         'legacy' => array(
845             'student' => CAP_ALLOW,
846             'teacher' => CAP_ALLOW,
847             'editingteacher' => CAP_ALLOW,
848             'admin' => CAP_ALLOW
849         )
850     ),
852     'moodle/user:readuserblogs' => array(
854         'captype' => 'read',
855         'contextlevel' => CONTEXT_USER,
856         'legacy' => array(
857             'student' => CAP_ALLOW,
858             'teacher' => CAP_ALLOW,
859             'editingteacher' => CAP_ALLOW,
860             'admin' => CAP_ALLOW
861         )
862     ),
864     'moodle/user:viewuseractivitiesreport' => array(
866         'captype' => 'read',
867         'contextlevel' => CONTEXT_USER,
868         'legacy' => array(
869             'teacher' => CAP_ALLOW,
870             'editingteacher' => CAP_ALLOW,
871             'admin' => CAP_ALLOW
872         )
873     ),
875     //capabilities designed for the new message system configuration
876     'moodle/user:editmessageprofile' => array(
877  
878          'riskbitmask' => RISK_SPAM,
879  
880          'captype' => 'write',
881          'contextlevel' => CONTEXT_USER,
882          'legacy' => array(
883              'admin' => CAP_ALLOW
884          )
885      ),
886  
887      'moodle/user:editownmessageprofile' => array(      
888  
889          'captype' => 'write',     
890          'contextlevel' => CONTEXT_SYSTEM,      
891          'legacy' => array(   
892              'guest' => CAP_PROHIBIT,
893              'user' => CAP_ALLOW,
894              'admin' => CAP_ALLOW
895          )    
896      ),
898     'moodle/question:managecategory' => array(
899         'riskbitmask' => RISK_SPAM | RISK_XSS,
900         'captype' => 'write',
901         'contextlevel' => CONTEXT_COURSE,
902         'legacy' => array(
903             'editingteacher' => CAP_ALLOW,
904             'admin' => CAP_ALLOW
905         )
906     ),
908     //new in moodle 1.9
909     'moodle/question:add' => array(
910         'riskbitmask' => RISK_SPAM | RISK_XSS,
911         'captype' => 'write',
912         'contextlevel' => CONTEXT_COURSE,
913         'legacy' => array(
914             'editingteacher' => CAP_ALLOW,
915             'admin' => CAP_ALLOW
916         ),
917         'clonepermissionsfrom' =>  'moodle/question:manage'
918     ),
919     'moodle/question:editmine' => array(
920         'riskbitmask' => RISK_SPAM | RISK_XSS,
921         'captype' => 'write',
922         'contextlevel' => CONTEXT_COURSE,
923         'legacy' => array(
924             'editingteacher' => CAP_ALLOW,
925             'admin' => CAP_ALLOW
926         ),
927         'clonepermissionsfrom' =>  'moodle/question:manage'
928     ),
929     'moodle/question:editall' => array(
930         'riskbitmask' => RISK_SPAM | RISK_XSS,
931         'captype' => 'write',
932         'contextlevel' => CONTEXT_COURSE,
933         'legacy' => array(
934             'editingteacher' => CAP_ALLOW,
935             'admin' => CAP_ALLOW
936         ),
937         'clonepermissionsfrom' =>  'moodle/question:manage'
938     ),
939     'moodle/question:viewmine' => array(
940         'captype' => 'read',
941         'contextlevel' => CONTEXT_COURSE,
942         'legacy' => array(
943             'editingteacher' => CAP_ALLOW,
944             'admin' => CAP_ALLOW
945         ),
946         'clonepermissionsfrom' =>  'moodle/question:manage'
947     ),
948     'moodle/question:viewall' => array(
949         'captype' => 'read',
950         'contextlevel' => CONTEXT_COURSE,
951         'legacy' => array(
952             'editingteacher' => CAP_ALLOW,
953             'admin' => CAP_ALLOW
954         ),
955         'clonepermissionsfrom' =>  'moodle/question:manage'
956     ),
957     'moodle/question:usemine' => array(
958         'captype' => 'read',
959         'contextlevel' => CONTEXT_COURSE,
960         'legacy' => array(
961             'editingteacher' => CAP_ALLOW,
962             'admin' => CAP_ALLOW
963         ),
964         'clonepermissionsfrom' =>  'moodle/question:manage'
965     ),
966     'moodle/question:useall' => array(
967         'captype' => 'read',
968         'contextlevel' => CONTEXT_COURSE,
969         'legacy' => array(
970             'editingteacher' => CAP_ALLOW,
971             'admin' => CAP_ALLOW
972         ),
973         'clonepermissionsfrom' =>  'moodle/question:manage'
974     ),
975     'moodle/question:movemine' => array(
976         'captype' => 'write',
977         'contextlevel' => CONTEXT_COURSE,
978         'legacy' => array(
979             'editingteacher' => CAP_ALLOW,
980             'admin' => CAP_ALLOW
981         ),
982         'clonepermissionsfrom' =>  'moodle/question:manage'
983     ),
984     'moodle/question:moveall' => array(
985         'captype' => 'write',
986         'contextlevel' => CONTEXT_COURSE,
987         'legacy' => array(
988             'editingteacher' => CAP_ALLOW,
989             'admin' => CAP_ALLOW
990         ),
991         'clonepermissionsfrom' =>  'moodle/question:manage'
992     ),
993     //END new in moodle 1.9
995     // Configure the installed question types.
996     'moodle/question:config' => array(
997         'riskbitmask' => RISK_CONFIG,
998         'captype' => 'write',
999         'contextlevel' => CONTEXT_SYSTEM,
1000         'legacy' => array(
1001             'admin' => CAP_ALLOW
1002         )
1003     ),
1005     // While attempting questions, the ability to flag particular questions for later reference.
1006     'moodle/question:flag' => array(
1007         'captype' => 'write',
1008         'contextlevel' => CONTEXT_COURSE,
1009         'legacy' => array(
1010             'student' => CAP_ALLOW,
1011             'teacher' => CAP_ALLOW,
1012             'editingteacher' => CAP_ALLOW,
1013             'coursecreator' => CAP_ALLOW,
1014             'admin' => CAP_ALLOW
1015         )
1016     ),
1018     'moodle/site:doclinks' => array(
1019         'captype' => 'read',
1020         'contextlevel' => CONTEXT_SYSTEM,
1021         'legacy' => array(
1022             'teacher' => CAP_ALLOW,
1023             'editingteacher' => CAP_ALLOW,
1024             'admin' => CAP_ALLOW
1025         )
1026     ),
1028     'moodle/course:sectionvisibility' => array(
1030         'captype' => 'write',
1031         'contextlevel' => CONTEXT_COURSE,
1032         'legacy' => array(
1033             'editingteacher' => CAP_ALLOW,
1034             'admin' => CAP_ALLOW
1035         )
1036     ),
1038     'moodle/course:useremail' => array(
1040         'captype' => 'write',
1041         'contextlevel' => CONTEXT_COURSE,
1042         'legacy' => array(
1043             'editingteacher' => CAP_ALLOW,
1044             'admin' => CAP_ALLOW
1045         )
1046     ),
1048     'moodle/course:viewhiddensections' => array(
1050         'captype' => 'write',
1051         'contextlevel' => CONTEXT_COURSE,
1052         'legacy' => array(
1053             'editingteacher' => CAP_ALLOW,
1054             'admin' => CAP_ALLOW
1055         )
1056     ),
1058     'moodle/course:setcurrentsection' => array(
1060         'captype' => 'write',
1061         'contextlevel' => CONTEXT_COURSE,
1062         'legacy' => array(
1063             'editingteacher' => CAP_ALLOW,
1064             'admin' => CAP_ALLOW
1065         )
1066     ),
1068     'moodle/site:mnetlogintoremote' => array(
1069         'riskbitmask' => RISK_PERSONAL | RISK_XSS,
1070         'captype' => 'read',
1071         'contextlevel' => CONTEXT_SYSTEM,
1072         'legacy' => array(
1073             'admin' => CAP_ALLOW
1074         )
1075     ),
1077     'moodle/grade:viewall' => array(
1078         'riskbitmask' => RISK_PERSONAL,
1079         'captype' => 'read',
1080         'contextlevel' => CONTEXT_COURSE, // and CONTEXT_USER
1081         'legacy' => array(
1082             'teacher' => CAP_ALLOW,
1083             'editingteacher' => CAP_ALLOW,
1084             'admin' => CAP_ALLOW
1085         ),
1086         'clonepermissionsfrom' => 'moodle/course:viewcoursegrades'
1087     ),
1089     'moodle/grade:view' => array(
1090         'captype' => 'read',
1091         'contextlevel' => CONTEXT_COURSE,
1092         'legacy' => array(
1093             'student' => CAP_ALLOW
1094         )
1095     ),
1097     'moodle/grade:viewhidden' => array(
1098         'riskbitmask' => RISK_PERSONAL,
1099         'captype' => 'read',
1100         'contextlevel' => CONTEXT_COURSE,
1101         'legacy' => array(
1102             'teacher' => CAP_ALLOW,
1103             'editingteacher' => CAP_ALLOW,
1104             'admin' => CAP_ALLOW
1105         ),
1106         'clonepermissionsfrom' => 'moodle/course:viewcoursegrades'
1107     ),
1109     'moodle/grade:import' => array(
1110         'riskbitmask' => RISK_PERSONAL | RISK_XSS,
1111         'captype' => 'write',
1112         'contextlevel' => CONTEXT_COURSE,
1113         'legacy' => array(
1114             'editingteacher' => CAP_ALLOW,
1115             'admin' => CAP_ALLOW
1116         ),
1117         'clonepermissionsfrom' => 'moodle/course:managegrades'
1118     ),
1120     'moodle/grade:export' => array(
1121         'riskbitmask' => RISK_PERSONAL,
1122         'captype' => 'read',
1123         'contextlevel' => CONTEXT_COURSE,
1124         'legacy' => array(
1125             'teacher' => CAP_ALLOW,
1126             'editingteacher' => CAP_ALLOW,
1127             'admin' => CAP_ALLOW
1128         ),
1129         'clonepermissionsfrom' => 'moodle/course:managegrades'
1130     ),
1132     'moodle/grade:manage' => array(
1133         'riskbitmask' => RISK_PERSONAL | RISK_XSS,
1134         'captype' => 'write',
1135         'contextlevel' => CONTEXT_COURSE,
1136         'legacy' => array(
1137             'editingteacher' => CAP_ALLOW,
1138             'admin' => CAP_ALLOW
1139         ),
1140         'clonepermissionsfrom' => 'moodle/course:managegrades'
1141     ),
1143     'moodle/grade:edit' => array(
1144         'riskbitmask' => RISK_PERSONAL | RISK_XSS,
1145         'captype' => 'write',
1146         'contextlevel' => CONTEXT_COURSE,
1147         'legacy' => array(
1148             'editingteacher' => CAP_ALLOW,
1149             'admin' => CAP_ALLOW
1150         ),
1151         'clonepermissionsfrom' => 'moodle/course:managegrades'
1152     ),
1154     'moodle/grade:manageoutcomes' => array(
1155         'captype' => 'write',
1156         'contextlevel' => CONTEXT_COURSE,
1157         'legacy' => array(
1158             'editingteacher' => CAP_ALLOW,
1159             'admin' => CAP_ALLOW
1160         ),
1161         'clonepermissionsfrom' => 'moodle/course:managegrades'
1162     ),
1164     'moodle/grade:manageletters' => array(
1165         'captype' => 'write',
1166         'contextlevel' => CONTEXT_COURSE,
1167         'legacy' => array(
1168             'editingteacher' => CAP_ALLOW,
1169             'admin' => CAP_ALLOW
1170         ),
1171         'clonepermissionsfrom' => 'moodle/course:managegrades'
1172     ),
1174     'moodle/grade:hide' => array(
1175         'captype' => 'write',
1176         'contextlevel' => CONTEXT_COURSE,
1177         'legacy' => array(
1178             'editingteacher' => CAP_ALLOW,
1179             'admin' => CAP_ALLOW
1180         )
1181     ),
1183     'moodle/grade:lock' => array(
1184         'captype' => 'write',
1185         'contextlevel' => CONTEXT_COURSE,
1186         'legacy' => array(
1187             'editingteacher' => CAP_ALLOW,
1188             'admin' => CAP_ALLOW
1189         )
1190     ),
1192     'moodle/grade:unlock' => array(
1193         'captype' => 'write',
1194         'contextlevel' => CONTEXT_COURSE,
1195         'legacy' => array(
1196             'editingteacher' => CAP_ALLOW,
1197             'admin' => CAP_ALLOW
1198         )
1199     ),
1201     'moodle/my:manageblocks' => array(
1202         'captype' => 'write',
1203         'contextlevel' => CONTEXT_SYSTEM,
1204         'legacy' => array(
1205             'user' => CAP_ALLOW
1206         )
1207     ),
1209     'moodle/notes:view' => array(
1210         'captype' => 'read',
1211         'contextlevel' => CONTEXT_COURSE,
1212         'legacy' => array(
1213             'teacher' => CAP_ALLOW,
1214             'editingteacher' => CAP_ALLOW,
1215             'admin' => CAP_ALLOW
1216         )
1217     ),
1219     'moodle/notes:manage' => array(
1220         'riskbitmask' => RISK_SPAM,
1222         'captype' => 'write',
1223         'contextlevel' => CONTEXT_COURSE,
1224         'legacy' => array(
1225             'teacher' => CAP_ALLOW,
1226             'editingteacher' => CAP_ALLOW,
1227             'admin' => CAP_ALLOW
1228         )
1229     ),
1231     'moodle/tag:manage' => array(
1232         'riskbitmask' => RISK_SPAM,
1234         'captype' => 'write',
1235         'contextlevel' => CONTEXT_SYSTEM,
1236         'legacy' => array(
1237             'teacher' => CAP_ALLOW,
1238             'editingteacher' => CAP_ALLOW,
1239             'admin' => CAP_ALLOW
1240         )
1241     ),
1243     'moodle/tag:create' => array(
1244         'riskbitmask' => RISK_SPAM,
1246         'captype' => 'write',
1247         'contextlevel' => CONTEXT_SYSTEM,
1248         'legacy' => array(
1249             'admin' => CAP_ALLOW,
1250             'user' => CAP_ALLOW
1251         )
1252     ),
1254     'moodle/tag:edit' => array(
1255         'riskbitmask' => RISK_SPAM,
1257         'captype' => 'write',
1258         'contextlevel' => CONTEXT_SYSTEM,
1259         'legacy' => array(
1260             'admin' => CAP_ALLOW,
1261             'user' => CAP_ALLOW
1262         )
1263     ),
1265     'moodle/tag:editblocks' => array(
1266         'captype' => 'write',
1267         'contextlevel' => CONTEXT_SYSTEM,
1268         'legacy' => array(
1269             'teacher' => CAP_ALLOW,
1270             'editingteacher' => CAP_ALLOW,
1271             'admin' => CAP_ALLOW
1272         )
1273     ),
1275     'moodle/block:view' => array(
1276         'captype' => 'read',
1277         'contextlevel' => CONTEXT_BLOCK,
1278         'legacy' => array(
1279             'guest' => CAP_ALLOW,
1280             'user' => CAP_ALLOW,
1281             'student' => CAP_ALLOW,
1282             'teacher' => CAP_ALLOW,
1283             'editingteacher' => CAP_ALLOW,
1284             'coursecreator' => CAP_ALLOW
1285         )
1286     ),
1288     'moodle/portfolio:export' => array(
1289         'captype' => 'read',
1290         'contextlevel' => CONTEXT_SYSTEM,
1291         'legacy' => array(
1292             'user' => CAP_ALLOW,
1293             'student' => CAP_ALLOW,
1294             'teacher' => CAP_ALLOW,
1295             'editingteacher' => CAP_ALLOW,
1296             'coursecreator' => CAP_ALLOW
1297         )
1298     )
1299 );
1302 ?>