Add "level" option in "getStudentSkills" BT#13769

pull/2487/head
jmontoyaa 8 years ago
parent e79c498017
commit d03128e03d
  1. 16
      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) {
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

Loading…
Cancel
Save