facebook php api 적용중
This commit is contained in:
@ -143,7 +143,7 @@ if ($w == 'c') // 댓글 입력
|
|||||||
wr_is_comment = 1,
|
wr_is_comment = 1,
|
||||||
wr_comment = '$tmp_comment',
|
wr_comment = '$tmp_comment',
|
||||||
wr_comment_reply = '$tmp_comment_reply',
|
wr_comment_reply = '$tmp_comment_reply',
|
||||||
wr_subject = '$wr_subject',
|
wr_subject = '',
|
||||||
wr_content = '$wr_content',
|
wr_content = '$wr_content',
|
||||||
mb_id = '$mb_id',
|
mb_id = '$mb_id',
|
||||||
wr_password = '$wr_password',
|
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, '댓글');
|
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'])
|
if ($config['cf_email_use'] && $board['bo_use_email'])
|
||||||
{
|
{
|
||||||
@ -187,7 +221,6 @@ if ($w == 'c') // 댓글 입력
|
|||||||
$group_admin = get_admin('group');
|
$group_admin = get_admin('group');
|
||||||
$board_admin = get_admin('board');
|
$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")));
|
$wr_content = nl2br(get_text(stripslashes("원글\n{$wr['wr_subject']}\n\n\n댓글\n$wr_content")));
|
||||||
|
|
||||||
$warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'댓글 ', 'cu'=>'댓글 수정' );
|
$warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'댓글 ', 'cu'=>'댓글 수정' );
|
||||||
|
|||||||
@ -3,12 +3,11 @@ include_once("./_common.php");
|
|||||||
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
|
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
|
||||||
|
|
||||||
$facebook = new Facebook(array(
|
$facebook = new Facebook(array(
|
||||||
'appId' => $config['cf_facebook_appid'],
|
'appId' => $config['cf_facebook_appid'],
|
||||||
'secret' => $config['cf_facebook_secret'],
|
'secret' => $config['cf_facebook_secret']
|
||||||
));
|
));
|
||||||
|
|
||||||
$user = $facebook->getUser();
|
$user = $facebook->getUser();
|
||||||
print_r2($user); exit;
|
|
||||||
|
|
||||||
if ($user) {
|
if ($user) {
|
||||||
try {
|
try {
|
||||||
@ -19,11 +18,25 @@ if ($user) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($user_profile) {
|
$g4['title'] = '페이스북 콜백';
|
||||||
sql_query(" update {$g4['member_table']} set mb_facebook_user = '{$_REQUEST['code']}' where mb_id = '{$member['mb_id']}' ");
|
include_once(G4_PATH.'/head.sub.php');
|
||||||
alert_close("페이스북 승인이 성공 했습니다.\\n\\n페이스북 체크를 하시면 모든 댓글 등록시 페이스북에도 자동 등록됩니다.");
|
|
||||||
|
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 {
|
} 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>
|
<td><?php echo $captcha_html; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php } ?>
|
<?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(
|
<?php
|
||||||
'appId' => $config['cf_facebook_appid'],
|
include_once($board_skin_path."/sns_comment.skin.php");
|
||||||
'secret' => $config['cf_facebook_secret'],
|
?>
|
||||||
));
|
|
||||||
|
|
||||||
$user = $facebook->getUser();
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
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>
|
<tr>
|
||||||
<th scope="row">내용</th>
|
<th scope="row">내용</th>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
Reference in New Issue
Block a user