19 declare(strict_types=1);
64 $this->tree_manager = (
$tree_manager) ?: $DIC->skills()->internal()->manager()->getTreeManager();
65 $this->personal_manager = (
$personal_manager) ?: $DIC->skills()->internal()->manager()->getPersonalSkillManager();
66 $this->material_manager = (
$material_manager) ?: $DIC->skills()->internal()->manager()->getAssignedMaterialManager();
67 $this->profile_manager = (
$profile_manager) ?: $DIC->skills()->internal()->manager()->getProfileManager();
68 $this->profile_completion_manager = (
$profile_completion_manager) ?: $DIC->skills()->internal()->manager()->getProfileCompletionManager();
69 $this->resources_manager = (
$resources_manager) ?: $DIC->skills()->internal()->manager()->getResourceManager();
70 $this->usage_manager = (
$usage_manager) ?: $DIC->skills()->internal()->manager()->getUsageManager();
71 $this->tree_repo = (
$tree_repo) ?: $DIC->skills()->internal()->repo()->getTreeRepo();
72 $this->level_repo = (
$level_repo) ?: $DIC->skills()->internal()->repo()->getLevelRepo();
73 $this->user_level_repo = (
$user_level_repo) ?: $DIC->skills()->internal()->repo()->getUserLevelRepo();
80 $tree = $this->tree_repo->getTreeForNodeId($node_id);
81 $tree_obj = $this->tree_manager->getTree($tree->getTreeId());
84 $tree_profiles = $this->profile_manager->getProfilesForSkillTree($tree->getTreeId());
85 foreach ($tree_profiles as $profile) {
86 $this->profile_manager->delete($profile->getId());
87 $this->profile_completion_manager->deleteEntriesForProfile($profile->getId());
91 $this->tree_manager->deleteTree($tree_obj);
99 $tree = $this->tree_repo->getTreeForNodeId($node_id);
102 $node_data = $tree->getNodeData($node_id);
103 if (is_object($obj)) {
104 $obj_type = $obj->getType();
127 if ($tree->isInTree($node_id)) {
128 $tree->deleteTree($node_data);
137 [
"skll",
"scat",
"sktp",
"sctp",
"sktr"]
139 foreach ($childs as $node) {
140 $this->
deleteNode((
int) $node[
"obj_id"], $tree);
146 $this->level_repo->deleteLevelsOfSkill($skll_id);
147 $this->user_level_repo->deleteUserLevelsOfSkill($skll_id);
148 $this->usage_manager->removeUsagesForSkill($skll_id);
149 $this->personal_manager->removePersonalSkillsForSkill($skll_id);
150 $this->material_manager->removeAssignedMaterialsForSkill($skll_id);
151 $this->profile_manager->deleteProfileLevelsForSkill($skll_id);
152 $this->resources_manager->removeResourcesForSkill($skll_id);
153 $this->event_handler->raise(
"components/ILIAS/Skill",
"deleteSkill", [
"node_id" => $skll_id,
"is_reference" =>
false]);
160 [
"skll",
"scat",
"sktr"]
162 foreach ($childs as $node) {
163 $this->
deleteNode((
int) $node[
"obj_id"], $tree);
166 $this->personal_manager->removePersonalSkillsForSkill($scat_id);
171 $this->user_level_repo->deleteUserLevelsOfSkill($sktr_id,
true);
172 $this->usage_manager->removeUsagesForSkill($sktr_id,
true);
173 $this->personal_manager->removePersonalSkillsForSkill($sktr_id);
174 $this->material_manager->removeAssignedMaterialsForSkill($sktr_id,
true);
175 $this->profile_manager->deleteProfileLevelsForSkill($sktr_id,
true);
176 $this->resources_manager->removeResourcesForSkill($sktr_id,
true);
177 $this->event_handler->raise(
"components/ILIAS/Skill",
"deleteSkill", [
"node_id" => $sktr_id,
"is_reference" =>
true]);
182 $this->level_repo->deleteLevelsOfSkill($sktp_id);
183 $this->user_level_repo->deleteUserLevelsOfSkill($sktp_id);
184 $this->usage_manager->removeUsagesForSkill($sktp_id);
185 $this->material_manager->removeAssignedMaterialsForSkill($sktp_id);
186 $this->profile_manager->deleteProfileLevelsForSkill($sktp_id);
187 $this->resources_manager->removeResourcesForSkill($sktp_id);
188 $this->event_handler->raise(
"components/ILIAS/Skill",
"deleteSkill", [
"node_id" => $sktp_id,
"is_reference" =>
false]);
201 foreach ($childs as $node) {
202 $this->
deleteNode((
int) $node[
"obj_id"], $tree);
212 $tree_profiles = $this->profile_manager->getProfilesForSkillTree($tree->
getTreeId());
213 foreach ($tree_profiles as $profile) {
214 $this->profile_completion_manager->writeCompletionEntryForAllAssignedUsersOfProfile($profile->getId());
getChildsByTypeFilter($a_node_id, $a_types, $a_order="", $a_direction="ASC")
deleteSkillTemplate(int $sktp_id)
Interface ilSkillLevelRepository.
ilSkillUserLevelRepository $user_level_repo
Interface ilSkillUserLevelRepository.
static getInstance(int $a_id=0)
deleteSkillCategory(int $scat_id, \ilSkillTree $tree)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
deleteSkillRoot(int $skrt_id, \ilSkillTree $tree)
ilAppEventHandler $event_handler
static _lookupTrefIdsForTopTemplateId(int $a_template_id)
ilSkillTreeRepository $tree_repo
deleteNode(int $node_id, ?\ilSkillTree $tree=null)
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
__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,)
Manages resources for skills.
SkillResourcesManager $resources_manager
SkillUsageManager $usage_manager
Manages skill profile completion.
SkillTreeManager $tree_manager