function getValidModes() { global $lng; switch ($this->obj_type) { case 'crs': if (ilLPObjSettings::_checkObjectives($this->getObjId())) { return array(LP_MODE_OBJECTIVES => $lng->txt('trac_mode_objectives')); } return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_MANUAL_BY_TUTOR => $lng->txt('trac_mode_manual_by_tutor'), LP_MODE_COLLECTION => $lng->txt('trac_mode_collection')); break; case 'dbk': return array(LP_MODE_MANUAL => $lng->txt('trac_mode_manual'), LP_MODE_DEACTIVATE => $lng->txt('trac_mode_deactivated')); case 'lm': return array(LP_MODE_MANUAL => $lng->txt('trac_mode_manual'), LP_MODE_VISITS => $lng->txt('trac_mode_visits'), LP_MODE_TLT => $lng->txt('trac_mode_tlt'), LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated')); case 'htlm': return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_MANUAL => $lng->txt('trac_mode_manual')); case 'sahs': include_once './Services/Tracking/classes/class.ilLPCollections.php'; include_once "./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php"; $subtype = ilObjSAHSLearningModule::_lookupSubType($this->getObjId()); if ($subtype != "scorm2004") { if (ilLPObjSettings::_checkSCORMPreconditions($this->getObjId())) { return array(LP_MODE_SCORM => $lng->txt('trac_mode_scorm_aicc')); } if (ilLPCollections::_getCountPossibleSAHSItems($this->getObjId())) { return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_SCORM => $lng->txt('trac_mode_scorm_aicc')); } return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated')); } else { if (ilLPObjSettings::_checkSCORMPreconditions($this->getObjId())) { return array(LP_MODE_SCORM => $lng->txt('trac_mode_scorm_aicc'), LP_MODE_SCORM_PACKAGE => $lng->txt('trac_mode_scorm_package')); } if (ilLPCollections::_getCountPossibleSAHSItems($this->getObjId())) { return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_SCORM_PACKAGE => $lng->txt('trac_mode_scorm_package'), LP_MODE_SCORM => $lng->txt('trac_mode_scorm_aicc')); } return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_SCORM_PACKAGE => $lng->txt('trac_mode_scorm_package')); } break; case 'tst': return array(LP_MODE_TEST_FINISHED => $lng->txt('trac_mode_test_finished'), LP_MODE_TEST_PASSED => $lng->txt('trac_mode_test_passed'), LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated')); case 'exc': return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_EXERCISE_RETURNED => $lng->txt('trac_mode_exercise_returned')); case 'grp': return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_MANUAL_BY_TUTOR => $lng->txt('trac_mode_manual_by_tutor'), LP_MODE_COLLECTION => $lng->txt('trac_mode_collection')); case 'fold': return array(LP_MODE_DEACTIVATED => $lng->txt('trac_mode_deactivated'), LP_MODE_COLLECTION => $lng->txt('trac_mode_collection')); case 'sess': return array(LP_MODE_EVENT => $this->lng->txt('trac_mode_event')); default: return array(); } }