ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilTestFixedQuestionSetConfig Class Reference
+ Inheritance diagram for ilTestFixedQuestionSetConfig:
+ Collaboration diagram for ilTestFixedQuestionSetConfig:

Public Member Functions

 isQuestionSetConfigured ()
 returns the fact wether a useable question set config exists or not More...
 
 doesQuestionSetRelatedDataExist ()
 returns the fact wether a useable question set config exists or not More...
 
 removeQuestionSetRelatedData ()
 removes all question set config related data More...
 
 resetQuestionSetRelatedTestSettings ()
 
 cloneQuestionSetRelatedData (ilObjTest $cloneTestOBJ)
 removes all question set config related data for cloned/copied test More...
 
 loadFromDb ()
 loads the question set config for current test from the database More...
 
 saveToDb ()
 saves the question set config for current test to the database More...
 
 reindexQuestionOrdering ()
 
 cloneToDbForTestId ($testId)
 saves the question set config for test with given id to the database More...
 
 deleteFromDb ()
 deletes the question set config for current test from the database More...
 
 isResultTaxonomyFilterSupported ()
 
- Public Member Functions inherited from ilTestQuestionSetConfig
 __construct (ilTree $tree, ilDBInterface $db, ilPluginAdmin $pluginAdmin, ilObjTest $testOBJ)
 
 loadFromDb ()
 loads the question set config for current test from the database More...
 
 saveToDb ()
 saves the question set config for current test to the database More...
 
 cloneToDbForTestId ($testId)
 saves the question set config for test with given id to the database More...
 
 deleteFromDb ()
 deletes the question set config for current test from the database More...
 
 areDepenciesInVulnerableState ()
 
 getDepenciesInVulnerableStateMessage (ilLanguage $lng)
 
 areDepenciesBroken ()
 
 getDepenciesBrokenMessage (ilLanguage $lng)
 
 isValidRequestOnBrokenQuestionSetDepencies ($nextClass, $cmd)
 
 getHiddenTabsOnBrokenDepencies ()
 
 isQuestionSetConfigured ()
 
 doesQuestionSetRelatedDataExist ()
 checks wether question set config related data exists or not More...
 
 removeQuestionSetRelatedData ()
 removes all question set config related data More...
 
 resetQuestionSetRelatedTestSettings ()
 resets all test settings that depends on a non changed question set config More...
 
 cloneQuestionSetRelatedData (ilObjTest $cloneTestOBJ)
 removes all question set config related data for cloned/copied test More...
 
 getQuestionPoolPathString ($poolId)
 
 isResultTaxonomyFilterSupported ()
 

Additional Inherited Members

- Protected Attributes inherited from ilTestQuestionSetConfig
 $tree = null
 
 $db = null
 
 $pluginAdmin = null
 
 $testOBJ = null
 

Detailed Description

Definition at line 14 of file class.ilTestFixedQuestionSetConfig.php.

Member Function Documentation

◆ cloneQuestionSetRelatedData()

ilTestFixedQuestionSetConfig::cloneQuestionSetRelatedData ( ilObjTest  $cloneTestOBJ)

removes all question set config related data for cloned/copied test

Parameters
ilObjTest$cloneTestOBJ

Definition at line 76 of file class.ilTestFixedQuestionSetConfig.php.

References $ilLog, $key, ilCopyWizardOptions\_getInstance(), assQuestion\_getOriginalId(), assQuestion\_instanciateQuestion(), ilObject\getId(), ilObject\getRefId(), and ilObjTest\getTmpCopyWizardCopyId().

77  {
78  global $ilLog;
79 
80  require_once 'Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
81  require_once 'Modules/TestQuestionPool/classes/class.assQuestion.php';
82 
84 
85  foreach ($this->testOBJ->questions as $key => $question_id) {
86  $question = assQuestion::_instanciateQuestion($question_id);
87  $cloneTestOBJ->questions[$key] = $question->duplicate(true, null, null, null, $cloneTestOBJ->getId());
88 
89  $original_id = assQuestion::_getOriginalId($question_id);
90 
91  $question = assQuestion::_instanciateQuestion($cloneTestOBJ->questions[$key]);
92  $question->saveToDb($original_id);
93 
94  // Save the mapping of old question id <-> new question id
95  // This will be used in class.ilObjCourse::cloneDependencies to copy learning objectives
96  $originalKey = $this->testOBJ->getRefId() . '_question_' . $question_id;
97  $mappedKey = $cloneTestOBJ->getRefId() . '_question_' . $cloneTestOBJ->questions[$key];
98  $cwo->appendMapping($originalKey, $mappedKey);
99  $ilLog->write(__METHOD__ . ": Added question id mapping $originalKey <-> $mappedKey");
100  }
101  }
static _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
static _getOriginalId($question_id)
Returns the original id of a question.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
getId()
get object id public
getRefId()
get reference id public
$key
Definition: croninfo.php:18
+ Here is the call graph for this function:

