* 请勿出售本程序或其修改版,请勿利用本程序或其修改版进行任何商业活动。 */ session_start(); require_once 'config.php'; require_once 'function.php'; $u = './'; $c_log = chklog(); if ($c_log) { $u = './?m=profile&t=sync&n=google'; } else { $u = './?m=login&t=google'; } if ($config['is_google'] > 0 && $config['google_key'] != '' && $config['google_se'] != '') { if (isset($_GET['code']) && trim($_GET['code']) != '') { require_once 'lib/google.php'; $db_o = new googlePHP($config['google_key'], $config['google_se']); $result = $db_o->access_token($config['site_url'] . 'google_callback.php', $_GET['code']); } if (isset($result['access_token']) && $result['access_token'] != '') { $s_t = $result['access_token']; $s_r = $result['refresh_token']; $edate = time() + $result['expires_in']; 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('google', '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, s_r=%s, edate=%s where id=%s', $dbprefix . 'm_sync', SQLString($s_t, 'text'), SQLString($s_r, 'text'), SQLString($edate, 'int'), $r_dby['id']); $result = mysql_query($u_db) or die(''); } else {
$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&t=sync&n=' . $nct . '&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(''); } } mysql_free_result($q_dby); if ($is_sync == 0) { $gg_o = new googlePHP($config['google_key'], $config['google_se']); $aurl = $gg_o->login_url($config['site_url'] . 'google_callback.php', 'https://www.googleapis.com/auth/userinfo.profile'); $content .= '<a href="' . $aurl . '">点击此处和您的Google账号建立连接</a>'; } $content .= '<br/><br/>绑定Google账号后将实现以下功能:<ol><li>使用Google账号登录</li><li>注:Google账号不可以重复绑定,用户绑定后,其他用户绑定的同一Google账号将自动解除绑定</li></ol>'; break; case 'live': if (isset($_GET['lt']) && $_GET['lt'] == 1) { $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(''); header('Location:./?m=profile&t=sync&n=' . $nct); exit; } require_once 'lib/live.php'; $is_sync = 0; $s_dby = sprintf('select id, s_id, s_t, s_r, edate, is_show from %s where aid=%s and name=%s limit 1', $dbprefix . 'm_sync', $r_dbu['id'], SQLString($nct, 'text'));
case 'baidu': if ($config['is_baidu'] > 0 && $config['baidu_key'] != '' && $config['baidu_se'] != '') { require_once 'lib/baidu.php'; $o = new baiduPHP($config['baidu_key'], $config['baidu_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['s_r'] = $result['refresh_token']; $r_dby['edate'] = time() + $result['expires_in']; } } break; case 'google': if ($config['is_google'] > 0 && $config['google_key'] != '' && $config['google_se'] != '') { require_once 'lib/google.php'; $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']; } } break; case 'live': if ($config['is_live'] > 0 && $config['live_key'] != '' && $config['live_se'] != '') { require_once 'lib/live.php'; $o = new livePHP($config['live_key'], $config['live_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['s_r'] = $result['refresh_token'];