From d03128e03dd3eb112a7b704face067b9fdc631e3 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Tue, 12 Dec 2017 14:10:02 +0100 Subject: [PATCH] Add "level" option in "getStudentSkills" BT#13769 --- main/inc/lib/skill.lib.php | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/main/inc/lib/skill.lib.php b/main/inc/lib/skill.lib.php index 6e086ebd9a..d4b3d18d5f 100755 --- a/main/inc/lib/skill.lib.php +++ b/main/inc/lib/skill.lib.php @@ -2071,9 +2071,10 @@ class Skill extends Model /** * Get skills * @param int $userId + * @param int level * @return array */ - public function getStudentSkills($userId) + public function getStudentSkills($userId, $level = 0) { $sql = "SELECT s.id, s.name, sru.acquired_skill_at FROM {$this->table} s @@ -2084,17 +2085,26 @@ class Skill extends Model $result = Database::query($sql); $skills = []; - foreach ($result as $item) { - $skills[] = [ - 'name' => self::translateName($item['name']), - 'acquired_skill_at' => $item['acquired_skill_at'], - ]; + if (empty($level)) { + $skills[] = [ + 'name' => self::translateName($item['name']), + 'acquired_skill_at' => $item['acquired_skill_at'], + ]; + } else { + $parents = self::get_parents($item['id']); + // +2 because it takes into account the root + if (count($parents) == $level + 1) { + $skills[] = [ + 'name' => self::translateName($item['name']), + 'acquired_skill_at' => $item['acquired_skill_at'], + ]; + } + } } return $skills; } - /** * @param string $name * @return string