MDL-55358 mod_lti: Add group variable Moodle.Person.userGroupIds
This commit is contained in:
+21
-3
@@ -373,7 +373,7 @@ function lti_build_sourcedid($instanceid, $userid, $servicesalt, $typeid = null,
|
||||
* @return array Request details
|
||||
*/
|
||||
function lti_build_request($instance, $typeconfig, $course, $typeid = null, $islti2 = false) {
|
||||
global $USER, $COURSE, $CFG;
|
||||
global $USER, $CFG;
|
||||
|
||||
if (empty($instance->cmid)) {
|
||||
$instance->cmid = 0;
|
||||
@@ -385,7 +385,6 @@ function lti_build_request($instance, $typeconfig, $course, $typeid = null, $isl
|
||||
'user_id' => $USER->id,
|
||||
'lis_person_sourcedid' => $USER->idnumber,
|
||||
'roles' => $role,
|
||||
'groups' => implode(",", groups_get_user_groups($COURSE->id, $USER->id)[0]),
|
||||
'context_id' => $course->id,
|
||||
'context_label' => trim(html_to_text($course->shortname, 0)),
|
||||
'context_title' => trim(html_to_text($course->fullname, 0)),
|
||||
@@ -1248,6 +1247,8 @@ function lti_parse_custom_parameter($toolproxy, $tool, $params, $value, $islti2)
|
||||
$value = str_replace('<br>' , ' ', $value);
|
||||
$value = format_string($value);
|
||||
}
|
||||
} else {
|
||||
$value = lti_calculate_custom_parameter($value1);
|
||||
}
|
||||
} else if ($islti2) {
|
||||
$val = $value;
|
||||
@@ -1266,6 +1267,23 @@ function lti_parse_custom_parameter($toolproxy, $tool, $params, $value, $islti2)
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the value of a custom parameter that has not been specified earlier
|
||||
*
|
||||
* @param string $value Custom parameter value
|
||||
*
|
||||
* @return string Calculated value of custom parameter
|
||||
*/
|
||||
function lti_calculate_custom_parameter($value) {
|
||||
global $USER, $COURSE;
|
||||
|
||||
switch ($value) {
|
||||
case 'Moodle.Person.userGroupIds':
|
||||
return implode(",", groups_get_user_groups($COURSE->id, $USER->id)[0]);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used for building the names of the different custom parameters
|
||||
*
|
||||
@@ -2556,7 +2574,7 @@ function lti_get_capabilities() {
|
||||
'Membership.role' => 'roles',
|
||||
'Result.sourcedId' => 'lis_result_sourcedid',
|
||||
'Result.autocreate' => 'lis_outcome_service_url',
|
||||
'Group.sourceId' => 'groups');
|
||||
'Moodle.Person.userGroupIds' => null);
|
||||
|
||||
return $capabilities;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user