플러그인 path정보를 수정하고 싶습니다. 도움부탁드려요.. 채택완료
제가 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개
G4 에는 G4_DATA_PATH 이런 상수는 없습니다
다른 부분 수정하지말고 화일 상단에 넣으세요
define(G5_DATA_PATH, $g4[path].'data');
define(G5_DIR_PERMISSION, 0755);
define(G5_URL, "$g4[path]");
답변에 대한 댓글 3개
그런데 혹시 ...
# 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
@mkdir(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
@chmod(SAGIGA_DATA_DIR, G5_DIR_PERMISSION);
이말은, 루트폴더에 폴더를 생성하라는 말인가요...?;; 이부분이 이해가 잘 안돼서요...
루트폴더에 바로 생성되는 것이아니고 root/data 폴더 아래에 sagiga 라는 폴더가 만들어지는 것입니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인