示例#1
0
 $s_dby = sprintf('select id, s_id, s_t, s_r, s_n, edate, is_show from %s where aid=%s and name=%s limit 1', $dbprefix . 'm_sync', $r_dbu['id'], SQLString($nct, 'text'));
 $q_dby = mysql_query($s_dby) or die('');
 $r_dby = mysql_fetch_assoc($q_dby);
 if (mysql_num_rows($q_dby) > 0) {
     if ($r_dby['edate'] < time() && $r_dby['edate'] > 0 && $r_dby['s_r'] != '') {
         $o = new googlePHP($config['google_key'], $config['google_se']);
         $result = $o->access_token_refresh($r_dby['s_r']);
         if (isset($result['access_token']) && $result['access_token'] != '') {
             $r_dby['s_t'] = $result['access_token'];
             $r_dby['edate'] = time() + $result['expires_in'];
         }
         $u_db = sprintf('update %s set s_t=%s, edate=%s, mdate=%s where id=%s', $dbprefix . 'm_sync', SQLString($r_dby['s_t'], 'text'), SQLString($r_dby['edate'], 'int'), time(), $r_dby['id']);
         $result = mysql_query($u_db) or die('');
     }
     $gg_o = new googlePHP($config['google_key'], $config['google_se'], $r_dby['s_t']);
     $gg_a = $gg_o->me();
     if (isset($gg_a['id']) && $gg_a['id'] != '') {
         $is_sync = 1;
         $d_db = sprintf('delete from %s where aid<>%s and name=%s and s_id=%s', $dbprefix . 'm_sync', $r_dbu['id'], SQLString($nct, 'text'), SQLString($gg_a['id'], 'text'));
         $result = mysql_query($d_db) or die('');
         $me_url = $gg_a['link'];
         if ($r_dby['s_n'] != $me_url || $r_dby['s_id'] != $gg_a['id']) {
             $u_db = sprintf('update %s set s_n=%s, s_id=%s where id=%s', $dbprefix . 'm_sync', SQLString($me_url, 'text'), SQLString($gg_a['id'], 'text'), $r_dby['id']);
             $result = mysql_query($u_db) or die('');
         }
         $content .= '当前已绑定Google账号<table width="200"><tr><td align="center"><img src="' . $gg_a['picture'] . '" alt=""/><br/><a href="' . $me_url . '" target="_blank">' . $gg_a['name'] . '</a>(<a href="?m=profile&amp;t=sync&amp;n=' . $nct . '&amp;lt=1">取消绑定</a>)</td></tr></table>';
         $content .= '<br/><br/><form method="post" action=""><input type="checkbox" name="is_show" value="1"' . ($r_dby['is_show'] > 0 ? ' checked="checked"' : '') . '/>隐藏已绑定Google账号相关信息<br/><input type="submit" value="更新" class="button"/><input type="hidden" name="isl_google_h" value="' . $r_dby['id'] . '"/></form>';
     } else {
         $d_db = sprintf('delete from %s where aid=%s and name=%s', $dbprefix . 'm_sync', $r_dbu['id'], SQLString($nct, 'text'));
         $result = mysql_query($d_db) or die('');
     }
示例#2
0
             $_SESSION['douban_login_u_r'] = '';
             $_SESSION['douban_login_u_edate'] = 0;
         }
     }
     if (!isset($_SESSION['douban_login_u_t']) || $_SESSION['douban_login_u_t'] == '') {
         $db_o = new doubanPHP($config['douban_key'], $config['douban_se']);
         $aurl = $db_o->login_url($config['site_url'] . 'douban_callback.php', 'douban_basic_common');
         header('Location:' . $aurl);
         exit;
     }
     break;
 case 'google':
     require_once 'lib/google.php';
     if (isset($_SESSION['google_login_u_t']) && $_SESSION['google_login_u_t'] != '') {
         $gg_o = new googlePHP($config['google_key'], $config['google_se'], $_SESSION['google_login_u_t']);
         $me = $gg_o->me();
         if (isset($me['id']) && $me['id'] != '') {
             if (isset($_SESSION[$config['u_hash'] . '_m']) && $_SESSION[$config['u_hash'] . '_m'] == 1) {
                 $goto = 'm/';
                 $_SESSION[$config['u_hash'] . '_m'] = '';
                 unset($_SESSION[$config['u_hash'] . '_m']);
             }
             $s_dbu = sprintf('select a.id, a.username, a.password, a.sylorm, b.s_t, b.id as bid from %s as a, %s as b where a.id=b.aid and b.s_id=%s and b.name=%s%s limit 1', $dbprefix . 'member', $dbprefix . 'm_sync', SQLString($me['id'], 'text'), SQLString($nct, 'text'), $vdb);
             $q_dbu = mysql_query($s_dbu) or die('');
             $r_dbu = mysql_fetch_assoc($q_dbu);
             if (mysql_num_rows($q_dbu) > 0) {
                 if ($r_dbu['s_t'] != $_SESSION['google_login_u_t']) {
                     $u_db = sprintf('update %s set s_t=%s, s_r=%s, edate=%s where id=%s', $dbprefix . 'm_sync', SQLString($_SESSION['google_login_u_t'], 'text'), SQLString($_SESSION['google_login_u_r'], 'text'), SQLString($_SESSION['google_login_u_edate'], 'int'), $r_dbu['bid']);
                     $result = mysql_query($u_db) or die('');
                 }
                 $u_db = sprintf('update %s set visit=visit+1, visitdate=%s where id=%s', $dbprefix . 'member', time(), $r_dbu['id']);