ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilECSEnrolmentStatusConnector Class Reference

Connector for course member ressource. More...

+ Inheritance diagram for ilECSEnrolmentStatusConnector:
+ Collaboration diagram for ilECSEnrolmentStatusConnector:

Public Member Functions

 getEnrolmentStatus ($a_enrole_id=0, $a_details=false)
 Get single directory tree. More...
 
 addEnrolmentStatus (ilECSEnrolmentStatus $enrolment, $a_target_mid)
 Add new enrolment status. More...
 
- Public Member Functions inherited from ilECSConnector
 __construct (?ilECSSetting $settings=null)
 
 addHeader (string $a_name, string $a_value)
 Add Header. More...
 
 getHeader ()
 
 setHeader (array $a_header_strings)
 
 getServer ()
 Get current server setting. More...
 
 addAuth (string $a_post, int $a_target_mid)
 Add auth resource. More...
 
 getAuth (string $a_hash, bool $a_details_only=false)
 get auth resource More...
 
 readEventFifo (bool $a_delete=false)
 Read event fifo. More...
 
 getResourceList (string $a_path)
 
 getResource (string $a_path, int $a_econtent_id, bool $a_details_only=false)
 Get resources from ECS server. More...
 
 addResource (string $a_path, $a_post)
 Add resource. More...
 
 updateResource (string $a_path, int $a_econtent_id, string $a_post_string)
 update resource More...
 
 deleteResource (string $a_path, int $a_econtent_id)
 Delete resource. More...
 
 getMemberships (int $a_mid=0)
 

Additional Inherited Members

- Data Fields inherited from ilECSConnector
const HTTP_CODE_CREATED = 201
 
const HTTP_CODE_OK = 200
 
const HTTP_CODE_NOT_FOUND = 404
 
const HEADER_MEMBERSHIPS = 'X-EcsReceiverMemberships'
 
const HEADER_COMMUNITIES = 'X-EcsReceiverCommunities'
 
- Protected Member Functions inherited from ilECSConnector
 prepareConnection ()
 prepare connection More...
 
 call ()
 call peer More...
 
- Protected Attributes inherited from ilECSConnector
string $path_postfix = ''
 
ilECSSetting $settings = null
 
ilCurlConnection $curl = null
 
array $header_strings = []
 
ilLogger $logger
 

Detailed Description

Connector for course member ressource.

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e

Definition at line 25 of file class.ilECSEnrolmentStatusConnector.php.

Member Function Documentation

◆ addEnrolmentStatus()

ilECSEnrolmentStatusConnector::addEnrolmentStatus ( ilECSEnrolmentStatus  $enrolment,
  $a_target_mid 
)

Add new enrolment status.

Definition at line 75 of file class.ilECSEnrolmentStatusConnector.php.

76 {
77 $this->logger->info('Add new enrolment status');
78
79 $this->path_postfix = '/campusconnect/member_status';
80
81 try {
82 $this->prepareConnection();
83
84 $this->addHeader('Content-Type', 'application/json');
85 $this->addHeader('Accept', 'application/json');
86 $this->addHeader(ilECSConnector::HEADER_MEMBERSHIPS, (string) $a_target_mid);
87 #$this->addHeader(ilECSConnector::HEADER_MEMBERSHIPS, 1);
88
89 $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
90 $this->curl->setOpt(CURLOPT_POST, true);
91 $this->curl->setOpt(CURLOPT_POSTFIELDS, json_encode($enrolment, JSON_THROW_ON_ERROR));
92 $ret = $this->call();
93
94 $info = $this->curl->getInfo(CURLINFO_HTTP_CODE);
95
96 $this->logger->debug(': Checking HTTP status...');
97 if ($info !== self::HTTP_CODE_CREATED) {
98 $this->logger->debug(': Cannot create auth resource, did not receive HTTP 201. ');
99 $this->logger->debug(': POST was: ' . print_r($enrolment, true));
100 $this->logger->debug(': HTTP code: ' . $info);
101 throw new ilECSConnectorException('Received HTTP status code: ' . $info);
102 }
103 $this->logger->debug(': ... got HTTP 201 (created)');
104
105 $result = new ilECSResult($ret);
106 $enrolment_res = $result->getResult();
107
108 $this->logger->debug(': ... Received result: ' . print_r($enrolment_res, true));
109
110 return $enrolment_res;
111 } catch (ilCurlConnectionException $exc) {
112 throw new ilECSConnectorException('Error calling ECS service: ' . $exc->getMessage());
113 }
114 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
addHeader(string $a_name, string $a_value)
Add Header.
prepareConnection()
prepare connection
$info
Definition: entry_point.php:21

References $info, ilECSConnector\addHeader(), ilECSConnector\call(), ilECSConnector\getHeader(), ilECSConnector\HEADER_MEMBERSHIPS, ILIAS\Repository\logger(), and ilECSConnector\prepareConnection().

+ Here is the call graph for this function:

◆ getEnrolmentStatus()

ilECSEnrolmentStatusConnector::getEnrolmentStatus (   $a_enrole_id = 0,
  $a_details = false 
)

Get single directory tree.

Returns
ilECSEContentDetails|ilECSEnrolmentStatus object of EContentDetails or object of ECSEnrolmentStatus

Definition at line 31 of file class.ilECSEnrolmentStatusConnector.php.

32 {
33 if ($a_enrole_id) {
34 $this->path_postfix = '/campusconnect/member_status/' . (int) $a_enrole_id;
35 }
36 if ($a_details && $a_enrole_id) {
37 $this->path_postfix .= '/details';
38 }
39
40 try {
41 $this->prepareConnection();
42 $this->setHeader(array());
43 if ($a_details) {
44 $this->addHeader('Accept', 'application/json');
45 }
46 $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
47 $res = $this->call();
48
49 if (strpos($res, 'http') === 0) {
50 $json = file_get_contents($res);
51 $ecs_result = new ilECSResult($json);
52 } else {
53 $ecs_result = new ilECSResult($res);
54 }
55
56 // Return ECSEContentDetails for details switch
57 if ($a_details) {
58 $details = new ilECSEContentDetails();
59 $this->logger->debug(print_r($res, true));
60 $details->loadFromJson($ecs_result->getResult());
61 return $details;
62 }
63 $enrolment = new ilECSEnrolmentStatus();
64 $enrolment->loadFromJson($ecs_result->getResult());
65 return $enrolment;
67 throw new ilECSConnectorException('Error calling ECS service: ' . $e->getMessage());
68 }
69 }
setHeader(array $a_header_strings)
Presentation of ecs content details (http://...campusconnect/courselinks/id/details)
Presentation of ecs enrolment status.
$res
Definition: ltiservices.php:69

References Vendor\Package\$e, $res, ilECSConnector\addHeader(), ilECSConnector\call(), ilECSConnector\getHeader(), ILIAS\Repository\int(), ILIAS\Repository\logger(), ilECSConnector\prepareConnection(), and ilECSConnector\setHeader().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: