/** * Get info about * @param object $sco_item_ids * @param object $a_obj_id * @return */ public static function _getProgressInfo($sco_item_ids, $a_obj_id) { global $ilDB; $in = $ilDB->in('sco_id', $sco_item_ids, false, 'integer'); $res = $ilDB->queryF(' SELECT * FROM scorm_tracking WHERE ' . $in . ' AND obj_id = %s AND lvalue = %s ', array('integer', 'text'), array($a_obj_id, 'cmi.core.lesson_status')); $info['completed'] = array(); $info['failed'] = array(); $user_ids = array(); while ($row = $ilDB->fetchObject($res)) { switch ($row->rvalue) { case 'completed': case 'passed': $info['completed'][$row->sco_id][] = $row->user_id; $user_ids[] = $row->user_id; break; case 'failed': $info['failed'][$row->sco_id][] = $row->user_id; $user_ids[] = $row->user_id; break; } } $info['in_progress'] = ilObjSCORMTracking::_getInProgress($sco_item_ids, $a_obj_id, $user_ids); return $info; }