facebook php api 적용중

This commit is contained in:
gnuboard
2013-05-15 19:54:39 +09:00
parent 39ee718590
commit 3670af6204
4 changed files with 124 additions and 96 deletions

View File

@ -0,0 +1,65 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (!$is_member) return;
if (!$config['cf_facebook_use']) return;
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
$facebook = new Facebook(array(
'appId' => $config['cf_facebook_appid'],
'secret' => $config['cf_facebook_secret']
));
$user = $facebook->getUser();
//echo $token = $facebook->getAccessToken();
// CAABsXPS0wr4BAIasoXNLyI3Hg6Lqg8Qmze4vrLi2sBhenwe9Sx3qNu6hHRDGiKTVI6sDys3kmhP1B9kSoyfriZBMeTU5VEbJir8rc7QnWbyUZAZAijwd4UvPrJZCQTR4Y2fJTHVUCRILRir5Qqfs
//$user = $facebook->getUser();
//$facebook->setAccessToken("CAABsXPS0wr4BAIasoXNLyI3Hg6Lqg8Qmze4vrLi2sBhenwe9Sx3qNu6hHRDGiKTVI6sDys3kmhP1B9kSoyfriZBMeTU5VEbJir8rc7QnWbyUZAZAijwd4UvPrJZCQTR4Y2fJTHVUCRILRir5Qqfs");
if ($user) {
try {
$user_profile = $facebook->api('/me');
$access_token = $facebook->getAccessToken();
sql_query(" update {$g4['member_table']} set mb_facebook_token = '{$access_token}' where mb_id = '{$member['mb_id']}' ", true);
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
} else {
if ($member['mb_facebook_token']) {
$facebook->setAccessToken($member['mb_facebook_token']);
try {
$user_profile = $facebook->api('/me');
//print_r2($user_profile);
$user = $facebook->getUser();
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
}
?>
<tr>
<th scope="row">SNS 등록</th>
<td>
<div id="sns_facebook">
<?php
if ($user) {
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" '.($member['mb_facebook_checked']?'checked':'').' value="1">';
echo '<img src="'.G4_SNS_URL.'/icon/facebook_on.png" id="facebook_icon">';
} else {
$facebook_url = $facebook->getLoginUrl(array("redirect_uri"=>G4_SNS_URL."/facebook/callback.php", "scope"=>"user_website,publish_stream,read_stream,offline_access", "display"=>"popup"));
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" disabled value="1">';
echo '<a href="'.$facebook_url.'" id="facebook_url" onclick="return false;"><img src="'.G4_SNS_URL.'/icon/facebook_'.($user?'on':'off').'.png" id="facebook_icon">';
echo '<script>$(function(){ $("#facebook_url").click(function(){ window.open(this.href, "facebook_url", "width=500,height=250"); }); });</script>';
}
?>
</div>
</td>
</tr>

View File

@ -113,94 +113,11 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
<td><?php echo $captcha_html; ?></td>
</tr>
<?php } ?>
<tr>
<th scope="row">SNS 등록</th>
<td>
<?php
// https://developers.facebook.com/docs/reference/php/
if ($config['cf_facebook_use']) {
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
$facebook = new Facebook(array(
'appId' => $config['cf_facebook_appid'],
'secret' => $config['cf_facebook_secret'],
));
$user = $facebook->getUser();
<?php
include_once($board_skin_path."/sns_comment.skin.php");
?>
/*
if ($member['mb_facebook_user']) {
$user = $member['mb_facebook_user'];
} else {
$user = $facebook->getUser();
if ($user) {
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
}
*/
$user = $member['mb_facebook_user'] ? $member['mb_facebook_user'] : $facebook->getUser();
if ($user) {
//$facebook_url = $facebook->getLogoutUrl(array("next"=>G4_SNS_URL."/facebook/callback.php"));
$facebook_url = $facebook->getLogoutUrl();
} else {
//$facebook_url = $facebook->getLoginUrl(array("redirect_uri"=>G4_SNS_URL."/facebook/callback.php"));
$facebook_url = $facebook->getLoginUrl(array("redirect_uri"=>G4_SNS_URL."/facebook/callback.php", "scope"=>"user_about_me,publish_stream,read_friendlists,offline_access"));
}
echo '<div id="sns_facebook">';
$flag = $member['mb_facebook_use_id'] ? 'on' : 'off';
echo '<a href="'.$facebook_url.'" target="_blank"><img src="'.G4_SNS_URL.'/icon/facebook_'.$flag.'.png">';
echo '<input type="checkbox" name="wr_facebook_checked" '.($member['mb_facebook_checked']?'checked':'').'>';
echo '</div>';
}
?>
<?php
/*
include(G4_SNS_PATH.'/facebook/src/facebook.php');
$facebook = new Facebook(array('appId'=>G4_FACEBOOK_APPID,'secret'=>G4_FACEBOOK_SECRET));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
//echo $logoutUrl = $facebook->getLogoutUrl();
$loginUrl = $facebook->getLogoutUrl();
} else {
//$loginUrl = $facebook->getLoginUrl(array('redirect_uri'=>urlencode(G4_SNS_URL.'/facebook/callback.php')));
$loginUrl = $facebook->getLoginUrl(array('redirect_uri'=>(G4_SNS_URL.'/facebook/callback.php')));
//$loginUrl = $facebook->getLoginUrl();
}
*/
?>
<!-- <div><a href="<?php echo $loginUrl; ?>" target="_blank"><img src="<?php echo G4_SNS_URL; ?>/icon/facebook_off.png" id="icon_facebook"></a></div>
<div><input type="checkbox" name="chk_facebook" value="1"></div>
</div>
<div id="sns_twitter">
<div><img src="<?php echo G4_SNS_URL; ?>/icon/twitter_off.png" id="icon_twitter"></div>
<div><input type="checkbox" name="chk_twitter" value="1"></div>
</div> -->
</td>
</tr>
<tr>
<th scope="row">내용</th>
<td>