5 include_once
'./Services/Tracking/classes/class.ilLPStatus.php';
22 parent::ilLPStatus($a_obj_id);
31 foreach($status_info[
'in_progress'] as $in_progress)
33 $users = array_merge($users,$in_progress);
35 $users = array_unique($users);
46 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php';
50 $items = $status_info[
'scos'];
54 foreach($items as $sco_id)
56 $tmp_users = $status_info[
'completed'][$sco_id];
64 $users = array_intersect($users,$tmp_users);
76 if(!count($status_info[
'scos']))
81 foreach($status_info[
'scos'] as $sco_id)
84 if(
sizeof($status_info[
'in_progress'][$sco_id]))
86 foreach($status_info[
'in_progress'][$sco_id] as $user_id)
88 if(!in_array($user_id, $status_info[
'failed'][$sco_id]))
90 switch($status_info[
"subtype"])
95 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php';
100 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
105 if($has_max_attempts)
107 $status_info[
'failed'][$sco_id][] = $user_id;
113 $users = array_merge($users,(array) $status_info[
'failed'][$sco_id]);
115 return array_unique($users);
122 include_once
'./Services/Object/classes/class.ilObjectLP.php';
124 $collection = $olp->getCollectionInstance();
127 $status_info[
'scos'] = $collection->getItems();
131 $status_info[
'scos'] = array();
133 $status_info[
'num_scos'] = count($status_info[
'scos']);
136 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
139 switch($status_info[
'subtype'])
143 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php';
146 include_once
'./Modules/ScormAicc/classes/class.ilObjAICCLearningModule.php';
149 if(in_array($item[
'obj_id'],$status_info[
'scos']))
151 $status_info[
'scos_title'][
"$item[obj_id]"] = $item[
'title'];
158 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php';
161 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php';
162 foreach($status_info[
'scos'] as $sco_id)
170 include_once
'./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php';
172 include_once
'./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php';
173 foreach($status_info[
'scos'] as $sco_id)
182 $status_info[
'completed'] = array();
183 $status_info[
'failed'] = array();
184 $status_info[
'in_progress'] = array();
185 foreach($status_info[
'scos'] as $sco_id)
187 $status_info[
'completed'][$sco_id] = $info[
'completed'][$sco_id] ? $info[
'completed'][$sco_id] : array();
188 $status_info[
'failed'][$sco_id] = $info[
'failed'][$sco_id] ? $info[
'failed'][$sco_id] : array();
189 $status_info[
'in_progress'][$sco_id] = $info[
'in_progress'][$sco_id] ? $info[
'in_progress'][$sco_id] : array();
207 $status = self::LP_STATUS_NOT_ATTEMPTED_NUM;
211 include_once(
"./Services/Tracking/classes/class.ilChangeEvent.php");
214 $status = self::LP_STATUS_IN_PROGRESS_NUM;
219 include_once
'./Services/Object/classes/class.ilObjectLP.php';
221 $collection = $olp->getCollectionInstance();
224 $scos = $collection->getItems();
227 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
234 include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php");
239 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
244 switch ($scorm_status)
247 $status = self::LP_STATUS_IN_PROGRESS_NUM;
250 $status = self::LP_STATUS_COMPLETED_NUM;
253 $status = self::LP_STATUS_FAILED_NUM;
274 include_once
'./Services/Object/classes/class.ilObjectLP.php';
276 $collection = $olp->getCollectionInstance();
279 $scos = $collection->getItems();
280 $reqscos = count($scos);
282 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
284 if ($subtype !=
"scorm2004")
286 include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php");
291 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
298 $per = min(100, 100 / $reqscos * $compl);
310 parent::refreshStatus($a_obj_id);
313 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
317 $all_active_users = array_unique(array_merge($in_progress, $completed,
$failed));
320 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
322 if ($subtype !=
"scorm2004")
324 include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php");
329 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
333 $not_attempted_users = array_diff($all_tracked_users, $all_active_users);
334 unset($all_tracked_users);
335 unset($all_active_users);
338 if($not_attempted_users)
340 foreach($not_attempted_users as $usr_id)
static _hasMaxAttempts($a_obj_id, $a_user_id)
static hasAccessed($a_obj_id, $a_usr_id)
Has accessed.
_getTrackedUsers($a_obj_id)
Get all tracked users.
_getTrackingItems($a_obj_id)
get all tracking items of scorm object
_getItemProgressInfo($a_scorm_item_ids, $a_obj_id, $a_omit_failed=false)
ilLPStatusSCORM($a_obj_id)
_getStatusInfo($a_obj_id)
Reads informations about the object e.g test results, tlt, number of visits.
static _countCompleted($a_scos, $a_obj_id, $a_user_id)
static _hasMaxAttempts($a_obj_id, $a_user_id)
static _getCountCompletedPerUser($a_scorm_item_ids, $a_obj_id)
Get users who have status completed or passed.
determineStatus($a_obj_id, $a_user_id, $a_obj=null)
Determine status.
_getStatusInfo($a_obj_id)
_getInProgress($a_obj_id)
_getFailed($a_obj_id)
Static function to read the users who have the status 'completed'.
static _countCompleted($a_scos, $a_obj_id, $a_user_id, $a_omit_failed=false)
_lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
_getCompleted($a_obj_id)
Static function to read the users who have the status 'completed'.
static _getCollectionStatus($a_scos, $a_obj_id, $a_user_id)
static writeStatus($a_obj_id, $a_user_id, $a_status, $a_percentage=false, $a_force_per=false)
Write status for user and object.
static _getCollectionStatus($a_scos, $a_obj_id, $a_user_id)
static _getProgressInfo($sco_item_ids, $a_obj_id)
Get info about.
Abstract class ilLPStatus for all learning progress modes E.g ilLPStatusManual, ilLPStatusObjectives ...
determinePercentage($a_obj_id, $a_user_id, $a_obj=null)
Determine percentage.
_getInProgress($a_obj_id)
Static function to read users who have the status 'in_progress'.
_getTrackedUsers($a_obj_id)
Get all tracked users.
static getInstance($a_obj_id)
static _lookupItemTitle($a_node_id)
_getCountCompletedPerUser($a_scorm_item_ids, $a_obj_id, $a_omit_failed=false)
Get progress of selected scos.