60 return array(
'questionTitles',
'participants',
'statistics',
'arrFilter',
'datasets',
'test');
70 $this->participants = array();
71 $this->questionTitles = array();
82 include_once
"./Modules/Test/classes/class.ilTestEvaluationPassData.php";
83 include_once
"./Modules/Test/classes/class.ilTestEvaluationUserData.php";
85 $this->participants = array();
88 SELECT usr_data.usr_id,
94 FROM tst_pass_result, tst_active
96 ON tst_active.user_fi = usr_data.usr_id
97 WHERE tst_active.active_id = tst_pass_result.active_fi
98 AND tst_active.test_fi = %s
99 ORDER BY usr_data.lastname,
101 tst_pass_result.active_fi,
102 tst_pass_result.pass,
103 tst_pass_result.tstamp
109 array($this->
getTest()->getTestId())
142 if (
$row[
"questioncount"] == 0) {
181 $this->questionTitles[$question_id] = $question_title;
191 if (array_key_exists($question_id, $this->questionTitles)) {
192 return $this->questionTitles[$question_id];
200 include_once
"./Modules/Test/classes/class.ilTestStatistics.php";
206 if (is_array($this->arrFilter) && count($this->arrFilter) > 0) {
207 $filteredParticipants = array();
208 $courseids = array();
211 if (array_key_exists(
'group', $this->arrFilter)) {
213 $groupids = array_merge($groupids, $ids);
215 if (array_key_exists(
'course', $this->arrFilter)) {
217 $courseids = array_merge($courseids, $ids);
219 foreach ($this->participants as $active_id => $participant) {
221 if (array_key_exists(
'name', $this->arrFilter)) {
222 if (!(strpos(strtolower($participant->getName()), strtolower($this->arrFilter[
'name'])) !==
false)) {
227 if (array_key_exists(
'group', $this->arrFilter)) {
228 include_once
"./Services/Membership/classes/class.ilParticipants.php";
230 $foundfilter =
false;
231 if (count(array_intersect($groupids, $groups))) {
240 if (array_key_exists(
'course', $this->arrFilter)) {
241 include_once
"./Services/Membership/classes/class.ilParticipants.php";
243 $foundfilter =
false;
244 if (count(array_intersect($courseids, $courses))) {
253 if (array_key_exists(
'active_id', $this->arrFilter)) {
254 if ($active_id != $this->arrFilter[
'active_id']) {
260 $filteredParticipants[$active_id] = $participant;
263 return $filteredParticipants;
271 $this->arrFilter = array();
282 $this->arrFilter = array($by =>
$text);
297 $this->participants[$active_id] = $participant;
306 return $this->participants[$active_id];
311 return array_key_exists($active_id, $this->participants);
316 unset($this->participants[$active_id]);
326 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)
addQuestionTitle($question_id, $question_title)
getQuestionTitle($question_id)
addParticipant($active_id, $participant)
setFilterArray($arrFilter)
getParticipant($active_id)
__construct(ilObjTest $test=null)
Constructor.
This class calculates statistical data for a test which has to be calculated using all participant da...