4 include_once
'./Services/User/classes/class.ilUserDefinedFields.php';
26 $lng->loadLanguageModule(
"user");
27 $lng->loadLanguageModule(
"administration");
30 $ilCtrl->saveParameter($this,
"field_id", $this->field_id);
35 $this->field_definition = $user_field_definitions->getDefinition($this->field_id);
43 $next_class = $ilCtrl->getNextClass($this);
44 $cmd = $ilCtrl->getCmd();
51 $cmd =
"listUserDefinedFields";
66 $ilToolbar->addButton($lng->txt(
"add_user_defined_field"),
67 $ilCtrl->getLinkTarget($this,
"addField"));
69 include_once(
"./Services/User/classes/class.ilCustomUserFieldSettingsTableGUI.php");
71 if($this->confirm_change)
73 $tab->setConfirmChange();
75 $tpl->setContent(
$tab->getHTML());
92 $tpl->setContent($a_form->getHTML());
105 $opts[
"visible"] = $lng->txt(
"user_visible_in_profile");
106 $opts[
"visib_reg"] = $lng->txt(
"visible_registration");
107 $opts[
"visib_lua"] = $lng->txt(
"usr_settings_visib_lua");
108 $opts[
"course_export"] = $lng->txt(
"course_export");
109 $opts[
"group_export"] = $lng->txt(
"group_export");
110 $opts[
"changeable"] = $lng->txt(
"changeable");
111 $opts[
"changeable_lua"] = $lng->txt(
"usr_settings_changeable_lua");
112 $opts[
"required"] = $lng->txt(
"required_field");
113 $opts[
"export"] = $lng->txt(
"export");
114 $opts[
"searchable"] = $lng->txt(
"header_searchable");
115 $opts[
"certificate"] = $lng->txt(
"certificate");
129 include_once(
"Services/Membership/classes/class.ilMemberAgreement.php");
132 $lng->loadLanguageModule(
"ps");
136 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
138 $form->setFormAction($ilCtrl->getFormAction($this));
142 $form->addItem($name);
148 $radg->addOption($op1);
150 $radg->addOption($op2);
152 $radg->addOption($op3);
153 $form->addItem($radg);
159 $se_mu->setMaxLength(128);
160 $se_mu->setValues(array(
''));
161 $op2->addSubItem($se_mu);
166 $acc_values = array();
170 $acc->addOption($opt);
172 if($this->field_definition && $this->field_definition[$id])
178 $form->addItem($acc);
180 if($a_mode ==
"create")
185 $form->setTitle($lng->txt(
'add_new_user_defined_field'));
187 $form->addCommandButton(
"create", $lng->txt(
"save"));
188 $form->addCommandButton(
"listUserDefinedFields", $lng->txt(
"cancel"));
192 $name->setValue($this->field_definition[
"field_name"]);
193 $radg->setValue($this->field_definition[
"field_type"]);
194 $radg->setDisabled(
true);
195 $acc->setValue($acc_values);
197 switch($this->field_definition[
"field_type"])
200 $se_mu->setValue($this->field_definition[
"field_values"]);
201 $form->setTitle($lng->txt(
"udf_update_select_field"));
205 $form->setTitle($lng->txt(
"udf_update_text_field"));
209 $form->setTitle($lng->txt(
"udf_update_wysiwyg_field"));
213 $form->addCommandButton(
"update", $lng->txt(
"save"));
214 $form->addCommandButton(
"listUserDefinedFields", $lng->txt(
"cancel"));
228 protected function validateForm($form, $user_field_definitions, array &$access)
232 if($form->checkInput())
236 $incoming = (array)$form->getInput(
"access");
240 $access[$id] = in_array($id, $incoming);
243 if($access[
'required'] && !$access[
'visib_reg'])
245 $this->confirm_change =
true;
246 $form->getItemByPostVar(
"access")->setAlert($lng->txt(
'udf_required_requires_visib_reg'));
250 if(!$this->field_id && $user_field_definitions->nameExists($form->getInput(
"name")))
252 $form->getItemByPostVar(
"name")->setAlert($lng->txt(
'udf_name_already_exists'));
258 $user_field_definitions->setFieldValues($form->getInput(
"selvalue"));
259 if($error = $user_field_definitions->validateValues())
264 $form->getItemByPostVar(
"selvalue")->setAlert($lng->txt(
'udf_duplicate_entries'));
286 $user_field_definitions->setFieldType(
$_POST[
"field_type"]);
290 if($this->
validateForm($form, $user_field_definitions, $access))
292 $user_field_definitions->setFieldName($form->getInput(
"name"));
293 $user_field_definitions->enableVisible($access[
'visible']);
294 $user_field_definitions->enableVisibleRegistration((
int)$access[
'visib_reg']);
295 $user_field_definitions->enableVisibleLocalUserAdministration($access[
'visib_lua']);
296 $user_field_definitions->enableCourseExport($access[
'course_export']);
297 $user_field_definitions->enableGroupExport($access[
'group_export']);
298 $user_field_definitions->enableChangeable($access[
'changeable']);
299 $user_field_definitions->enableChangeableLocalUserAdministration($access[
'changeable_lua']);
300 $user_field_definitions->enableRequired($access[
'required']);
301 $user_field_definitions->enableExport($access[
'export']);
302 $user_field_definitions->enableSearchable($access[
'searchable']);
303 $user_field_definitions->enableCertificate($access[
'certificate']);
304 $user_field_definitions->add();
306 if ($access[
'course_export'])
308 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
313 $ilCtrl->redirect($this);
316 $form->setValuesByPost();
334 $tpl->setContent($a_form->getHTML());
342 $user_field_definitions->setFieldType($this->field_definition[
"field_type"]);
346 if($this->
validateForm($form, $user_field_definitions, $access) && $this->field_id)
350 $user_field_definitions->setFieldName($form->getInput(
"name"));
351 $user_field_definitions->enableVisible($access[
'visible']);
352 $user_field_definitions->enableVisibleRegistration((
int)$access[
'visib_reg']);
353 $user_field_definitions->enableVisibleLocalUserAdministration($access[
'visib_lua']);
354 $user_field_definitions->enableCourseExport($access[
'course_export']);
355 $user_field_definitions->enableGroupExport($access[
'group_export']);
356 $user_field_definitions->enableChangeable($access[
'changeable']);
357 $user_field_definitions->enableChangeableLocalUserAdministration($access[
'changeable_lua']);
358 $user_field_definitions->enableRequired($access[
'required']);
359 $user_field_definitions->enableExport($access[
'export']);
360 $user_field_definitions->enableSearchable($access[
'searchable']);
361 $user_field_definitions->enableCertificate($access[
'certificate']);
362 $user_field_definitions->update($this->field_id);
364 if ($access[
'course_export'])
366 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
371 $ilCtrl->redirect($this);
374 $form->setValuesByPost();
388 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
390 $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
391 $confirmation_gui->setHeaderText($lng->txt(
"udf_delete_sure"));
392 $confirmation_gui->setCancel($lng->txt(
"cancel"),
"listUserDefinedFields");
393 $confirmation_gui->setConfirm($lng->txt(
"delete"),
"deleteField");
396 foreach(
$_POST[
"fields"] as $id)
398 $definition = $user_field_definitions->getDefinition($id);
399 $confirmation_gui->addItem(
"fields[]", $id, $definition[
"field_name"]);
402 $tpl->setContent($confirmation_gui->getHTML());
412 foreach(
$_POST[
"fields"] as $id)
414 $user_field_definitions->delete($id);
418 $ilCtrl->redirect($this);
429 $a_fields = $user_field_definitions->getDefinitions();
431 foreach($a_fields as
$field_id => $definition)
434 (!isset(
$_POST[
'chb'][
'visib_reg_'.$field_id]) || !(
int)
$_POST[
'chb'][
'visib_reg_'.$field_id]))
436 $this->confirm_change =
true;
444 foreach($a_fields as
$field_id => $definition)
446 $user_field_definitions->setFieldName($definition[
'field_name']);
447 $user_field_definitions->setFieldType($definition[
'field_type']);
448 $user_field_definitions->setFieldValues($definition[
'field_values']);
449 $user_field_definitions->enableVisible((
int)
$_POST[
'chb'][
'visible_'.
$field_id]);
450 $user_field_definitions->enableChangeable((
int)
$_POST[
'chb'][
'changeable_'.$field_id]);
451 $user_field_definitions->enableRequired((
int)
$_POST[
'chb'][
'required_'.$field_id]);
452 $user_field_definitions->enableSearchable((
int)
$_POST[
'chb'][
'searchable_'.$field_id]);
453 $user_field_definitions->enableExport((
int)
$_POST[
'chb'][
'export_'.$field_id]);
454 $user_field_definitions->enableCourseExport((
int)
$_POST[
'chb'][
'course_export_'.$field_id]);
455 $user_field_definitions->enableVisibleLocalUserAdministration((
int)
$_POST[
'chb'][
'visib_lua_'.$field_id]);
456 $user_field_definitions->enableChangeableLocalUserAdministration((
int)
$_POST[
'chb'][
'changeable_lua_'.$field_id]);
457 $user_field_definitions->enableGroupExport((
int)
$_POST[
'chb'][
'group_export_'.$field_id]);
458 $user_field_definitions->enableVisibleRegistration((
int)
$_POST[
'chb'][
'visib_reg_'.$field_id]);
459 $user_field_definitions->enableCertificate((
int)
$_POST[
'chb'][
'certificate_'.$field_id]);
461 $user_field_definitions->update($field_id);
465 $ilCtrl->redirect($this);