플러그인 path정보를 수정하고 싶습니다. 도움부탁드려요..

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
플러그인 path정보를 수정하고 싶습니다. 도움부탁드려요..

QA

플러그인 path정보를 수정하고 싶습니다. 도움부탁드려요..

본문

제가 sagiga 라는 플러그인을 extend 폴더에 설치하고자 하는데, 기존 플러그인이 G5 버전으로

제작이 되있던 터라,  Terrorboy 답변을 통해, extend 폴더에 들어갈 sagiga.push.php 파일의 path 정보만 바꾸면 

될것같다고 하시더라구요..

 

그런데, G5 용이라, 정확하게 어떤 부분을 손봐야 할지 잘 모르겠어서, 도움을 구하고 싶습니다.

제 모자란 지식으로 , 바꿔야 할 부분을 부분부분 적으로나마 추려봤습니다.

제일 하단부분엔, 전체 소스를 첨부하여 보았습니다. 도움 부탁드립니다.

 

1. 우선 G5가 눈에 띄는 부분이 있습니다.


# 디바이스 아이디가 저장될 폴더
define('SAGIGA_DATA_DIR', G5_DATA_PATH.'/sagiga');
 
 
# 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
@chmod(SAGIGA_DATA_DIR, G5_DIR_PERMISSION); 

이부분인데, G4_DATA_PATH 라고 저장해도 무방할까요?

그 하단부분도 정확히 이해가 안가는 부분이, 디렉토리가 없다면 생성하라는 말씀같은데,

mkdir 폴더와 chmod 폴더를 루트폴더에 만들고, G4_DIR_PERMISSION 으로 ,.... (혹시 다를까봐 ...여쭤봅니다.)

 

2. 두번째로는, 기본함수, 등록요청 부분입니다.


# 등록 요청
	if(!$_REQUEST['device_id']) {
 
		echo '<script>location.href="sagiga:'.G5_URL.'"</script>';
		return;
	} 
# 페이지 이동
	echo '<script>location.href="'.G5_URL.'"</script>'; 

이부분인데요, 이부분도 동일하게 G4_URL 형식으로 바꿔주면 될까요?

이부분만 손보면 , path 부분은 더이상 없는거같은데, 혹~시 만약 제가 빠진게 있다면, 한번만 짚어주세요ㅠㅠ

 

<전체소스>

 
<?php
// PHP 5.2.1 이상
// PHP json_encode 필수
// Curl 필수
# http://www.sagiga.com/index.php?mid=reqeust_api 에서 신청 하세요.
define('SAGIGA_API', '');
 
 
# 디바이스 아이디가 저장될 폴더
define('SAGIGA_DATA_DIR', G5_DATA_PATH.'/sagiga');
 
 
# 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
@chmod(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
 
 
# 환경 설정 파일 만듦
$sagiga = SagigaConfigMaking();
 
 
/* ===================================================== */
// 기본함수
/* ===================================================== */
function SagigaConfigMaking() {
 
	global $is_admin;
 
	# API 키가 없다면 리턴
	if(SAGIGA_API == '') return;
 
	# 정보 호출
	if(is_file(SAGIGA_DATA_DIR.'/config.php')) {
 
		include_once(SAGIGA_DATA_DIR.'/config.php');
		return $Sagiga;
	}
 
	# 관리자가 아닐경우 등록요청 안함
	if(!$is_admin) return;
 
 
	# 등록 요청을 사기가 웹뷰에서만 진행
	if(!preg_match('/Sagiga/i', $_SERVER['HTTP_USER_AGENT'])) return;
 
	# 등록 요청
	if(!$_REQUEST['device_id']) {
 
		echo '<script>location.href="sagiga:'.G5_URL.'"</script>';
		return;
	}
 
	# 반환값 기록
	$handle = fopen(SAGIGA_DATA_DIR.'/config.php', 'w');
	ob_start();
	echo '<?php'.PHP_EOL;
	echo '$Sagiga = array(';
	foreach ($_GET as $a => $b) { echo '"'.$a.'"=>"'.$b.'",'.PHP_EOL; }
	echo ');';
 
	$Content = ob_get_contents();
	ob_end_clean();
	fwrite($handle, $Content);
	fclose($handle);
 
	# 페이지 이동
	echo '<script>location.href="'.G5_URL.'"</script>';
}
 
// 사용법: sagiga_send('제목', '내용(선택)', '링크(선택)', '사이트이름(선택)');
function sagiga_send($Title, $Content='', $Url='', $SiteName='') {
 
	global $config, $sagiga;
 
	if(!$SiteName) $SiteName = $config['cf_title'];
	if(!$Title ) return;
 
	$apiKey    = SAGIGA_API;
    $device_id = $sagiga['device_id'];
    $site_name = $SiteName;
    $title     = $Title;
    $content   = $Content;
    $url       = $Url;
 
	$headers = array(
        'Content-Type:application/json',
        'Authorization:key='.$apiKey
    );
 
    $deviceTokens = array($device_id);
 
    $messages = array('site_name' => $site_name, 'title'=>$title, 'content'=>$content, 'url'=>$url);
 
    $sendData = array(
        'registration_ids' => $deviceTokens,
        'data' => $messages
    );
 
	curl_setopt_array($ch = curl_init(), array(
		CURLOPT_URL=>'https://android.googleapis.com/gcm/send',
		CURLOPT_HTTPHEADER=>$headers,
		CURLOPT_POST=>true,
		CURLOPT_RETURNTRANSFER=>true,
		CURLOPT_SSL_VERIFYPEER=>false,
		CURLOPT_POSTFIELDS=>json_encode($sendData)
	));
	curl_exec($ch);
	curl_close($ch);
} 

이 질문에 댓글 쓰기 :

답변 1

G4 에는 G4_DATA_PATH  이런 상수는 없습니다

다른 부분 수정하지말고 화일 상단에 넣으세요

define(G5_DATA_PATH, $g4[path].'data');

define(G5_DIR_PERMISSION, 0755);

define(G5_URL, "$g4[path]");

 

감사합니다 균이님 ㅎㅎ 그럼 아래있는 퍼미션과 URL도 댓글처럼 똑같이 하면 되겠군요~ㅎㅎ
그런데 혹시 ...
# 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
@chmod(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
이말은, 루트폴더에 폴더를 생성하라는 말인가요...?;;  이부분이 이해가 잘 안돼서요...

폴더를 생성하라는 말이 아니고 그 아래 코드가 그런 일을 한다는 것입니다
루트폴더에 바로 생성되는 것이아니고 root/data 폴더 아래에 sagiga 라는 폴더가 만들어지는 것입니다

답변을 작성하시기 전에 로그인 해주세요.
전체 24
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT