function realname_registration_settings_validate in Realname registration 7.2
Same name and namespace in other branches
- 6.2 realname_registration.admin.inc \realname_registration_settings_validate()
- 7 realname_registration.admin.inc \realname_registration_settings_validate()
1 string reference to 'realname_registration_settings_validate'
- realname_registration_settings_form in ./
realname_registration.admin.inc - Form builder;
File
- ./
realname_registration.admin.inc, line 208 - Admin page callbacks for the realname_registration module.
Code
function realname_registration_settings_validate($form, &$form_state) {
$err_pretext = t('The field name') . ', <em>';
$err_req = '</em>, ' . t("you've provided must be required.");
$err_unknown = '</em>, ' . t("you've provided either does not exist or is not associated with the corresponding entity.");
$err_textfield = '</em>, ' . t("must use textfield widget.");
$err_register = '</em>, ' . t("must be displayed on the registration form.");
$err_profile2_req = t("You must specify a profile2 machine name for the field,") . ' <em>';
// If we are told to use profile2 fields to store values, we need to know which profile2 type.
if (module_exists('profile2')) {
if ($form_state['values']['realname_registration_use_profile2_firstname_field'] && empty($form_state['values']['realname_registration_profile2_firstname_field_profile_name'])) {
form_set_error('realname_registration_profile2_firstname_field_profile_name', $err_profile2_req . $form_state['values']['realname_registration_firstname_field'] . '</em>');
}
if ($form_state['values']['realname_registration_use_profile2_middlename_field'] && empty($form_state['values']['realname_registration_profile2_middlename_field_profile_name'])) {
form_set_error('realname_registration_profile2_middlename_field_profile_name', $err_profile2_req . $form_state['values']['realname_registration_middlename_field'] . '</em>');
}
if ($form_state['values']['realname_registration_use_profile2_lastname_field'] && empty($form_state['values']['realname_registration_profile2_lastname_field_profile_name'])) {
form_set_error('realname_registration_profile2_lastname_field_profile_name', $err_profile2_req . $form_state['values']['realname_registration_firstname_field'] . '</em>');
}
}
// Validate the first name field.
if (module_exists('profile2') && $form_state['values']['realname_registration_use_profile2_firstname_field']) {
$firstname_field = field_info_field($form_state['values']['realname_registration_firstname_field']);
$match = FALSE;
foreach (profile2_get_types() as $type_name => $profile_type) {
if ($profile_type->data['registration'] && is_array($firstname_field['bundles']['profile2'])) {
foreach ($firstname_field['bundles']['profile2'] as $key => $value) {
if ($value == $profile_type->type) {
$match = TRUE;
}
}
}
}
if (!$match) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_register);
}
}
if (module_exists('profile2') && $form_state['values']['realname_registration_use_profile2_firstname_field']) {
$firstname_instance = field_info_instance('profile2', $form_state['values']['realname_registration_firstname_field'], $form_state['values']['realname_registration_profile2_firstname_field_profile_name']);
}
else {
$firstname_instance = field_info_instance('user', $form_state['values']['realname_registration_firstname_field'], 'user');
}
if (!isset($firstname_instance)) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_unknown);
}
if ($firstname_instance['widget']['type'] != 'text_textfield') {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_textfield);
}
if ($firstname_instance['required'] != 1) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_req);
}
// Validate the middle name field if it is used.
if (module_exists('profile2') && $form_state['values']['realname_registration_use_profile2_middlename_field']) {
$middlename_field = field_info_field($form_state['values']['realname_registration_middlename_field']);
$match = FALSE;
foreach (profile2_get_types() as $type_name => $profile_type) {
if ($profile_type->data['registration'] && is_array($middlename_field['bundles']['profile2'])) {
foreach ($middlename_field['bundles']['profile2'] as $key => $value) {
if ($value == $profile_type->type) {
$match = TRUE;
}
}
}
}
if (!$match) {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_register);
}
}
if (!empty($form_state['values']['realname_registration_middlename_field'])) {
if (module_exists('profile2') && $form_state['values']['realname_registration_use_profile2_middlename_field']) {
$middlename_instance = field_info_instance('profile2', $form_state['values']['realname_registration_middlename_field'], $form_state['values']['realname_registration_profile2_middlename_field_profile_name']);
}
else {
$middlename_instance = field_info_instance('user', $form_state['values']['realname_registration_middlename_field'], 'user');
}
if (!isset($middlename_instance)) {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_unknown);
}
if ($middlename_instance['widget']['type'] != 'text_textfield') {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_textfield);
}
}
else {
// If there is no middle name field provided, we can't base usernames off the middle initial.
if ($form_state['values']['realname_registration_format'] == 2 || $form_state['values']['realname_registration_format'] == 3) {
form_set_error('realname_registration_format', t('A valid middle name field is required for this username format.'));
}
}
// Validate the last name field.
if (module_exists('profile2') && $form_state['values']['realname_registration_use_profile2_lastname_field']) {
$lastname_field = field_info_field($form_state['values']['realname_registration_lastname_field']);
$match = FALSE;
foreach (profile2_get_types() as $type_name => $profile_type) {
if ($profile_type->data['registration'] && is_array($lastname_field['bundles']['profile2'])) {
foreach ($lastname_field['bundles']['profile2'] as $key => $value) {
if ($value == $profile_type->type) {
$match = TRUE;
}
}
}
}
if (!$match) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_register);
}
}
if (module_exists('profile2') && $form_state['values']['realname_registration_use_profile2_lastname_field']) {
$lastname_instance = field_info_instance('profile2', $form_state['values']['realname_registration_lastname_field'], $form_state['values']['realname_registration_profile2_lastname_field_profile_name']);
}
else {
$lastname_instance = field_info_instance('user', $form_state['values']['realname_registration_lastname_field'], 'user');
}
if (!isset($lastname_instance)) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_unknown);
}
if ($lastname_instance['widget']['type'] != 'text_textfield') {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_textfield);
}
if ($lastname_instance['required'] != 1) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_req);
}
}