function capture_create_user($profile) { global $vbulletin; // init user datamanager class $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_ARRAY); // set email $userdata->set('email', $profile['result']['email']); $userdata->set('username', $profile['result']['displayName']); $userdata->set('password', md5($profile['result']['uuid'] . date('U'))); if ($profile['result']['birthday']) { $userdata->set('birthday', $profile['result']['birthday']); } // ... additional data setting ... $userfield = array($vbulletin->options['janrain_capture_uuid'] => $profile['result']['uuid']); if ($profile['result']['name']['familyName'] && $vbulletin->options['janrain_capture_lname']) { $userfield[$vbulletin->options['janrain_capture_lname']] = $profile['result']['name']['familyName']; } if ($profile['result']['name']['givenName'] && $vbulletin->options['janrain_capture_fname']) { $userfield[$vbulletin->options['janrain_capture_fname']] = $profile['result']['name']['givenName']; } $customfields = $userdata->set_userfields($userfield, true, 'admin'); $userdata->pre_save(); // check for errors if (!empty($userdata->errors)) { foreach ($userdata->errors as $index => $error) { echo $error; } exit; } else { // save the data $vbulletin->userinfo['userid'] = $userid = $userdata->save(); require_once DIR . '/includes/functions_login.php'; $vbulletin->session->created = false; process_new_login('', false, ''); update_capture_session(array('access_token' => $vbulletin->capture_session['capture_access_token'], 'refresh_token' => $vbulletin->capture_session['capture_refresh_token'], 'expires_in' => $vbulletin->capture_session['capture_expires_in'], 'transaction_state' => array('capture' => array('password_recover' => $vbulletin->capture_session['capture_password_recover'])))); } }
function new_access_token($auth_code, $redirect_uri) { global $vbulletin; $command = "oauth/token"; $arg_array = array('code' => $auth_code, 'redirect_uri' => $redirect_uri, 'grant_type' => 'authorization_code', 'client_id' => $vbulletin->options['janrain_capture_clientid'], 'client_secret' => $vbulletin->options['janrain_capture_clientsecret']); $json_data = capture_api_call($command, $arg_array); update_capture_session($json_data); }