by tim shannon.
Using this,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
$wsfunctionname = 'enrol_manual_enrol_users';
$restformat = 'xml';
$enrolment = new stdClass();
$enrolment->userid = $user_id;
$enrolment->courseid = $course_id;
$enrolment->roleid = $role_id;
echo '<br>';
echo 'enrolment object';
print_r ($enrolment);
//
$enrolments[] = $enrolment;
$params = array( 'enrolments' => $enrolments );
echo '<br>';
echo 'params array';
echo '<br>';
print_r($params);
echo '<br>';
header('Content-Type: text/plain');
$serverurl = $domainname . "/webservice/rest/server.php?wstoken=" . $wstoken . "&wsfunction=" . $wsfunctionname;
require_once('./curl.php');
$curl = new curl;
$restformat = ($restformat == 'json')?'&moodlewsrestformat=' . $restformat:'';
$resp = $curl->post($serverurl . $restformat, $params);
echo '<br>';
echo 'resp array';
echo '<br>';
print_r($resp);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
has returned me this:
enrolment objectstdClass Object
(
[userid] => 71
[courseid] => 111
[roleid] => 5
)
params array
Array
(
[enrolments] => Array
(
[0] => stdClass Object
(
[userid] => 71
[courseid] => 111
[roleid] => 5
)
)
)
resp array
invalidparameterInvalid parameter value detectedContext does not exist
This is using an object - duplication Alex's code. Using an array produces the same result.
Nesting an array one deeper will produce the Missing required key in single structure: roleid error.
I think it is a permission problem - but after now multiple days it is proving reasonably frustrating.
Any help would be appreciated, tim