access.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. /**
  3. * Capability definitions for the iAssign module.
  4. * For instance, this is used when anyone, under role smaller then teacher, try to edit any iAssign activity, trying
  5. * http://.../<your_moodle>/mod/iassign/view.php?action=edit&id=2&iassign_current=1&iassign_up=1&iassign_down=65
  6. * then 'locallib.php!iassign->__construct(...)' block the access using
  7. * "if (!has_capability('mod/iassign:evaluateiassign', $this->context, $USER->id))"
  8. *
  9. * The system has four possible values for a capability:
  10. * - CAP_ALLOW
  11. * - CAP_PREVENT
  12. * - CAP_PROHIBIT
  13. * - CAP_INHERIT
  14. * Hardening_new_Roles_system: <a href="http://docs.moodle.org/en/Development">http://docs.moodle.org/en/Development</a>
  15. * - manager - manageristrators can do anything at all courses.
  16. * - coursecreator - Creators can create new courses to courses and act as teachers.
  17. * - editingteacher - Teachers can do everything on a course, change, and evaluate activities.
  18. * - teacher - Moderators can interact and evaluate but can not modify the activities.
  19. * - student - Students usually have fewer privileges on a course.
  20. * - guest - Guests have minimal privileges and can not publish texts.
  21. * - user - All users who login.
  22. *
  23. * @author Patricia Alves Rodrigues
  24. * @author Leo^idas de Oliveira Branda~o
  25. *
  26. * @version v 1.1 2023/05/25 additional explanation of has_capability(.)
  27. * @version v 1.0 2010/09/27
  28. * @package mod_iassign_db
  29. * @since 2010/09/27
  30. * @copyleft iMath (<a href="http://www.matematica.br">iMath</a>) - Computer Science Dep. of IME-USP (Brazil)
  31. *
  32. * <b>License</b>
  33. * - http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  34. */
  35. $capabilities = array(
  36. 'mod/iassign:view' => array(
  37. 'captype' => 'read',
  38. 'contextlevel' => CONTEXT_MODULE,
  39. 'legacy' => array(
  40. 'guest' => CAP_ALLOW,
  41. 'student' => CAP_ALLOW,
  42. 'teacher' => CAP_ALLOW,
  43. 'editingteacher' => CAP_ALLOW,
  44. 'coursecreator' => CAP_ALLOW,
  45. 'manager' => CAP_ALLOW
  46. )
  47. ),
  48. 'mod/iassign:editiassign' => array(
  49. 'captype' => 'write',
  50. 'contextlevel' => CONTEXT_MODULE,
  51. 'legacy' => array(
  52. 'editingteacher' => CAP_ALLOW,
  53. 'coursecreator' => CAP_ALLOW,
  54. 'manager' => CAP_ALLOW
  55. )
  56. ),
  57. 'mod/iassign:evaluateiassign' => array(
  58. 'riskbitmask' => RISK_XSS,
  59. 'captype' => 'write',
  60. 'contextlevel' => CONTEXT_MODULE,
  61. 'legacy' => array(
  62. 'teacher' => CAP_ALLOW,
  63. 'editingteacher' => CAP_ALLOW,
  64. 'coursecreator' => CAP_ALLOW,
  65. 'manager' => CAP_ALLOW
  66. )
  67. ),
  68. 'mod/iassign:viewiassignall' => array(
  69. 'captype' => 'read',
  70. 'contextlevel' => CONTEXT_MODULE,
  71. 'legacy' => array(
  72. 'teacher' => CAP_ALLOW,
  73. 'editingteacher' => CAP_ALLOW,
  74. 'coursecreator' => CAP_ALLOW,
  75. 'manager' => CAP_ALLOW
  76. )
  77. ),
  78. 'mod/iassign:viewreport' => array(
  79. 'captype' => 'read',
  80. 'contextlevel' => CONTEXT_MODULE,
  81. 'legacy' => array(
  82. 'teacher' => CAP_ALLOW,
  83. 'editingteacher' => CAP_ALLOW,
  84. 'coursecreator' => CAP_ALLOW,
  85. 'manager' => CAP_ALLOW
  86. )
  87. ),
  88. 'mod/iassign:submitiassign' => array(
  89. 'captype' => 'write',
  90. 'contextlevel' => CONTEXT_MODULE,
  91. 'legacy' => array(
  92. 'student' => CAP_ALLOW
  93. )
  94. ),
  95. 'mod/iassign:deleteiassignnull' => array(
  96. 'riskbitmask' => RISK_XSS,
  97. 'captype' => 'write',
  98. 'contextlevel' => CONTEXT_MODULE,
  99. 'legacy' => array(
  100. 'editingteacher' => CAP_ALLOW,
  101. 'coursecreator' => CAP_ALLOW,
  102. 'manager' => CAP_ALLOW
  103. )
  104. ),
  105. 'mod/iassign:deleteiassignnotnull' => array(
  106. 'riskbitmask' => RISK_XSS,
  107. 'captype' => 'write',
  108. 'contextlevel' => CONTEXT_MODULE,
  109. 'legacy' => array(
  110. 'manager' => CAP_ALLOW
  111. )
  112. ),
  113. 'mod/iassign:addinstance' => array(
  114. 'riskbitmask' => RISK_XSS,
  115. 'captype' => 'write',
  116. 'contextlevel' => CONTEXT_COURSE,
  117. 'archetypes' => array(
  118. 'editingteacher' => CAP_ALLOW,
  119. 'manager' => CAP_ALLOW
  120. ),
  121. 'clonepermissionsfrom' => 'moodle/course:manageactivities'
  122. ),
  123. 'mod/iassign:runautoevaluate' => array(
  124. 'captype' => 'read',
  125. 'contextlevel' => CONTEXT_MODULE,
  126. 'legacy' => array(
  127. 'teacher' => CAP_ALLOW,
  128. 'editingteacher' => CAP_ALLOW,
  129. 'coursecreator' => CAP_ALLOW,
  130. 'manager' => CAP_ALLOW
  131. )
  132. )
  133. );