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());
             }
         }
     }
 }
Exemplo n.º 2
0
 /**
  * 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));
         }
     }
 }