You are here

function redhen_contact_form_user_profile_form_alter in RedHen CRM 7

Implements hook_form_FORM_ID_alter().

File

modules/redhen_contact/redhen_contact.module, line 1168
Module file for RedHen contacts.

Code

function redhen_contact_form_user_profile_form_alter(&$form, &$form_state) {

  // If we're mirroring the contact's email address - disable the field.
  $contact = redhen_contact_load_by_user($form['#user']);
  if ($contact) {
    if ($form['#user_category'] == 'account' && redhen_contact_user_email_setting(REDHEN_CONTACT_MIRROR_EMAIL, $contact)) {
      $form['account']['mail']['#disabled'] = TRUE;
      $form['account']['mail']['#description'] .= ' ' . t('The email address for this account is managed by RedHen.');
    }
    if ($form['#user_category'] == 'account' && redhen_contact_user_email_setting(REDHEN_CONTACT_EMBED_ON_USER_FORM, $contact) && redhen_contact_user_contact_access()) {
      if ($form['account']['mail']['#disabled']) {

        // Just hide the email field since it will display on the contact form:
        $form['account']['mail']['#access'] = FALSE;
      }
      _redhen_contact_user_embed_contact_form($form, $form_state, $contact);

      // Add a submit handler for handling the contact form data.
      $form['#submit'][] = 'redhen_contact_user_update_submit';
    }
  }
}