PRD-개발이야기

GNUBoard [GNU 5.4] Hook에 관해 알아보자 2

본문

[GNU 5.4] Hook에 관해 알아보자 2

 

네.. 두번째 게시물입니다.

왜 한개의 게시물로 안만드냐구요? -_- 제맘입니다.

 

자 이번엔 GNU 5.4d에서 훅을 어떻게 사용하고 있나를 보겟습니다.

editplus에서 훅관련 펑션을 검색합니다.

디렉토리 찾기에서 run_event를 검색해 줍니다.

좌락락 검색이 될겁니다.

 

/common.php

run_event('common_header');

뭐 예상대로 페이지 이전에서 하나 호출을 해줍니다.

맘대로 고쳐서 사용해 보라는 것일 테지요 .....

** 앞으로 제가 만들 gnu child(가칭) 에서 사용할 녀석입니다.

 

/tail.sub.php

run_event('tail_sub');

페이지 마지막에 뭘 추가해줄 수 있는 녀석입니다.

 

/adm/board_form_update.php

run_event('admin_board_form_update', $bo_table, $w);

생각지도 못한데 하나가 들어가 있네요 관리자에서 게시판관련 설정수정시에

활용할 수 있겠네요

 

/adm/config_form_update.php

run_event('admin_config_form_update');

마찮가지 관리자의 설정을 변경할때 활용가능 해 보입니다.

 

/adm/member_form_update.php

run_event('admin_member_form_update', $w, $mb_id);

관리자에서 멤버설정 관련 업데이트시에 활용하겠죠? 같은말 계속하려니 힘드네요

 

/adm/member_list_form_update.php

run_event('admin_member_list_update', $_POST['act_button'], $mb_datas);

앞으로 제목에서 알 수 있을만한건 그냥 리스트만 .... 쓰겠습니다 ㅠㅠ

 

/bbs/delete.php

run_event('bbs_delete', $write, $board);

 

/bbs/delete_all.php

run_event('bbs_delete_all', $tmp_array, $board);

 

/bbs/delete_comment.php

run_event('bbs_delete_comment', $comment_id, $board);

 

/bbs/login.php

run_event('member_login_tail', $login_url, $login_action_url, $member_skin_path, $url);

 

/bbs/login_check.php

run_event('password_is_wrong', 'login', $mb);

run_event('member_login_check', $mb, $link);

이녀석에서 로그인 체크시 회원 권한이라던가 추가로 세션을 구워서 활용한다던가 

쿠키를 구워서 활용하는 Hook을 만들어줄 수 있을거 같습니다.

 

/bbs/logout.php

run_event('member_logout', $link);

마찮가지로 로그아웃시 쿠키를 지워준다거나 .... 

 

/bbs/memo.php

run_event('memo_list', $kind, $unkind, $page);

 

/bbs/memo_delete.php

run_event('memo_delete', $me_id, $row);

 

/bbs/memo_form_update.php

run_event('memo_form_update_before', $recv_list);

run_event('memo_form_update_after', $member_list, $str_nick_list, $redirect_url);

run_event('memo_form_update_failed', $member_list, $redirect_url);

요런 훅을 활용하면 실제로 제가 만든 알림기능 같은걸 훅으로 대체해서 개발이 가능해질거 같습니다.

 

/bbs/move.php

run_event('move_html_footer');

 

/bbs/move_update.php
run_event('bbs_move_update', $bo_table, $chk_bo_table, $wr_id_list, $opener_href);

 

/bbs/new_delete.php
run_event('bbs_new_delete', $chk_bn_id, $save_bo_table);

 

/bbs/password_check.php
run_event('password_is_wrong', 'bbs', $wr, $qstr);

 

/bbs/password_update.php
run_event('qawrite_update', $qa_id, $write, $w, $qaconfig);

 

/bbs/register_form_update.php
run_event('register_form_update_before', $mb_id, $w);

run_event('register_form_update_valid', $w, $mb_id, $mb_nick, $mb_email);

run_event('register_form_update_send_mb_mail', $config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content);

run_event('register_form_update_send_admin_mail', $mb_nick, $mb_email, $config['cf_admin_email'], $subject, $content);

run_event('register_form_update_send_certify_mail', $config['cf_admin_email_name'], $config['cf_admin_email'], $mb_email, $subject, $content);

run_event('register_form_update_after', $mb_id, $w);

회원가입쪽에 많은양의 Hook이 존재하네요

 

/bbs/write.php
run_event('bbs_write', $board, $wr_id, $w);

 

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

요것도 알림기능을 Hook으로 제작가능하겠네요

 

/bbs/write_update.php
run_event('write_update_before', $board, $wr_id, $w, $qstr);

run_event('write_update_file_insert', $bo_table, $wr_id, $upload[$i], $w);

run_event('write_update_after', $board, $wr_id, $w, $qstr, $redirect_url);

 

/lib/cache.lib.php
run_event('adm_cache_delete', $board_tables);

cahe삭제시에도 넣어줬네요 냑 개발자분들의 꼼꼼함이 보입니다.

 

/lib/cache.lib.php
run_event('adm_cache_delete', $board_tables);

 

/lib/common.lib.php
run_event('alert', $msg, $url, $error, $post);

// 경고메세지를 경고창으로

alert함수안에서 구동되네요 이건 좀 대박이네요 역시나 다국어 같은것들 제작시에

경고문구들을 수정시에 코어를 건들여야 했지만 Hook으로 해결가능 해 보입니다.

run_event('alert_close', $msg, $error);

 

/theme/basic/index.php
run_event('pr_hooks');

 

/theme/basic/tail.sub.php
run_event('tail_sub'); 

 

 

자 여기가지가 현재 5.4에서 확인가능한 Hook들 입니다.

정리하면서 보니 생각보다 더 꼼꼼하게 처리해 주셨네요 감사합니다.

 

그럼 다음엔 간단한 사용방법에 대해서 알아보겟습니다.

 

댓글목록

등록된 댓글이 없습니다.

전체 10건 1 페이지
게시물 검색
Copyright © 소유하신 도메인. All rights reserved.
test page