/**
  * @desc Add a extended field
  * @param object $extended_field ExtendedField containing the name, field name, position, content, field type, possible values, default values, required and regex.
  */
 public static function add(ExtendedField $extended_field)
 {
     $name = $extended_field->get_name();
     $type_field = $extended_field->get_field_type();
     $exit_by_type = ExtendedFieldsDatabaseService::check_field_exist_by_type($extended_field);
     $class = $extended_field->get_instance();
     if ($exit_by_type && $class->get_field_used_once() || $class->get_field_used_phpboost_configuration() && $extended_field->get_is_not_installer()) {
         self::set_error(LangLoader::get_message('extended-fields-error-phpboost-config', 'admin-user-common'));
     } else {
         if (!empty($name) && !empty($type_field)) {
             if (!ExtendedFieldsDatabaseService::check_field_exist_by_field_name($extended_field)) {
                 ExtendedFieldsDatabaseService::add_extended_field($extended_field);
                 ExtendedFieldsCache::invalidate();
             } else {
                 self::set_error(LangLoader::get_message('extended-fields-error-already-exist', 'admin-user-common'));
             }
         }
     }
 }