function __readItemStatusInfo($a_items) { global $ilObjDataCache; include_once 'Services/Object/classes/class.ilObjectLP.php'; foreach ($a_items as $item_id) { $olp = ilObjectLP::getInstance($item_id); $this->obj_data[$item_id]['type'] = $ilObjDataCache->lookupType($item_id); $this->obj_data[$item_id]['mode'] = $olp->getCurrentMode(); if ($this->obj_data[$item_id]['mode'] == ilLPObjSettings::LP_MODE_TLT) { include_once './Services/MetaData/classes/class.ilMDEducational.php'; $this->obj_data[$item_id]['tlt'] = ilMDEducational::_getTypicalLearningTimeSeconds($item_id); } if ($this->obj_data[$item_id]['mode'] == ilLPObjSettings::LP_MODE_VISITS) { $this->obj_data[$item_id]['visits'] = ilLPObjSettings::_lookupVisits($item_id); } if ($this->obj_data[$item_id]['mode'] == ilLPObjSettings::LP_MODE_SCORM) { $collection = $olp->getCollectionInstance(); if ($collection) { $this->obj_data[$item_id]['scos'] = count($collection->getItems()); } } } }
/** * Determine percentage * * @param integer object id * @param integer user id * @param object object (optional depends on object type) * @return integer percentage */ function determinePercentage($a_obj_id, $a_user_id, $a_obj = null) { include_once 'Services/Tracking/classes/class.ilLPObjSettings.php'; $reqv = ilLPObjSettings::_lookupVisits($a_obj_id); $re = ilChangeEvent::_lookupReadEvents($a_obj_id, $a_user_id); $rc = (int) $re[0]["read_count"]; if ($reqv > 0) { $per = min(100, 100 / $reqv * $rc); } else { $per = 100; } return $per; }
function __readItemStatusInfo($a_items) { global $ilObjDataCache; foreach ($a_items as $item_id) { $this->obj_data[$item_id]['mode'] = ilLPObjSettings::_lookupMode($item_id); $this->obj_data[$item_id]['type'] = $ilObjDataCache->lookupType($item_id); if ($this->obj_data[$item_id]['mode'] == LP_MODE_TLT) { include_once './Services/MetaData/classes/class.ilMDEducational.php'; $this->obj_data[$item_id]['tlt'] = ilMDEducational::_getTypicalLearningTimeSeconds($item_id); } if ($this->obj_data[$item_id]['mode'] == LP_MODE_VISITS) { include_once './Services/Tracking/classes/class.ilLPObjSettings.php'; $this->obj_data[$item_id]['visits'] = ilLPObjSettings::_lookupVisits($item_id); } if ($this->obj_data[$item_id]['mode'] == LP_MODE_SCORM) { include_once './Services/Tracking/classes/class.ilLPCollectionCache.php'; $this->obj_data[$item_id]['scos'] = count(ilLPCollectionCache::_getItems($item_id)); } } }