3 declare(strict_types=0);
    40             if ($max_points === 0) {
    43                 return ($reached / $max_points * 100) >= $limit_perc;
    46             $required_perc = self::lookupObjectiveRequiredPercentage(
    53             if ($max_points === 0) {
    56                 return ($reached / $max_points * 100) >= $required_perc;
    69         $a_test_type = $assignments->getTypeByTest($a_test_ref_id);
    71         if ($assignments->isSeparateTest($a_test_ref_id)) {
    73             $tst = $factory->getInstanceByRefId($a_test_ref_id, 
false);
    75                 $schema = $tst->getMarkSchema();
    76                 foreach ($schema->getMarkSteps() as $mark) {
    77                     if ($mark->getPassed()) {
    78                         return (
int) $mark->getMinimumLevel();
    83         $tst_ref_id = $a_test_ref_id;
    91     public static function lookupMaxAttempts(
int $a_container_id, 
int $a_objective_id, 
int $a_test_ref_id): 
int    95         $ilDB = $DIC->database();
    98         if (!$assignments->isSeparateTest($a_test_ref_id)) {
   103         $query = 
'SELECT nr_of_tries FROM tst_tests ' .
   107             return (
int) $row->nr_of_tries;
   120     public static function lookupQplBySequence(
int $a_test_ref_id, 
int $a_sequence_id): 
string   125         if (!$a_sequence_id) {
   141         $list->loadDefinitions();
   144         $translator->loadLabels($list);
   147         foreach ($list as $definition) {
   148             if ($definition->getId() != $a_sequence_id) {
   151             $title = self::buildQplTitleByDefinition($definition, $translator);
   161         $filterTitle = array();
   164         if (!empty($filterTitle)) {
   165             $title .= 
' -> ' . implode(
' / ', $filterTitle);
   170     public static function hasActiveRun(
int $a_container_id, 
int $a_test_ref_id, 
int $a_objective_id): bool
   179         $ilCtrl = $DIC->ctrl();
   180         $ilUser = $DIC->user();
   181         $ilAccess = $DIC->access();
   188         if ($a_user_id == $ilUser->getId()) {
   189             $valid = $ilAccess->checkAccess(
'read', 
'', $a_test_ref_id);
   192             $valid = $ilAccess->checkAccess(
'write', 
'', $a_test_ref_id);
   199                     $ilCtrl->setParameterByClass(
'ilObjTestGUI', 
'ref_id', $a_test_ref_id);
   200                     $ctrlClasses = array(
'ilRepositoryGUI', 
'ilObjTestGUI', 
'ilTestResultsGUI');
   201                     $link = $ilCtrl->getLinkTargetByClass($ctrlClasses);
   202                     $ilCtrl->setParameterByClass(
'ilObjTestGUI', 
'ref_id', 
'');
   210                         $ilCtrl->setParameterByClass(
'ilTestEvaluationGUI', 
'ref_id', $a_test_ref_id);
   211                         $ilCtrl->setParameterByClass(
'ilTestEvaluationGUI', 
'active_id', $userActiveId);
   212                         $link = $ilCtrl->getLinkTargetByClass(array(
'ilRepositoryGUI',
   214                                                                     'ilTestEvaluationGUI'   215                         ), 
'outParticipantsResultsOverview');
   216                         $ilCtrl->setParameterByClass(
'ilTestEvaluationGUI', 
'ref_id', 
'');
   217                         $ilCtrl->setParameterByClass(
'ilTestEvaluationGUI', 
'active_id', 
'');
 static hasActiveRun(int $a_container_id, int $a_test_ref_id, int $a_objective_id)
 
static lookupLimit(int $a_container_id, int $a_objective_id, int $a_test_type)
 
static _lookupRandomTest($a_obj_id)
Returns the fact wether the test with passed obj id is a random questions test or not...
 
static buildQplTitleByDefinition(ilTestRandomQuestionSetSourcePoolDefinition $def, ilTestQuestionFilterLabelTranslater $trans)
 
static loookupTestLimit(int $a_test_id, int $a_objective_id)
 
static lookupObjectiveRequiredPercentage(int $a_container_id, int $a_objective_id, int $a_test_ref_id, int $a_max_points)
 
static _lookupObjId(int $ref_id)
 
static getTestResultLinkForUser(int $a_test_ref_id, int $a_user_id)
 
getTaxonomyFilterLabel($filter=array(), $filterDelimiter='+', $taxNodeDelimiter=':', $nodesDelimiter=', ')
Get the label for a taxonomy filter. 
 
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id 
 
static _getTestIDFromObjectID($object_id)
Returns the ILIAS test id for a given object id. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static isCompleted(int $a_cont_oid, int $a_test_rid, int $a_objective_id, int $max_points, int $reached, int $limit_perc)
Check if objective is completed. 
 
static getInstanceByObjId(int $a_obj_id)
 
static lookupRandomTest(int $a_test_obj_id)
 
getTypeFilterLabel($filter=array())
Get the label for a type filter. 
 
static getInstance(int $a_container_id)
 
static lookupMaxAttempts(int $a_container_id, int $a_objective_id, int $a_test_ref_id)
 
getMappedTaxonomyFilter()
get the mapped taxonomy filter conditions 
 
static _getActiveIdOfUser($user_id="", $test_id="")
 
static visibleUserResultExists($test_obj_id, $user_id)