function realname_registration_settings_validate in Realname registration 6.2
Same name and namespace in other branches
- 7.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 209 - 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_register = '</em>, ' . t("you've provided must be displayed on the registration form.");
$err_req = '</em>, ' . t("you've provided must be required.");
$err_unknown = '</em>, ' . t("you've provided either does not exist or is not a profile field.");
$err_textfield = '</em>, ' . t('must use textfield widget.');
$err_content_profile_req = t("You must specify a content profile machine name for the field, ") . '<em>';
// If content_permissions module is enabled, we must ensure anonymous users can edit the fields on registration.
if (module_exists('content_permissions') && module_exists('content_profile')) {
realname_registration_check_content_permissions($form, $form_state);
}
// If we are told to use content profile fields to store values, we need to know which content profile node type.
if ($form_state['values']['realname_registration_use_content_profile_firstname_field'] && empty($form_state['values']['realname_registration_content_profile_firstname_field_node'])) {
form_set_error('realname_registration_content_profile_firstname_field_node', $err_content_profile_req . $form_state['values']['realname_registration_firstname_field'] . '</em>');
}
if ($form_state['values']['realname_registration_use_content_profile_middlename_field'] && empty($form_state['values']['realname_registration_content_profile_middlename_field_node'])) {
form_set_error('realname_registration_content_profile_middlename_field_node', $err_content_profile_req . $form_state['values']['realname_registration_middlename_field'] . '</em>');
}
if ($form_state['values']['realname_registration_use_content_profile_lastname_field'] && empty($form_state['values']['realname_registration_content_profile_lastname_field_node'])) {
form_set_error('realname_registration_content_profile_lastname_field_node', $err_content_profile_req . $form_state['values']['realname_registration_lastname_field'] . '</em>');
}
// Validation for the first name field.
if (!$form_state['values']['realname_registration_use_content_profile_firstname_field']) {
$firstname_field = db_fetch_object(db_query("SELECT type, required, register, category FROM {profile_fields} WHERE name = '%s'", check_plain($form_state['values']['realname_registration_firstname_field'])));
if (empty($firstname_field)) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_unknown);
}
if ($firstname_field->type != 'textfield') {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_textfield);
}
if ($firstname_field->required != 1) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_req);
}
if ($firstname_field->register != 1) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_register);
}
if ($firstname_field->category) {
$form_state['values']['realname_registration_firstname_field_category'] = $firstname_field->category;
}
}
else {
$sql = "SELECT i.field_name, i.type_name, i.widget_type, c.required " . "FROM {content_node_field_instance} AS i " . "LEFT JOIN {content_node_field} AS c " . "ON i.field_name = c.field_name " . "WHERE i.field_name = '%s' " . "AND i.type_name = '%s'";
$firstname_field = db_fetch_object(db_query($sql, $form_state['values']['realname_registration_firstname_field'], check_plain($form_state['values']['realname_registration_content_profile_firstname_field_node'])));
if (empty($firstname_field)) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_unknown);
}
if ($firstname_field->widget_type != 'text_textfield') {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_textfield);
}
if ($firstname_field->required != 1) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_req);
}
$types = array_keys(content_profile_get_types('names', 'registration_use'));
$match = FALSE;
foreach ($types as $type) {
if ($type == $firstname_field->type_name) {
$match = TRUE;
}
}
if (!$match) {
form_set_error('realname_registration_firstname_field', $err_pretext . $form_state['values']['realname_registration_firstname_field'] . $err_register);
}
}
// Validation for the middle name field.
if (!empty($form_state['values']['realname_registration_middlename_field'])) {
if (!$form_state['values']['realname_registration_use_content_profile_middlename_field']) {
$middlename_field = db_fetch_object(db_query("SELECT type, required, register, category FROM {profile_fields} WHERE name = '%s'", check_plain($form_state['values']['realname_registration_middlename_field'])));
if (empty($middlename_field)) {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_unknown);
}
if ($middlename_field->type != 'textfield') {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_textfield);
}
if ($middlename_field->register != 1) {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_register);
}
if ($middlename_field->category) {
$form_state['values']['realname_registration_middlename_field_category'] = $middlename_field->category;
}
}
else {
$sql = "SELECT i.field_name, i.type_name, i.widget_type, c.required " . "FROM {content_node_field_instance} AS i " . "LEFT JOIN {content_node_field} AS c " . "ON i.field_name = c.field_name " . "WHERE i.field_name = '%s' " . "AND i.type_name = '%s'";
$middlename_field = db_fetch_object(db_query($sql, $form_state['values']['realname_registration_middlename_field'], check_plain($form_state['values']['realname_registration_content_profile_middlename_field_node'])));
if (empty($middlename_field)) {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_unknown);
}
if ($middlename_field->widget_type != 'text_textfield') {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_textfield);
}
$types = array_keys(content_profile_get_types('names', 'registration_use'));
$match = FALSE;
foreach ($types as $type) {
if ($type == $middlename_field->type_name) {
$match = TRUE;
}
}
if (!$match) {
form_set_error('realname_registration_middlename_field', $err_pretext . $form_state['values']['realname_registration_middlename_field'] . $err_register);
}
}
}
// Validation for the last name field.
if (!$form_state['values']['realname_registration_use_content_profile_lastname_field']) {
$lastname_field = db_fetch_object(db_query("SELECT type, required, register, category FROM {profile_fields} WHERE name = '%s'", check_plain($form_state['values']['realname_registration_lastname_field'])));
if (empty($lastname_field)) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_unknown);
}
if ($lastname_field->required != 1) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_req);
}
if ($lastname_field->type != 'textfield') {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_textfield);
}
if ($lastname_field->register != 1) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_register);
}
if ($lastname_field->category) {
$form_state['values']['realname_registration_lastname_field_category'] = $lastname_field->category;
}
}
else {
$sql = "SELECT i.field_name, i.type_name, i.widget_type, c.required " . "FROM {content_node_field_instance} AS i " . "LEFT JOIN {content_node_field} AS c " . "ON i.field_name = c.field_name " . "WHERE i.field_name = '%s' " . "AND i.type_name = '%s'";
$lastname_field = db_fetch_object(db_query($sql, $form_state['values']['realname_registration_lastname_field'], check_plain($form_state['values']['realname_registration_content_profile_lastname_field_node'])));
if (empty($lastname_field)) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_unknown);
}
if ($lastname_field->required != 1) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_req);
}
if ($lastname_field->widget_type != 'text_textfield') {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_textfield);
}
$types = array_keys(content_profile_get_types('names', 'registration_use'));
$match = FALSE;
foreach ($types as $type) {
if ($type == $lastname_field->type_name) {
$match = TRUE;
}
}
if (!$match) {
form_set_error('realname_registration_lastname_field', $err_pretext . $form_state['values']['realname_registration_lastname_field'] . $err_register);
}
}
}