function bakery_user_external_login in Bakery Single Sign-On System 7.4
Same name and namespace in other branches
- 6.2 bakery.module \bakery_user_external_login()
- 6 bakery.module \bakery_user_external_login()
- 7.2 bakery.module \bakery_user_external_login()
- 7.3 bakery.module \bakery_user_external_login()
Perform standard Drupal login operations for a user object.
The user object must already be authenticated. This function verifies that the user account is not blocked/denied and then performs the login, updates the login timestamp in the database, invokes hook_user('login'), and regenerates the session.
Parameters
$account: An authenticated user object to be set as the currently logged in user.
$edit: The array of form values submitted by the user, if any. This array is passed to hook_user op login.
Return value
boolean TRUE if the login succeeds, FALSE otherwise.
1 call to bakery_user_external_login()
- _bakery_taste_chocolatechip_cookie in ./
bakery.module - Test identification cookie
File
- ./
bakery.module, line 748
Code
function bakery_user_external_login($account, $edit = array()) {
$form = drupal_get_form('user_login');
$state['values'] = $edit;
if (empty($state['values']['name'])) {
$state['values']['name'] = $account->name;
}
// Check if user is blocked or denied by access rules.
user_login_name_validate($form, $state, (array) $account);
if (form_get_errors()) {
// Invalid login.
return FALSE;
}
// Valid login.
global $user;
$user = $account;
bakery_user_authenticate_finalize($state['values']);
return TRUE;
}