function isFullfilled($user_id, $item_id) { global $ilObjDataCache; include_once './Modules/Course/classes/class.ilCourseLMHistory.php'; $lm_continue =& new ilCourseLMHistory($this->getRefId(), $user_id); $continue_data = $lm_continue->getLMHistory(); $obj_id = $ilObjDataCache->lookupObjId($item_id); $type = $ilObjDataCache->lookupType($obj_id); switch ($type) { case 'tst': include_once './Modules/Test/classes/class.ilObjTestAccess.php'; include_once './Services/AccessControl/classes/class.ilConditionHandler.php'; if (!ilObjTestAccess::checkCondition($obj_id, ilConditionHandler::OPERATOR_FINISHED, '', $user_id)) { return false; } break; case 'svy': include_once './Modules/Survey/classes/class.ilObjSurveyAccess.php'; if (!ilObjSurveyAccess::_lookupFinished($obj_id, $user_id)) { return false; } break; case 'sahs': include_once 'Services/Tracking/classes/class.ilLPStatus.php'; if (!ilLPStatus::_hasUserCompleted($obj_id, $user_id)) { return false; } break; default: if (!isset($continue_data[$item_id])) { return false; } } return true; }