/** * Check required course fields * * @access private * */ private function checkCourseDefinedFields() { global $ilUser; include_once 'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php'; include_once 'Modules/Course/classes/Export/class.ilCourseUserData.php'; $all_required = true; foreach (ilCourseDefinedFieldDefinition::_getFields($this->obj_id) as $field_obj) { $required_given = false; switch ($field_obj->getType()) { case IL_CDF_TYPE_SELECT: $tmp_values = ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()]); $tmp_values = explode('_', $tmp_values, 2); if (isset($tmp_values[1])) { $tmp_value = isset($tmp_values[1]) ? $tmp_values[1] : ''; $value = ''; foreach ((array) $field_obj->getValues() as $v) { if ($v == $tmp_value) { $value = $tmp_value; $required_given = true; break; } } } break; case IL_CDF_TYPE_TEXT: $value = ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()]); if ($value) { $required_given = true; } break; } $course_user_data = new ilCourseUserData($ilUser->getId(), $field_obj->getId()); $course_user_data->setValue($value); $course_user_data->update(); if ($field_obj->isRequired() and !$required_given) { $all_required = false; } } return $all_required; }
/** * Save course defined fields * @param ilPropertyFormGUI $form */ public static function saveCourseDefinedFields(ilPropertyFormGUI $form, $a_obj_id, $a_usr_id = 0) { global $ilUser; if (!$a_usr_id) { $a_usr_id = $ilUser->getId(); } foreach (ilCourseDefinedFieldDefinition::_getFields($a_obj_id) as $field_obj) { switch ($field_obj->getType()) { case IL_CDF_TYPE_SELECT: // Split value id from post list($field_id, $option_id) = explode('_', $form->getInput('cdf_' . $field_obj->getId())); $open_answer_indexes = (array) $field_obj->getValueOptions(); if (in_array($option_id, $open_answer_indexes)) { $value = $form->getInput('cdf_oa_' . $field_obj->getId() . '_' . $option_id); } else { $value = $field_obj->getValueById($option_id); } break; case IL_CDF_TYPE_TEXT: $value = $form->getInput('cdf_' . $field_obj->getId()); break; } $course_user_data = new ilCourseUserData($a_usr_id, $field_obj->getId()); $course_user_data->setValue($value); $course_user_data->update(); } }
/** * Check required course fields * * @access protected * */ protected function validateCustomFields() { global $ilUser; $required_fullfilled = true; foreach (ilCourseDefinedFieldDefinition::_getFields($this->container->getId()) as $field_obj) { switch ($field_obj->getType()) { case IL_CDF_TYPE_SELECT: // Split value id from post list($field_id, $option_id) = explode('_', $_POST['cdf_' . $field_obj->getId()]); #$GLOBALS['ilLog']->write(__METHOD__.': '.print_r($field_id,TRUE).' '.print_r($option_id,TRUE).' '.print_r($_POST,TRUE)); $open_answer_indexes = (array) $field_obj->getValueOptions(); if (in_array($option_id, $open_answer_indexes)) { $value = $_POST['cdf_oa_' . $field_obj->getId() . '_' . $option_id]; } else { $value = $field_obj->getValueById($option_id); } break; case IL_CDF_TYPE_TEXT: $value = $_POST['cdf_' . $field_obj->getId()]; break; } $GLOBALS['ilLog']->write(__METHOD__ . ': new value ' . $value); $course_user_data = new ilCourseUserData($ilUser->getId(), $field_obj->getId()); $course_user_data->setValue($value); $course_user_data->update(); if ($field_obj->isRequired() and !$value) { $required_fullfilled = false; } } return $required_fullfilled; }
/** * Check required course fields * * @access protected * */ protected function validateCustomFields() { global $ilUser; include_once 'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php'; include_once 'Modules/Course/classes/Export/class.ilCourseUserData.php'; $all_required = true; foreach (ilCourseDefinedFieldDefinition::_getFields($this->container->getId()) as $field_obj) { switch ($field_obj->getType()) { case IL_CDF_TYPE_SELECT: $tmp_value = ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()]); $value = ''; foreach ((array) $field_obj->getValues() as $v) { if ($v == $tmp_value) { $value = $tmp_value; break; } } break; case IL_CDF_TYPE_TEXT: $value = ilUtil::stripSlashes($_POST['cdf'][$field_obj->getId()]); break; } $course_user_data = new ilCourseUserData($ilUser->getId(), $field_obj->getId()); $course_user_data->setValue($value); $course_user_data->update(); if ($field_obj->isRequired() and (!strlen($value) or $value == -1)) { $all_required = false; } } return $all_required; }