79 return array(
'questionTitles',
'participants',
'statistics',
'arrFilter',
'datasets',
'test');
89 $this->participants = array();
90 $this->questionTitles = array();
100 $this->participants = array();
102 include_once
"./Modules/Test/classes/class.ilTestEvaluationPassData.php";
103 include_once
"./Modules/Test/classes/class.ilTestEvaluationUserData.php";
104 $result = $ilDB->queryF(
"SELECT usr_data.usr_id, usr_data.firstname, usr_data.lastname, usr_data.title, usr_data.login, " .
105 "tst_pass_result.* FROM tst_pass_result, tst_active " .
106 "LEFT JOIN usr_data ON tst_active.user_fi = usr_data.usr_id " .
107 "WHERE tst_active.active_id = tst_pass_result.active_fi " .
108 "AND tst_active.test_fi = %s " .
109 "ORDER BY usr_data.lastname, usr_data.firstname, tst_pass_result.active_fi, tst_pass_result.pass, tst_pass_result.tstamp",
111 array($this->
getTest()->getTestId())
134 if (
$row[
"questioncount"] == 0)
157 $this->test =&
$test;
172 $this->questionTitles[$question_id] = $question_title;
182 if (array_key_exists($question_id, $this->questionTitles))
184 return $this->questionTitles[$question_id];
194 include_once
"./Modules/Test/classes/class.ilTestStatistics.php";
200 if (count($this->arrFilter))
202 $filteredParticipants = array();
203 $courseids = array();
206 if (array_key_exists(
'group', $this->arrFilter))
209 $groupids = array_merge($groupids, $ids);
211 if (array_key_exists(
'course', $this->arrFilter))
214 $courseids = array_merge($courseids, $ids);
216 foreach ($this->participants as $active_id => $participant)
219 if (array_key_exists(
'name', $this->arrFilter))
221 if (!(strpos(strtolower($participant->getName()), strtolower($this->arrFilter[
'name'])) !== FALSE)) $remove = TRUE;
225 if (array_key_exists(
'group', $this->arrFilter))
227 include_once
"./Services/Membership/classes/class.ilParticipants.php";
229 $foundfilter = FALSE;
230 if (count(array_intersect($groupids, $groups))) $foundfilter = TRUE;
231 if (!$foundfilter) $remove = TRUE;
236 if (array_key_exists(
'course', $this->arrFilter))
238 include_once
"./Services/Membership/classes/class.ilParticipants.php";
240 $foundfilter = FALSE;
241 if (count(array_intersect($courseids, $courses))) $foundfilter = TRUE;
242 if (!$foundfilter) $remove = TRUE;
247 if (array_key_exists(
'active_id', $this->arrFilter))
249 if ($active_id != $this->arrFilter[
'active_id']) $remove = TRUE;
252 if (!$remove) $filteredParticipants[$active_id] = $participant;
254 return $filteredParticipants;
264 $this->arrFilter = array();
275 $this->arrFilter = array($by => $text);
290 $this->participants[$active_id] = $participant;
295 return $this->participants[$active_id];
300 return array_key_exists($active_id, $this->participants);
305 unset($this->participants[$active_id]);
315 return array_keys($this->participants);