/** * Read trees from ecs * * @throws ilECSConnectorException */ public function read() { $GLOBALS['ilLog']->write(__METHOD__ . ': Begin read'); try { include_once './Services/WebServices/ECS/classes/Tree/class.ilECSDirectoryTreeConnector.php'; $dir_reader = new ilECSDirectoryTreeConnector(ilECSSetting::getInstanceByServerId($this->server_id)); $trees = $dir_reader->getDirectoryTrees(); $GLOBALS['ilLog']->write(__METHOD__ . ' ' . print_r($trees, true)); if ($trees instanceof ilECSUriList) { foreach ((array) $trees->getLinkIds() as $tree_id) { include_once './Services/WebServices/ECS/classes/Tree/class.ilECSCmsData.php'; include_once './Services/WebServices/ECS/classes/Tree/class.ilECSCmsTree.php'; if (!ilECSCmsData::treeExists($this->server_id, $this->mid, $tree_id)) { $result = $dir_reader->getDirectoryTree($tree_id); $this->storeTree($tree_id, $result->getResult()); } } } } catch (ilECSConnectorException $e) { throw $e; } }
protected function dSynchronizeTrees() { include_once './Services/WebServices/ECS/classes/Tree/class.ilECSDirectoryTreeConnector.php'; try { $connector = new ilECSDirectoryTreeConnector($this->getServer()); $res = $connector->getDirectoryTrees(); foreach ((array) $res->getLinkIds() as $cms_id) { include_once './Services/WebServices/ECS/classes/class.ilECSEventQueueReader.php'; include_once './Services/WebServices/ECS/classes/class.ilECSEvent.php'; $event = new ilECSEventQueueReader($this->getServer()->getServerId()); $event->add(ilECSEventQueueReader::TYPE_DIRECTORY_TREES, $cms_id, ilECSEvent::UPDATED); } $this->ctrl->redirect($this, 'dTrees'); } catch (Exception $e) { ilUtil::sendFailure($e->getMessage(), true); $this->ctrl->redirect($this, 'dTrees'); } }