You are here

function _hybridauth_check_additional_info in HybridAuth Social Login 7.2

Same name and namespace in other branches
  1. 6.2 hybridauth.pages.inc \_hybridauth_check_additional_info()
1 call to _hybridauth_check_additional_info()
_hybridauth_window_process_auth in ./hybridauth.pages.inc
Handle the Drupal authentication.

File

./hybridauth.pages.inc, line 437
HybridAuth module pages.

Code

function _hybridauth_check_additional_info($data) {
  $show_form = FALSE;
  if (empty($data['username']) && variable_get('hybridauth_registration_username_change', 0)) {
    $show_form = TRUE;
  }
  if (empty($data['pass']) && variable_get('hybridauth_registration_password', 0)) {
    $show_form = TRUE;
  }
  $required_fields = array_filter(variable_get('hybridauth_required_fields', array(
    'email' => 'email',
  )));
  foreach ($required_fields as $key => $value) {
    if (empty($data[$key]) && !($data[$key] === 0)) {
      $show_form = TRUE;
      break;
    }
  }

  // Allow other modules to show pre-registration form.
  // Invoke hook_hybridauth_registration_form().
  foreach (module_invoke_all('hybridauth_registration_form', $data) as $value) {
    if ($value) {
      $show_form = TRUE;
    }
  }
  if ($show_form) {
    $form = drupal_get_form('hybridauth_additional_info_form', $data);
    return _hybridauth_window_render_form($form, $data['provider']);
  }
}