private function showConfirmation(ilPropertyFormGUI $form, $oldQuestionSetType, $newQuestionSetType, $hasQuestionsWithoutQuestionpool)
 {
     require_once 'Services/Utilities/classes/class.ilConfirmationGUI.php';
     $confirmation = new ilConfirmationGUI();
     $headerText = sprintf($this->lng->txt('tst_change_quest_set_type_from_old_to_new_with_conflict'), $this->getQuestionSetTypeTranslation($oldQuestionSetType), $this->getQuestionSetTypeTranslation($newQuestionSetType));
     if ($hasQuestionsWithoutQuestionpool) {
         $headerText .= '<br /><br />' . $this->lng->txt("tst_nonpool_questions_get_lost_warning");
     }
     $confirmation->setHeaderText($headerText);
     $confirmation->setFormAction($this->ctrl->getFormAction($this));
     $confirmation->setCancel($this->lng->txt('cancel'), self::CMD_SHOW_FORM);
     $confirmation->setConfirm($this->lng->txt('confirm'), self::CMD_CONFIRMED_SAVE_FORM);
     foreach ($form->getInputItemsRecursive() as $key => $item) {
         //vd("$key // {$item->getType()} // ".json_encode($_POST[$item->getPostVar()]));
         switch ($item->getType()) {
             case 'section_header':
                 continue;
             case 'datetime':
                 list($date, $time) = explode(' ', $item->getDate()->get(IL_CAL_DATETIME));
                 if ($item->getMode() == ilDateTimeInputGUI::MODE_SELECT) {
                     list($y, $m, $d) = explode('-', $date);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date][y]", $y);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date][m]", $m);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date][d]", $d);
                     if ($item->getShowTime()) {
                         list($h, $m, $s) = explode('-', $time);
                         $confirmation->addHiddenItem("{$item->getPostVar()}[time][h]", $h);
                         $confirmation->addHiddenItem("{$item->getPostVar()}[time][m]", $m);
                         $confirmation->addHiddenItem("{$item->getPostVar()}[time][s]", $s);
                     }
                 } else {
                     $confirmation->addHiddenItem("{$item->getPostVar()}[date]", $date);
                     $confirmation->addHiddenItem("{$item->getPostVar()}[time]", $time);
                 }
                 break;
             case 'duration':
                 $confirmation->addHiddenItem("{$item->getPostVar()}[MM]", (int) $item->getMonths());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[dd]", (int) $item->getDays());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[hh]", (int) $item->getHours());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[mm]", (int) $item->getMinutes());
                 $confirmation->addHiddenItem("{$item->getPostVar()}[ss]", (int) $item->getSeconds());
                 break;
             case 'checkboxgroup':
                 if (is_array($item->getValue())) {
                     foreach ($item->getValue() as $option) {
                         $confirmation->addHiddenItem("{$item->getPostVar()}[]", $option);
                     }
                 }
                 break;
             case 'checkbox':
                 if ($item->getChecked()) {
                     $confirmation->addHiddenItem($item->getPostVar(), 1);
                 }
                 break;
             default:
                 $confirmation->addHiddenItem($item->getPostVar(), $item->getValue());
         }
     }
     $this->tpl->setContent($this->ctrl->getHTML($confirmation));
 }
 /**
  * @param ilPropertyForm $form
  */
 public function populateParametersFromPropertyForm(ilPropertyFormGUI $form, $timezone)
 {
     foreach ($form->getInputItemsRecursive() as $key => $item) {
         //vd("$key // {$item->getType()} // ".json_encode($_POST[$item->getPostVar()]));
         switch ($item->getType()) {
             case 'section_header':
                 continue;
             case 'datetime':
                 list($date, $time) = explode(' ', $item->getDate()->get(IL_CAL_DATETIME));
                 if ($item->getMode() == ilDateTimeInputGUI::MODE_SELECT) {
                     list($y, $m, $d) = explode('-', $date);
                     $this->addHiddenItem("{$item->getPostVar()}[date][y]", $y);
                     $this->addHiddenItem("{$item->getPostVar()}[date][m]", $m);
                     $this->addHiddenItem("{$item->getPostVar()}[date][d]", $d);
                     if ($item->getShowTime()) {
                         list($h, $m, $s) = explode('-', $time);
                         $this->addHiddenItem("{$item->getPostVar()}[time][h]", $h);
                         $this->addHiddenItem("{$item->getPostVar()}[time][m]", $m);
                         $this->addHiddenItem("{$item->getPostVar()}[time][s]", $s);
                     }
                 } else {
                     $this->addHiddenItem("{$item->getPostVar()}[date]", $date);
                     $this->addHiddenItem("{$item->getPostVar()}[time]", $time);
                 }
                 break;
             case 'duration':
                 $this->addHiddenItem("{$item->getPostVar()}[MM]", (int) $item->getMonths());
                 $this->addHiddenItem("{$item->getPostVar()}[dd]", (int) $item->getDays());
                 $this->addHiddenItem("{$item->getPostVar()}[hh]", (int) $item->getHours());
                 $this->addHiddenItem("{$item->getPostVar()}[mm]", (int) $item->getMinutes());
                 $this->addHiddenItem("{$item->getPostVar()}[ss]", (int) $item->getSeconds());
                 break;
             case 'dateduration':
                 $this->addHiddenItem("{$item->getPostVar()}[start][date][y]", (int) $item->getStart()->get(IL_CAL_FKT_DATE, 'Y', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[start][date][m]", (int) $item->getStart()->get(IL_CAL_FKT_DATE, 'm', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[start][date][d]", (int) $item->getStart()->get(IL_CAL_FKT_DATE, 'd', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[start][time][h]", (int) $item->getStart()->get(IL_CAL_FKT_DATE, 'H', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[start][time][m]", (int) $item->getStart()->get(IL_CAL_FKT_DATE, 'i', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[start][time][s]", (int) $item->getStart()->get(IL_CAL_FKT_DATE, 's', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[end][date][y]", (int) $item->getEnd()->get(IL_CAL_FKT_DATE, 'Y', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[end][date][m]", (int) $item->getEnd()->get(IL_CAL_FKT_DATE, 'm', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[end][date][d]", (int) $item->getEnd()->get(IL_CAL_FKT_DATE, 'd', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[end][time][h]", (int) $item->getEnd()->get(IL_CAL_FKT_DATE, 'H', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[end][time][m]", (int) $item->getEnd()->get(IL_CAL_FKT_DATE, 'i', $timezone));
                 $this->addHiddenItem("{$item->getPostVar()}[end][time][s]", (int) $item->getEnd()->get(IL_CAL_FKT_DATE, 's', $timezone));
                 break;
             case 'checkboxgroup':
                 if (is_array($item->getValue())) {
                     foreach ($item->getValue() as $option) {
                         $this->addHiddenItem("{$item->getPostVar()}[]", $option);
                     }
                 }
                 break;
             case 'checkbox':
                 if ($item->getChecked()) {
                     $this->addHiddenItem($item->getPostVar(), 1);
                 }
                 break;
             default:
                 $this->addHiddenItem($item->getPostVar(), $item->getValue());
         }
     }
 }