|
@@ -361,26 +361,33 @@ class SkillRelUser extends Model
|
|
|
/**
|
|
|
* Get the achieved skills for the user
|
|
|
* @param int $userId
|
|
|
- * @param int $courseId The course id
|
|
|
+ * @param int $courseId Optional. The course id
|
|
|
* @param int $sessionId Optional. The session id
|
|
|
* @return array The skill list. Otherwise return false
|
|
|
*/
|
|
|
- public function get_user_skills($userId, $courseId, $sessionId = 0)
|
|
|
+ public function get_user_skills($userId, $courseId = 0, $sessionId = 0)
|
|
|
{
|
|
|
if (empty($userId)) {
|
|
|
return array();
|
|
|
}
|
|
|
+
|
|
|
+ $courseId = intval($courseId);
|
|
|
+ $sessionId = intval($sessionId);
|
|
|
+
|
|
|
+ $whereConditions = array(
|
|
|
+ 'user_id = ? ' => intval($userId)
|
|
|
+ );
|
|
|
+
|
|
|
+ if ($courseId > 0) {
|
|
|
+ $whereConditions['AND course_id = ? '] = $courseId;
|
|
|
+ $whereConditions['AND session_id = ?'] = $sessionId;
|
|
|
+ }
|
|
|
+
|
|
|
$result = Database::select(
|
|
|
'skill_id',
|
|
|
$this->table,
|
|
|
array(
|
|
|
- 'where' => array(
|
|
|
- 'user_id = ? AND course_id = ? AND session_id = ?' => array(
|
|
|
- intval($userId),
|
|
|
- intval($courseId),
|
|
|
- intval($sessionId)
|
|
|
- )
|
|
|
- )
|
|
|
+ 'where' => $whereConditions
|
|
|
),
|
|
|
'all'
|
|
|
);
|
|
@@ -644,9 +651,6 @@ class Skill extends Model
|
|
|
|
|
|
public function add_skill_to_user($user_id, $gradebook_id, $courseId = 0, $sessionId = 0)
|
|
|
{
|
|
|
- $courseId = intval($courseId);
|
|
|
- $sessionId = intval($sessionId);
|
|
|
-
|
|
|
$skill_gradebook = new SkillRelGradebook();
|
|
|
$skill_rel_user = new SkillRelUser();
|
|
|
|
|
@@ -659,8 +663,8 @@ class Skill extends Model
|
|
|
'user_id' => $user_id,
|
|
|
'skill_id' => $skill_gradebook['skill_id'],
|
|
|
'acquired_skill_at' => api_get_utc_datetime(),
|
|
|
- 'course_id' => $courseId,
|
|
|
- 'session_id' => $sessionId
|
|
|
+ 'course_id' => intval($courseId),
|
|
|
+ 'session_id' => intval($sessionId)
|
|
|
);
|
|
|
|
|
|
$skill_rel_user->save($params);
|
|
@@ -1019,19 +1023,25 @@ class Skill extends Model
|
|
|
* Check if the user has the skill
|
|
|
* @param int $userId The user id
|
|
|
* @param int $skillId The skill id
|
|
|
- * @param int $courseId The course id
|
|
|
+ * @param int $courseId Optional. The course id
|
|
|
* @param int $sessionId Optional. The session id
|
|
|
* @return boolean Wheter the user has the skill return true. Otherwise return false
|
|
|
*/
|
|
|
- public function user_has_skill($userId, $skillId, $courseId, $sessionId = 0)
|
|
|
- {
|
|
|
+ public function user_has_skill($userId, $skillId, $courseId = 0, $sessionId = 0)
|
|
|
+ {
|
|
|
+ $courseId = intval($courseId);
|
|
|
+ $sessionId = intval($sessionId);
|
|
|
+
|
|
|
$whereConditions = array(
|
|
|
'user_id = ? ' => intval($userId),
|
|
|
- 'AND skill_id = ? ' => intval($skillId),
|
|
|
- 'AND course_id = ? ' => intval($courseId),
|
|
|
- 'AND session_id = ? ' => intval($sessionId)
|
|
|
+ 'AND skill_id = ? ' => intval($skillId)
|
|
|
);
|
|
|
|
|
|
+ if ($courseId > 0) {
|
|
|
+ $whereConditions['AND course_id = ? '] = $courseId;
|
|
|
+ $whereConditions['AND session_id = ? '] = $sessionId;
|
|
|
+ }
|
|
|
+
|
|
|
$result = Database::select('COUNT(1) AS qty', $this->table_skill_rel_user, array(
|
|
|
'where' => $whereConditions
|
|
|
), 'first');
|