ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilECSCourseMemberConnector.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once './Services/WebServices/ECS/classes/class.ilECSConnector.php';
5 include_once './Services/WebServices/ECS/classes/class.ilECSConnectorException.php';
6 
14 {
15 
20  public function __construct(ilECSSetting $settings = null)
21  {
23  }
24 
25 
30  public function getCourseMember($course_member_id,$a_details = false)
31  {
32  $this->path_postfix = '/campusconnect/course_members/'. (int) $course_member_id;
33 
34  if($a_details and $course_member_id)
35  {
36  $this->path_postfix .= '/details';
37  }
38 
39  try {
40 
41  $this->prepareConnection();
42  $this->setHeader(array());
43  if($a_details)
44  {
45  $this->addHeader('Accept', 'application/json');
46  }
47  else
48  {
49  #$this->addHeader('Accept', 'text/uri-list');
50  }
51  $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
52  $res = $this->call();
53 
54  if(substr($res, 0, 4) == 'http')
55  {
56  $json = file_get_contents($res);
57  $ecs_result = new ilECSResult($json);
58  }
59  else
60  {
61  $ecs_result = new ilECSResult($res);
62 
63  }
64 
65  // Return ECSEContentDetails for details switch
66  if($a_details)
67  {
68  include_once './Services/WebServices/ECS/classes/class.ilECSEContentDetails.php';
69  $details = new ilECSEContentDetails();
70  $GLOBALS['ilLog']->write(print_r($res,true));
71  $details->loadFromJson($ecs_result->getResult());
72  return $details;
73  }
74 
75  return $ecs_result->getResult();
76  }
77  catch(ilCurlConnectionException $e)
78  {
79  throw new ilECSConnectorException('Error calling ECS service: '.$e->getMessage());
80  }
81  }
82 }
83 ?>