/**
  * Determine status
  *
  * @param	integer		object id
  * @param	integer		user id
  * @param	object		object (optional depends on object type)
  * @return	integer		status
  */
 function determineStatus($a_obj_id, $a_user_id, $a_obj = null)
 {
     $status = self::LP_STATUS_NOT_ATTEMPTED_NUM;
     include_once "Services/Tracking/classes/class.ilChangeEvent.php";
     if (ilChangeEvent::hasAccessed($a_obj_id, $a_user_id)) {
         $status = self::LP_STATUS_IN_PROGRESS_NUM;
         include_once "Modules/LearningModule/classes/class.ilLMTracker.php";
         $tracker = ilLMTracker::getInstanceByObjId($a_obj_id, $a_user_id);
         if ($tracker->getAllQuestionsCorrect()) {
             $status = self::LP_STATUS_COMPLETED_NUM;
         }
     }
     return $status;
 }
 /**
  * Get tracker
  *
  * @return ilLMTracker tracker instance
  */
 function getTracker()
 {
     include_once "./Modules/LearningModule/classes/class.ilLMTracker.php";
     $tracker = ilLMTracker::getInstance($this->lm->getRefId());
     $tracker->setCurrentPage($this->getCurrentPageId());
     return $tracker;
 }
 /**
  * Is node visible?
  *
  * @param mixed $a_node node object/array
  * @return boolean node visible true/false
  */
 function isNodeVisible($a_node)
 {
     include_once "./Modules/LearningModule/classes/class.ilLMTracker.php";
     return ilLMTracker::_isNodeVisible($a_node);
 }
 /**
  * Get blocked users
  *
  * @return array array of blocked user information
  */
 protected function getBlockedUsers()
 {
     include_once "./Modules/LearningModule/classes/class.ilLMTracker.php";
     $track = ilLMTracker::getInstance($this->lm->getRefId());
     return $bl_users = $track->getBlockedUsersInformation();
 }