ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilTestSettingsChangeConfirmationGUI.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
5require_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
6
7
15{
19 protected $lng;
20
24 protected $testOBJ;
25
30
35
40
46 {
47 $this->lng = $lng;
48 $this->testOBJ = $testOBJ;
49
50 parent::__construct();
51 }
52
57 {
58 $this->oldQuestionSetType = $oldQuestionSetType;
59 }
60
64 public function getOldQuestionSetType()
65 {
67 }
68
73 {
74 $this->newQuestionSetType = $newQuestionSetType;
75 }
76
80 public function getNewQuestionSetType()
81 {
83 }
84
89 {
90 $this->questionLossInfoEnabled = $questionLossInfoEnabled;
91 }
92
96 public function isQuestionLossInfoEnabled()
97 {
99 }
100
101 private function buildHeaderText()
102 {
103 $headerText = sprintf(
104 $this->lng->txt('tst_change_quest_set_type_from_old_to_new_with_conflict'),
105 $this->testOBJ->getQuestionSetTypeTranslation($this->lng, $this->getOldQuestionSetType()),
106 $this->testOBJ->getQuestionSetTypeTranslation($this->lng, $this->getNewQuestionSetType())
107 );
108
109 if( $this->isQuestionLossInfoEnabled() )
110 {
111 $headerText .= '<br /><br />'.$this->lng->txt('tst_nonpool_questions_get_lost_warning');
112 }
113
114 return $headerText;
115 }
116
117 public function build()
118 {
119 $this->setHeaderText( $this->buildHeaderText() );
120 }
121
123 {
124 foreach ($_POST as $key => $value)
125 {
126 if (strcmp($key, "cmd") != 0)
127 {
128 if (is_array($value))
129 {
130 foreach ($value as $k => $v)
131 {
132 $this->addHiddenItem("{$key}[{$k}]", $v);
133 }
134 }
135 else
136 {
137 $this->addHiddenItem($key, $value);
138 }
139 }
140 }
141 }
142
147 {
148 foreach ($form->getInputItemsRecursive() as $key => $item)
149 {
150 //vd("$key // {$item->getType()} // ".json_encode($_POST[$item->getPostVar()]));
151
152 switch( $item->getType() )
153 {
154 case 'section_header':
155
156 continue;
157
158 case 'datetime':
159
160 list($date, $time) = explode(' ', $item->getDate()->get(IL_CAL_DATETIME));
161
162 if( $item->getMode() == ilDateTimeInputGUI::MODE_SELECT )
163 {
164 list($y, $m, $d) = explode('-', $date);
165
166 $this->addHiddenItem("{$item->getPostVar()}[date][y]", $y);
167 $this->addHiddenItem("{$item->getPostVar()}[date][m]", $m);
168 $this->addHiddenItem("{$item->getPostVar()}[date][d]", $d);
169
170 if( $item->getShowTime() )
171 {
172 list($h, $m, $s) = explode('-', $time);
173
174 $this->addHiddenItem("{$item->getPostVar()}[time][h]", $h);
175 $this->addHiddenItem("{$item->getPostVar()}[time][m]", $m);
176 $this->addHiddenItem("{$item->getPostVar()}[time][s]", $s);
177 }
178 }
179 else
180 {
181 $this->addHiddenItem("{$item->getPostVar()}[date]", $date);
182 $this->addHiddenItem("{$item->getPostVar()}[time]", $time);
183 }
184
185 break;
186
187 case 'duration':
188
189 $this->addHiddenItem("{$item->getPostVar()}[MM]", (int)$item->getMonths());
190 $this->addHiddenItem("{$item->getPostVar()}[dd]", (int)$item->getDays());
191 $this->addHiddenItem("{$item->getPostVar()}[hh]", (int)$item->getHours());
192 $this->addHiddenItem("{$item->getPostVar()}[mm]", (int)$item->getMinutes());
193 $this->addHiddenItem("{$item->getPostVar()}[ss]", (int)$item->getSeconds());
194
195 break;
196
197 case 'dateduration':
198
199 $this->addHiddenItem(
200 "{$item->getPostVar()}[start][date][y]",
201 (int) $item->getStart()->get(IL_CAL_FKT_DATE,'Y',$timezone)
202 );
203 $this->addHiddenItem(
204 "{$item->getPostVar()}[start][date][m]",
205 (int) $item->getStart()->get(IL_CAL_FKT_DATE,'m',$timezone)
206 );
207 $this->addHiddenItem(
208 "{$item->getPostVar()}[start][date][d]",
209 (int) $item->getStart()->get(IL_CAL_FKT_DATE,'d',$timezone)
210 );
211 $this->addHiddenItem(
212 "{$item->getPostVar()}[start][time][h]",
213 (int) $item->getStart()->get(IL_CAL_FKT_DATE,'H',$timezone)
214 );
215 $this->addHiddenItem(
216 "{$item->getPostVar()}[start][time][m]",
217 (int) $item->getStart()->get(IL_CAL_FKT_DATE,'i',$timezone)
218 );
219 $this->addHiddenItem(
220 "{$item->getPostVar()}[start][time][s]",
221 (int) $item->getStart()->get(IL_CAL_FKT_DATE,'s',$timezone)
222 );
223 $this->addHiddenItem(
224 "{$item->getPostVar()}[end][date][y]",
225 (int) $item->getEnd()->get(IL_CAL_FKT_DATE,'Y',$timezone)
226 );
227 $this->addHiddenItem(
228 "{$item->getPostVar()}[end][date][m]",
229 (int) $item->getEnd()->get(IL_CAL_FKT_DATE,'m',$timezone)
230 );
231 $this->addHiddenItem(
232 "{$item->getPostVar()}[end][date][d]",
233 (int) $item->getEnd()->get(IL_CAL_FKT_DATE,'d',$timezone)
234 );
235 $this->addHiddenItem(
236 "{$item->getPostVar()}[end][time][h]",
237 (int) $item->getEnd()->get(IL_CAL_FKT_DATE,'H',$timezone)
238 );
239 $this->addHiddenItem(
240 "{$item->getPostVar()}[end][time][m]",
241 (int) $item->getEnd()->get(IL_CAL_FKT_DATE,'i',$timezone)
242 );
243 $this->addHiddenItem(
244 "{$item->getPostVar()}[end][time][s]",
245 (int) $item->getEnd()->get(IL_CAL_FKT_DATE,'s',$timezone)
246 );
247
248 break;
249
250 case 'checkboxgroup':
251
252 if( is_array($item->getValue()) )
253 {
254 foreach( $item->getValue() as $option )
255 {
256 $this->addHiddenItem("{$item->getPostVar()}[]", $option);
257 }
258 }
259
260 break;
261
262 case 'select':
263
264 $value = $item->getValue();
265 if( !is_array($value) )
266 {
267 $value = array($value);
268 }
269 foreach( $value as $option )
270 {
271 $this->addHiddenItem("{$item->getPostVar()}[]", $option);
272 }
273
274 break;
275
276 case 'checkbox':
277
278 if( $item->getChecked() )
279 {
280 $this->addHiddenItem($item->getPostVar(), 1);
281 }
282
283 break;
284
285 default:
286
287 $this->addHiddenItem($item->getPostVar(), $item->getValue());
288 }
289 }
290 }
291}
const IL_CAL_DATETIME
const IL_CAL_FKT_DATE
Confirmation screen class.
setHeaderText($a_headertext)
Set Set header text.
addHiddenItem($a_post_var, $a_value)
Add hidden item.
language handling
This class represents a property form user interface.
getInputItemsRecursive()
returns a flat array of all input items including the possibly existing subitems recursively
populateParametersFromPropertyForm(ilPropertyFormGUI $form, $timezone)
$_POST['username']
Definition: cron.php:12
$y
Definition: example_007.php:83
$h