26                $this->
object = $a_object;
 
   38                $passOverwiewData = array();
 
   42                $scoredPass = $this->
object->_getResultPass($active_id);
 
   46                $testReachedPoints = 0;
 
   51                        $passFinishDate = $this->
object->getPassFinishDate($active_id, 
$pass);
 
   53                        if( $passFinishDate <= 0 )
 
   60                                $resultData =& $this->
object->getTestResult($active_id, 
$pass);
 
   62                                if (!$resultData[
"pass"][
"total_max_points"])
 
   68                                        $passPercentage = ($resultData[
"pass"][
"total_reached_points"]/$resultData[
"pass"][
"total_max_points"])*100;
 
   71                                $passMaxPoints = $resultData[
"pass"][
"total_max_points"];
 
   72                                $passReachedPoints = $resultData[
"pass"][
"total_reached_points"];
 
   74                                $passAnsweredQuestions = $this->
object->getAnsweredQuestionCount($active_id, 
$pass);
 
   75                                $passTotalQuestions = count($resultData) - 2;
 
   77                                if( 
$pass == $scoredPass )
 
   81                                        if (!$resultData[
"test"][
"total_max_points"])
 
   87                                                $testPercentage = ($resultData[
"test"][
"total_reached_points"]/$resultData[
"test"][
"total_max_points"])*100;
 
   90                                        $testMaxPoints = $resultData[
"test"][
"total_max_points"];
 
   91                                        $testReachedPoints = $resultData[
"test"][
"total_reached_points"];
 
   93                                        $passOverwiewData[
'test'] = array(
 
   94                                                'active_id' => $active_id,
 
   95                                                'scored_pass' => $scoredPass,
 
   96                                                'max_points' => $testMaxPoints,
 
   97                                                'reached_points' => $testReachedPoints,
 
   98                                                'percentage' => $testPercentage
 
  101                                else $isScoredPass = 
false;
 
  103                                $passOverwiewData[
'passes'][] = array(
 
  104                                        'active_id' => $active_id,
 
  106                                        'finishdate' => $passFinishDate,
 
  107                                        'max_points' => $passMaxPoints,
 
  108                                        'reached_points' => $passReachedPoints,
 
  109                                        'percentage' => $passPercentage,
 
  110                                        'answered_questions' => $passAnsweredQuestions,
 
  111                                        'total_questions' => $passTotalQuestions,
 
  112                                        'is_scored_pass' => $isScoredPass
 
  117                return $passOverwiewData;
 
  130                include_once 
"./Modules/Test/classes/class.ilObjAssessmentFolder.php";
 
  133                $testResultData = $this->
object->getTestResult($activeId, 
$pass);
 
  135                $manScoringQuestionGuiList = array();
 
  137                foreach($testResultData as $questionData)
 
  139                        if( !isset($questionData[
'qid']) )
 
  144                        if( !isset($questionData[
'type']) )
 
  149                        $questionGUI = $this->
object->createQuestionGUI(
"", $questionData[
'qid']);
 
  151                        if( !in_array($questionGUI->object->getQuestionTypeID(), $manScoringQuestionTypes) )
 
  156                        $manScoringQuestionGuiList[ $questionData[
'qid'] ] = $questionGUI;
 
  159                return $manScoringQuestionGuiList;
 
  173                $assessmentSetting = 
new ilSetting(
"assessment");
 
  174                return $assessmentSetting->get(
"manscoring_done_" . $activeId, 
false);
 
  188                $assessmentSetting = 
new ilSetting(
"assessment");
 
  189                $assessmentSetting->set(
"manscoring_done_" . $activeId, (
bool)$manScoringDone);
 
  196                require_once 
'Modules/Test/classes/class.ilTestVirtualSequence.php';
 
  199                if( $this->object->isRandomTest() )
 
  201                        require_once 
'Modules/Test/classes/class.ilTestVirtualSequenceRandomQuestionSet.php';
 
  206                        require_once 
'Modules/Test/classes/class.ilTestVirtualSequence.php';
 
  210                $virtualSequence->setActiveId($testSession->
getActiveId());
 
  212                $virtualSequence->init();
 
  214                return $virtualSequence;
 
  219                $resultsByPass = array();
 
  223                        $results = $this->
object->getTestResult(
 
  230                $virtualPassResults = array();
 
  234                        foreach($resultsByPass[
$pass] as $key => $questionResult)
 
  236                                if($key === 
'test' || $key === 
'pass')
 
  241                                if($questionResult[
'qid'] == $questionId)
 
  243                                        $questionResult[
'pass'] = 
$pass;
 
  244                                        $virtualPassResults[$questionId] = $questionResult;
 
  250                return $virtualPassResults;
 
  262                $marked_questions = array();
 
  264                if($this->object->getShowMarker())
 
  266                        include_once 
"./Modules/Test/classes/class.ilObjTest.php";
 
  272                foreach($result_array as $key => $value)
 
  275                        if($this->object->getListOfQuestionsDescription())
 
  277                                $description = $value[
"description"];
 
  281                        if(!$this->object->getTitleOutput())
 
  283                                $points = $value[
"points"];
 
  287                        if(count($marked_questions))
 
  289                                if(array_key_exists($value[
"qid"], $marked_questions))
 
  291                                        $obj = $marked_questions[$value[
"qid"]];
 
  292                                        if($obj[
"solved"] == 1)
 
  300                        $data[] = array(
'order' => $value[
"nr"], 
'title' => $this->object->getQuestionTitle($value[
"title"], $value[
"nr"]), 
'description' => $description, 
'worked_through' => $value[
"worked_through"], 
'postponed' => $value[
"postponed"], 
'points' => $points, 
'marked' => $marked, 
'sequence' => $value[
"sequence"], 
'obligatory' => $value[
'obligatory'], 
'isAnswered' => $value[
'isAnswered']);
 
An exception for terminatinating execution or to throw for unit testing.
static _getManualScoring()
Retrieve the manual scoring settings.
static _getPass($active_id)
Retrieves the actual pass of a given user for a given test.
static _getSolvedQuestions($active_id, $question_fi=null)
get solved questions
Base Exception for all Exceptions relating to Modules/Test.
getManScoringQuestionGuiList($activeId, $pass)
Returns the list of answers of a users test pass and offers a scoring option.
static setManScoringDone($activeId, $manScoringDone)
stores the flag wether manscoring is done for the given test active or not within the global settings...
__construct(ilObjTest $a_object)
@access public
getVirtualSequenceUserResults(ilTestVirtualSequence $virtualSequence)
getQuestionSummaryData(ilTestSequenceSummaryProvider $testSequence, $obligationsFilterEnabled)
getPassOverviewData($active_id, $short=false)
@access public @global ilObjUser $ilUser
static isManScoringDone($activeId)
reads the flag wether manscoring is done for the given test active or not from the global settings (s...
buildVirtualSequence(ilTestSession $testSession)
getSequenceSummary($obligationsFilterEnabled=false)