diff --git a/connector.module b/connector.module index e58dcba..facff39 100644 --- a/connector.module +++ b/connector.module @@ -425,6 +425,18 @@ function _connector_log_in($connector_name, $cid = NULL, $consumer = NULL, $acce } } else { + // Save data. + if (!empty($connector['information callback']) && is_callable($connector['information callback'])) { + $info = $connector['information callback']($connector, $cid, array(), $access_token); + $account_user = user_load($account->uid); + $wrapper = entity_metadata_wrapper('user', $account_user); + foreach ($info as $field) { + if (isset($field['sync']) && $field['sync']) { + $wrapper->{$field['sync']} = $field['value']; + } + } + user_save($account_user); + } //Log in user $form_state['uid'] = $account->uid; user_login_submit(array(), $form_state);