} catch (Exception $e) { } redirect_to(App::url('oauth.php')); } $user = Session::get('oauth_user'); if (empty($user)) { redirect_to(App::url()); } $provider = $user['provider']; $userId = Usermeta::newQuery()->where('meta_key', "{$provider}_id")->where('meta_value', $user['id'])->pluck('user_id'); if (Auth::check()) { if (is_null($userId)) { Usermeta::add(Auth::user()->id, "{$provider}_id", $user['id'], true); Usermeta::add(Auth::user()->id, "{$provider}_avatar", $user['avatar'], true); if (!empty($user['profile'])) { Usermeta::add(Auth::user()->id, "{$provider}_profile", $user['profile'], true); } } redirect_to($settingsPage); } if (is_null($userId)) { $data = array('email' => $user['email'], 'username' => $user['username'], 'usermeta' => array("{$provider}_id" => $user['id'], 'avatar_type' => $provider, "{$provider}_avatar" => $user['avatar'])); if (empty($data['username'])) { $data['username'] = sprintf('%s%s', $user['first_name'], $user['last_name']); } if (!empty($user['profile'])) { $data['usermeta']["{$provider}_profile"] = $user['profile']; } if (array_key_exists($user['locale'], Config::get('app.locales'))) { $data['usermeta']['locale'] = $user['locale']; }