protected function resetCustomLPDataForUserIds(array $a_user_ids, $a_recursive = true) { /* @var ilObjTest $testOBJ */ require_once 'Services/Object/classes/class.ilObjectFactory.php'; $testOBJ = ilObjectFactory::getInstanceByObjId($this->obj_id); $testOBJ->removeTestResults($a_user_ids); // :TODO: there has to be a better way $test_ref_id = (int) $_REQUEST["ref_id"]; if ($test_ref_id) { require_once "Modules/Course/classes/Objectives/class.ilLOSettings.php"; $course_obj_id = ilLOSettings::isObjectiveTest($test_ref_id); if ($course_obj_id) { // is test initial and/or qualified? $lo_settings = ilLOSettings::getInstanceByObjId($course_obj_id); $is_i = $lo_settings->getInitialTest() == $test_ref_id; $is_q = $lo_settings->getQualifiedTest() == $test_ref_id; // remove objective results data require_once "Modules/Course/classes/Objectives/class.ilLOUserResults.php"; ilLOUserResults::deleteResultsFromLP($course_obj_id, $a_user_ids, $is_i, $is_q); // refresh LP - see ilLPStatusWrapper::_updateStatus() require_once "Services/Tracking/classes/class.ilLPStatusFactory.php"; $lp_status = ilLPStatusFactory::_getInstance($course_obj_id); if (strtolower(get_class($lp_status)) != "illpstatus") { foreach ($a_user_ids as $user_id) { $lp_status->_updateStatus($course_obj_id, $user_id); } } } } }
protected function getObjectiveOrientedContainerId() { require_once 'Modules/Course/classes/Objectives/class.ilLOSettings.php'; return (int) ilLOSettings::isObjectiveTest($this->testSession->getRefId()); }
protected function determineObjectiveOrientedContainer() { require_once 'Modules/Course/classes/Objectives/class.ilLOSettings.php'; $containerObjId = (int) ilLOSettings::isObjectiveTest($this->ref_id); $containerRefId = current(ilObject::_getAllReferences($containerObjId)); $this->objectiveOrientedContainer->setObjId($containerObjId); $this->objectiveOrientedContainer->setRefId($containerRefId); }
protected function modifyTitleLink($a_default_link) { include_once './Modules/Course/classes/Objectives/class.ilLOSettings.php'; $id = ilLOSettings::isObjectiveTest($this->ref_id); $cmd_link = $a_default_link; if ($id) { $ref_ids = ilObject::_getAllReferences($id); $ref_id = end($ref_ids); $this->ctrl->setParameterByClass("ilrepositorygui", 'ref_id', $ref_id); $this->ctrl->setParameterByClass("ilrepositorygui", 'tid', $this->ref_id); $cmd_link = $this->ctrl->getLinkTargetByClass("ilrepositorygui", 'redirectLocToTest'); $this->ctrl->setParameterByClass("ilrepositorygui", "ref_id", $this->ref_id); $this->ctrl->clearParametersByClass('ilrepositorygui'); } return parent::modifyTitleLink($cmd_link); }