새글 등록 시 다른 게시판에 그대로 동시 등록하기 - 게시판스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

게시판스킨강좌

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

새글 등록 시 다른 게시판에 그대로 동시 등록하기

관리자 19-02-11 12:03

게시판에 글을 등록했을 때 입력한 내용 그대로 특정 게시판에 복사하는 방법입니다.


- 첨부된 파일은 지원하지 않습니다. (나중에 보완해놓겠습니다.)

- 원글을 수정하거나 삭제해도 복사 게시판에 등록된 글은 반영되지 않습니다.




사용 방법


스킨 폴더에 write_update.skin.php 파일을 새로 추가하고 내용은 아래에 있는 내용 전체 코드를 그대로 입력

이미 파일이 있다면 if ($w =='') { 여기서부터 입력


적용하기 전 반드시 이 부분 수정하세요. (새글을 쓰는 기존 게시판이 아닌 복사되는 게시판입니다.)
게시판이 존재하는지 체크하는 부분은 넣지 않았으니 꼭 게시판을 미리 생성하고 하세요.

$table_copy = "test"; // 복사 게시판id 


특정 게시판에만 적용하고 싶으면

if ($w =='')

여기를 이렇게 수정 (복사 게시판이 아니라 새글을 쓰는 기존 게시판입니다.)

if ($w =='' && $bo_table =='기존게시판id')


특정 게시판에만 적용하는 건 복사 기능이 추가된 스킨 폴더를 하나 더 만들어서 관리하는 방법도 있습니다.




내용 전체 코드


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

if ($w =='')
{
    $table_copy = "test"; // 복사 게시판id
    $write_table_copy = $g5['write_prefix'] . $table_copy;
    $wr_num_copy = get_next_num($write_table_copy);

    $sql_copy = " insert into $write_table_copy
                set wr_num = '$wr_num_copy',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '{$member['mb_id']}',
                     wr_password = '$wr_password',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '$wr_homepage',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql_copy);

    $wr_id_copy = sql_insert_id();

    // 부모 아이디에 UPDATE
    sql_query(" update $write_table_copy set wr_parent = '$wr_id_copy' where wr_id = '$wr_id_copy' ");

    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$table_copy}', '{$wr_id_copy}', '{$wr_id_copy}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");

    // 게시글 1 증가
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$table_copy}'");

    // 복사게시판 최신글 캐시갱신
    delete_cache_latest($table_copy);
}
?>

로그인 후 댓글 작성 가능합니다.

로그인

로그인 후 글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright gnustudy.com All rights reserved.