}
// Add this category to $list, if the permissions check out.
- if ($requiredcapability) {
- ensure_context_subobj_present($category, CONTEXT_COURSECAT);
- }
- if (!$requiredcapability || has_all_capabilities($requiredcapability, $category->context)) {
+ if (empty($requiredcapability)) {
$list[$category->id] = $path;
+
+ } else {
+ ensure_context_subobj_present($category, CONTEXT_COURSECAT);
+ $requiredcapability = (array)$requiredcapability;
+ if (has_all_capabilities($requiredcapability, $category->context)) {
+ $list[$category->id] = $path;
+ }
}
}
* @return bool
*/
function has_all_capabilities($capabilities, $context, $userid=NULL, $doanything=true) {
+ if (!is_array($capabilities)) {
+ debugging('Incorrect $capabilities parameter in has_all_capabilities() call - must be an array');
+ return false;
+ }
foreach ($capabilities as $capability) {
if (!has_capability($capability, $context, $userid, $doanything)) {
return false;