ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.SkillTreeService.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
22 namespace ILIAS\Skill\Service;
23 
27 
33 {
37 
38  public function __construct(SkillInternalService $internal_service)
39  {
40  $this->tree_repo = $internal_service->repo()->getTreeRepo();
41  $this->tree_factory = $internal_service->factory()->tree();
42  $this->tree_manager = $internal_service->manager()->getTreeManager();
43  }
44 
46  {
47  $tree = $this->tree_factory->getGlobalTree();
48 
49  return $tree;
50  }
51 
52  public function getSkillTreeById(int $tree_id): \ilSkillTree
53  {
54  $tree = $this->tree_factory->getTreeById($tree_id);
55 
56  return $tree;
57  }
58 
59  public function getSkillTreeForNodeId(int $node_id): \ilSkillTree
60  {
61  $tree = $this->tree_repo->getTreeForNodeId($node_id);
62 
63  return $tree;
64  }
65 
67  {
68  $vtree = $this->tree_factory->getGlobalVirtualTree();
69 
70  return $vtree;
71  }
72 
73  public function getVirtualSkillTreeById(int $tree_id): \ilVirtualSkillTree
74  {
75  $vtree = $this->tree_factory->getVirtualTreeById($tree_id);
76 
77  return $vtree;
78  }
79 
80  public function getVirtualSkillTreeForNodeId(int $node_id): \ilVirtualSkillTree
81  {
82  $vtree = $this->tree_repo->getVirtualTreeForNodeId($node_id);
83 
84  return $vtree;
85  }
86 
90  public function getSkillTreePath(int $base_skill_id, int $tref_id = 0): array
91  {
92  $tree = $this->tree_repo->getTreeForNodeId($base_skill_id);
93  $path = $tree->getSkillTreePath($base_skill_id, $tref_id);
94 
95  return $path;
96  }
97 
98  public function getObjSkillTreeById(int $tree_id): \ilObjSkillTree
99  {
100  $obj_tree = $this->tree_manager->getTree($tree_id);
101 
102  return $obj_tree;
103  }
104 
108  public function getObjSkillTrees(): array
109  {
110  $obj_trees = iterator_to_array($this->tree_manager->getTrees());
111 
112  return $obj_trees;
113  }
114 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$path
Definition: ltiservices.php:32
__construct(SkillInternalService $internal_service)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getSkillTreePath(int $base_skill_id, int $tref_id=0)