4require_once
'Modules/Test/classes/class.ilTestQuestionSetConfig.php';
23 if (count($this->testOBJ->questions)) {
45 $res = $this->db->queryF(
46 "SELECT question_fi FROM tst_test_question WHERE test_fi = %s",
48 array($this->testOBJ->getTestId())
51 while (
$row = $this->db->fetchAssoc(
$res)) {
52 $this->testOBJ->removeQuestion(
$row[
"question_fi"]);
55 $this->db->manipulateF(
56 "DELETE FROM tst_test_question WHERE test_fi = %s",
58 array($this->testOBJ->getTestId())
61 $this->testOBJ->questions = array();
63 $this->testOBJ->saveCompleteStatus($this);
81 require_once
'Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
82 require_once
'Modules/TestQuestionPool/classes/class.assQuestion.php';
86 foreach ($this->testOBJ->questions as
$key => $question_id) {
88 $cloneTestOBJ->questions[
$key] = $question->duplicate(
true,
null,
null,
null, $cloneTestOBJ->
getId());
93 $question->saveToDb($original_id);
97 $originalKey = $this->testOBJ->getRefId() .
'_question_' . $question_id;
98 $mappedKey = $cloneTestOBJ->
getRefId() .
'_question_' . $cloneTestOBJ->questions[
$key];
99 $cwo->appendMapping($originalKey, $mappedKey);
100 $ilLog->write(__METHOD__ .
": Added question id mapping $originalKey <-> $mappedKey");
126 SELECT question_fi, sequence FROM tst_test_question
128 ORDER BY sequence ASC
131 $res = $this->db->queryF(
134 array($this->testOBJ->getTestId())
139 require_once
'Modules/Test/classes/class.ilTestReindexedSequencePositionMap.php';
142 while (
$row = $this->db->fetchAssoc(
$res)) {
145 $reindexedSequencePositionMap->addPositionMapping(
$row[
'sequence'], $sequenceIndex);
149 array(
'sequence' => array(
'integer', $sequenceIndex)),
150 array(
'question_fi' => array(
'integer',
$row[
'question_fi']))
154 return $reindexedSequencePositionMap;
An exception for terminatinating execution or to throw for unit testing.
static _getOriginalId($question_id)
Returns the original id of a question.
static _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
getRefId()
get reference id @access public
getId()
get object id @access public
loadFromDb()
loads the question set config for current test from the database
cloneToDbForTestId($testId)
saves the question set config for test with given id to the database
isResultTaxonomyFilterSupported()
reindexQuestionOrdering()
removeQuestionSetRelatedData()
removes all question set config related data
isQuestionSetConfigured()
returns the fact wether a useable question set config exists or not
saveToDb()
saves the question set config for current test to the database
cloneQuestionSetRelatedData(ilObjTest $cloneTestOBJ)
removes all question set config related data for cloned/copied test
doesQuestionSetRelatedDataExist()
returns the fact wether a useable question set config exists or not
deleteFromDb()
deletes the question set config for current test from the database
resetQuestionSetRelatedTestSettings()
resets all test settings that depends on a non changed question set config
foreach($_POST as $key=> $value) $res