65        return array(
'questionTitles', 
'participants', 
'statistics', 
'arrFilter', 
'datasets', 
'test');
 
   75        $this->participants = array();
 
   76        $this->questionTitles = array();
 
  120                        SELECT                  usr_data.usr_id, 
  127                        FROM                    tst_pass_result, tst_active 
  129                        ON                              tst_active.user_fi = usr_data.usr_id 
  130                        WHERE                   tst_active.active_id = tst_pass_result.active_fi 
  131                        AND                             tst_active.test_fi = %s 
  132                        ORDER BY                usr_data.lastname, 
  134                                                        tst_pass_result.active_fi, 
  135                                                        tst_pass_result.pass, 
  136                                                        tst_pass_result.tstamp 
  142            array($this->
getTest()->getTestId())
 
  160        include_once 
"./Modules/Test/classes/class.ilTestEvaluationPassData.php";
 
  161        include_once 
"./Modules/Test/classes/class.ilTestEvaluationUserData.php";
 
  163        $this->participants = array();
 
  195            $this->
getParticipant($row[
"active_fi"])->getPass(
$row[
"pass"])->setObligationsAnswered(
$row[
"obligations_answered"]);
 
  197            if (
$row[
"questioncount"] == 0) {
 
  206            $this->
getParticipant($row[
"active_fi"])->getPass(
$row[
"pass"])->setNrOfAnsweredQuestions(
$row[
"answeredquestions"]);
 
  210            $this->
getParticipant($row[
'active_fi'])->getPass(
$row[
'pass'])->setRequestedHintsCount(
$row[
'hint_count']);
 
  211            $this->
getParticipant($row[
'active_fi'])->getPass(
$row[
'pass'])->setDeductedHintPoints(
$row[
'hint_points']);
 
  237        $this->questionTitles[$question_id] = $question_title;
 
  247        if (array_key_exists($question_id, $this->questionTitles)) {
 
  248            return $this->questionTitles[$question_id];
 
  256        include_once 
"./Modules/Test/classes/class.ilTestStatistics.php";
 
  262        $finishedParticipants = 0;
 
  264        foreach ($this->participants as $active_id => $participant) {
 
  265            if (!$participant->isSubmitted()) {
 
  269            $finishedParticipants++;
 
  272        return $finishedParticipants;
 
  277        if (is_array($this->arrFilter) && count($this->arrFilter) > 0) {
 
  278            $filteredParticipants = array();
 
  279            $courseids = array();
 
  283            if (array_key_exists(
'group', $this->arrFilter)) {
 
  285                $groupids = array_merge($groupids, $ids);
 
  287            if (array_key_exists(
'course', $this->arrFilter)) {
 
  289                $courseids = array_merge($courseids, $ids);
 
  291            foreach ($this->participants as $active_id => $participant) {
 
  293                if (array_key_exists(
'name', $this->arrFilter)) {
 
  294                    if (!(strpos(strtolower($participant->getName()), strtolower($this->arrFilter[
'name'])) !== 
false)) {
 
  299                    if (array_key_exists(
'group', $this->arrFilter)) {
 
  300                        include_once 
"./Services/Membership/classes/class.ilParticipants.php";
 
  302                        $foundfilter = 
false;
 
  303                        if (count(array_intersect($groupids, $groups))) {
 
  312                    if (array_key_exists(
'course', $this->arrFilter)) {
 
  313                        include_once 
"./Services/Membership/classes/class.ilParticipants.php";
 
  315                        $foundfilter = 
false;
 
  316                        if (count(array_intersect($courseids, $courses))) {
 
  325                    if (array_key_exists(
'active_id', $this->arrFilter)) {
 
  326                        if ($active_id != $this->arrFilter[
'active_id']) {
 
  332                    $filteredParticipants[$active_id] = $participant;
 
  335            return $filteredParticipants;
 
  343        $this->arrFilter = array();
 
  354        $this->arrFilter = array($by => 
$text);
 
  369        $this->participants[$active_id] = $participant;
 
  378        return $this->participants[$active_id];
 
  383        return array_key_exists($active_id, $this->participants);
 
  388        unset($this->participants[$active_id]);
 
  398        return array_keys($this->participants);
 
An exception for terminatinating execution or to throw for unit testing.
static _getQuestionCountAndPointsForPassOfParticipant($active_id, $pass)
static _getIdsForTitle($title, $type='', $partialmatch=false)
static _getMembershipByType($a_usr_id, $a_type, $a_only_member_role=false)
get membership by type Get course or group membership
participantExists($active_id)
removeParticipant($active_id)
getAccessFilteredParticipantList()
addQuestionTitle($question_id, $question_title)
getQuestionTitle($question_id)
addParticipant($active_id, $participant)
getTotalFinishedParticipants()
setFilterArray($arrFilter)
$accessFilteredParticipantList
getParticipant($active_id)
setAccessFilteredParticipantList($accessFilteredParticipantList)
checkParticipantAccess($activeId)
__construct(ilObjTest $test=null)
Constructor.
This class calculates statistical data for a test which has to be calculated using all participant da...