/** * Show course defined fields * * @access protected */ protected function showCustomFields() { global $ilUser; include_once 'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php'; include_once 'Modules/Course/classes/Export/class.ilCourseUserData.php'; if (!count($cdf_fields = ilCourseDefinedFieldDefinition::_getFields($this->container->getId()))) { return true; } $cdf = new ilNonEditableValueGUI($this->lng->txt('ps_crs_user_fields')); $cdf->setValue($this->lng->txt($this->type . '_ps_cdf_info')); $cdf->setRequired(true); foreach ($cdf_fields as $field_obj) { $course_user_data = new ilCourseUserData($ilUser->getId(), $field_obj->getId()); switch ($field_obj->getType()) { case IL_CDF_TYPE_SELECT: $select = new ilSelectInputGUI($field_obj->getName(), 'cdf[' . $field_obj->getId() . ']'); $select->setValue(ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()])); $select->setOptions($field_obj->prepareSelectBox()); if ($field_obj->isRequired()) { $select->setRequired(true); } $cdf->addSubItem($select); break; case IL_CDF_TYPE_TEXT: $text = new ilTextInputGUI($field_obj->getName(), 'cdf[' . $field_obj->getId() . ']'); $text->setValue(ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()])); $text->setSize(32); $text->setMaxLength(255); if ($field_obj->isRequired()) { $text->setRequired(true); } $cdf->addSubItem($text); break; } } $this->form->addItem($cdf); return true; }
/** * Add custom course fields * @param type $form * @param type $a_obj_id * @param type $a_type */ public static function addCustomFields($form, $a_obj_id, $a_type, $a_mode = 'user') { global $lng; include_once 'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php'; include_once 'Modules/Course/classes/Export/class.ilCourseUserData.php'; if (!count($cdf_fields = ilCourseDefinedFieldDefinition::_getFields($a_obj_id))) { return $form; } if ($a_mode == 'user') { $cdf = new ilNonEditableValueGUI($lng->txt('ps_' . $a_type . '_user_fields')); $cdf->setValue($lng->txt($a_type . '_ps_cdf_info')); $cdf->setRequired(true); } foreach ($cdf_fields as $field_obj) { switch ($field_obj->getType()) { case IL_CDF_TYPE_SELECT: if ($field_obj->getValueOptions()) { // Show as radio group $option_radios = new ilRadioGroupInputGUI($field_obj->getName(), 'cdf_' . $field_obj->getId()); if ($field_obj->isRequired()) { $option_radios->setRequired(true); } $open_answer_indexes = (array) $field_obj->getValueOptions(); foreach ($field_obj->getValues() as $key => $val) { $option_radio = new ilRadioOption($val, $field_obj->getId() . '_' . $key); // open answers if (in_array($key, $open_answer_indexes)) { $open_answer = new ilTextInputGUI($lng->txt("form_open_answer"), 'cdf_oa_' . $field_obj->getId() . '_' . $key); $open_answer->setRequired(true); $option_radio->addSubItem($open_answer); } $option_radios->addOption($option_radio); } if ($a_mode == 'user') { $cdf->addSubItem($option_radios); } else { $form->addItem($option_radios); } } else { $select = new ilSelectInputGUI($field_obj->getName(), 'cdf_' . $field_obj->getId()); #$select->setValue(ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()])); $select->setOptions($field_obj->prepareSelectBox()); if ($field_obj->isRequired()) { $select->setRequired(true); } if ($a_mode == 'user') { $cdf->addSubItem($select); } else { $form->addItem($select); } } break; case IL_CDF_TYPE_TEXT: $text = new ilTextInputGUI($field_obj->getName(), 'cdf_' . $field_obj->getId()); #$text->setValue(ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()])); $text->setSize(32); $text->setMaxLength(255); if ($field_obj->isRequired()) { $text->setRequired(true); } if ($a_mode == 'user') { $cdf->addSubItem($text); } else { $form->addItem($text); } break; } } if ($a_mode == 'user') { $form->addItem($cdf); } return $form; }