Пример #1
0
    } 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'];
    }