コード例 #1
0
function wp_connect_tianya()
{
    if (!class_exists('tianyaOAuth')) {
        include dirname(__FILE__) . '/OAuth/tianya_OAuth.php';
    }
    $to = new tianyaOAuth(TIANYA_APP_KEY, TIANYA_APP_SECRET, $_GET['oauth_token'], $_SESSION['oauth_token_secret']);
    $tok = $to->getAccessToken($_REQUEST['oauth_verifier']);
    $to = new tianyaClient(TIANYA_APP_KEY, TIANYA_APP_SECRET, $tok['oauth_token'], $tok['oauth_token_secret']);
    $tianya = $to->get_user_info();
    if (!is_array($tianya) || $tianya['error_msg']) {
        return wp_noauth();
    }
    $tianya = $tianya['user'];
    $username = $tianya['user_id'];
    $email = $username . '@tianya.cn';
    $url = "http://my.tianya.cn/" . $username;
    $tid = "tytid";
    $uid = ifab(get_user_by_meta_value($tid, $username), email_exists($email));
    $userinfo = array($tid, $username, $tianya['user_name'], $username, $url, $username, $tok['oauth_token'], $tok['oauth_token_secret']);
    if ($uid) {
        wp_connect_login($userinfo, $email, $uid);
    } else {
        wp_connect_login($userinfo, $email);
    }
}
コード例 #2
0
ファイル: go.php プロジェクト: JerryXie96/PBSMUNC2013WebSite
        $tid = "DOUBAN";
    } elseif ($_GET['OAuth'] == "tianya" || $_GET['OAuth'] == "TIANYA" || $_GET['callback'] == "TIANYA") {
        include_once "OAuth/tianya_OAuth.php";
        $a = new tianyaOAuth(TIANYA_APP_KEY, TIANYA_APP_SECRET);
        $b = new tianyaOAuth(TIANYA_APP_KEY, TIANYA_APP_SECRET, $_SESSION['keys']['oauth_token'], $_SESSION['keys']['oauth_token_secret']);
        $tok = "wptm_tianya";
        $tid = "TIANYA";
    } else {
        return false;
    }
    if ($_GET['OAuth']) {
        $callback = get_bloginfo('wpurl') . '/wp-content/plugins/wp-connect/go.php?callback=' . $tid;
        $keys = $a->getRequestToken($callback);
        $aurl = $a->getAuthorizeURL($keys['oauth_token'], false, $callback);
        $_SESSION['keys'] = $keys;
        if (!$_SESSION['wp_url_bind']) {
            $aurl = get_bloginfo('url');
        }
        header('Location:' . $aurl);
    } elseif ($_GET['callback']) {
        $last_key = $b->getAccessToken($_REQUEST['oauth_verifier']);
        $_SESSION['last_key'] = $last_key;
        $update = array('oauth_token' => $_SESSION['last_key']['oauth_token'], 'oauth_token_secret' => $_SESSION['last_key']['oauth_token_secret']);
        if ($_SESSION['wp_url_bind'] == WP_CONNECT) {
            update_option($tok, $update);
        } else {
            update_usermeta($_SESSION['user_id'], $tok, $update);
        }
        header('Location:' . $_SESSION['wp_url_bind']);
    }
}