ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilECSDirectoryTreeConnector.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once './Services/WebServices/ECS/classes/class.ilECSConnector.php';
5include_once './Services/WebServices/ECS/classes/class.ilECSConnectorException.php';
6
14{
15
20 public function __construct(ilECSSetting $settings = null)
21 {
22 parent::__construct($settings);
23 }
24
31 public function getDirectoryTrees($a_mid = 0)
32 {
33 global $ilLog;
34
35 $this->path_postfix = '/campusconnect/directory_trees';
36
37 try {
38 $this->prepareConnection();
39 $this->setHeader(array());
40 $this->addHeader('Accept', 'text/uri-list');
41 $this->addHeader('X-EcsQueryStrings', 'all=true');
42 if ($a_mid) {
43 $this->addHeader('X-EcsReceiverMemberships', $a_mid);
44 }
45
46 $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
47 $res = $this->call();
48
49 $ecsResult = new ilECSResult($res, false, ilECSResult::RESULT_TYPE_URL_LIST);
50 return $ecsResult->getResult();
51 } catch (ilCurlConnectionException $exc) {
52 throw new ilECSConnectorException('Error calling ECS service: ' . $exc->getMessage());
53 }
54 }
55
60 public function getDirectoryTree($tree_id)
61 {
62 $this->path_postfix = '/campusconnect/directory_trees/' . (int) $tree_id;
63
64 try {
65 $this->prepareConnection();
66 $this->setHeader(array());
67 $this->addHeader('Accept', 'text/uri-list');
68 $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
69 $res = $this->call();
70
71 if (substr($res, 0, 4) == 'http') {
72 $json = file_get_contents($res);
73 $ecs_result = new ilECSResult($json);
74 } else {
75 $ecs_result = new ilECSResult($res);
76 }
77 return $ecs_result;
78 } catch (ilCurlConnectionException $e) {
79 throw new ilECSConnectorException('Error calling ECS service: ' . $e->getMessage());
80 }
81 }
82}
An exception for terminatinating execution or to throw for unit testing.
addHeader($a_name, $a_value)
Add Header.
prepareConnection()
prepare connection
setHeader($a_header_strings)
getDirectoryTree($tree_id)
Get single directory tree.
getDirectoryTrees($a_mid=0)
Get directory tree @global ilLog $ilLog.
__construct(ilECSSetting $settings=null)
Constructor.
const RESULT_TYPE_URL_LIST
foreach($_POST as $key=> $value) $res