window.opener.ne_reload("");window.close();'; } } } add_action('comment_form', 'ne_connect'); function ne_connect($id=""){ global $ne_loaded; if($ne_loaded) { return; } if(is_user_logged_in()){ global $user_ID; $nedata = get_user_meta($user_ID, 'nedata',true); if($nedata){ } return; } $ne_url = WP_PLUGIN_URL.'/'.dirname(plugin_basename (__FILE__)); ?>

用网易微博登陆

user_id; } if (is_object($id_or_email)){ $id_or_email = $id_or_email->user_id; } if($neavatar = get_usermeta($id_or_email, 'neavatar')){ $avatar = ""; return $avatar; }else { return $avatar; } } function ne_confirm(){ global $ne_consumer_key, $ne_consumer_secret; if(!class_exists('NeOAuth')){ include dirname(__FILE__).'/163OAuth.php'; } $to = new NeOAuth($ne_consumer_key, $ne_consumer_secret, $_GET['oauth_token'],$_SESSION['ne_oauth_token_secret']); $tok = $to->getAccessToken($_REQUEST['oauth_verifier']); $to = new NeOAuth($ne_consumer_key, $ne_consumer_secret, $tok['oauth_token'], $tok['oauth_token_secret']); $neInfo = $to->OAuthRequest('http://api.t.163.com/account/verify_credentials.json', 'GET',array()); if($neInfo == "no auth"){ echo ''; return; } $neInfo = json_decode($neInfo); if((string)$neInfo->domain){ $ne_user_name = $neInfo->domain; } else { $ne_user_name = $neInfo->id; } ne_login($neInfo->id.'|'.$ne_user_name.'|'.$neInfo->screen_name.'|'.$neInfo->url.'|'.$tok['oauth_token'] .'|'.$tok['oauth_token_secret'].'|'.$neInfo->profile_image_url); } function ne_login($Userinfo) { $userinfo = explode('|',$Userinfo); if(count($userinfo) < 7) { wp_die("An error occurred while trying to contact 163 Connect."); } $userdata = array( 'user_pass' => wp_generate_password(), 'user_login' => $userinfo[1], 'display_name' => $userinfo[2], 'user_url' => $userinfo[3], 'user_email' => $userinfo[1].'@t.163.com' ); if(!function_exists('wp_insert_user')){ include_once( ABSPATH . WPINC . '/registration.php' ); } $wpuid = get_user_by_login($userinfo[1]); if(!$wpuid){ if($userinfo[0]){ $wpuid = wp_insert_user($userdata); if($wpuid){ update_usermeta($wpuid, 'neid', $userinfo[0]); update_usermeta($wpuid, 'neavatar', $userinfo[6]); $ne_array = array ( "oauth_access_token" => $userinfo[4], "oauth_access_token_secret" => $userinfo[5], ); update_usermeta($wpuid, 'nedata', $ne_array); } } } else { update_usermeta($wpuid, 'neid', $userinfo[0]); update_usermeta($wpuid, 'neavatar', $userinfo[6]); $ne_array = array ( "oauth_access_token" => $userinfo[4], "oauth_access_token_secret" => $userinfo[5], ); update_usermeta($wpuid, 'nedata', $ne_array); } if($wpuid) { wp_set_auth_cookie($wpuid, true, false); wp_set_current_user($wpuid); } } function ne_sinauser_to_wpuser($neid) { return get_user_by_meta('neid', $neid); } if(!function_exists('get_user_by_meta')){ function get_user_by_meta($meta_key, $meta_value) { global $wpdb; $sql = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '%s' AND meta_value = '%s'"; return $wpdb->get_var($wpdb->prepare($sql, $meta_key, $meta_value)); } function get_user_by_login($user_login) { global $wpdb; $sql = "SELECT ID FROM $wpdb->users WHERE user_login = '%s'"; return $wpdb->get_var($wpdb->prepare($sql, $user_login)); } } if(!function_exists('connect_login_form_login')){ add_action("login_form_login", "connect_login_form_login"); add_action("login_form_register", "connect_login_form_login"); function connect_login_form_login(){ if(is_user_logged_in()){ $redirect_to = admin_url('profile.php'); wp_safe_redirect($redirect_to); } } } ?>