[PR-알리미] GNU5.4 part.1 사전준비 > 그누5.4포럼

그누5.4포럼

그누보드 5.4 버전 사용자 포럼 소모임 게시판 입니다.

[PR-알리미] GNU5.4 part.1 사전준비 정보

[PR-알리미] GNU5.4 part.1 사전준비

본문

[PR-알리미] GNU5.4 part.1 사전준비

 

일단 글을 쓰기전에 언급해두자면 이 글을 GNU 5.4버전의 HOOK기능을 알아보기위한
예제의 일환으로서 강좌의 성격을 가지고 있지만 강좌는 아님을 밝혀둡니다.
전 누굴 가르칠만한 능력이 안되는 루저라 해당 내용에 오류가 있을 수 있음을 공지합니다.


자 그럼 기존 그누보드 버전 알리미를 기준으로 제작을 합니다.
해당 소스는 https://sir.kr/g5_plugin/3572 이곳에 있으며, 만든지 오래되고 
프로그램의 개념이 부족할때 만든거라 조악하기 그지 없습니다.

자 그럼 일단 개발에 필요한 기능을 정리해보겠습니다.

 

  1. 본인의 글에 댓글이 달린경우 알림을 받는다.
  2. 본인에게 쪽지가 도착했을경우 알림을 받는다.
  3. 본인의 글이 추천을 받은경우 알림을 받는다.
  4. 본인의 글이 비추천을 받은경우 알림을 받는다.

이정도 입니다.


자 그럼 해당하는 훅을 찾아봐야 합니다.

/bbs/write_comment_update.php
run_event('comment_update_after', $board, $wr_id, $w, $qstr, $redirect_url);

/bbs/memo.php
run_event('memo_list', $kind, $unkind, $page);

 

와우.... -_-;;;
추천 / 비추천 기능을 만들려고 보니 해당 HOOK은 존재하지 않습니다.
꼼꼼하게 훅이 달려 있다고 생각했지만 막상 개발해보려고 하면 이러합니다.

자 그럼 추천/비추천은 어떻게 개발할 것인가?
이럴대 써먹으라고 있는HOOK이 있을겁니다.

 

/common.php
run_event('common_header');

이녀석이죠 common에 위치하기 때문에 어떤 페이지에서도 호출이되고 
어떤 기능으로든지 사용이 가능할거 처럼 생겨 먹었습니다. 

 

HOOK은 이정도가 있으면 될듯하고 다음은 개발시에 필요한 extend에 관해 좀 짚어보겠습니다.
이는 이전 GNU에서도 마찮가지지만 플러그인을 개발할때 필수적인 폴더 입니다.
해당 폴더는 /extend 이며, 이녀석의 사용처는 해당 소스를 보면

 

// common.php 파일을 수정할 필요가 없도록 확장합니다.
$extend_file = array();
$tmp = dir(G5_EXTEND_PATH);
while ($entry = $tmp->read()) {
    // php 파일만 include 함
    if (preg_match("/(\.php)$/i", $entry))
        $extend_file[] = $entry;
}

if(!empty($extend_file) && is_array($extend_file)) {
    natsort($extend_file);

    foreach($extend_file as $file) {
        include_once(G5_EXTEND_PATH.'/'.$file);
    }
    unset($file);
}
unset($extend_file);

 

이라고 /common.php 파일에 명시되어 있습니다.
주석에서 알 수 있듯이 common.php를 수정할 필요가 없이 확장을 하는 기능입니다.
네 기존의 버전에서도 HOOK비슷한걸 만들수 있는 녀석입니다.

해당폴더에 있는 .php확장자를 가진녀석을 불러오는거죠

 

자 그럼 저는 이 폴더에서 사용자파일 user.config.php 가 존재하지만
이녀석을 사용하진 않을거고 pr.extend.php 파일을 생성해서 사용하겠습니다.

[pr - Project Rido] 의 약자로 사용합니다. (뭐 그리 거찬하진 않습니다.)
(다른분들의 플러그인과 충돌을 피하기 위함이죠)


자 그럼 준비는 여기까지 하고 
다음부턴 실 개발을 해보도록 하겠습니다.

추천
2

댓글 14개

외우지는 못하지만 어떤 의미인지는 한 번에 알겠습니다.
제대로 된 강좌네요. ~~
뭐라 하시기 없기네요!
아직 2편 못 외웠으나 그냥 막 읽기로 작정했어요!
읽기만 해도 언젠가는 알게 되니까요!!!

감사합니다!
작성해 주신 글, 이제 4번 읽었습니다.
6번 더 채우면 'function get_hook_datas'
이 친구 누군지 알 수 있습니다. (1% 자신 없음. ㅋ)

add_event 사용법이 4번 읽으니 보이기 시작하네요? ^^
일단 모를 때는 외우고 보는 거죠! ㅎ

//

외우려고 안 합니다. 계속 읽기만 하죠.
그러다 외워지면 할 수 없이 외웁니다.
기대랄것도 없이 엄청 단순한 프로그램일겁니다 -_-;;;
제가 만들려고 하는 플러그인의 기초작업겸 만들거라
알림 기능은 그누 5.4에 기본적으로 들어갔으면 좋겠습니다.
요즘 대부분의 커뮤니티에 기본인것 같습니다.맨션이랑.. 푸쉬나 알림말이죠~~.
리도님 감사합니다.
후크에 관해 여전히 1도 모르지만... (이전에 알던 후크는 피터팬에 나오던...)
어케 하라는건지는 아주 쪼금 알겠습니다.
그런데.. 혹시.. part.2 는 어디 있는지 알려주시면... 안될까요?
전체 28 |RSS
그누5.4포럼 내용 검색

회원로그인

진행중 포인트경매

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