コード例 #1
0
ファイル: login.php プロジェクト: lz1988/stourwebcms
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);
コード例 #2
0
ファイル: sina_callback.php プロジェクト: lyhiving/mini_class
 */
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('');
            }