ILIAS  release_8 Revision v8.19-1-g4e8f2f9140c
All Data Structures Namespaces Files Functions Variables Modules Pages
ilECSTreeReader Class Reference

Reads and store cms tree in database. More...

+ Collaboration diagram for ilECSTreeReader:

Public Member Functions

 __construct (int $server_id, int $mid)
 Constructor. More...
 
 read ()
 Read trees from ecs. More...
 

Protected Member Functions

 storeTree ($tree_id, $a_nodes)
 

Private Attributes

ilLogger $logger
 
int $server_id
 
int $mid
 

Detailed Description

Reads and store cms tree in database.

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.ilECSTreeReader.php.

Constructor & Destructor Documentation

◆ __construct()

ilECSTreeReader::__construct ( int  $server_id,
int  $mid 
)

Constructor.

Definition at line 35 of file class.ilECSTreeReader.php.

References $DIC, $mid, $server_id, and ILIAS\Repository\logger().

36  {
37  global $DIC;
38 
39  $this->logger = $DIC->logger()->wsrv();
40 
41  $this->server_id = $server_id;
42  $this->mid = $mid;
43  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

Member Function Documentation

◆ read()

ilECSTreeReader::read ( )

Read trees from ecs.

Exceptions
ilECSConnectorException

Definition at line 52 of file class.ilECSTreeReader.php.

References ilECSSetting\getInstanceByServerId(), ILIAS\Repository\logger(), storeTree(), and ilECSCmsData\treeExists().

52  : void
53  {
54  $this->logger->debug('Begin read');
55  $dir_reader = new ilECSDirectoryTreeConnector(
56  ilECSSetting::getInstanceByServerId($this->server_id)
57  );
58  $trees = $dir_reader->getDirectoryTrees();
59  $this->logger->debug(print_r($trees, true));
60  if ($trees instanceof ilECSUriList) {
61  foreach ($trees->getLinkIds() as $tree_id) {
62  if (!ilECSCmsData::treeExists($this->server_id, $this->mid, $tree_id)) {
63  $result = $dir_reader->getDirectoryTree($tree_id);
64  $this->storeTree($tree_id, $result->getResult());
65  }
66  }
67  }
68  }
static treeExists(int $a_server_id, int $a_mid, int $a_tree_id)
Presentation of ecs uril (http://...campusconnect/courselinks)
static getInstanceByServerId(int $a_server_id)
Get singleton instance per server.
storeTree($tree_id, $a_nodes)
+ Here is the call graph for this function:

◆ storeTree()

ilECSTreeReader::storeTree (   $tree_id,
  $a_nodes 
)
protected

Definition at line 70 of file class.ilECSTreeReader.php.

References $data, and ilECSCmsData\lookupObjId().

Referenced by read().

70  : void
71  {
72  $tree = new ilECSCmsTree($tree_id);
73 
74 
75  $cms_tree = $a_nodes;
76 
77  $data = new ilECSCmsData();
78  $data->setServerId($this->server_id);
79  $data->setMid($this->mid);
80  $data->setCmsId($cms_tree->rootID);
81  $data->setTreeId($tree_id);
82  $data->setTitle($cms_tree->directoryTitle);
83  $data->setTerm($cms_tree->term);
84  $data->save();
85 
86  $tree->insertRootNode($tree_id, $data->getObjId());
87  $tree->setRootId($data->getObjId());
88 
89 
90  foreach ((array) $cms_tree->nodes as $node) {
91  // Add data entry
92  $data = new ilECSCmsData();
93  $data->setServerId($this->server_id);
94  $data->setMid($this->mid);
95  $data->setCmsId($node->id);
96  $data->setTreeId($tree_id);
97  $data->setTitle($node->title);
98  $data->setTerm($node->term);
99  $data->save();
100 
101  // add to tree
102  if ($node->parent->id) {
103  $parent_id = ilECSCmsData::lookupObjId(
104  $this->server_id,
105  $this->mid,
106  $tree_id,
107  $node->parent->id
108  );
109  $tree->insertNode($data->getObjId(), $parent_id);
110  }
111  }
112  }
static lookupObjId(int $a_server_id, int $a_mid, int $a_tree_id, string $cms_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $logger

ilLogger ilECSTreeReader::$logger
private

Definition at line 27 of file class.ilECSTreeReader.php.

◆ $mid

int ilECSTreeReader::$mid
private

Definition at line 30 of file class.ilECSTreeReader.php.

Referenced by __construct().

◆ $server_id

int ilECSTreeReader::$server_id
private

Definition at line 29 of file class.ilECSTreeReader.php.

Referenced by __construct().


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