function hybridauth_user_insert in HybridAuth Social Login 7
Implements hook_user_insert().
File
- ./
hybridauth.module, line 439
Code
function hybridauth_user_insert(&$edit, $account, $category) {
// Make sure user has registered via HybridAuth.
if (!isset($_SESSION['hybridauth'])) {
return;
}
$provider_id = $_SESSION['hybridauth_provider_info']['id'];
$provider_name = $_SESSION['hybridauth_provider_info']['name'];
$profile = $_SESSION['hybridauth']['profile'];
// Since we are inserting in two tables (authmap and hybridauth_account),
// use a transaction.
$txn = db_transaction();
try {
user_set_authmaps($account, array(
'authname_hybridauth' => _hybridauth_encode_authname($provider_id, $profile['identifier']),
));
// Get the new authmap ID and insert it in the hybridauth_account table
$aid = db_query('SELECT aid FROM {authmap} WHERE authname = :id', array(
'id' => _hybridauth_encode_authname($provider_id, $profile['identifier']),
))
->fetchField();
db_insert('hybridauth_account')
->fields(array(
'aid' => $aid,
'provider_id' => $provider_id,
'created' => REQUEST_TIME,
))
->execute();
} catch (Exception $e) {
$txn
->rollback();
watchdog_exception('hybridauth', $e);
}
}