$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); }
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); } }
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');