Ejemplo n.º 1
0
 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);
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 protected function getObjectiveOrientedContainerId()
 {
     require_once 'Modules/Course/classes/Objectives/class.ilLOSettings.php';
     return (int) ilLOSettings::isObjectiveTest($this->testSession->getRefId());
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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);
 }