◆ cloneToDbForTestId()

ilTestFixedQuestionSetConfig::cloneToDbForTestId (   $testId)

saves the question set config for test with given id to the database

Parameters
$testId

Definition at line 151 of file class.ilTestFixedQuestionSetConfig.php.

152  {
153  // TODO: Implement saveToDbByTestId() method.
154  }

◆ deleteFromDb()

ilTestFixedQuestionSetConfig::deleteFromDb ( )

deletes the question set config for current test from the database

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

160  {
161  // TODO: Implement deleteFromDb() method.
162  }

◆ doesQuestionSetRelatedDataExist()

ilTestFixedQuestionSetConfig::doesQuestionSetRelatedDataExist ( )

returns the fact wether a useable question set config exists or not

Returns
boolean

Definition at line 35 of file class.ilTestFixedQuestionSetConfig.php.

References isQuestionSetConfigured().

36  {
37  return $this->isQuestionSetConfigured();
38  }
isQuestionSetConfigured()
returns the fact wether a useable question set config exists or not
+ Here is the call graph for this function:

◆ isQuestionSetConfigured()

ilTestFixedQuestionSetConfig::isQuestionSetConfigured ( )

returns the fact wether a useable question set config exists or not

Returns
boolean

Definition at line 21 of file class.ilTestFixedQuestionSetConfig.php.

Referenced by doesQuestionSetRelatedDataExist().

22  {
23  if (count($this->testOBJ->questions)) {
24  return true;
25  }
26 
27  return false;
28  }
+ Here is the caller graph for this function:

◆ isResultTaxonomyFilterSupported()

ilTestFixedQuestionSetConfig::isResultTaxonomyFilterSupported ( )

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

165  {
166  return false;
167  }

◆ loadFromDb()

ilTestFixedQuestionSetConfig::loadFromDb ( )

loads the question set config for current test from the database

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

107  {
108  // TODO: Implement loadFromDb() method.
109  }

◆ reindexQuestionOrdering()

ilTestFixedQuestionSetConfig::reindexQuestionOrdering ( )

Definition at line 119 of file class.ilTestFixedQuestionSetConfig.php.

References $query, $res, $row, and array.

120  {
121  $query = "
122  SELECT question_fi FROM tst_test_question
123  WHERE test_fi = %s
124  ORDER BY sequence ASC
125  ";
126 
127  $res = $this->db->queryF(
128  $query,
129  array('integer'),
130  array($this->testOBJ->getTestId())
131  );
132 
133  $sequenceIndex = 0;
134 
135  while ($row = $this->db->fetchAssoc($res)) {
136  $sequenceIndex++; // start with 1
137 
138  $this->db->update(
139  'tst_test_question',
140  array('sequence' => array('integer', $sequenceIndex)),
141  array('question_fi' => array('integer', $row['question_fi']))
142  );
143  }
144  }
foreach($_POST as $key=> $value) $res
$query
Create styles array
The data for the language used.

◆ removeQuestionSetRelatedData()

ilTestFixedQuestionSetConfig::removeQuestionSetRelatedData ( )

removes all question set config related data

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

References $res, $row, and array.

44  {
45  $res = $this->db->queryF(
46  "SELECT question_fi FROM tst_test_question WHERE test_fi = %s",
47  array('integer'),
48  array($this->testOBJ->getTestId())
49  );
50 
51  while ($row = $this->db->fetchAssoc($res)) {
52  $this->testOBJ->removeQuestion($row["question_fi"]);
53  }
54 
55  $this->db->manipulateF(
56  "DELETE FROM tst_test_question WHERE test_fi = %s",
57  array('integer'),
58  array($this->testOBJ->getTestId())
59  );
60 
61  $this->testOBJ->questions = array();
62 
63  $this->testOBJ->saveCompleteStatus($this);
64  }
foreach($_POST as $key=> $value) $res
Create styles array
The data for the language used.

◆ resetQuestionSetRelatedTestSettings()

ilTestFixedQuestionSetConfig::resetQuestionSetRelatedTestSettings ( )

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

67  {
68  // nothing to do
69  }

◆ saveToDb()

ilTestFixedQuestionSetConfig::saveToDb ( )

saves the question set config for current test to the database

Definition at line 114 of file class.ilTestFixedQuestionSetConfig.php.

115  {
116  // TODO: Implement saveToDb() method.
117  }

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