테스트 사이트 - 개발 중인 베타 버전입니다

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

메시아나 11년 전 조회 5,772

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

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

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

 

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

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

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

 

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

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

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

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

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

 

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

</p><p># 등록 요청</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>if(!$_REQUEST['device_id']) {</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">		</span>echo '<script>location.href="sagiga:'.G5_URL.'"</script>';</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>return;</p><p><span class="Apple-tab-span" style="white-space: pre;">	</span>} </p><p># 페이지 이동</p><p><span class="Apple-tab-span" style="white-space: pre;">	</span>echo '<script>location.href="'.G5_URL.'"</script>'; </p><p>

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

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

 

<전체소스>

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

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
11년 전

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

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

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

define(G5_DIR_PERMISSION, 0755);

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

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

균이
11년 전
define(G5_DATA_PATH, $g4[path].'data'); <---define(G5_DATA_PATH, $g4[path].'/data');
메시아나
11년 전
감사합니다 균이님 ㅎㅎ 그럼 아래있는 퍼미션과 URL도 댓글처럼 똑같이 하면 되겠군요~ㅎㅎ
그런데 혹시 ...
# 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
@chmod(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
이말은, 루트폴더에 폴더를 생성하라는 말인가요...?;; 이부분이 이해가 잘 안돼서요...
균이
11년 전
폴더를 생성하라는 말이 아니고 그 아래 코드가 그런 일을 한다는 것입니다
루트폴더에 바로 생성되는 것이아니고 root/data 폴더 아래에 sagiga 라는 폴더가 만들어지는 것입니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인