function bakery_user_external_login in Bakery Single Sign-On System 7.2
Same name and namespace in other branches
- 6.2 bakery.module \bakery_user_external_login()
- 6 bakery.module \bakery_user_external_login()
- 7.4 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
object $account: An authenticated user object to be set as the currently logged in user.
array $edit: The array of form values submitted by the user, if any. This array is passed to hook_user op login.
Return value
bool TRUE if the login succeeds, FALSE otherwise.
2 calls to bakery_user_external_login()
- bakery_register in ./
bakery.module - Special Bakery register callback registers the user and returns to slave.
- _bakery_taste_chocolatechip_cookie in ./
bakery.module - Test identification cookie.
File
- ./
bakery.module, line 1707 - Module file for the Bakery.
Code
function bakery_user_external_login($account, $edit = array()) {
$form = drupal_get_form('user_login', 'via_bakery');
$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;
}