'; //jQuery $htmlHeadXtra[] = ''; // Database table definitions $table_admin = Database :: get_main_table(TABLE_MAIN_ADMIN); $table_user = Database :: get_main_table(TABLE_MAIN_USER); $table_uf = Database :: get_main_table(TABLE_MAIN_USER_FIELD); $table_uf_opt = Database :: get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS); $table_uf_val = Database :: get_main_table(TABLE_MAIN_USER_FIELD_VALUES); $interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); $interbreadcrumb[] = array ('url' => 'user_fields.php', 'name' => get_lang('UserFields')); if ($_GET['action']<>'edit') { $tool_name = get_lang('AddUserFields'); } else { $tool_name = get_lang('EditUserFields'); } // Create the form $form = new FormValidator('user_fields_add'); $form->addElement('header', '', $tool_name); // Field variable name $form->addElement('hidden','fieldid',(int)$_GET['field_id']); $form->addElement('text','fieldlabel',get_lang('FieldLabel')); $form->applyFilter('fieldlabel','html_filter'); $form->applyFilter('fieldlabel','trim'); $form->addRule('fieldlabel', get_lang('ThisFieldIsRequired'), 'required'); $form->addRule('fieldlabel', get_lang('OnlyLettersAndNumbersAllowed'), 'username'); $form->addRule('fieldlabel', '', 'maxlength',20); $form->addRule('fieldlabel', get_lang('FieldTaken'), 'fieldlabel_available'); // Field type $types = array(); $types[USER_FIELD_TYPE_TEXT] = get_lang('FieldTypeText'); $types[USER_FIELD_TYPE_TEXTAREA] = get_lang('FieldTypeTextarea'); $types[USER_FIELD_TYPE_RADIO] = get_lang('FieldTypeRadio'); $types[USER_FIELD_TYPE_SELECT] = get_lang('FieldTypeSelect'); $types[USER_FIELD_TYPE_SELECT_MULTIPLE] = get_lang('FieldTypeSelectMultiple'); $types[USER_FIELD_TYPE_DATE] = get_lang('FieldTypeDate'); $types[USER_FIELD_TYPE_DATETIME] = get_lang('FieldTypeDatetime'); $types[USER_FIELD_TYPE_DOUBLE_SELECT] = get_lang('FieldTypeDoubleSelect'); $types[USER_FIELD_TYPE_DIVIDER] = get_lang('FieldTypeDivider'); $form->addElement('select','fieldtype',get_lang('FieldType'),$types,array('onchange'=>'change_image_user_field(this.value)')); $form->addRule('fieldtype', get_lang('ThisFieldIsRequired'), 'required'); // Field display name $form->addElement('text','fieldtitle',get_lang('FieldTitle')); $form->applyFilter('fieldtitle','html_filter'); $form->applyFilter('fieldtitle','trim'); $form->addRule('fieldtitle', get_lang('ThisFieldIsRequired'), 'required'); // Field options $form->addElement('text','fieldoptions',get_lang('FieldPossibleValues').' '.Display::return_icon('info3.gif', get_lang('FieldPossibleValuesComment'))); $form->applyFilter('fieldoptions','trim'); if (is_numeric($_GET['field_id'])) { $form->addElement('static', 'option_reorder', '', ''.get_lang('ReorderOptions').''); } // Field default value $form->addElement('text','fielddefaultvalue',get_lang('FieldDefaultValue')); $form->applyFilter('fielddefaultvalue','trim'); // Set default values (only not empty when editing) $defaults = array(); if (is_numeric($_GET['field_id'])) { $form_information = UserManager::get_extra_field_information((int)$_GET['field_id']); $defaults['fieldtitle'] = $form_information['field_display_text']; $defaults['fieldlabel'] = $form_information['field_variable']; $defaults['fieldtype'] = $form_information['field_type']; $defaults['fielddefaultvalue'] = $form_information['field_default_value']; $count = 0; // we have to concatenate the options if (count($form_information['options'])>0) { foreach ($form_information['options'] as $option_id=>$option) { if ($count<>0) { $defaults['fieldoptions'] = $defaults['fieldoptions'].'; '.$option['option_display_text']; } else { $defaults['fieldoptions'] = $option['option_display_text']; } $count++; } } } $form->setDefaults($defaults); if(isset($_GET['field_id']) && !empty($_GET['field_id'])) { $class="save"; $text=get_lang('buttonEditUserField'); } else { $class="add"; $text=get_lang('buttonAddUserField'); } // Submit button $form->addElement('style_submit_button', 'submit',$text, 'class='.$class.''); // Validate form if( $form->validate()) { $check = Security::check_token('post'); if($check) { $field = $form->exportValues(); $fieldlabel = $field['fieldlabel']; $fieldtype = $field['fieldtype']; $fieldtitle = $field['fieldtitle']; $fielddefault = $field['fielddefaultvalue']; $fieldoptions = $field['fieldoptions']; //comma-separated list of options if (is_numeric($field['fieldid']) AND !empty($field['fieldid'])) { UserManager:: save_extra_field_changes($field['fieldid'],$fieldlabel,$fieldtype,$fieldtitle,$fielddefault,$fieldoptions); $message = get_lang('FieldEdited'); } else { $field_id = UserManager::create_extra_field($fieldlabel,$fieldtype,$fieldtitle,$fielddefault,$fieldoptions); $message = get_lang('FieldAdded'); } Security::clear_token(); header('Location: user_fields.php?action=show_message&message='.urlencode(get_lang('FieldAdded'))); exit (); } }else{ if(isset($_POST['submit'])){ Security::clear_token(); } $token = Security::get_token(); $form->addElement('hidden','sec_token'); $form->setConstants(array('sec_token' => $token)); } // Display form Display::display_header($tool_name); //api_display_tool_title($tool_name); if(!empty($_GET['message'])) { Display::display_normal_message($_GET['message']); } //else //{ //Display::display_normal_message(get_lang('UserFieldsAddHelp'),false); //} $form->display(); echo '
'; if(!empty($defaults['fieldtype'])) { $image_value = $defaults['fieldtype']; if ($image_value==1) { echo '
'.Display::return_icon('userfield_text.png', get_lang('AddUserFields')); } else if ($image_value==2) { echo '
'.Display::return_icon('userfield_text_area.png', get_lang('AddUserFields')); } else if ($image_value==3) { echo '
'.Display::return_icon('add_user_field_howto.png', get_lang('AddUserFields')); } else if ($image_value==4) { echo '
'.Display::return_icon('userfield_drop_down.png', get_lang('AddUserFields')); } else if ($image_value==5) { echo '
'.Display::return_icon('userfield_multidropdown.png', get_lang('AddUserFields')); } else if ($image_value==6) { echo '
'.Display::return_icon('userfield_data.png', get_lang('AddUserFields')); } else if ($image_value==7) { echo '
'.Display::return_icon('userfield_date_time.png', get_lang('AddUserFields')); } else if ($image_value==8) { echo '
'.Display::return_icon('userfield_doubleselect.png', get_lang('AddUserFields')); } else if ($image_value==9) { echo '
'.Display::return_icon('userfield_divider.png', get_lang('AddUserFields')); } } else { echo '
'.Display::return_icon('userfield_text.png', get_lang('AddUserFields')); } echo '
'; // footer Display::display_footer(); ?>