]> git.mjollnir.org Git - moodle.git/commitdiff
modifying get_user_by_capability to handle requests on frontpage courses and sub...
authortoyomoyo <toyomoyo>
Thu, 27 Sep 2007 01:46:41 +0000 (01:46 +0000)
committertoyomoyo <toyomoyo>
Thu, 27 Sep 2007 01:46:41 +0000 (01:46 +0000)
lib/accesslib.php

index 896748889796c6d1d37ae4e2c23f7c115b31a96c..3051cec23538e93b5a439f96b915c744e0b585aa 100755 (executable)
@@ -4010,6 +4010,16 @@ function get_users_by_capability($context, $capability, $fields='', $sort='',
         $view=false, $useviewallgroups=false) {
     global $CFG;
 
+/// check for front page course, and see if default front page role has the required capability
+    
+    $frontpagectx = get_context_instance(CONTEXT_COURSE, SITEID);
+    if ($CFG->defaultfrontpageroleid && ($context->id == $frontpagectx->id || strstr($context->path, '/'.$cfrontpagectx->id.'/'))) {
+        $roles = get_roles_with_capability($capability, CAP_ALLOW, $context);
+        if (in_array($CFG->defaultfrontpageroleid, array_keys($roles))) {
+            return get_records_sql("SELECT $fields FROM {$CFG->prefix}user ORDER BY $sort, $limitfrom, $limitnum"); 
+        }
+    }
+
 /// Sorting out groups
     if ($groups) {
         if (is_array($groups)) {