ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilAssQuestionList Class Reference
+ Inheritance diagram for ilAssQuestionList:
+ Collaboration diagram for ilAssQuestionList:

Public Member Functions

 __construct (ilDB $db, ilLanguage $lng, ilPluginAdmin $pluginAdmin, $parentObjId)
 Constructor. More...
 
 setParentObjectType ($parentObjType)
 
 getParentObjectType ()
 
 setQuestionInstanceTypeFilter ($questionInstanceTypeFilter)
 
 getQuestionInstanceTypeFilter ()
 
 setQuestionIdsFilter ($questionIdsFilter)
 
 getQuestionIdsFilter ()
 
 addFieldFilter ($fieldName, $fieldValue)
 
 addTaxonomyFilter ($taxId, $taxNodes)
 
 setAvailableTaxonomyIds ($availableTaxonomyIds)
 
 getAvailableTaxonomyIds ()
 
 setAnswerStatusActiveId ($answerStatusActiveId)
 
 getAnswerStatusActiveId ()
 
 setAnswerStatusFilter ($answerStatusFilter)
 
 getAnswerStatusFilter ()
 
 setForcedQuestionIds ($forcedQuestionIds)
 
 getForcedQuestionIds ()
 
 load ()
 
 getQuestionDataArray ()
 
 isInList ($questionId)
 
 getTitle ($a_comp_id, $a_item_type, $a_item_id)
 Get title of an assigned item. More...
 

Data Fields

const QUESTION_ANSWER_STATUS_NON_ANSWERED = 'nonAnswered'
 answer status domain for single questions More...
 
const QUESTION_ANSWER_STATUS_WRONG_ANSWERED = 'wrongAnswered'
 
const QUESTION_ANSWER_STATUS_CORRECT_ANSWERED = 'correctAnswered'
 
const ANSWER_STATUS_FILTER_ALL_NON_CORRECT = 'allNonCorrect'
 answer status filter value domain More...
 
const ANSWER_STATUS_FILTER_NON_ANSWERED_ONLY = 'nonAnswered'
 
const ANSWER_STATUS_FILTER_WRONG_ANSWERED_ONLY = 'wrongAnswered'
 
const QUESTION_INSTANCE_TYPE_ORIGINALS = 'QST_INSTANCE_TYPE_ORIGINALS'
 
const QUESTION_INSTANCE_TYPE_DUPLICATES = 'QST_INSTANCE_TYPE_DUPLICATES'
 

Private Member Functions

 getFieldFilterExpressions ()
 
 getTaxonomyFilterExpressions ()
 
 getQuestionInstanceTypeFilterExpression ()
 
 getQuestionIdsFilterExpression ()
 
 getParentObjectIdFilterExpression ()
 
 getAnswerStatusFilterExpressions ()
 
 getTableJoinExpression ()
 
 getConditionalFilterExpression ()
 
 getSelectFieldsExpression ()
 
 buildBasicQuery ()
 
 buildQuery ()
 
 loadTaxonomyAssignmentData ($questionId)
 
 isActiveQuestionType ($questionData)
 
 checkFilters ()
 

Private Attributes

 $db = null
 
 $lng = null
 
 $pluginAdmin = null
 
 $parentObjId = null
 
 $parentObjType = 'qpl'
 
 $availableTaxonomyIds = array()
 
 $fieldFilters = array()
 
 $taxFilters = array()
 
 $answerStatusActiveId = null
 
 $forcedQuestionIds = array()
 
 $answerStatusFilter = null
 
 $questions = array()
 
 $questionInstanceTypeFilter = self::QUESTION_INSTANCE_TYPE_ORIGINALS
 
 $questionIdsFilter = null
 

Detailed Description

Definition at line 15 of file class.ilAssQuestionList.php.

Constructor & Destructor Documentation

◆ __construct()

ilAssQuestionList::__construct ( ilDB  $db,
ilLanguage  $lng,
ilPluginAdmin  $pluginAdmin,
  $parentObjId 
)

Constructor.

Parameters
ilDB$db
integer$parentObjId

Definition at line 121 of file class.ilAssQuestionList.php.

References $db, $lng, $parentObjId, and $pluginAdmin.

