Take out debugging & merge branch 'w05_MDL-26198_20_completion' of git://github.com...
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 31 Jan 2011 16:43:22 +0000 (17:43 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 31 Jan 2011 16:43:22 +0000 (17:43 +0100)
1  2 
lib/accesslib.php

@@@ -5529,7 -5538,22 +5530,21 @@@ function user_has_role_assignment($user
      global $DB;
  
      if ($contextid) {
-         return $DB->record_exists('role_assignments', array('userid'=>$userid, 'roleid'=>$roleid, 'contextid'=>$contextid));
+         if (!$context = get_context_instance_by_id($contextid)) {
+             return false;
+         }
+         $parents = get_parent_contexts($context, true);
+         list($contexts, $params) = $DB->get_in_or_equal($parents, SQL_PARAMS_NAMED, 'r0000');
+         $params['userid'] = $userid;
+         $params['roleid'] = $roleid;
+         $sql = "SELECT COUNT(ra.id)
+                   FROM {role_assignments} ra
+                  WHERE ra.userid = :userid AND ra.roleid = :roleid AND ra.contextid $contexts";
+         $count = $DB->get_field_sql($sql, $params);
 -        var_dump($count);
+         return ($count > 0);
      } else {
          return $DB->record_exists('role_assignments', array('userid'=>$userid, 'roleid'=>$roleid));
      }