ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilTestFixedQuestionSetConfig.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Modules/Test/classes/class.ilTestQuestionSetConfig.php';
5 
15 {
21  public function isQuestionSetConfigured()
22  {
23  if( count($this->testOBJ->questions) )
24  {
25  return true;
26  }
27 
28  return false;
29  }
30 
37  {
38  return $this->isQuestionSetConfigured();
39  }
40 
44  public function removeQuestionSetRelatedData()
45  {
46  $this->testOBJ->removeAllTestEditings();
47 
48  $res = $this->db->queryF(
49  "SELECT question_fi FROM tst_test_question WHERE test_fi = %s",
50  array('integer'), array($this->testOBJ->getTestId())
51  );
52 
53  while( $row = $this->db->fetchAssoc($res) )
54  {
55  $this->testOBJ->removeQuestion($row["question_fi"]);
56  }
57 
58  $this->db->manipulateF(
59  "DELETE FROM tst_test_question WHERE test_fi = %s",
60  array('integer'), array($this->testOBJ->getTestId())
61  );
62 
63  $this->testOBJ->questions = array();
64 
65  $this->testOBJ->saveCompleteStatus($this);
66  }
67 
69  {
70  // nothing to do
71  }
72 
78  public function cloneQuestionSetRelatedData($cloneTestOBJ)
79  {
80  global $ilLog;
81 
82  require_once 'Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
83  require_once 'Modules/TestQuestionPool/classes/class.assQuestion.php';
84 
85  $cwo = ilCopyWizardOptions::_getInstance($cloneTestOBJ->getId());
86 
87  foreach( $this->testOBJ->questions as $key => $question_id )
88  {
89  $question = assQuestion::_instanciateQuestion($question_id);
90  $cloneTestOBJ->questions[$key] = $question->duplicate(true, null, null, null, $cloneTestOBJ->getId());
91 
92  $original_id = assQuestion::_getOriginalId($question_id);
93 
94  $question = assQuestion::_instanciateQuestion($cloneTestOBJ->questions[$key]);
95  $question->saveToDb($original_id);
96 
97  // Save the mapping of old question id <-> new question id
98  // This will be used in class.ilObjCourse::cloneDependencies to copy learning objectives
99  $originalKey = $this->testOBJ->getRefId().'_'.$question_id;
100  $mappedKey = $cloneTestOBJ->getRefId().'_'.$cloneTestOBJ->questions[$key];
101  $cwo->appendMapping($originalKey, $mappedKey);
102  $ilLog->write(__METHOD__.": Added mapping $originalKey <-> $mappedKey");
103  }
104  }
105 
109  public function loadFromDb()
110  {
111  // TODO: Implement loadFromDb() method.
112  }
113 
117  public function saveToDb()
118  {
119  // TODO: Implement saveToDb() method.
120  }
121 
127  public function cloneToDbForTestId($testId)
128  {
129  // TODO: Implement saveToDbByTestId() method.
130  }
131 
135  public function deleteFromDb()
136  {
137  // TODO: Implement deleteFromDb() method.
138  }
139 
141  {
142  return false;
143  }
144 }