122  {
123  $this->db = $db;
124  $this->lng = $lng;
125  $this->pluginAdmin = $pluginAdmin;
126  $this->parentObjId = $parentObjId;
127  }

Member Function Documentation

◆ addFieldFilter()

ilAssQuestionList::addFieldFilter (   $fieldName,
  $fieldValue 
)

Definition at line 159 of file class.ilAssQuestionList.php.

160  {
161  $this->fieldFilters[$fieldName] = $fieldValue;
162  }

◆ addTaxonomyFilter()

ilAssQuestionList::addTaxonomyFilter (   $taxId,
  $taxNodes 
)

Definition at line 164 of file class.ilAssQuestionList.php.

Referenced by ilObjQuestionPoolGUI\buildQuestionBrowserTableGUI().

165  {
166  $this->taxFilters[$taxId] = $taxNodes;
167  }
+ Here is the caller graph for this function:

◆ buildBasicQuery()

ilAssQuestionList::buildBasicQuery ( )
private

Definition at line 429 of file class.ilAssQuestionList.php.

Referenced by buildQuery().

430  {
431  return "
432  {$this->getSelectFieldsExpression()}
433 
434  FROM qpl_questions
435 
436  {$this->getTableJoinExpression()}
437 
438  WHERE qpl_questions.tstamp > 0
439  ";
440  }
+ Here is the caller graph for this function:

◆ buildQuery()

ilAssQuestionList::buildQuery ( )
private

Definition at line 442 of file class.ilAssQuestionList.php.

References $query, buildBasicQuery(), and getForcedQuestionIds().

Referenced by load().

