|
diff --git a/bbs/write_comment_update.php b/bbs/write_comment_update.php
index 286c0f395..f18e6438a 100644
--- a/bbs/write_comment_update.php
+++ b/bbs/write_comment_update.php
@@ -182,35 +182,8 @@ if ($w == 'c') // 댓글 입력
$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']
- ));
-
- $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(strip_tags($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) {
- ;;;
- }
- }
- }
-
+ // SNS 등록
+ include_once("./write_comment_update.sns.php");
// 메일발송 사용
if ($config['cf_email_use'] && $board['bo_use_email'])
diff --git a/bbs/write_comment_update.sns.php b/bbs/write_comment_update.sns.php
new file mode 100644
index 000000000..7f4072419
--- /dev/null
+++ b/bbs/write_comment_update.sns.php
@@ -0,0 +1,50 @@
+ $config['cf_facebook_appid'],
+ 'secret' => $config['cf_facebook_secret']
+ ));
+
+ $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(strip_tags($wr['wr_content']))
+ );
+ // 등록
+ $facebook->api('/me/feed/', 'post', $attachment);
+ //$errors = error_get_last(); print_r2($errros); exit;
+ } catch(FacebookApiException $e) {
+ ;;;
+ }
+ }
+}
+
+// 트위터
+if ($_POST['twitter_checked']) {
+ include_once(G4_SNS_PATH."/twitter/twitteroauth/twitteroauth.php");
+ include_once(G4_SNS_PATH."/twitter/config.php");
+
+ if ( !(empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) ) {
+ $post = googl_short_url($comment_url).' '.$wr_content;
+ $post = utf8_strcut($post, 140);
+
+ $access_token = $_SESSION['access_token'];
+ $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
+ // 등록
+ $connection->post('statuses/update', array('status' => $post));
+ }
+}
+?>
\ No newline at end of file
diff --git a/lib/common.lib.php b/lib/common.lib.php
index 226c4ee03..72b1aa746 100644
--- a/lib/common.lib.php
+++ b/lib/common.lib.php
@@ -2041,4 +2041,37 @@ function board_notice($bo_notice, $wr_id, $insert=false)
}
return implode(",", $notice_array);
}
+
+
+// goo.gl 짧은주소 만들기
+function googl_short_url($longUrl)
+{
+ global $config;
+
+ // Get API key from : http://code.google.com/apis/console/
+ // URL Shortener API ON
+ $apiKey = $config['cf_googl_shorturl_apikey'];
+
+ $postData = array('longUrl' => $longUrl, 'key' => $apiKey);
+ $jsonData = json_encode($postData);
+
+ $curlObj = curl_init();
+
+ curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url');
+ curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
+ curl_setopt($curlObj, CURLOPT_HEADER, 0);
+ curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
+ curl_setopt($curlObj, CURLOPT_POST, 1);
+ curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData);
+
+ $response = curl_exec($curlObj);
+
+ //change the response json string to object
+ $json = json_decode($response);
+
+ curl_close($curlObj);
+
+ return $json->id;
+}
?>
\ No newline at end of file
diff --git a/plugin/sns/facebook/callback.php b/plugin/sns/facebook/callback.php
index 2ec663aa9..59f95aa6d 100644
--- a/plugin/sns/facebook/callback.php
+++ b/plugin/sns/facebook/callback.php
@@ -22,26 +22,18 @@ $g4['title'] = '페이스북 콜백';
include_once(G4_PATH.'/head.sub.php');
if ($user) {
-
- $access_token = $facebook->getAccessToken();
-
- $appid = $config['cf_facebook_appid'];
-
- setcookie('fbs_'.$appid, 1, G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
- setcookie('fbs_'.$appid.'_code', $_SESSION['fb_'.$appid.'_code'], G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
- setcookie('fbs_'.$appid.'_access_token', $_SESSION['fb_'.$appid.'_access_token'], G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
- setcookie('fbs_'.$appid.'_user_id', $_SESSION['fb_'.$appid.'_user_id'], G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
-
- sql_query(" update {$g4['member_table']} set mb_facebook_token = '{$access_token}' where mb_id = '{$member['mb_id']}' ", true);
-
+ $sns_name = $user_profile['name'];
$g4_sns_url = G4_SNS_URL;
+ set_cookie('ck_sns_name', $sns_name);
+
echo <<
$(function() {
document.write("페이스북 승인이 되었습니다.");
var opener = window.opener;
+ opener.$("#wr_name").val("{$sns_name}");
opener.$("#facebook_icon").attr("src", "{$g4_sns_url}/icon/facebook_on.png");
opener.$("#facebook_checked").attr("disabled", false);
opener.$("#facebook_checked").attr("checked", true);
diff --git a/plugin/sns/twitter/callback.php b/plugin/sns/twitter/callback.php
index 1c7e9faaf..d697bb28a 100644
--- a/plugin/sns/twitter/callback.php
+++ b/plugin/sns/twitter/callback.php
@@ -48,30 +48,19 @@ include_once(G4_PATH.'/head.sub.php');
if (200 == $connection->http_code) {
- /*
- $access_token = $facebook->getAccessToken();
-
- $appid = $config['cf_facebook_appid'];
-
- setcookie('fbs_'.$appid, 1, G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
- setcookie('fbs_'.$appid.'_code', $_SESSION['fb_'.$appid.'_code'], G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
- setcookie('fbs_'.$appid.'_access_token', $_SESSION['fb_'.$appid.'_access_token'], G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
- setcookie('fbs_'.$appid.'_user_id', $_SESSION['fb_'.$appid.'_user_id'], G4_SERVER_TIME + 86400 * 31, '/', G4_COOKIE_DOMAIN);
-
- sql_query(" update {$g4['member_table']} set mb_facebook_token = '{$access_token}' where mb_id = '{$member['mb_id']}' ", true);
-
- */
-
- sql_query(" update {$g4['member_table']} set mb_twitter_token = '{$access_token['oauth_token']}', mb_twitter_token_secret = '{$access_token['oauth_token_secret']}' where mb_id = '{$member['mb_id']}' ", true);
-
+ $content = $connection->get('account/verify_credentials');
+ $sns_name = $content->name;
$g4_sns_url = G4_SNS_URL;
+ set_cookie('ck_sns_name', $sns_name);
+
echo <<
$(function() {
document.write("트위터에 승인이 되었습니다.");
var opener = window.opener;
+ opener.$("#wr_name").val("{$sns_name}");
opener.$("#twitter_icon").attr("src", "{$g4_sns_url}/icon/twitter_on.png");
opener.$("#twitter_checked").attr("disabled", false);
opener.$("#twitter_checked").attr("checked", true);
diff --git a/skin/board/basic/view_comment.skin.php b/skin/board/basic/view_comment.skin.php
index 768e4b0fb..c10f13bd5 100644
--- a/skin/board/basic/view_comment.skin.php
+++ b/skin/board/basic/view_comment.skin.php
@@ -115,7 +115,7 @@ var char_max = parseInt(); // 최대
diff --git a/skin/board/basic/sns_comment.skin.php b/skin/board/basic/view_comment.sns.skin.php
similarity index 74%
rename from skin/board/basic/sns_comment.skin.php
rename to skin/board/basic/view_comment.sns.skin.php
index d7ce2ae74..374e10e17 100644
--- a/skin/board/basic/sns_comment.skin.php
+++ b/skin/board/basic/view_comment.sns.skin.php
@@ -1,49 +1,57 @@
| SNS 등록 |
$config['cf_facebook_appid'],
'secret' => $config['cf_facebook_secret']
));
- $user = $facebook->getUser();
+ $facebook_user = $facebook->getUser();
- if ($user) {
+ if ($facebook_user) {
try {
- $user_profile = $facebook->api('/me');
+ $facebook_user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
- $user = null;
+ $facebook_user = null;
}
}
- if ($user) {
+ if ($facebook_user) {
echo ' ';
echo '  ';
} else {
$facebook_url = $facebook->getLoginUrl(array("redirect_uri"=>G4_SNS_URL."/facebook/callback.php", "scope"=>"publish_stream,read_stream,offline_access", "display"=>"popup"));
echo ' ';
- echo ' ';
+ echo '.'.png) ';
echo '';
}
}
+ //============================================================================
- if ($config['cf_twitter_use']) {
+
+ //============================================================================
+ // 트위터
+ //----------------------------------------------------------------------------
+ if ($config['cf_twitter_key']) {
include_once(G4_SNS_PATH."/twitter/twitteroauth/twitteroauth.php");
include_once(G4_SNS_PATH."/twitter/config.php");
- $user = false;
+ $twitter_user = false;
if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {
$twitter_url = G4_SNS_URL."/twitter/redirect.php";
} else {
@@ -54,7 +62,7 @@ if (!$config['cf_facebook_use'] && !$config['cf_twitter_use']) return;
switch ($connection->http_code) {
case 200:
- $user = true;
+ $twitter_user = true;
$twitter_url = $connection->getAuthorizeURL($token);
break;
default :
@@ -64,22 +72,23 @@ if (!$config['cf_facebook_use'] && !$config['cf_twitter_use']) return;
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $member['mb_twitter_token'], $member['mb_twitter_token_secret']);
$content = $connection->get('account/verify_credentials');
if (200 == $connection->http_code) {
- $user = true;
+ $twitter_user = true;
$twitter_url = $connection->getAuthorizeURL($token);
}
}
}
}
- if ($user) {
+ if ($twitter_user) {
echo '';
echo '';
} else {
echo '';
- echo '';
echo '';
}
}
+ //============================================================================
?>
|
|