* 请勿出售本程序或其修改版,请勿利用本程序或其修改版进行任何商业活动。 */ session_start(); require_once 'config.php'; require_once 'function.php'; $u = './'; $c_log = chklog(); if ($c_log) { $u = './?m=profile&t=sync&n=facebook'; } else { $u = './?m=login&t=facebook'; } if ($config['is_fb'] > 0 && $config['fb_app_id'] != '' && $config['fb_se'] != '') { if (isset($_GET['code']) && trim($_GET['code']) != '') { require_once 'lib/facebook.php'; $o = new facebookPHP($config['fb_app_id'], $config['fb_se']); $result = $o->access_token($config['site_url'] . 'facebook_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('facebook', '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('facebook', 'text'), SQLString($s_t, 'text')); $result = mysql_query($i_db) or die('');
if ($r_dby['s_n'] != $me_url || $r_dby['s_id'] != $ma['id']) { $u_db = sprintf('update %s set s_n=%s, s_id=%s where id=%s', $dbprefix . 'm_sync', SQLString($me_url, 'text'), SQLString($ma['id'], 'text'), $r_dby['id']); $result = mysql_query($u_db) or die(''); } $content .= '当前已绑定Facebook账号<table width="200"><tr><td align="center"><img src="https://graph.facebook.com/' . $ma['username'] . '/picture" alt=""/><br/><a href="' . $me_url . '" target="_blank">' . $ma['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"' : '') . '/>隐藏已绑定Facebook账号相关信息<br/><input type="submit" value="更新" class="button"/><input type="hidden" name="isl_fb_h" value="' . $r_dby['id'] . '"/></form>'; } else { $so = new facebookPHP($config['fb_app_id'], $config['fb_se']); $aurl = $so->login_url($config['site_url'] . 'facebook_callback.php', 'user_about_me'); header('Location:' . $aurl); exit; } } mysql_free_result($q_dby); if ($is_sync == 0) { $so = new facebookPHP($config['fb_app_id'], $config['fb_se']); $aurl = $so->login_url($config['site_url'] . 'facebook_callback.php', 'user_about_me'); $content .= '<a href="' . $aurl . '">点击此处和您的Facebook账号建立连接</a>'; } $content .= '<br/><br/>绑定Facebook账号后将实现以下功能:<ol><li>将留言、评论、回复发布到Facebook涂鸦墙</li><li>在<a href="?m=user&id=' . $r_dbu['id'] . '">用户信息</a>页面显示最新的Facebook涂鸦墙内容</li><li>使用Facebook账号登录</li><li>注:Facebook账号不可以重复绑定,用户绑定后,其他用户绑定的同一Facebook账号将自动解除绑定</li></ol>'; break; case 'twitter': 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/twitterOAuth.php'; $is_sync = 0; $s_dby = sprintf('select id, s_id, s_t, s_s, s_n, is_show from %s where aid=%s and name=%s limit 1', $dbprefix . 'm_sync', $r_dbu['id'], SQLString($nct, 'text'));
echo '<div class="sync_list" style="background-image: url(images/i-twitter.gif);">' . trim($v['text']) . '</div>'; } } } } mysql_free_result($q_dby); } break; case 'facebook': if ($config['is_fb'] > 0 && $config['fb_se'] != '' && $config['fb_app_id'] != '') { $s_dby = sprintf('select s_t from %s where aid=%s and name=%s and is_show=0 limit 1', $dbprefix . 'm_sync', $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) { require_once 'lib/facebook.php'; $fb = new facebookPHP($config['fb_app_id'], $config['fb_se'], $r_dby['s_t']); $sa = $fb->my_feed(5); if (isset($sa['data']) && is_array($sa['data']) && count($sa['data']) > 0) { foreach ($sa['data'] as $v) { switch ($v['type']) { case 'status': echo '<div class="sync_list" style="background-image: url(images/i-facebook.gif);">' . $v['message'] . '</div>'; break; case 'link': echo '<div class="sync_list" style="background-image: url(images/i-facebook.gif);"><a href="' . $v['link'] . '" target="_blank">' . ($v['name'] != '' ? $v['name'] : $v['message']) . '</a> ' . $v['description'] . '</div>'; break; } } } } mysql_free_result($q_dby);
require_once 'lib/SohuOAuth.php'; $oauth = new SohuOAuth($config['tsohu_key'], $config['tsohu_se'], $r_dby['s_t'], $r_dby['s_s']); $url = 'http://api.t.sohu.com/statuses/update.json'; $oauth->post($url, array('status' => urlencode($a[0][0]))); } mysql_free_result($q_dby); } if ($config['is_tw'] > 0 && $config['tw_key'] != '' && $config['tw_se'] != '' && in_array('twitter', $am)) { $s_dby = sprintf('select s_t, s_s from %s where aid=%s and name=%s limit 1', $dbprefix . 'm_sync', $aid, SQLString('twitter', 'text')); $q_dby = mysql_query($s_dby) or die(''); $r_dby = mysql_fetch_assoc($q_dby); if (mysql_num_rows($q_dby) > 0) { require_once 'lib/twitterOAuth.php'; $twitter = new TwitterOAuth($config['tw_key'], $config['tw_se'], $r_dby['s_t'], $r_dby['s_s']); $t_c = $twitter->OAuthRequest('https://twitter.com/statuses/update.xml', array('status' => $a[0][0]), 'POST'); } mysql_free_result($q_dby); } if ($config['is_fb'] > 0 && $config['fb_se'] != '' && $config['fb_app_id'] != '' && in_array('facebook', $am)) { $s_dby = sprintf('select s_id from %s where aid=%s and name=%s limit 1', $dbprefix . 'm_sync', $aid, SQLString('facebook', 'text')); $q_dby = mysql_query($s_dby) or die(''); $r_dby = mysql_fetch_assoc($q_dby); if (mysql_num_rows($q_dby) > 0) { require_once 'lib/facebook.php'; $fb = new facebookPHP($config['fb_app_id'], $config['fb_se'], $r_dby['s_t']); $fb->update($a[0][0]); } mysql_free_result($q_dby); } } }