Exemplo n.º 1
0
 * 请勿出售本程序或其修改版,请勿利用本程序或其修改版进行任何商业活动。
 */
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('');
Exemplo n.º 2
0
             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&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"' : '') . '/>隐藏已绑定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&amp;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'));
Exemplo n.º 3
0
                         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);
Exemplo n.º 4
0
                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);
        }
    }
}