/** * check condition * @param type $a_svy_id * @param type $a_operator * @param type $a_value * @param type $a_usr_id * @return boolean */ public static function checkCondition($a_svy_id, $a_operator, $a_value, $a_usr_id) { switch ($a_operator) { case ilConditionHandler::OPERATOR_FINISHED: //if (ilExerciseMembers::_lookupStatus($a_exc_id, $ilias->account->getId()) == "passed") include_once "./Modules/Survey/classes/class.ilObjSurveyAccess.php"; if (ilObjSurveyAccess::_lookupFinished($a_svy_id, $a_usr_id)) { return true; } else { return false; } break; default: return true; } return true; }
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; }
function _checkCondition($a_svy_id, $a_operator, $a_value, $a_usr_id = 0) { global $ilUser; $a_usr_id = $a_usr_id ? $a_usr_id : $ilUser->getId(); switch ($a_operator) { case 'finished': //if (ilExerciseMembers::_lookupStatus($a_exc_id, $ilias->account->getId()) == "passed") include_once "./Modules/Survey/classes/class.ilObjSurveyAccess.php"; if (ilObjSurveyAccess::_lookupFinished($a_svy_id, $a_usr_id)) { return true; } else { return false; } break; default: return true; } return true; }
/** * Get item properties * * @return array array of property arrays: * "alert" (boolean) => display as an alert property (usually in red) * "property" (string) => property name * "value" (string) => property value */ function getProperties() { global $lng, $ilUser, $rbacsystem; $props = array(); if (!$rbacsystem->checkAccess("visible,read", $this->ref_id)) { return $props; } include_once "./Modules/Survey/classes/class.ilObjSurveyAccess.php"; if (!ilObjSurveyAccess::_lookupOnline($this->obj_id)) { $props[] = array("alert" => true, "property" => $lng->txt("status"), "value" => $lng->txt("offline")); } else { // BEGIN Usability Distinguish between status and participation if (!ilObjSurveyAccess::_lookupCreationComplete($this->obj_id)) { // no completion $props[] = array("alert" => true, "property" => $lng->txt("svy_participation"), "value" => $lng->txt("svy_warning_survey_not_complete"), 'propertyNameVisible' => false); } else { if ($ilUser->getId() != ANONYMOUS_USER_ID) { $finished = ilObjSurveyAccess::_lookupFinished($this->obj_id, $ilUser->id); // finished if ($finished === 1) { $stat = $this->lng->txt("svy_finished"); } else { if ($finished === 0) { $stat = $this->lng->txt("svy_not_finished"); } else { $stat = $this->lng->txt("svy_not_started"); } } $props[] = array("alert" => false, "property" => $lng->txt("participation"), "value" => $stat, 'propertyNameVisible' => false); } } // END Usability Distinguish between status and participation } return $props; }
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'; if (!ilObjTestAccess::_checkCondition($obj_id, 'finished', '')) { 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'; $completed = ilLPStatus::_lookupStatus($obj_id, $user_id); if ($completed == LP_STATUS_COMPLETED_NUM) { return false; } break; default: if (!isset($continue_data[$item_id])) { return false; } } return true; }