Esempio n. 1
0
 /**
 * Retrieves the number of answered questions for a given user in a given test
 *
 * @param integer $user_id The user id
 * @param integer $test_id The test id
 * @param integer $pass The pass of the test (optional)
 * @return integer The number of answered questions
 * @access public
 */
 function getAnsweredQuestionCount($active_id, $pass = NULL)
 {
     if ($this->isDynamicTest()) {
         global $tree, $ilDB, $lng, $ilPluginAdmin;
         require_once 'Modules/Test/classes/class.ilTestSessionFactory.php';
         $testSessionFactory = new ilTestSessionFactory($this);
         $testSession = $testSessionFactory->getSession($active_id);
         require_once 'Modules/Test/classes/class.ilTestSequenceFactory.php';
         $testSequenceFactory = new ilTestSequenceFactory($ilDB, $lng, $ilPluginAdmin, $this);
         $testSequence = $testSequenceFactory->getSequenceByTestSession($testSession);
         require_once 'Modules/Test/classes/class.ilObjTestDynamicQuestionSetConfig.php';
         $dynamicQuestionSetConfig = new ilObjTestDynamicQuestionSetConfig($tree, $ilDB, $ilPluginAdmin, $this);
         $dynamicQuestionSetConfig->loadFromDb();
         $testSequence->loadFromDb($dynamicQuestionSetConfig);
         $testSequence->loadQuestions($dynamicQuestionSetConfig, new ilTestDynamicQuestionSetFilterSelection());
         return $testSequence->getTrackedQuestionCount();
     }
     if ($this->isRandomTest()) {
         $this->loadQuestions($active_id, $pass);
     }
     include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
     $workedthrough = 0;
     foreach ($this->questions as $value) {
         if (assQuestion::_isWorkedThrough($active_id, $value, $pass)) {
             $workedthrough += 1;
         }
     }
     return $workedthrough;
 }
 /**
 * Retrieves the number of answered questions for a given user in a given test
 *
 * @param integer $user_id The user id
 * @param integer $test_id The test id
 * @param integer $pass The pass of the test (optional)
 * @return integer The number of answered questions
 * @access public
 */
 function getAnsweredQuestionCount($active_id, $pass = NULL)
 {
     if ($this->isRandomTest()) {
         $this->loadQuestions($active_id, $pass);
     }
     include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
     $workedthrough = 0;
     foreach ($this->questions as $value) {
         if (assQuestion::_isWorkedThrough($active_id, $value, $pass)) {
             $workedthrough += 1;
         }
     }
     return $workedthrough;
 }