Public Member Functions | |
ilLPStatusObjectives ($a_obj_id) | |
_getNotAttempted ($a_obj_id) | |
_getInProgress ($a_obj_id) | |
_getCompleted ($a_obj_id) | |
_getStatusInfo ($a_obj_id) |
Definition at line 35 of file class.ilLPStatusObjectives.php.
ilLPStatusObjectives::_getCompleted | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 87 of file class.ilLPStatusObjectives.php.
References $ilBench, $user_id, and _getStatusInfo().
Referenced by _getInProgress().
{ global $ilDB; global $ilBench; $ilBench->start('LearningProgress','9173_LPStatusObjectives_completed'); $status_info = ilLPStatusWrapper::_getStatusInfo($a_obj_id); foreach($status_info['objective_result'] as $user_id => $completed) { if(count($completed) == $status_info['num_objectives']) { $usr_ids[] = $user_id; } } $ilBench->stop('LearningProgress','9173_LPStatusObjectives_completed'); return $usr_ids ? $usr_ids : array(); }
ilLPStatusObjectives::_getInProgress | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 64 of file class.ilLPStatusObjectives.php.
References $query, $res, $row, _getCompleted(), and ilCourseMembers::_getMembers().
{ global $ilDB; $completed = ilLPStatusWrapper::_getCompleted($a_obj_id); include_once 'course/classes/class.ilCourseMembers.php'; $members = ilCourseMembers::_getMembers($a_obj_id); $query = "SELECT DISTINCT(user_id) FROM ut_learning_progress ". "WHERE obj_id = '".$a_obj_id."' AND obj_type = 'crs'"; $res = $ilDB->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { if(!in_array($row->user_id,$completed) and in_array($row->user_id,$members)) { $user_ids[] = $row->user_id; } } return $user_ids ? $user_ids : array(); }
ilLPStatusObjectives::_getNotAttempted | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 46 of file class.ilLPStatusObjectives.php.
References $ilBench, $users, ilLPStatusWrapper::_getCompleted(), ilLPStatusWrapper::_getInProgress(), and ilCourseMembers::_getMembers().
{ global $ilObjDataCache; global $ilBench; $ilBench->start('LearningProgress','9171_LPStatusObjectives_notAttempted'); include_once 'course/classes/class.ilCourseMembers.php'; $members = ilCourseMembers::_getMembers($a_obj_id); // diff in progress and completed (use stored result in LPStatusWrapper) $users = array_diff($members,$inp = ilLPStatusWrapper::_getInProgress($a_obj_id)); $users = array_diff($users,$com = ilLPStatusWrapper::_getCompleted($a_obj_id)); $ilBench->stop('LearningProgress','9171_LPStatusObjectives_notAttempted'); return $users ? $users : array(); }
ilLPStatusObjectives::_getStatusInfo | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 107 of file class.ilLPStatusObjectives.php.
References $query, $res, $row, and ilCourseObjective::_getObjectiveIds().
Referenced by _getCompleted().
{ include_once 'course/classes/class.ilCourseObjective.php'; global $ilDB; $status_info['objective_result'] = array(); $status_info['objectives'] = ilCourseObjective::_getObjectiveIds($a_obj_id); $status_info['num_objectives'] = count($status_info['objectives']); if(!$status_info['num_objectives']) { return $status_info; } else { $in = "objective_id IN('".implode("','",$status_info['objectives'])."') "; } $query = "SELECT * FROM crs_objective_status ". "WHERE ".$in; $res = $ilDB->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $status_info['completed'][$row->objective_id][] = $row->user_id; $status_info['objective_result'][$row->user_id][$row->objective_id] = $row->objective_id; } // Read title/description $query = "SELECT * FROM crs_objectives ". "WHERE ".$in; $res = $ilDB->query($query); while($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $status_info['objective_title'][$row->objective_id] = $row->title; $status_info['objective_description'][$row->objective_id] = $row->description; } return $status_info; }
ilLPStatusObjectives::ilLPStatusObjectives | ( | $ | a_obj_id | ) |
Definition at line 38 of file class.ilLPStatusObjectives.php.
References ilLPStatus::ilLPStatus().
{ global $ilDB; parent::ilLPStatus($a_obj_id); $this->db =& $ilDB; }