ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
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 {
23 }
24
31 public function getDirectoryTrees($a_mid = 0)
32 {
33 global $DIC;
34
35 $ilLog = $DIC['ilLog'];
36
37 $this->path_postfix = '/campusconnect/directory_trees';
38
39 try {
40 $this->prepareConnection();
41 $this->setHeader(array());
42 $this->addHeader('Accept', 'text/uri-list');
43 $this->addHeader('X-EcsQueryStrings', 'all=true');
44 if ($a_mid) {
45 $this->addHeader('X-EcsReceiverMemberships', $a_mid);
46 }
47
48 $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
49 $res = $this->call();
50
51 $ecsResult = new ilECSResult($res, false, ilECSResult::RESULT_TYPE_URL_LIST);
52 return $ecsResult->getResult();
53 } catch (ilCurlConnectionException $exc) {
54 throw new ilECSConnectorException('Error calling ECS service: ' . $exc->getMessage());
55 }
56 }
57
62 public function getDirectoryTree($tree_id)
63 {
64 $this->path_postfix = '/campusconnect/directory_trees/' . (int) $tree_id;
65
66 try {
67 $this->prepareConnection();
68 $this->setHeader(array());
69 $this->addHeader('Accept', 'text/uri-list');
70 $this->curl->setOpt(CURLOPT_HTTPHEADER, $this->getHeader());
71 $res = $this->call();
72
73 if (substr($res, 0, 4) == 'http') {
74 $json = file_get_contents($res);
75 $ecs_result = new ilECSResult($json);
76 } else {
77 $ecs_result = new ilECSResult($res);
78 }
79 return $ecs_result;
81 throw new ilECSConnectorException('Error calling ECS service: ' . $e->getMessage());
82 }
83 }
84}
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
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
foreach($_POST as $key=> $value) $res
$DIC
Definition: xapitoken.php:46