ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\Skill\Tree\SkillTreeManager Class Reference

Skill tree manager. More...

+ Collaboration diagram for ILIAS\Skill\Tree\SkillTreeManager:

Public Member Functions

 __construct (int $skmg_ref_id, \ilTree $repository_tree, SkillTreeFactory $tree_factory)
 
 createTree (string $title, string $description)
 
 updateTree (\ilObjSkillTree $tree_obj, string $title, string $description)
 
 deleteTree (\ilObjSkillTree $tree_obj)
 
 getTrees ()
 
 getTree (int $tree_id)
 
 getSkillManagementRefId ()
 Get ref id of skill management administration node. More...
 

Protected Attributes

ilCtrl $ctrl
 
ilErrorHandling $error
 
ilLanguage $lng
 
int $skmg_ref_id = 0
 
ilTree $repository_tree
 
SkillTreeFactory $tree_factory
 
SkillTreeAccess $tree_access_manager
 
SkillManagementAccess $management_access_manager
 
SkillAdminGUIRequest $admin_gui_request
 
int $requested_ref_id = 0
 

Detailed Description

Skill tree manager.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 31 of file class.SkillTreeManager.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Skill\Tree\SkillTreeManager::__construct ( int  $skmg_ref_id,
\ilTree  $repository_tree,
SkillTreeFactory  $tree_factory 
)

Definition at line 44 of file class.SkillTreeManager.php.

References $DIC, ILIAS\Skill\Tree\SkillTreeManager\$repository_tree, ILIAS\Skill\Tree\SkillTreeManager\$skmg_ref_id, ILIAS\Skill\Tree\SkillTreeManager\$tree_factory, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

48  {
49  global $DIC;
50 
51  $this->ctrl = $DIC->ctrl();
52  $this->error = $DIC["ilErr"];
53  $this->lng = $DIC->language();
54  $this->skmg_ref_id = $skmg_ref_id;
55  $this->repository_tree = $repository_tree;
56  $this->tree_factory = $tree_factory;
57  $this->admin_gui_request = $DIC->skills()->internal()->gui()->admin_request();
58 
59  // TODO: Find a different way for the ref_id, because this is no GUI class
60  $this->requested_ref_id = $this->admin_gui_request->getRefId();
61 
62  $this->tree_access_manager = $DIC->skills()->internal()->manager()->getTreeAccessManager($this->requested_ref_id);
63  $this->management_access_manager = $DIC->skills()->internal()->manager()->getManagementAccessManager($this->requested_ref_id);
64  }
global $DIC
Definition: shib_login.php:22
+ Here is the call graph for this function:

Member Function Documentation

◆ createTree()

ILIAS\Skill\Tree\SkillTreeManager::createTree ( string  $title,
string  $description 
)

Definition at line 66 of file class.SkillTreeManager.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

66  : void
67  {
68  if (!$this->management_access_manager->hasCreateTreePermission()) {
69  $this->error->raiseError($this->lng->txt('no_permission'), $this->error->WARNING);
70  }
71  $tree_obj = new \ilObjSkillTree();
72  $tree_obj->setTitle($title);
73  $tree_obj->setDescription($description);
74  $tree_obj->create();
75  $tree_obj->createReference();
76  $tree_obj->putInTree($this->skmg_ref_id);
77  $tree_obj->setPermissions($this->skmg_ref_id);
78 
79  $tree = $this->tree_factory->getTreeById($tree_obj->getId());
80  $root_node = new \ilSkillRoot();
81  $root_node->setTitle("Skill Tree Root Node");
82  $root_node->create();
83  $tree->addTree($tree_obj->getId(), $root_node->getId());
84  $this->ctrl->setParameterByClass("ilobjskilltreegui", "ref_id", $tree_obj->getRefId());
85  $this->ctrl->setParameterByClass("ilobjskilltreegui", "node_id", $tree->readRootId());
86  }
+ Here is the call graph for this function:

◆ deleteTree()

ILIAS\Skill\Tree\SkillTreeManager::deleteTree ( \ilObjSkillTree  $tree_obj)

Definition at line 98 of file class.SkillTreeManager.php.

References ilObject\delete(), and ILIAS\Repository\lng().

