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);