5 include_once
'./Services/Tracking/classes/class.ilLPStatus.php';
22 parent::__construct($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)
115 $users = array_merge($users,(
array) $status_info[
'failed'][$sco_id]);
117 return array_unique($users);
124 include_once
'./Services/Object/classes/class.ilObjectLP.php';
126 $collection = $olp->getCollectionInstance();
129 $status_info[
'scos'] = $collection->getItems();
133 $status_info[
'scos'] =
array();
135 $status_info[
'num_scos'] = count($status_info[
'scos']);
138 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
141 switch($status_info[
'subtype'])
145 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php';
148 include_once
'./Modules/ScormAicc/classes/class.ilObjAICCLearningModule.php';
151 if(in_array($item[
'obj_id'],$status_info[
'scos']))
153 $status_info[
'scos_title'][
"$item[obj_id]"] = $item[
'title'];
160 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php';
163 include_once
'./Modules/ScormAicc/classes/SCORM/class.ilSCORMItem.php';
164 foreach($status_info[
'scos'] as $sco_id)
172 include_once
'./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php';
174 include_once
'./Modules/Scorm2004/classes/class.ilObjSCORM2004LearningModule.php';
175 foreach($status_info[
'scos'] as $sco_id)
184 $status_info[
'completed'] =
array();
185 $status_info[
'failed'] =
array();
186 $status_info[
'in_progress'] =
array();
187 foreach($status_info[
'scos'] as $sco_id)
189 $status_info[
'completed'][$sco_id] =
$info[
'completed'][$sco_id] ?
$info[
'completed'][$sco_id] :
array();
190 $status_info[
'failed'][$sco_id] =
$info[
'failed'][$sco_id] ?
$info[
'failed'][$sco_id] :
array();
191 $status_info[
'in_progress'][$sco_id] =
$info[
'in_progress'][$sco_id] ?
$info[
'in_progress'][$sco_id] :
array();
209 $status = self::LP_STATUS_NOT_ATTEMPTED_NUM;
213 include_once(
"./Services/Tracking/classes/class.ilChangeEvent.php");
216 $status = self::LP_STATUS_IN_PROGRESS_NUM;
221 include_once
'./Services/Object/classes/class.ilObjectLP.php';
223 $collection = $olp->getCollectionInstance();
226 $scos = $collection->getItems();
229 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
236 include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php");
241 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
246 switch ($scorm_status)
249 $status = self::LP_STATUS_IN_PROGRESS_NUM;
252 $status = self::LP_STATUS_COMPLETED_NUM;
255 $status = self::LP_STATUS_FAILED_NUM;
276 include_once
'./Services/Object/classes/class.ilObjectLP.php';
278 $collection = $olp->getCollectionInstance();
281 $scos = $collection->getItems();
282 $reqscos = count($scos);
284 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
286 if ($subtype !=
"scorm2004")
288 include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php");
293 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
300 $per = min(100, 100 / $reqscos * $compl);
312 parent::refreshStatus($a_obj_id, $a_users);
315 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
319 $all_active_users = array_unique(array_merge($in_progress, $completed,
$failed));
322 include_once
'./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php';
324 if ($subtype !=
"scorm2004")
326 include_once(
"./Modules/ScormAicc/classes/SCORM/class.ilObjSCORMTracking.php");
331 include_once(
"./Modules/Scorm2004/classes/class.ilSCORM2004Tracking.php");
335 $not_attempted_users = array_diff($all_tracked_users, $all_active_users);
336 unset($all_tracked_users);
337 unset($all_active_users);
340 if($not_attempted_users)
342 foreach($not_attempted_users as $usr_id)
static _getFailed($a_obj_id)
static hasAccessed($a_obj_id, $a_usr_id)
Has accessed.
static _getInProgress($a_obj_id)
Static function to read users who have the status 'in_progress'.
static _getCompleted($a_obj_id)
Static function to read the users who have the status 'completed'.
static _getItemProgressInfo($a_scorm_item_ids, $a_obj_id, $a_omit_failed=false)
static _getStatusInfo($a_obj_id)
static _getTrackedUsers($a_obj_id)
Get all tracked users.
static _lookupSubType($a_obj_id)
lookup subtype id (scorm, aicc, hacp)
static _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)
static _lookupTitle($a_obj_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.
static _getTrackedUsers($a_obj_id)
Get all tracked users.
static _getCountCompletedPerUser($a_scorm_item_ids, $a_obj_id, $a_omit_failed=false)
Get progress of selected scos.
static _countCompleted($a_scos, $a_obj_id, $a_user_id, $a_omit_failed=false)
static _getCompleted($a_obj_id)
Create styles array
The data for the language used.
static _getStatusInfo($a_obj_id)
Reads informations about the object e.g test results, tlt, number of visits.
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.
refreshStatus($a_obj_id, $a_users=null)
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 ...
static _getTrackingItems($a_obj_id)
get all tracking items of scorm object
determinePercentage($a_obj_id, $a_user_id, $a_obj=null)
Determine percentage.
static _getInProgress($a_obj_id)
static getInstance($a_obj_id)
static _lookupItemTitle($a_node_id)