foreach ($result as $u) { $user = array("id" => $u->id, "username" => $u->username, "email" => $u->email, "role" => "STUDENT"); array_push($users, $user); } $sql = "SELECT * FROM mdl_course ORDER BY id"; $result = get_records_sql($sql); foreach ($result as $c) { $course = array("id" => $c->id, "shortname" => $c->shortname, "fullname" => $c->fullname); array_push($courses, $course); } $sql = "SELECT * FROM moodle.mdl_role_assignments WHERE roleid = 5 and \n\t\tcontextid IN (SELECT id FROM moodle.mdl_context WHERE contextlevel = 50) ORDER BY id"; $result = get_records_sql($sql); foreach ($result as $e) { $sql = "SELECT * FROM mdl_context WHERE id = {$e->contextid} ORDER BY id"; $context = get_record_sql($sql); $enrollment = array("enrollmentId" => $e->id, "courseId" => $context->instanceid, "userId" => $e->userid); array_push($enrollments, $enrollment); } try { $params = array("user" => $users, "course" => $courses, "enrollment" => $enrollments); $client = new SoapClient(WSDL_QS, array('location' => LOCATION_QS)); $client->syncUsersAndCourses($params); //print_r($users); //print_r($courses); //print_r($enrollments); echo "Finished"; } catch (Exception $e) { print_r($e->getMessage()); } catch (SoapFault $soapfault) { print_r($soapfault->getMessage()); }