hook 기능을 이용한 글 이동시 안내 쪽지 발송
관리자가 특정 글을 다른 게시판으로 이동 시
해당 글을 등록한 회원에게 안내 쪽지를 발송하는 팁을 올린 적이 있었습니다.
https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=339
위 팁은 bbs/move_update.php 파일을 수정하는 방식이었는데 원본 파일 수정 없이
hook 기능을 이용해서 적용해 보겠습니다.
그누보드 5.4 버전 이상에서만 작동합니다.
extend/user.config.php 파일에 아래 내용 전체 추가
add_event('bbs_move_copy', 'move_memo_insert', 10, 3);
function move_memo_insert($row2, $move_bo_table, $insert_id, $next_wr_num, $sw)
{
global $g5, $config, $board, $sw;
$sql = "select * from {$g5['board_table']} where bo_table = '".sql_real_escape_string($move_bo_table)."' ";
$move_board = sql_fetch($sql);
// 코멘트가 아니라면
if (!$row2['wr_is_comment'] && $sw == 'move')
{
$tmp_row = sql_fetch(" select max(me_id) as max_me_id from {$g5['memo_table']} ");
$me_id = $tmp_row['max_me_id'] + 1;
$memo_content = '['.$row2['wr_subject'].']\n이 게시물은 관리자님에 의해 '.G5_TIME_YMDHIS.' '.$board['bo_subject'].'에서 '.$move_board['bo_subject'].' 게시판으로 이동됨';
$sql = " insert into {$g5['memo_table']} set me_id='$me_id', me_recv_mb_id = '{$row2['mb_id']}', me_send_mb_id = '{$config['cf_admin']}', me_send_datetime='".G5_TIME_YMDHIS."', me_memo='{$memo_content}' ";
sql_query($sql);
$sql = " update {$g5['member_table']} set mb_memo_call = '{$config['cf_admin']}', mb_memo_cnt = '".get_memo_not_read($row2['mb_id'])."' where mb_id = '{$row2['mb_id']}' ";
sql_query($sql);
}
}
## 참고 사항 ##
쪽지 내용 하단에 이동된 글 링크 주소를 추가하고 싶은 경우
$memo_content = '['.$row2['wr_subject'].']\n이 게시물은 관리자님에 의해 '.G5_TIME_YMDHIS.' '.$board['bo_subject'].'에서 '.$move_board['bo_subject'].' 게시판으로 이동됨';
위 내용을 이렇게 수정하세요.
$move_link = G5_BBS_URL.'/board.php?bo_table='.$move_bo_table.'&wr_id='.$insert_id;
$memo_content = '['.$row2['wr_subject'].']\n이 게시물은 관리자님에 의해 '.G5_TIME_YMDHIS.' '.$board['bo_subject'].'에서 '.$move_board['bo_subject'].' 게시판으로 이동됨\n\n'.$move_link;