コード例 #1
0
ファイル: go.php プロジェクト: liangwei1988/wordpress
         $to = new qqOAuth(QQ_APP_KEY, QQ_APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         break;
     case "sohu":
         $to = new sohuOAuth(SOHU_APP_KEY, SOHU_APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         break;
     case "netease":
         $to = new neteaseOAuth(APP_KEY, APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         break;
     case "douban":
         $to = new doubanOAuth(DOUBAN_APP_KEY, DOUBAN_APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         break;
     case "tianya":
         $to = new tianyaOAuth(TIANYA_APP_KEY, TIANYA_APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         break;
     case "twitter":
         $to = new twitterOAuth(T_APP_KEY, T_APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
         break;
     default:
 }
 $redirect_to = $_SESSION['wp_url_bind'];
 $last_key = $to->getAccessToken($_REQUEST['oauth_verifier']);
 if (!$last_key['oauth_token']) {
     wp_die("出错了,没有oauth_token或oauth_token不合法,请<a href='{$redirect_to}'>返回</a>重试!");
 }
 $update = array('oauth_token' => $last_key['oauth_token'], 'oauth_token_secret' => $last_key['oauth_token_secret']);
 $tok = 'wptm_' . $callback;
 if ($redirect_to == WP_CONNECT) {
     update_option($tok, $update);
 } elseif ($_SESSION['user_id']) {
     update_usermeta($_SESSION['user_id'], $tok, $update);
 }
コード例 #2
0
function wp_connect_twitter()
{
    if (!class_exists('twitterOAuth')) {
        include dirname(__FILE__) . '/OAuth/twitter_OAuth.php';
    }
    $to = new twitterOAuth(T_APP_KEY, T_APP_SECRET, $_GET['oauth_token'], $_SESSION['oauth_token_secret']);
    $tok = $to->getAccessToken($_REQUEST['oauth_verifier']);
    $to = new twitterOAuth(T_APP_KEY, T_APP_SECRET, $tok['oauth_token'], $tok['oauth_token_secret']);
    $twitter = $to->OAuthRequest('http://api.twitter.com/1/account/verify_credentials.json', 'GET', array());
    if ($twitter == "no auth") {
        return wp_noauth();
    }
    $twitter = json_decode($twitter);
    $username = $sina->screen_name;
    $email = $username . '@twitter.com';
    $tid = "ttid";
    $uid = ifab(get_user_by_meta_value('twitterid', $username), email_exists($email));
    $userinfo = array($tid, $username, $twitter->name, $twitter->profile_image_url, $twitter->url, $username, $tok['oauth_token'], $tok['oauth_token_secret']);
    if ($uid) {
        wp_connect_login($userinfo, $email, $uid);
    } else {
        wp_connect_login($userinfo, $email);
    }
}
コード例 #3
0
        if (!class_exists('doubanOAuth')) {
            include dirname(__FILE__) . '/OAuth/douban_OAuth.php';
        }
        $to = new doubanOAuth(DOUBAN_APP_KEY, DOUBAN_APP_SECRET);
        break;
    case "TIANYA":
        if (!class_exists('tianyaOAuth')) {
            include dirname(__FILE__) . '/OAuth/tianya_OAuth.php';
        }
        $to = new tianyaOAuth(TIANYA_APP_KEY, TIANYA_APP_SECRET);
        break;
    case "TWITTER":
        if (!class_exists('twitterOAuth')) {
            include dirname(__FILE__) . '/OAuth/twitter_OAuth.php';
        }
        $to = new twitterOAuth(T_APP_KEY, T_APP_SECRET);
        break;
    default:
}
if ($_GET['go']) {
    $callback = get_bloginfo('wpurl') . '/wp-content/plugins/wp-connect/login.php';
    $tok = $to->getRequestToken($callback);
    $_SESSION["oauth_token_secret"] = $tok['oauth_token_secret'];
    $request_link = $to->getAuthorizeURL($tok['oauth_token'], false, $callback);
    $_SESSION['wp_url_login'] = $_GET['go'];
    header('Location:' . $request_link);
} else {
    if ($_SESSION['wp_url_back']) {
        $callback = $_SESSION['wp_url_back'];
    } else {
        //$callback = admin_url('profile.php');