/** * @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')); } } } }