From fbf6cfe6fc85716d72c00acabcdbfe7e1b01af87 Mon Sep 17 00:00:00 2001 From: Jerome Mouneyrac Date: Tue, 17 Apr 2012 18:08:55 +0800 Subject: [PATCH] MDL-30225 Creating new web service tokens create error --- webservice/lib.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webservice/lib.php b/webservice/lib.php index 5364613be95..8ea3e02d367 100644 --- a/webservice/lib.php +++ b/webservice/lib.php @@ -515,9 +515,9 @@ class webservice { public function get_user_capabilities($userid) { global $DB; //retrieve the user capabilities - $sql = "SELECT rc.id, rc.capability FROM {role_capabilities} rc, {role_assignments} ra - WHERE rc.roleid=ra.roleid AND ra.userid= ?"; - $dbusercaps = $DB->get_records_sql($sql, array($userid)); + $sql = "SELECT DISTINCT rc.id, rc.capability FROM {role_capabilities} rc, {role_assignments} ra + WHERE rc.roleid=ra.roleid AND ra.userid= ? AND rc.permission = ?"; + $dbusercaps = $DB->get_records_sql($sql, array($userid, CAP_ALLOW)); $usercaps = array(); foreach ($dbusercaps as $usercap) { $usercaps[$usercap->capability] = true;