private function save() { $extended_field = new ExtendedField(); $extended_field->set_name(TextHelper::htmlspecialchars($this->form->get_value('name'))); $extended_field->set_field_name(ExtendedField::rewrite_field_name($this->form->get_value('name'))); $extended_field->set_position(PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER_EXTENDED_FIELDS_LIST, 'MAX(position) + 1', '')); $extended_field->set_description(TextHelper::htmlspecialchars($this->form->get_value('description'))); $field_type = $this->form->get_value('field_type')->get_raw_value(); $extended_field->set_field_type($field_type); if (!$this->form->field_is_disabled('possible_values')) { $extended_field->set_possible_values($this->form->get_value('possible_values')); } if (!$this->form->field_is_disabled('default_value')) { $extended_field->set_default_value($this->form->get_value('default_value')); } $extended_field->set_is_required((bool) $this->form->get_value('field_required')); $extended_field->set_display((bool) $this->form->get_value('display')); $regex = 0; if (!$this->form->field_is_disabled('regex_type')) { $regex = is_numeric($this->form->get_value('regex_type', '')->get_raw_value()) ? $this->form->get_value('regex_type', '')->get_raw_value() : $this->form->get_value('regex', ''); } $extended_field->set_regex($regex); $extended_field->set_authorization($this->form->get_value('authorizations')->build_auth_array()); $extended_field->set_is_not_installer(true); ExtendedFieldsService::add($extended_field); return $extended_field; }