You are here

function saml_sp_drupal_login_form_user_login_alter in SAML Service Provider 7.3

Same name and namespace in other branches
  1. 8.2 modules/saml_sp_drupal_login/saml_sp_drupal_login.module \saml_sp_drupal_login_form_user_login_alter()
  2. 7.8 modules/saml_sp_drupal_login/saml_sp_drupal_login.module \saml_sp_drupal_login_form_user_login_alter()
  3. 7.2 modules/saml_sp_drupal_login/saml_sp_drupal_login.module \saml_sp_drupal_login_form_user_login_alter()

Implements hook_form_FORM_ID_alter().

File

modules/saml_sp_drupal_login/saml_sp_drupal_login.module, line 76
SAML Drupal Login

Code

function saml_sp_drupal_login_form_user_login_alter(&$form, &$form_state) {
  $idp_selection = variable_get('saml_sp_drupal_login__idp', '');
  $idp = saml_sp_idp_load($idp_selection);
  global $language;

  // Return user to /user or /sv/user or /en/user
  if (empty($language->prefix)) {
    $query = array(
      'returnTo' => 'user',
    );
  }
  else {
    $query = array(
      'returnTo' => $language->prefix . '/user',
    );
  }
  $options = array(
    'query' => $query,
  );

  // Add a "Log in using @idp_name" link to the user-login form
  $items = array();
  $items[] = array(
    'data' => l(t('Log in using @idp_name', array(
      '@idp_name' => $idp->name,
    )), 'saml/drupal_login', $options),
    'class' => array(
      'saml-link',
    ),
  );
  $form['saml_sp_drupal_login_links'] = array(
    '#theme' => 'item_list',
    '#items' => $items,
    '#attributes' => array(
      'class' => array(
        'saml_sp_drupal_login-links',
      ),
    ),
    '#weight' => 1,
  );
  if (variable_get('saml_sp_drupal_login__force_saml_only', FALSE)) {
    drupal_goto('saml/drupal_login', array(
      'query' => array(
        'returnTo' => 'user',
      ),
    ));
  }
}