/**
  * insert objective status
  *
  * @access protected
  * @param
  * @return
  */
 public function insertProgressInfo()
 {
     global $ilUser, $lng;
     $lng->loadLanguageModule('trac');
     $this->tpl->setCurrentBlock('item_progress');
     switch (ilCourseObjectiveResultCache::getStatus($ilUser->getId(), $this->getContainerObject()->object->getId(), $this->obj_id)) {
         case IL_OBJECTIVE_STATUS_NONE:
             $this->tpl->setVariable('TXT_PROGRESS_INFO', $this->lng->txt('crs_objective_status'));
             $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/not_attempted.png'));
             $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_no_attempted'));
             break;
         case IL_OBJECTIVE_STATUS_PRETEST_NON_SUGGEST:
         case IL_OBJECTIVE_STATUS_PRETEST:
             $this->tpl->setVariable('TXT_PROGRESS_INFO', $this->lng->txt('crs_objective_pretest'));
             if (ilCourseObjectiveResultCache::isSuggested($ilUser->getId(), $this->getContainerObject()->object->getId(), $this->obj_id)) {
                 $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/failed.png'));
                 $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_failed'));
             } else {
                 $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/passed.png'));
                 $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_passed'));
             }
             break;
         case IL_OBJECTIVE_STATUS_FINISHED:
         case IL_OBJECTIVE_STATUS_FINAL:
             $this->tpl->setVariable('TXT_PROGRESS_INFO', $this->lng->txt('crs_objective_result'));
             if (ilCourseObjectiveResultCache::isSuggested($ilUser->getId(), $this->getContainerObject()->object->getId(), $this->obj_id)) {
                 $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/failed.png'));
                 $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_failed'));
             } else {
                 $this->tpl->setVariable('PROGRESS_TYPE_IMG', ilUtil::getImagePath('scorm/passed.png'));
                 $this->tpl->setVariable('PROGRESS_ALT_IMG', $this->lng->txt('trac_passed'));
             }
             break;
     }
     $this->tpl->parseCurrentBlock();
 }
 /**
  * show status
  *
  * @access public
  * @param
  * @return
  */
 public function showStatus($tpl)
 {
     global $ilUser, $lng;
     include_once './Modules/Course/classes/class.ilCourseObjectiveResultCache.php';
     $status = ilCourseObjectiveResultCache::getStatus($ilUser->getId(), $this->getContainerObject()->getId());
     if ($status == IL_OBJECTIVE_STATUS_EMPTY) {
         return;
     }
     $info_tpl = new ilTemplate('tpl.crs_objectives_view_info_table.html', true, true, 'Modules/Course');
     $info_tpl->setVariable("INFO_STRING", $lng->txt('crs_objectives_info_' . $status));
     $this->output_html .= $info_tpl->get();
 }
 /**
  * init details
  *
  * @access protected
  * @param
  * @return
  */
 protected function initDetails()
 {
     global $ilUser;
     if (isset($_GET['details_level'])) {
         $this->details_level = (int) $_GET['details_level'];
         ilObjUser::_writePref($ilUser->getId(), 'crs_objectives_details', $this->details_level);
     } else {
         $this->details_level = $ilUser->getPref('crs_objectives_details') ? $ilUser->getPref('crs_objectives_details') : self::DETAILS_TITLE;
     }
     if (isset($_GET['objective_details'])) {
         $this->force_details = (int) $_GET['objective_details'];
         ilObjUser::_writePref($ilUser->getId(), 'crs_objectives_force_details_' . $this->getContainerObject()->getId(), $this->force_details);
     } elseif ($details_id = $ilUser->getPref('crs_objectives_force_details_' . $this->getContainerObject()->getId())) {
         $this->force_details = $details_id;
     } else {
         include_once './Modules/Course/classes/class.ilCourseObjective.php';
         include_once './Modules/Course/classes/class.ilCourseObjectiveResultCache.php';
         foreach (ilCourseObjective::_getObjectiveIds($this->getContainerObject()->getId()) as $objective_id) {
             if (ilCourseObjectiveResultCache::isSuggested($ilUser->getId(), $this->getContainerObject()->getId(), $objective_id)) {
                 $this->force_details = $objective_id;
                 break;
             }
         }
     }
     return true;
 }