Esempio n. 1
0
 private function handleUserResultsCommand($commands)
 {
     global $ilUser;
     if (!$this->isObjectiveTest()) {
         $commands = $this->removeUserResultsCommand($commands);
     } else {
         require_once 'Modules/Test/classes/class.ilObjTestAccess.php';
         if (!ilObjTestAccess::visibleUserResultExists($this->obj_id, $ilUser->getId())) {
             $commands = $this->removeUserResultsCommand($commands);
         }
     }
     return $commands;
 }
Esempio n. 2
0
 public static function getTestResultLinkForUser($a_test_ref_id, $a_user_id)
 {
     global $ilCtrl, $ilUser, $ilAccess;
     if ($ilUser->getId() == ANONYMOUS_USER_ID) {
         return;
     }
     $valid = $tutor = false;
     if ($a_user_id == $ilUser->getId()) {
         $valid = $ilAccess->checkAccess('read', '', $a_test_ref_id);
     }
     if (!$valid) {
         $valid = $ilAccess->checkAccess('write', '', $a_test_ref_id);
         $tutor = true;
     }
     if ($valid) {
         $testObjId = ilObject::_lookupObjId($a_test_ref_id);
         if (!$tutor) {
             require_once 'Modules/Test/classes/class.ilObjTestAccess.php';
             if (ilObjTestAccess::visibleUserResultExists($testObjId, $a_user_id)) {
                 $ilCtrl->setParameterByClass('ilObjTestGUI', 'ref_id', $a_test_ref_id);
                 $link = $ilCtrl->getLinkTargetByClass(array('ilRepositoryGUI', 'ilObjTestGUI'), 'userResultsGateway');
                 $ilCtrl->setParameterByClass('ilObjTestGUI', 'ref_id', '');
                 return $link;
             }
         } else {
             include_once 'Modules/Test/classes/class.ilObjTest.php';
             $testId = ilObjTest::_getTestIDFromObjectID($testObjId);
             if ($testId) {
                 $userActiveId = ilObjTest::_getActiveIdOfUser($a_user_id, $testId);
                 if ($userActiveId) {
                     $ilCtrl->setParameterByClass('ilTestEvaluationGUI', 'ref_id', $a_test_ref_id);
                     $ilCtrl->setParameterByClass('ilTestEvaluationGUI', 'active_id', $userActiveId);
                     $link = $ilCtrl->getLinkTargetByClass(array('ilRepositoryGUI', 'ilObjTestGUI', 'ilTestEvaluationGUI'), 'outParticipantsResultsOverview');
                     $ilCtrl->setParameterByClass('ilTestEvaluationGUI', 'ref_id', '');
                     $ilCtrl->setParameterByClass('ilTestEvaluationGUI', 'active_id', '');
                     return $link;
                 }
             }
         }
     }
 }