if ($dopost == 'loginbysina') { session_start(); $code = $_REQUEST["code"]; include SLINEINC . '/sina.class.php'; //$appkey='2329402441'; //$appsecert='efe3721090316b79c83683ad6e5308ec'; $appkey = $cfg_sina_appkey; $appsecret = $cfg_sina_appsecret; $callback_url = "{$GLOBALS['cfg_basehost']}/member/login.php?dopost=loginbysina"; $sina = new sinaPHP($appkey, $appsecret, $callback_url); if (empty($code)) { $url = $sina->login_url(); header("location:{$url}"); exit; } else { $ar = $sina->access_token($code); //获取access-toking $sina->access_token = $ar['access_token']; // $me = $sina->get_uid(); $uid = $me['uid']; $me = $sina->show_user_by_id($uid); if (!empty($me['id'])) { $sql = "select * from #@__member where `connectid`='{$me['id']}' and `from`='sina'"; $r = $dsql->GetOne($sql); if (!empty($r)) { $user = !empty($r['mobile']) ? $r['mobile'] : $r['email']; $user = empty($user) ? $r['mid'] : $user; $pass = $r['pwd']; $User = new Member(7 * 3600); $flag = $User->login($user, $pass, true);
*/ session_start(); require_once 'config.php'; require_once 'function.php'; $u = './'; $c_log = chklog(); if ($c_log) { $u = './?m=profile&t=sync&n=sina'; } else { $u = './?m=login&t=sina'; } if ($config['is_sina'] > 0 && $config['sina_key'] != '' && $config['sina_se'] != '') { if (isset($_GET['code']) && trim($_GET['code']) != '') { require_once 'lib/sina.php'; $o = new sinaPHP($config['sina_key'], $config['sina_se']); $result = $o->access_token($config['site_url'] . 'sina_callback.php', $_GET['code']); } if (isset($result['access_token']) && $result['access_token'] != '') { $s_t = $result['access_token']; if ($c_log) { $ar = getainfo($_SESSION[$config['u_hash']], 'id, name'); $s_dby = sprintf('select id from %s where aid=%s and name=%s limit 1', $dbprefix . 'm_sync', $ar['id'], SQLString('sina', 'text')); $q_dby = mysql_query($s_dby) or die(''); $r_dby = mysql_fetch_assoc($q_dby); if (mysql_num_rows($q_dby) > 0) { $u_db = sprintf('update %s set s_t=%s where id=%s', $dbprefix . 'm_sync', SQLString($s_t, 'text'), $r_dby['id']); $result = mysql_query($u_db) or die(''); } else { $i_db = sprintf('insert into %s (aid, name, s_t) values (%s, %s, %s)', $dbprefix . 'm_sync', $ar['id'], SQLString('sina', 'text'), SQLString($s_t, 'text')); $result = mysql_query($i_db) or die(''); }