From: skodak Date: Tue, 9 Dec 2008 16:25:38 +0000 (+0000) Subject: MDL-17502 accesslib: added warning if incorrect parameters supplied to has_all_capabi... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=3ce50127b91456191608479653679ebe8a0f96af;p=moodle.git MDL-17502 accesslib: added warning if incorrect parameters supplied to has_all_capabilities() and fixed parameters in course lib code --- diff --git a/course/lib.php b/course/lib.php index f07a3b98a3..3464f65e91 100644 --- a/course/lib.php +++ b/course/lib.php @@ -1789,11 +1789,15 @@ function make_categories_list(&$list, &$parents, $requiredcapability = '', } // 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; + } } } diff --git a/lib/accesslib.php b/lib/accesslib.php index 1865f6e5a4..3603875fb4 100755 --- a/lib/accesslib.php +++ b/lib/accesslib.php @@ -512,6 +512,10 @@ function has_any_capability($capabilities, $context, $userid=NULL, $doanything=t * @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;