Public Member Functions | |
ilLPStatusSCORM ($a_obj_id) | |
_getInProgress ($a_obj_id) | |
_getCompleted ($a_obj_id) | |
_getFailed ($a_obj_id) | |
_getStatusInfo ($a_obj_id) |
Definition at line 35 of file class.ilLPStatusSCORM.php.
ilLPStatusSCORM::_getCompleted | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 65 of file class.ilLPStatusSCORM.php.
References $counter, $users, ilLPStatusWrapper::_getFailed(), and _getStatusInfo().
Referenced by ilCourseContentInterface::cci_start_objects().
{ global $ilDB; include_once './content/classes/SCORM/class.ilObjSCORMTracking.php'; $status_info = ilLPStatusWrapper::_getStatusInfo($a_obj_id); $items = $status_info['scos']; $counter = 0; $users = array(); foreach($items as $sco_id) { $tmp_users = $status_info['completed'][$sco_id]; if(!$counter++) { $users = $tmp_users; } else { $users = array_intersect($users,$tmp_users); } } $users = array_diff($users,ilLPStatusWrapper::_getFailed($a_obj_id)); return $users; }
ilLPStatusSCORM::_getFailed | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 92 of file class.ilLPStatusSCORM.php.
References $users, and _getStatusInfo().
{ $status_info = ilLPStatusWrapper::_getStatusInfo($a_obj_id); if(!count($status_info['scos'])) { return array(); } $users = array(); foreach($status_info['scos'] as $sco_id) { $users = array_merge($users,(array) $status_info['failed'][$sco_id]); } return array_unique($users); }
ilLPStatusSCORM::_getInProgress | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 47 of file class.ilLPStatusSCORM.php.
References $users, ilLPStatusWrapper::_getCompleted(), ilLPStatusWrapper::_getFailed(), and _getStatusInfo().
{ include_once './Services/Tracking/classes/class.ilLPCollectionCache.php'; include_once './content/classes/SCORM/class.ilObjSCORMTracking.php'; $status_info = ilLPStatusWrapper::_getStatusInfo($a_obj_id); $users = array(); foreach($status_info['in_progress'] as $in_progress) { $users = array_merge($users,$in_progress); } $users = array_unique($users); $users = array_diff($users,ilLPStatusWrapper::_getCompleted($a_obj_id)); $users = array_diff($users,ilLPStatusWrapper::_getFailed($a_obj_id)); return $users; }
ilLPStatusSCORM::_getStatusInfo | ( | $ | a_obj_id | ) |
Reimplemented from ilLPStatus.
Definition at line 109 of file class.ilLPStatusSCORM.php.
References ilObjSCORMTracking::_getCountCompletedPerUser(), ilLPCollectionCache::_getItems(), ilObjSCORMTracking::_getProgressInfo(), ilObjAICCLearningModule::_getTrackingItems(), ilObjSAHSLearningModule::_lookupSubType(), and ilSCORMItem::_lookupTitle().
Referenced by _getCompleted(), _getFailed(), and _getInProgress().
{ // Which sco's determine the status include_once './Services/Tracking/classes/class.ilLPCollectionCache.php'; $status_info['scos'] = ilLPCollectionCache::_getItems($a_obj_id); $status_info['num_scos'] = count($status_info['scos']); include_once './content/classes/SCORM/class.ilObjSCORMTracking.php'; $status_info['num_completed'] = ilObjSCORMTracking::_getCountCompletedPerUser($status_info['scos'],$a_obj_id); // Get subtype include_once './content/classes/class.ilObjSAHSLearningModule.php'; $status_info['subtype'] = ilObjSAHSLearningModule::_lookupSubType($a_obj_id); switch($status_info['subtype']) { case 'hacp': case 'aicc': include_once './content/classes/class.ilObjAICCLearningModule.php'; foreach(ilObjAICCLearningModule::_getTrackingItems($a_obj_id) as $item) { if(in_array($item['obj_id'],$status_info['scos'])) { $status_info['scos_title']["$item[obj_id]"] = $item['title']; } } break; case 'scorm': include_once './content/classes/SCORM/class.ilSCORMItem.php'; foreach($status_info['scos'] as $sco_id) { $status_info['scos_title'][$sco_id] = ilSCORMItem::_lookupTitle($sco_id); } } include_once './content/classes/SCORM/class.ilObjSCORMTracking.php'; $info = ilObjSCORMTracking::_getProgressInfo($status_info['scos'],$a_obj_id); $status_info['completed'] = array(); $status_info['failed'] = array(); $status_info['in_progress'] = array(); foreach($status_info['scos'] as $sco_id) { $status_info['completed'][$sco_id] = $info['completed'][$sco_id] ? $info['completed'][$sco_id] : array(); $status_info['failed'][$sco_id] = $info['failed'][$sco_id] ? $info['failed'][$sco_id] : array(); $status_info['in_progress'][$sco_id] = $info['in_progress'][$sco_id] ? $info['in_progress'][$sco_id] : array(); } return $status_info; }
ilLPStatusSCORM::ilLPStatusSCORM | ( | $ | a_obj_id | ) |
Definition at line 38 of file class.ilLPStatusSCORM.php.
References ilLPStatus::ilLPStatus().
{ global $ilDB; parent::ilLPStatus($a_obj_id); $this->db =& $ilDB; }