function redhen_contact_form_user_register_form_alter in RedHen CRM 7
Same name and namespace in other branches
- 8 modules/redhen_contact/redhen_contact.module \redhen_contact_form_user_register_form_alter()
Implements hook_form_FORM_ID_alter().
File
- modules/
redhen_contact/ redhen_contact.module, line 1192 - Module file for RedHen contacts.
Code
function redhen_contact_form_user_register_form_alter(&$form, &$form_state) {
// Check if enabled.
if (variable_get(REDHEN_CONTACT_REG, FALSE)) {
// Get menu item to check for the overriden contact type parameter, but only
// when a user is registering from user/register.
$menu_item = menu_get_item();
if ($menu_item['original_map'][0] == 'user' && $menu_item['original_map'][1] == 'register' && isset($menu_item['original_map'][2])) {
$contact_type = $menu_item['original_map'][2];
}
else {
// If not parameter, use the default Contact type.
$contact_type = variable_get(REDHEN_CONTACT_REG_TYPE, FALSE);
}
// If a valid contact type was found.
if (array_key_exists($contact_type, redhen_contact_get_types())) {
$contact_object = redhen_contact_create(array(
'type' => $contact_type,
));
_redhen_contact_user_embed_contact_form($form, $form_state, $contact_object);
// Add a submit handler for handling the contact form data.
$form['#submit'][] = 'redhen_contact_user_registration_submit';
// Hide the Contact email field, we will use the user mail field.
$form['redhen_contact']['form']['redhen_contact_email']['#access'] = FALSE;
$form['#validate'][] = 'redhen_contact_user_registration_validate';
}
else {
drupal_set_message(t('Invalid RedHen contact type parameter.'));
}
}
}