페이스북 api ver2.0 소스 패치 안내 다운로드

Download Report

Transcript 페이스북 api ver2.0 소스 패치 안내 다운로드

Facebook api version 2.0
소스 패치 안내
가비아C&S
2015-04-24
소스 패치 안내
1
수정 파일 리스트
소스수정
1. ./app/libraries/Template.php
2. ./app/helpers/common_helper.php
3. ./app/javascript/js/facebook.js
: 파일 있을 경우
4. ./app/libraries/snssocial.php
5. ./app/controllers/snsredirect.php : 파일 있을 경우
덮어씌우기
6. ./app/libraries/social/facebook/base_facebook.php
파일추가
7. ./app/libraries/tpl_plugin/prefilter.facebook_ver.php
폴더삭제
8. ./_compile/admin
9. ./_compile/data
스킨패치 필요없습니다.
소스설명의 붉은글자는 추가, 파란글자 변경하시면 됩니다.
2
1
파일 수정 안내
1. ./app/libraries/Template.php : 맨 마지막줄 prefilter 라이브러리 변경하세요.
$this->prefilter

$this->prefilter
= "adjustPath";
= "adjustPath|facebook_ver";// @2015-04-28
3
파일 수정 안내
2. ./app/helpers/common_helper.php : isfacebook() 함수가 있을 때 진행하세요.
Function isfacebook() {
$CI =& get_instance();
// facebook grapy api upgrade version@2015-05-01
$fbversion = '2.0';
$CI->fb_available_until =
array("20160807"=>'2.0',"20161030"=>'2.1',"20170325"=>'2.2');
foreach($CI->fb_available_until as $fbdate=>$fbver) {
if( $fbdate >= date("Ymd") ) {
$fbversion = $fbver;
break;
}
}
$CI->__APP_VER__ = $fbversion;
define('__FB_APP_VER__',$CI->__APP_VER__);
…
..
.
}
4
파일 수정 안내
3. ./app/javascript/js/facebook.js : FB.init() “,version:'v2.0'” 추가하세요.

FB.init({
appId
status
cookie
xfbml
oauth
});
: plus_app_id, //App ID
: true, // check login status
: true, // enable cookies to allow the server to access the session
: true, // parse XFBML,
: true
FB.init({
appId
status
cookie
xfbml
oauth
version
});
: plus_app_id, //App ID
: true, // check login status
: true, // enable cookies to allow the server to access the session
: true, // parse XFBML,
: true,
: 'v2.0'
5
파일 수정 안내
3. ./app/javascript/js/facebook.js : JavaScript SDK 변경 하세요.
js.src = "//connect.facebook.net/en_US/all.js";

js.src = "//connect.facebook.net/en_US/sdk.js";
6
파일 수정 안내
4. ./app/libraries/snssocial.php : 최상단 구문을 추가하세요.
function __construct() {
$this->ci =& get_instance();
if( !__FB_APP_VER__ ) {
// facebook grapy api upgrade version@2015-04-21
$fbversion = '2.0';
if(!$this->fb_available_until)
$this->fb_available_until = array("20160807"=>'2.1',"20161030"=>'2.2',"20170325"=>'2.3');
foreach($this->fb_available_until as $fbdate=>$fbver) {
if( $fbdate >= date("Ymd") ) {
$fbversion = $fbver;
break;
}
}
$this->__APP_VER__ =$fbversion;
define('__FB_APP_VER__',$this->__APP_VER__);
}
…
..
.
}
7
파일 수정 안내
5. ./app/libraries/snssocial.php : get_app_token(), get_token()
function get_app_token($appid, $appsecret)
{
……..
$url = 'https://graph.facebook.com/oauth/access_token';
……
}

$url = 'https://graph.facebook.com/v'.$this->__APP_VER__.'/oauth/access_token';
function get_token($appid, $appsecret,$code,$ftype='domain_facebook')
{
……..
$url = 'https://graph.facebook.com/oauth/access_token';
……
}

$url = 'https://graph.facebook.com/v'.$this->__APP_VER__.'/oauth/access_token';
8
파일 수정 안내
9
6. ./app/controllers/snsredirect.php
1) FB.init() 변경
FB.init({ appId: plus_app_id,
oauth: true});

FB.init({ appId: plus_app_id,
oauth: true, version
status: true,
cookie: true,
xfbml: true,
status: true,
cookie: true,
xfbml: true,
: 'v{$this->__APP_VER__}'});//@2015-04-28
2) JavaScript SDK 변경:
js.src = "//connect.facebook.net/en_US/all.js";

js.src = "//connect.facebook.net/en_US/sdk.js";
파일 수정 안내
7. ./app/libraries/social/facebook/base_facebook.php
protected function getUrl($name, $path='', $params=array()) {
$url = self::$DOMAIN_MAP[$name];
}

protected function getUrl($name, $path='', $params=array()) {
$fbversion = (__FB_APP_VER__)?'v'.__FB_APP_VER__:"v2.0";
$url = self::$DOMAIN_MAP[$name].$fbversion.'/';
}
10
파일 수정 안내
11
8. ./app/libraries/tpl_plugin/prefilter.facebook_ver.php
<?php
function facebook_ver($source, $tpl){
$fbversion = (__FB_APP_VER__)?'v'.__FB_APP_VER__:"v2.0";
if( !( preg_match("/(FB\.init\(\{)/",$source) && (preg_match("/(.*version)(.*:)(.*\'$fbversion\')/",$source)
|| preg_match("/(.*version)(.*:)(.*\'v{APP_VER}\')/",$source)) ) &&
( !preg_match("/(FB\.init\(\{)(.*version)(.*:)(.*$fbversion)/",$source)
|| !preg_match("/(FB\.init\(\{)(.*version)(.*:)(.*v{APP_VER})/",$source)) ) {
$source = str_replace("FB.init({","FB.init({version:'$fbversion',",$source);
}
if( preg_match("/connect.facebook.net\/ko_KR\/all.js/",$source) ) {
$source=str_replace("#xfbml=1&appId={APP_ID}","",$source);
$source=str_replace("connect.facebook.net/ko_KR/all.js","connect.facebook.net/ko_KR/sdk.js",$source);
}
return $source;
}
?>
파일 수정 안내
9. 스킨 자동적용을 위해 _compile 하위폴더 삭제
./_compile/admin
./_compile/data
12
감사합니다.