35 $consumer = $source->getConsumer();
36 parent::__construct($consumer,
$endpoint,
'application/vnd.ims.lis.v2.membershipcontainer+json');
37 $this->source = $source;
48 public function get($role =
null, $limit = 0)
50 $isLink = is_a($this->source,
'ceLTIc\LTI\ResourceLink');
51 $parameters = array();
53 $parameters[
'role'] = $role;
56 $parameters[
'limit'] = strval($limit);
59 $parameters[
'rlid'] = $this->source->getId();
61 $http = $this->
send(
'GET', $parameters);
65 $userResults = array();
69 foreach ($http->responseJson->pageOf->membershipSubject->membership as $membership) {
70 $member = $membership->member;
75 $userresult->ltiUserId = $member->userId;
79 $firstname = (isset($member->givenName)) ? $member->givenName :
'';
80 $lastname = (isset($member->familyName)) ? $member->familyName :
'';
81 $fullname = (isset($member->name)) ? $member->name :
'';
82 $userresult->setNames($firstname, $lastname, $fullname);
85 $email = (isset($member->email)) ? $member->email :
'';
86 $userresult->setEmail($email, $this->source->getConsumer()->defaultEmail);
89 if (isset($membership->role)) {
95 if (isset($member->message)) {
96 foreach ($member->message as $message) {
97 if (isset($message->message_type) && (($message->message_type ===
'basic-lti-launch-request') || (strtolower($message->message_type) ===
'ltiresourcelinkrequest'))) {
98 if (isset($message->lis_result_sourcedid)) {
99 $userresult->ltiResultSourcedId = $message->lis_result_sourcedid;
107 $userResults[] = $userresult;
117 foreach ($oldUsers as $id => $userresult) {
118 $userresult->delete();
$endpoint
Service endpoint.
static fromResourceLink($resourceLink, $ltiUserId)
Class constructor from resource link.
Class to implement a service.
__construct($source, $endpoint)
Class constructor.
Class to represent a tool consumer context.
Class to implement the Membership service.
send($method, $parameters=array(), $body=null)
Send a service request.
Class to represent a tool consumer user.
Class to represent a tool consumer resource link.