3 declare(strict_types=1);
65 $this->tree_manager = (
$tree_manager) ?: $DIC->skills()->internal()->manager()->getTreeManager();
66 $this->personal_manager = (
$personal_manager) ?: $DIC->skills()->internal()->manager()->getPersonalSkillManager();
67 $this->material_manager = (
$material_manager) ?: $DIC->skills()->internal()->manager()->getAssignedMaterialManager();
68 $this->profile_manager = (
$profile_manager) ?: $DIC->skills()->internal()->manager()->getProfileManager();
69 $this->profile_completion_manager = (
$profile_completion_manager) ?: $DIC->skills()->internal()->manager()->getProfileCompletionManager();
70 $this->resources_manager = (
$resources_manager) ?: $DIC->skills()->internal()->manager()->getResourceManager();
71 $this->usage_manager = (
$usage_manager) ?: $DIC->skills()->internal()->manager()->getUsageManager();
72 $this->tree_repo = (
$tree_repo) ?: $DIC->skills()->internal()->repo()->getTreeRepo();
73 $this->level_repo = (
$level_repo) ?: $DIC->skills()->internal()->repo()->getLevelRepo();
74 $this->user_level_repo = (
$user_level_repo) ?: $DIC->skills()->internal()->repo()->getUserLevelRepo();
81 $tree = $this->tree_repo->getTreeForNodeId($node_id);
82 $tree_obj = $this->tree_manager->getTree($tree->getTreeId());
85 $tree_profiles = $this->profile_manager->getProfilesForSkillTree($tree->getTreeId());
86 foreach ($tree_profiles as $profile) {
87 $this->profile_manager->delete($profile->getId());
88 $this->profile_completion_manager->deleteEntriesForProfile($profile->getId());
92 $this->tree_manager->deleteTree($tree_obj);
100 $tree = $this->tree_repo->getTreeForNodeId($node_id);
103 $node_data = $tree->getNodeData($node_id);
104 if (is_object($obj)) {
105 $obj_type = $obj->getType();
128 if ($tree->isInTree($node_id)) {
129 $tree->deleteTree($node_data);
138 [
"skll",
"scat",
"sktp",
"sctp",
"sktr"]
140 foreach ($childs as $node) {
141 $this->
deleteNode((
int) $node[
"obj_id"], $tree);
147 $this->level_repo->deleteLevelsOfSkill($skll_id);
148 $this->user_level_repo->deleteUserLevelsOfSkill($skll_id);
149 $this->usage_manager->removeUsagesForSkill($skll_id);
150 $this->personal_manager->removePersonalSkillsForSkill($skll_id);
151 $this->material_manager->removeAssignedMaterialsForSkill($skll_id);
152 $this->profile_manager->deleteProfileLevelsForSkill($skll_id);
153 $this->resources_manager->removeResourcesForSkill($skll_id);
154 $this->event_handler->raise(
"components/ILIAS/Skill",
"deleteSkill", [
"node_id" => $skll_id,
"is_reference" =>
false]);
161 [
"skll",
"scat",
"sktr"]
163 foreach ($childs as $node) {
164 $this->
deleteNode((
int) $node[
"obj_id"], $tree);
167 $this->personal_manager->removePersonalSkillsForSkill($scat_id);
172 $this->user_level_repo->deleteUserLevelsOfSkill($sktr_id,
true);
173 $this->usage_manager->removeUsagesForSkill($sktr_id,
true);
174 $this->personal_manager->removePersonalSkillsForSkill($sktr_id);
175 $this->material_manager->removeAssignedMaterialsForSkill($sktr_id,
true);
176 $this->profile_manager->deleteProfileLevelsForSkill($sktr_id,
true);
177 $this->resources_manager->removeResourcesForSkill($sktr_id,
true);
178 $this->event_handler->raise(
"components/ILIAS/Skill",
"deleteSkill", [
"node_id" => $sktr_id,
"is_reference" =>
true]);
183 $this->level_repo->deleteLevelsOfSkill($sktp_id);
184 $this->user_level_repo->deleteUserLevelsOfSkill($sktp_id);
185 $this->usage_manager->removeUsagesForSkill($sktp_id);
186 $this->material_manager->removeAssignedMaterialsForSkill($sktp_id);
187 $this->profile_manager->deleteProfileLevelsForSkill($sktp_id);
188 $this->resources_manager->removeResourcesForSkill($sktp_id);
189 $this->event_handler->raise(
"components/ILIAS/Skill",
"deleteSkill", [
"node_id" => $sktp_id,
"is_reference" =>
false]);
202 foreach ($childs as $node) {
203 $this->
deleteNode((
int) $node[
"obj_id"], $tree);
213 $tree_profiles = $this->profile_manager->getProfilesForSkillTree($tree->
getTreeId());
214 foreach ($tree_profiles as $profile) {
215 $this->profile_completion_manager->writeCompletionEntryForAllAssignedUsersOfProfile($profile->getId());
getChildsByTypeFilter($a_node_id, $a_types, $a_order="", $a_direction="ASC")
deleteSkillTemplate(int $sktp_id)
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...
ilSkillUserLevelRepository $user_level_repo
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(SkillTreeManager $tree_manager=null, PersonalSkillManager $personal_manager=null, AssignedMaterialManager $material_manager=null, SkillProfileManager $profile_manager=null, SkillProfileCompletionManager $profile_completion_manager=null, SkillResourcesManager $resources_manager=null, SkillUsageManager $usage_manager=null, \ilSkillTreeRepository $tree_repo=null, \ilSkillLevelRepository $level_repo=null, \ilSkillUserLevelRepository $user_level_repo=null, \ilAppEventHandler $event_handler=null,)
static getInstance(int $a_id=0)
deleteSkillCategory(int $scat_id, \ilSkillTree $tree)
deleteSkillRoot(int $skrt_id, \ilSkillTree $tree)
ilAppEventHandler $event_handler
static _lookupTrefIdsForTopTemplateId(int $a_template_id)
ilSkillTreeRepository $tree_repo
deleteSkillCategoryTemplate(int $sctp_id, \ilSkillTree $tree)
SkillProfileCompletionManager $profile_completion_manager
deleteSkillTemplateReference(int $sktr_id)
deleteSkill(int $skll_id)
ilSkillLevelRepository $level_repo
updateProfileCompletions(\ilSkillTree $tree)
PersonalSkillManager $personal_manager
AssignedMaterialManager $material_manager
SkillProfileManager $profile_manager
Manages resources for skills.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
SkillResourcesManager $resources_manager
SkillUsageManager $usage_manager
Manages skill profile completion.
SkillTreeManager $tree_manager
deleteNode(int $node_id, \ilSkillTree $tree=null)