You are here

function legal_login_submit in Legal 7.2

Same name and namespace in other branches
  1. 5 legal.module \legal_login_submit()
  2. 6.8 legal.module \legal_login_submit()
  3. 6.7 legal.module \legal_login_submit()
  4. 7 legal.module \legal_login_submit()

File

./legal.module, line 713
Module file for Legal.

Code

function legal_login_submit($form, &$form_state) {
  global $user;
  user_cookie_delete('legal_hash');
  user_cookie_delete('legal_id');
  $values = $form_state['values'];
  $user = user_load($values['uid']);
  $redirect = 'user/' . $user->uid;
  if (!empty($_GET['destination'])) {
    $redirect = $_GET['destination'];
  }
  $form_state['redirect'] = $redirect;
  legal_save_accept($values['version'], $values['revision'], $values['language'], $user->uid);
  watchdog('legal', '%name accepted T&C version %tc_id.', array(
    '%name' => $user->name,
    '%tc_id' => $values['tc_id'],
  ));

  // Update the user table timestamp noting user has logged in.
  db_update('users')
    ->fields(array(
    'login' => time(),
  ))
    ->condition('uid', $user->uid)
    ->execute();
  if (variable_get('accept_every_login', '0') == '1') {
    $_SESSION['legal']['legal_login'] = 1;
  }

  // User has new permissions, so we clear their menu cache.
  cache_clear_all($user->uid, 'cache_menu', TRUE);

  // Fixes login problems in Pressflow.
  drupal_session_regenerate();
  user_module_invoke('login', $edit, $user);
}