98  : void
99  {
100  if (!$this->management_access_manager->hasCreateTreePermission()) {
101  $this->error->raiseError($this->lng->txt('no_permission'), $this->error->WARNING);
102  }
103  $tree_obj->delete();
104  }
+ Here is the call graph for this function:

◆ getSkillManagementRefId()

ILIAS\Skill\Tree\SkillTreeManager::getSkillManagementRefId ( )

Get ref id of skill management administration node.

Definition at line 124 of file class.SkillTreeManager.php.

References ILIAS\Skill\Tree\SkillTreeManager\$skmg_ref_id.

124  : int
125  {
126  return $this->skmg_ref_id;
127  }

◆ getTree()

ILIAS\Skill\Tree\SkillTreeManager::getTree ( int  $tree_id)

Definition at line 115 of file class.SkillTreeManager.php.

References $ref_id, ilObject\_getAllReferences(), and ILIAS\Repository\int().

116  {
117  $ref_id = (int) current(\ilObject::_getAllReferences($tree_id));
118  return new \ilObjSkillTree($ref_id);
119  }
Skill tree object in skill management (repository object class)
static _getAllReferences(int $id)
get all reference ids for object ID
$ref_id
Definition: ltiauth.php:65
+ Here is the call graph for this function:

◆ getTrees()

ILIAS\Skill\Tree\SkillTreeManager::getTrees ( )

Definition at line 106 of file class.SkillTreeManager.php.

References $c.

106  : \Generator
107  {
108  foreach ($this->repository_tree->getChilds($this->skmg_ref_id) as $c) {
109  if ($c["type"] == "skee") {
110  yield new \ilObjSkillTree((int) $c["child"]);
111  }
112  }
113  }
$c
Definition: deliver.php:25

◆ updateTree()

ILIAS\Skill\Tree\SkillTreeManager::updateTree ( \ilObjSkillTree  $tree_obj,
string  $title,
string  $description 
)

Definition at line 88 of file class.SkillTreeManager.php.

References ILIAS\Repository\lng(), ilObject\setDescription(), ilObject\setTitle(), and ilObject\update().

88  : void
89  {
90  if (!$this->tree_access_manager->hasEditTreeSettingsPermission()) {
91  $this->error->raiseError($this->lng->txt('no_permission'), $this->error->WARNING);
92  }
93  $tree_obj->setTitle($title);
94  $tree_obj->setDescription($description);
95  $tree_obj->update();
96  }
+ Here is the call graph for this function:

Field Documentation

◆ $admin_gui_request

SkillAdminGUIRequest ILIAS\Skill\Tree\SkillTreeManager::$admin_gui_request
protected

Definition at line 41 of file class.SkillTreeManager.php.

◆ $ctrl

ilCtrl ILIAS\Skill\Tree\SkillTreeManager::$ctrl
protected

Definition at line 33 of file class.SkillTreeManager.php.

◆ $error

ilErrorHandling ILIAS\Skill\Tree\SkillTreeManager::$error
protected

Definition at line 34 of file class.SkillTreeManager.php.

◆ $lng

ilLanguage ILIAS\Skill\Tree\SkillTreeManager::$lng
protected

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

◆ $management_access_manager

SkillManagementAccess ILIAS\Skill\Tree\SkillTreeManager::$management_access_manager
protected

Definition at line 40 of file class.SkillTreeManager.php.

◆ $repository_tree

ilTree ILIAS\Skill\Tree\SkillTreeManager::$repository_tree
protected

◆ $requested_ref_id

int ILIAS\Skill\Tree\SkillTreeManager::$requested_ref_id = 0
protected

Definition at line 42 of file class.SkillTreeManager.php.

◆ $skmg_ref_id

int ILIAS\Skill\Tree\SkillTreeManager::$skmg_ref_id = 0
protected

◆ $tree_access_manager

SkillTreeAccess ILIAS\Skill\Tree\SkillTreeManager::$tree_access_manager
protected

Definition at line 39 of file class.SkillTreeManager.php.

◆ $tree_factory

SkillTreeFactory ILIAS\Skill\Tree\SkillTreeManager::$tree_factory
protected

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