facebook php api 적용중
This commit is contained in:
@ -143,7 +143,7 @@ if ($w == 'c') // 댓글 입력
|
||||
wr_is_comment = 1,
|
||||
wr_comment = '$tmp_comment',
|
||||
wr_comment_reply = '$tmp_comment_reply',
|
||||
wr_subject = '$wr_subject',
|
||||
wr_subject = '',
|
||||
wr_content = '$wr_content',
|
||||
mb_id = '$mb_id',
|
||||
wr_password = '$wr_password',
|
||||
@ -179,6 +179,40 @@ if ($w == 'c') // 댓글 입력
|
||||
// 포인트 부여
|
||||
insert_point($member['mb_id'], $board['bo_comment_point'], "{$board['bo_subject']} {$wr_id}-{$comment_id} 댓글쓰기", $bo_table, $comment_id, '댓글');
|
||||
|
||||
|
||||
$wr_subject = get_text(stripslashes($wr['wr_subject']));
|
||||
|
||||
if ($config['cf_facebook_use'] && $_POST['facebook_checked']) {
|
||||
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
|
||||
|
||||
$facebook = new Facebook(array(
|
||||
'appId' => $config['cf_facebook_appid'],
|
||||
'secret' => $config['cf_facebook_secret'],
|
||||
'cookie' => true
|
||||
));
|
||||
|
||||
$user = $facebook->getUser();
|
||||
|
||||
if ($user) {
|
||||
try {
|
||||
$link = G4_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr['wr_parent'].'&#c_'.$comment_id;
|
||||
$attachment = array(
|
||||
'message' => stripslashes($wr_content),
|
||||
'name' => $wr_subject,
|
||||
'link' => $link,
|
||||
'description' => stripslashes($wr['wr_content'])
|
||||
);
|
||||
$facebook->api('/me/feed/', 'post', $attachment);
|
||||
//$errors = error_get_last(); print_r2($errros); exit;
|
||||
$access_token = $facebook->getAccessToken();
|
||||
sql_query(" update {$g4['member_table']} set mb_facebook_token = '{$access_token}', mb_facebook_checked = '{$_POST['facebook_checked']}' where mb_id = '{$member['mb_id']}' ", true);
|
||||
} catch(FacebookApiException $e) {
|
||||
;;;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 메일발송 사용
|
||||
if ($config['cf_email_use'] && $board['bo_use_email'])
|
||||
{
|
||||
@ -187,7 +221,6 @@ if ($w == 'c') // 댓글 입력
|
||||
$group_admin = get_admin('group');
|
||||
$board_admin = get_admin('board');
|
||||
|
||||
$wr_subject = get_text(stripslashes($wr['wr_subject']));
|
||||
$wr_content = nl2br(get_text(stripslashes("원글\n{$wr['wr_subject']}\n\n\n댓글\n$wr_content")));
|
||||
|
||||
$warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'댓글 ', 'cu'=>'댓글 수정' );
|
||||
|
||||
@ -3,12 +3,11 @@ include_once("./_common.php");
|
||||
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
|
||||
|
||||
$facebook = new Facebook(array(
|
||||
'appId' => $config['cf_facebook_appid'],
|
||||
'secret' => $config['cf_facebook_secret'],
|
||||
'appId' => $config['cf_facebook_appid'],
|
||||
'secret' => $config['cf_facebook_secret']
|
||||
));
|
||||
|
||||
$user = $facebook->getUser();
|
||||
print_r2($user); exit;
|
||||
|
||||
if ($user) {
|
||||
try {
|
||||
@ -19,11 +18,25 @@ if ($user) {
|
||||
}
|
||||
}
|
||||
|
||||
if ($user_profile) {
|
||||
sql_query(" update {$g4['member_table']} set mb_facebook_user = '{$_REQUEST['code']}' where mb_id = '{$member['mb_id']}' ");
|
||||
alert_close("페이스북 승인이 성공 했습니다.\\n\\n페이스북 체크를 하시면 모든 댓글 등록시 페이스북에도 자동 등록됩니다.");
|
||||
$g4['title'] = '페이스북 콜백';
|
||||
include_once(G4_PATH.'/head.sub.php');
|
||||
|
||||
if ($user) {
|
||||
$g4_sns_url = G4_SNS_URL;
|
||||
echo <<<EOT
|
||||
<script>
|
||||
$(function() {
|
||||
var opener = window.opener;
|
||||
opener.$("#facebook_icon").attr("src", "{$g4_sns_url}/icon/facebook_on.png");
|
||||
opener.$("#facebook_checked").attr("disabled", false);
|
||||
opener.$("#facebook_checked").attr("checked", true);
|
||||
//alert("페이스북 승인이 되었습니다.");
|
||||
window.close();
|
||||
});
|
||||
</script>
|
||||
EOT;
|
||||
} else {
|
||||
sql_query(" update {$g4['member_table']} set mb_facebook_user = '' where mb_id = '{$member['mb_id']}' ");
|
||||
alert_close("페이스북을 로그아웃 했습니다.");
|
||||
}
|
||||
|
||||
include_once(G4_PATH.'/tail.sub.php');
|
||||
?>
|
||||
65
skin/board/basic/sns_comment.skin.php
Normal file
65
skin/board/basic/sns_comment.skin.php
Normal 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>
|
||||
@ -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>
|
||||
|
||||
Reference in New Issue
Block a user