/** * 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; }