ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilTestQuestionSetConfig.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
13 {
19  protected $tree = null;
20 
26  protected $db = null;
27 
33  protected $pluginAdmin = null;
34 
40  protected $testOBJ = null;
41 
49  {
50  $this->tree = $tree;
51  $this->db = $db;
52  $this->pluginAdmin = $pluginAdmin;
53  $this->testOBJ = $testOBJ;
54  }
55 
59  abstract public function loadFromDb();
60 
64  abstract public function saveToDb();
65 
71  abstract public function cloneToDbForTestId($testId);
72 
76  abstract public function deleteFromDb();
77 
79  {
80  return false;
81  }
82 
84  {
85  return '';
86  }
87 
88  public function areDepenciesBroken()
89  {
90  return false;
91  }
92 
94  {
95  return '';
96  }
97 
98  public function isValidRequestOnBrokenQuestionSetDepencies($nextClass, $cmd)
99  {
100  return true;
101  }
102 
104  {
105  return array();
106  }
107 
108  abstract public function isQuestionSetConfigured();
109 
113  abstract public function doesQuestionSetRelatedDataExist();
114 
118  abstract public function removeQuestionSetRelatedData();
119 
125  abstract public function cloneQuestionSetRelatedData($cloneTestOBJ);
126 
131  public function getQuestionPoolPathString($poolId)
132  {
133  $nodePath = $this->tree->getNodePath(
134  current(ilObject::_getAllReferences($poolId))
135  );
136 
137  $questionPoolPathString = '';
138 
139  $i = 0;
140  $j = count($nodePath) - 2;
141 
142  foreach($nodePath as $node)
143  {
144  if( $i > 0 )
145  {
146  $questionPoolPathString .= ' > ';
147  }
148 
149  $questionPoolPathString .= $node['title'];
150 
151  if( $i == $j )
152  {
153  break;
154  }
155 
156  $i++;
157  }
158 
159  return $questionPoolPathString;
160  }
161 }