443  {
444  $query = $this->buildBasicQuery()."
445  {$this->getConditionalFilterExpression()}
446  ";
447 
448  if( count($this->getForcedQuestionIds()) )
449  {
450  $query .= "
451  UNION {$this->buildBasicQuery()}
452  AND {$this->db->in('qpl_questions.question_id', $this->getForcedQuestionIds(), false, 'integer')}
453  ";
454  }
455 
456  return $query;
457  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkFilters()

ilAssQuestionList::checkFilters ( )
private

Definition at line 570 of file class.ilAssQuestionList.php.

References getAnswerStatusActiveId(), and getAnswerStatusFilter().

Referenced by load().

571  {
572  if( strlen($this->getAnswerStatusFilter()) && !$this->getAnswerStatusActiveId() )
573  {
574  require_once 'Modules/TestQuestionPool/exceptions/class.ilTestQuestionPoolException.php';
575 
576  throw new ilTestQuestionPoolException(
577  'No active id given! You cannot use the answer status filter without giving an active id.'
578  );
579  }
580 
581  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAnswerStatusActiveId()

ilAssQuestionList::getAnswerStatusActiveId ( )

Definition at line 184 of file class.ilAssQuestionList.php.

References $answerStatusActiveId.

Referenced by checkFilters(), getSelectFieldsExpression(), and getTableJoinExpression().

185  {
187  }
+ Here is the caller graph for this function:

◆ getAnswerStatusFilter()

ilAssQuestionList::getAnswerStatusFilter ( )

Definition at line 194 of file class.ilAssQuestionList.php.

References $answerStatusFilter.

Referenced by checkFilters(), and getAnswerStatusFilterExpressions().

195  {
197  }
+ Here is the caller graph for this function:

◆ getAnswerStatusFilterExpressions()

ilAssQuestionList::getAnswerStatusFilterExpressions ( )
private

Definition at line 325 of file class.ilAssQuestionList.php.

References getAnswerStatusFilter().

Referenced by getConditionalFilterExpression().

326  {
327  $expressions = array();
328 
329  switch( $this->getAnswerStatusFilter() )
330  {
331  case self::ANSWER_STATUS_FILTER_ALL_NON_CORRECT:
332 
333  $expressions[] = '
334  (tst_test_result.question_fi IS NULL OR tst_test_result.points < qpl_questions.points)
335  ';
336  break;
337 
338  case self::ANSWER_STATUS_FILTER_NON_ANSWERED_ONLY:
339 
340  $expressions[] = 'tst_test_result.question_fi IS NULL';
341  break;
342 
343  case self::ANSWER_STATUS_FILTER_WRONG_ANSWERED_ONLY:
344 
345  $expressions[] = 'tst_test_result.question_fi IS NOT NULL';
346  $expressions[] = 'tst_test_result.points < qpl_questions.points';
347  break;
348  }
349 
350  return $expressions;
351  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAvailableTaxonomyIds()

ilAssQuestionList::getAvailableTaxonomyIds ( )

Definition at line 174 of file class.ilAssQuestionList.php.

References $availableTaxonomyIds.

Referenced by loadTaxonomyAssignmentData().

175  {
177  }
+ Here is the caller graph for this function:

◆ getConditionalFilterExpression()

ilAssQuestionList::getConditionalFilterExpression ( )
private

Definition at line 372 of file class.ilAssQuestionList.php.

References getAnswerStatusFilterExpressions(), getFieldFilterExpressions(), getParentObjectIdFilterExpression(), getQuestionIdsFilterExpression(), getQuestionInstanceTypeFilterExpression(), and getTaxonomyFilterExpressions().

373  {
374  $CONDITIONS = array();
375 
376  if( $this->getQuestionInstanceTypeFilterExpression() !== null )
377  {
378  $CONDITIONS[] = $this->getQuestionInstanceTypeFilterExpression();
379  }
380 
381  if( $this->getQuestionIdsFilterExpression() !== null )
382  {
383  $CONDITIONS[] = $this->getQuestionIdsFilterExpression();
384  }
385 
386  if( $this->getParentObjectIdFilterExpression() !== null )
387  {
388  $CONDITIONS[] = $this->getParentObjectIdFilterExpression();
389  }
390 
391  $CONDITIONS = array_merge($CONDITIONS,
392  $this->getFieldFilterExpressions(),
395  );
396 
397  $CONDITIONS = implode(' AND ', $CONDITIONS);
398 
399  return strlen($CONDITIONS) ? 'AND '.$CONDITIONS : '';
400  }
+ Here is the call graph for this function:

◆ getFieldFilterExpressions()

ilAssQuestionList::getFieldFilterExpressions ( )
private

Definition at line 215 of file class.ilAssQuestionList.php.

Referenced by getConditionalFilterExpression().

216  {
217  $expressions = array();
218 
219  foreach($this->fieldFilters as $fieldName => $fieldValue)
220  {
221  switch($fieldName)
222  {
223  case 'title':
224  case 'description':
225  case 'author':
226 
227  $expressions[] = $this->db->like('qpl_questions.' . $fieldName, 'text', "%%$fieldValue%%");
228  break;
229 
230  case 'type':
231 
232  $expressions[] = "qpl_qst_type.type_tag = {$this->db->quote($fieldValue, 'text')}";
233  break;
234 
235  case 'question_id':
236  if ($fieldValue != "" && !is_array($fieldValue))
237  {
238  $fieldValue = array($fieldValue);
239  }
240  $expressions[] = $this->db->in("qpl_questions.question_id", $fieldValue, false, "integer");
241  break;
242  }
243  }
244 
245  return $expressions;
246  }
+ Here is the caller graph for this function:

◆ getForcedQuestionIds()

ilAssQuestionList::getForcedQuestionIds ( )
Returns
array

Definition at line 210 of file class.ilAssQuestionList.php.

References $forcedQuestionIds.

Referenced by buildQuery().

211  {
213  }
+ Here is the caller graph for this function:

◆ getParentObjectIdFilterExpression()

ilAssQuestionList::getParentObjectIdFilterExpression ( )
private

Definition at line 315 of file class.ilAssQuestionList.php.

Referenced by getConditionalFilterExpression().

316  {
317  if( $this->parentObjId )
318  {
319  return "qpl_questions.obj_fi = {$this->db->quote($this->parentObjId, 'integer')}";
320  }
321 
322  return null;
323  }
+ Here is the caller graph for this function:

◆ getParentObjectType()

ilAssQuestionList::getParentObjectType ( )

Definition at line 134 of file class.ilAssQuestionList.php.

References $parentObjType.

135  {
136  return $this->parentObjType;
137  }

◆ getQuestionDataArray()

ilAssQuestionList::getQuestionDataArray ( )

◆ getQuestionIdsFilter()

ilAssQuestionList::getQuestionIdsFilter ( )

Definition at line 154 of file class.ilAssQuestionList.php.

References $questionIdsFilter.

Referenced by getQuestionIdsFilterExpression().

155  {
157  }
+ Here is the caller graph for this function:

◆ getQuestionIdsFilterExpression()

ilAssQuestionList::getQuestionIdsFilterExpression ( )
private

Definition at line 305 of file class.ilAssQuestionList.php.

References getQuestionIdsFilter().

Referenced by getConditionalFilterExpression().

306  {
307  if( is_array($this->getQuestionIdsFilter()) )
308  {
309  return $this->db->in('qpl_questions.question_id', $this->getQuestionIdsFilter(), false, 'integer');
310  }
311 
312  return null;
313  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getQuestionInstanceTypeFilter()

ilAssQuestionList::getQuestionInstanceTypeFilter ( )

Definition at line 144 of file class.ilAssQuestionList.php.

References $questionInstanceTypeFilter.

Referenced by getQuestionInstanceTypeFilterExpression().

+ Here is the caller graph for this function:

◆ getQuestionInstanceTypeFilterExpression()

ilAssQuestionList::getQuestionInstanceTypeFilterExpression ( )
private

Definition at line 289 of file class.ilAssQuestionList.php.

References getQuestionInstanceTypeFilter().

Referenced by getConditionalFilterExpression().

290  {
291  switch( $this->getQuestionInstanceTypeFilter() )
292  {
293  case self::QUESTION_INSTANCE_TYPE_ORIGINALS:
294 
295  return 'qpl_questions.original_id IS NULL';
296 
297  case self::QUESTION_INSTANCE_TYPE_DUPLICATES:
298 
299  return 'qpl_questions.original_id IS NOT NULL';
300  }
301 
302  return null;
303  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSelectFieldsExpression()

ilAssQuestionList::getSelectFieldsExpression ( )
private

Definition at line 402 of file class.ilAssQuestionList.php.

References getAnswerStatusActiveId().

403  {
404  $selectFields = array(
405  'qpl_questions.*',
406  'qpl_qst_type.type_tag',
407  'qpl_qst_type.plugin',
408  'qpl_questions.points max_points'
409  );
410 
411  if( $this->getAnswerStatusActiveId() )
412  {
413  $selectFields[] = 'tst_test_result.points reached_points';
414  $selectFields[] = "CASE
415  WHEN tst_test_result.points IS NULL THEN '".self::QUESTION_ANSWER_STATUS_NON_ANSWERED."'
416  WHEN tst_test_result.points < qpl_questions.points THEN '".self::QUESTION_ANSWER_STATUS_WRONG_ANSWERED."'
417  ELSE '".self::QUESTION_ANSWER_STATUS_CORRECT_ANSWERED."'
418  END question_answer_status
419  ";
420  }
421 
422  $selectFields = implode(",\n\t\t\t\t", $selectFields);
423 
424  return "
425  SELECT {$selectFields}
426  ";
427  }
+ Here is the call graph for this function:

◆ getTableJoinExpression()

ilAssQuestionList::getTableJoinExpression ( )
private

Definition at line 353 of file class.ilAssQuestionList.php.

References getAnswerStatusActiveId().

354  {
355  $tableJoin = "
356  INNER JOIN qpl_qst_type
357  ON qpl_qst_type.question_type_id = qpl_questions.question_type_fi
358  ";
359 
360  if( $this->getAnswerStatusActiveId() )
361  {
362  $tableJoin .= "
363  LEFT JOIN tst_test_result
364  ON tst_test_result.question_fi = qpl_questions.question_id
365  AND tst_test_result.active_fi = {$this->db->quote($this->getAnswerStatusActiveId(), 'integer')}
366  ";
367  }
368 
369  return $tableJoin;
370  }
+ Here is the call graph for this function:

◆ getTaxonomyFilterExpressions()

ilAssQuestionList::getTaxonomyFilterExpressions ( )
private

Definition at line 248 of file class.ilAssQuestionList.php.

Referenced by getConditionalFilterExpression().

249  {
250  $expressions = array();
251 
252  require_once 'Services/Taxonomy/classes/class.ilTaxonomyTree.php';
253  require_once 'Services/Taxonomy/classes/class.ilTaxNodeAssignment.php';
254 
255  foreach($this->taxFilters as $taxId => $taxNodes)
256  {
257  $questionIds = array();
258 
259  $forceBypass = true;
260 
261  foreach($taxNodes as $taxNode)
262  {
263  $forceBypass = false;
264 
265  $taxTree = new ilTaxonomyTree($taxId);
266 
267  $taxNodeAssignment = new ilTaxNodeAssignment($this->parentObjType, $this->parentObjId, 'quest', $taxId);
268 
269  $subNodes = $taxTree->getSubTreeIds($taxNode);
270  $subNodes[] = $taxNode;
271 
272  $taxItems = $taxNodeAssignment->getAssignmentsOfNode($subNodes);
273 
274  foreach($taxItems as $taxItem)
275  {
276  $questionIds[$taxItem['item_id']] = $taxItem['item_id'];
277  }
278  }
279 
280  if( !$forceBypass )
281  {
282  $expressions[] = $this->db->in('question_id', $questionIds, false, 'integer');
283  }
284  }
285 
286  return $expressions;
287  }
Taxonomy node <-> item assignment.
+ Here is the caller graph for this function:

◆ getTitle()

ilAssQuestionList::getTitle (   $a_comp_id,
  $a_item_type,
  $a_item_id 
)

Get title of an assigned item.

(is used from ilObjTaxonomyGUI when item sorting is activated)

Parameters
string$a_comp_id('qpl' in our context)
string$a_item_type('quest' in our context)
integer$a_item_id(questionId in our context)

Implements ilTaxAssignedItemInfo.

Definition at line 555 of file class.ilAssQuestionList.php.

556  {
557  if( $a_comp_id != 'qpl' || $a_item_type != 'quest' || !(int)$a_item_id )
558  {
559  return '';
560  }
561 
562  if( !isset($this->questions[$a_item_id]) )
563  {
564  return '';
565  }
566 
567  return $this->questions[$a_item_id]['title'];
568  }

◆ isActiveQuestionType()

ilAssQuestionList::isActiveQuestionType (   $questionData)
private

Definition at line 521 of file class.ilAssQuestionList.php.

References IL_COMP_MODULE.

Referenced by load().

522  {
523  if( !isset($questionData['plugin']) )
524  {
525  return false;
526  }
527 
528  if( !$questionData['plugin'] )
529  {
530  return true;
531  }
532 
533  return $this->pluginAdmin->isActive(IL_COMP_MODULE, 'TestQuestionPool', 'qst', $questionData['type_tag']);
534  }
const IL_COMP_MODULE
+ Here is the caller graph for this function:

◆ isInList()

ilAssQuestionList::isInList (   $questionId)

Definition at line 541 of file class.ilAssQuestionList.php.

542  {
543  return isset($this->questions[$questionId]);
544  }

◆ load()

ilAssQuestionList::load ( )

Definition at line 459 of file class.ilAssQuestionList.php.

References $query, $res, $row, buildQuery(), checkFilters(), isActiveQuestionType(), and loadTaxonomyAssignmentData().

Referenced by ilObjQuestionPoolTaxonomyEditingCommandForwarder\forward().

460  {
461  $this->checkFilters();
462 
463  $query = $this->buildQuery();
464 
465  #vd($query);
466 
467  $res = $this->db->query($query);
468 
469  //echo $this->db->db->last_query;
470 
471  #vd($this->db->db->last_query);
472 
473  while( $row = $this->db->fetchAssoc($res) )
474  {
475  if( !$this->isActiveQuestionType($row) )
476  {
477  continue;
478  }
479 
480  $row['taxonomies'] = $this->loadTaxonomyAssignmentData($row['question_id']);
481 
482  $row['ttype'] = $this->lng->txt($row['type_tag']);
483 
484  $this->questions[ $row['question_id'] ] = $row;
485  }
486  }
isActiveQuestionType($questionData)
loadTaxonomyAssignmentData($questionId)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadTaxonomyAssignmentData()

ilAssQuestionList::loadTaxonomyAssignmentData (   $questionId)
private

Definition at line 488 of file class.ilAssQuestionList.php.

References getAvailableTaxonomyIds().

Referenced by load().

489  {
490  $taxAssignmentData = array();
491 
492  foreach($this->getAvailableTaxonomyIds() as $taxId)
493  {
494  require_once 'Services/Taxonomy/classes/class.ilTaxonomyTree.php';
495  require_once 'Services/Taxonomy/classes/class.ilTaxNodeAssignment.php';
496 
497  $taxTree = new ilTaxonomyTree($taxId);
498 
499  $taxAssignment = new ilTaxNodeAssignment('qpl', $this->parentObjId, 'quest', $taxId);
500 
501  $assignments = $taxAssignment->getAssignmentsOfItem($questionId);
502 
503  foreach($assignments as $assData)
504  {
505  if( !isset($taxAssignmentData[ $assData['tax_id'] ]) )
506  {
507  $taxAssignmentData[ $assData['tax_id'] ] = array();
508  }
509 
510  $nodeData = $taxTree->getNodeData($assData['node_id']);
511 
512  $assData['node_lft'] = $nodeData['lft'];
513 
514  $taxAssignmentData[ $assData['tax_id'] ][ $assData['node_id'] ] = $assData;
515  }
516  }
517 
518  return $taxAssignmentData;
519  }
Taxonomy node <-> item assignment.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setAnswerStatusActiveId()

ilAssQuestionList::setAnswerStatusActiveId (   $answerStatusActiveId)

Definition at line 179 of file class.ilAssQuestionList.php.

References $answerStatusActiveId.

Referenced by ilTestDynamicQuestionSet\initCompleteQuestionList(), and ilTestDynamicQuestionSet\initFilteredQuestionList().

180  {
181  $this->answerStatusActiveId = $answerStatusActiveId;
182  }
+ Here is the caller graph for this function:

◆ setAnswerStatusFilter()

ilAssQuestionList::setAnswerStatusFilter (   $answerStatusFilter)

Definition at line 189 of file class.ilAssQuestionList.php.

References $answerStatusFilter.

190  {
191  $this->answerStatusFilter = $answerStatusFilter;
192  }

◆ setAvailableTaxonomyIds()

ilAssQuestionList::setAvailableTaxonomyIds (   $availableTaxonomyIds)

Definition at line 169 of file class.ilAssQuestionList.php.

References $availableTaxonomyIds.

170  {
171  $this->availableTaxonomyIds = $availableTaxonomyIds;
172  }

◆ setForcedQuestionIds()

ilAssQuestionList::setForcedQuestionIds (   $forcedQuestionIds)
Parameters
array$forcedQuestionIds

Definition at line 202 of file class.ilAssQuestionList.php.

References $forcedQuestionIds.

203  {
204  $this->forcedQuestionIds = $forcedQuestionIds;
205  }

◆ setParentObjectType()

ilAssQuestionList::setParentObjectType (   $parentObjType)

Definition at line 129 of file class.ilAssQuestionList.php.

References $parentObjType.

130  {
131  $this->parentObjType = $parentObjType;
132  }

◆ setQuestionIdsFilter()

ilAssQuestionList::setQuestionIdsFilter (   $questionIdsFilter)

Definition at line 149 of file class.ilAssQuestionList.php.

References $questionIdsFilter.

150  {
151  $this->questionIdsFilter = $questionIdsFilter;
152  }

◆ setQuestionInstanceTypeFilter()

ilAssQuestionList::setQuestionInstanceTypeFilter (   $questionInstanceTypeFilter)

Definition at line 139 of file class.ilAssQuestionList.php.

References $questionInstanceTypeFilter.

140  {
141  $this->questionInstanceTypeFilter = $questionInstanceTypeFilter;
142  }

Field Documentation

◆ $answerStatusActiveId

ilAssQuestionList::$answerStatusActiveId = null
private

Definition at line 73 of file class.ilAssQuestionList.php.

Referenced by getAnswerStatusActiveId(), and setAnswerStatusActiveId().

◆ $answerStatusFilter

ilAssQuestionList::$answerStatusFilter = null
private

Definition at line 99 of file class.ilAssQuestionList.php.

Referenced by getAnswerStatusFilter(), and setAnswerStatusFilter().

◆ $availableTaxonomyIds

ilAssQuestionList::$availableTaxonomyIds = array()
private

Definition at line 52 of file class.ilAssQuestionList.php.

Referenced by getAvailableTaxonomyIds(), and setAvailableTaxonomyIds().

◆ $db

ilAssQuestionList::$db = null
private

Definition at line 22 of file class.ilAssQuestionList.php.

Referenced by __construct().

◆ $fieldFilters

ilAssQuestionList::$fieldFilters = array()
private

Definition at line 59 of file class.ilAssQuestionList.php.

◆ $forcedQuestionIds

ilAssQuestionList::$forcedQuestionIds = array()
private

Definition at line 78 of file class.ilAssQuestionList.php.

Referenced by getForcedQuestionIds(), and setForcedQuestionIds().

◆ $lng

ilAssQuestionList::$lng = null
private

Definition at line 29 of file class.ilAssQuestionList.php.

Referenced by __construct().

◆ $parentObjId

ilAssQuestionList::$parentObjId = null
private

Definition at line 43 of file class.ilAssQuestionList.php.

Referenced by __construct().

◆ $parentObjType

ilAssQuestionList::$parentObjType = 'qpl'
private

Definition at line 45 of file class.ilAssQuestionList.php.

Referenced by getParentObjectType(), and setParentObjectType().

◆ $pluginAdmin

ilAssQuestionList::$pluginAdmin = null
private

Definition at line 36 of file class.ilAssQuestionList.php.

Referenced by __construct().

◆ $questionIdsFilter

ilAssQuestionList::$questionIdsFilter = null
private

Definition at line 113 of file class.ilAssQuestionList.php.

Referenced by getQuestionIdsFilter(), and setQuestionIdsFilter().

◆ $questionInstanceTypeFilter

ilAssQuestionList::$questionInstanceTypeFilter = self::QUESTION_INSTANCE_TYPE_ORIGINALS
private

◆ $questions

ilAssQuestionList::$questions = array()
private

Definition at line 106 of file class.ilAssQuestionList.php.

Referenced by getQuestionDataArray().

◆ $taxFilters

ilAssQuestionList::$taxFilters = array()
private

Definition at line 66 of file class.ilAssQuestionList.php.

◆ ANSWER_STATUS_FILTER_ALL_NON_CORRECT

const ilAssQuestionList::ANSWER_STATUS_FILTER_ALL_NON_CORRECT = 'allNonCorrect'

◆ ANSWER_STATUS_FILTER_NON_ANSWERED_ONLY

const ilAssQuestionList::ANSWER_STATUS_FILTER_NON_ANSWERED_ONLY = 'nonAnswered'

◆ ANSWER_STATUS_FILTER_WRONG_ANSWERED_ONLY

const ilAssQuestionList::ANSWER_STATUS_FILTER_WRONG_ANSWERED_ONLY = 'wrongAnswered'

◆ QUESTION_ANSWER_STATUS_CORRECT_ANSWERED

const ilAssQuestionList::QUESTION_ANSWER_STATUS_CORRECT_ANSWERED = 'correctAnswered'

◆ QUESTION_ANSWER_STATUS_NON_ANSWERED

const ilAssQuestionList::QUESTION_ANSWER_STATUS_NON_ANSWERED = 'nonAnswered'

answer status domain for single questions

Definition at line 83 of file class.ilAssQuestionList.php.

Referenced by ilTestPlayerDynamicQuestionSetGUI\buildQuestionSetAnswerStatisticRowArray().

◆ QUESTION_ANSWER_STATUS_WRONG_ANSWERED

const ilAssQuestionList::QUESTION_ANSWER_STATUS_WRONG_ANSWERED = 'wrongAnswered'

◆ QUESTION_INSTANCE_TYPE_DUPLICATES

const ilAssQuestionList::QUESTION_INSTANCE_TYPE_DUPLICATES = 'QST_INSTANCE_TYPE_DUPLICATES'

◆ QUESTION_INSTANCE_TYPE_ORIGINALS

const ilAssQuestionList::QUESTION_INSTANCE_TYPE_ORIGINALS = 'QST_INSTANCE_TYPE_ORIGINALS'

Definition at line 109 of file class.ilAssQuestionList.php.


The documentation for this class was generated from the following file: