글작성시 특정게시판으로 내용이 자동 복사되게... 정보
글작성시 특정게시판으로 내용이 자동 복사되게...관련링크
본문
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/9800/e7b422c72352a7a05d42c182cbd8204b
헐랭이 님의 테이타 복사하는 내용을 write_update.skin.php 에 그대로 넣었구요..
내용은 bo_table=01_18 에 글작성시 bo_table=01_16 에 자동으로 복사되어 지게 하려합니다.
링크되어 있는 헐랭이님의 소스 중단쯤...
$cwrite_tables ="sub4_1"//복사할 게시판
이부분만 아래처럼 바꾸고 테스트 해보는데요....
$cwrite_tables ="01_16"//복사할 게시판
write_update.skin.php 에서 페이지가 멈춥니다.
혹시 다른 부분도 바꿔야 하나요?
참고하시라고 원문 함께 올립니다.
==============[원문]=====================
// 게시판의 다음글 번호를 얻는다.
function get_next_nums2($tables2)
{
// 가장 작은 번호를 얻어
$sqls2 = " select min(wr_num) as min_wr_num from $tables2 ";
$rows2 = sql_fetch($sqls2);
// 가장 작은 번호에 1을 빼서 넘겨줌
return (int)($rows2[min_wr_num] - 1);
}
if ($member[mb_id])
{
$mb_id = $member[mb_id];
$wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
$wr_password = $member[mb_password];
$wr_email = $member[mb_email];
$wr_homepage = $member[mb_homepage];
}
else
{
$mb_id = "";
// 비회원의 경우 이름이 누락되는 경우가 있음
if (!trim($wr_name))
alert("이름은 필히 입력하셔야 합니다.");
$wr_password = sql_password($wr_password);
}
$cwrite_tables ="sub4_1"//복사할 게시판
$write_tables2 = $g4[write_prefix] . $cwrite_tables;// 게시판 테이블 전체이름
$g4['board_tables2'] = $g4['table_prefix'] . "board"; // 게시판 설정 테이블
$g4['board_new_tables2'] = $g4['table_prefix'] . "board_new"; // 게시판 새글 테이블
$g4['board_file_tables2'] = $g4['table_prefix'] . "board_file"; // 게시판 첨부파일 테이블
$wr_nums2 = get_next_nums($write_tables2); //마지막 번호
$sql = " insert into $write_tables2
set wr_num = '$wr_nums2',
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_trackback = '$wr_trackback',
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 = '$g4[time_ymdhis]',
wr_last = '$g4[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);
$wr_ids2 = mysql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_tables2 set wr_parent = '$wr_ids2' where wr_id = '$wr_ids2' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$cwrite_tables, '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
sql_query(" insert into $g4[board_new_tables2] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$cwrite_tables', '$wr_ids2', '$wr_ids2', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
sql_query("update $g4[board_tables2] set bo_count_write = bo_count_write + 1 where bo_table = '$cwrite_tables' ");
$sql3 = " select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no ";
$result4 = sql_query($sql3);
$src_dirs = "$g4[path]/data/file/$bo_table"; // 원본 디렉토리
$dst_dirs = "$g4[path]/data/file/$cwrite_tables"; // 복사본 디렉토리
for ($ks=0; $rows3 = sql_fetch_array($result4); $ks++)
{
if ($rows3[bf_file])
{
// 원본파일을 복사하고 퍼미션을 변경
@copy("$src_dirs/$rows3[bf_file]", "$dst_dirs/$rows3[bf_file]");
@chmod("$dst_dirs/$rows3[bf_file]", 0606);
}
$sqls = " insert into $g4[board_file_tables2]
set bo_table = '$cwrite_tables',
wr_id = '$wr_ids2',
bf_no = '$rows3[bf_no]',
bf_source = '$rows3[bf_source]',
bf_file = '$rows3[bf_file]',
bf_download = '$rows3[bf_download]',
bf_content = '".addslashes($rows3[bf_content])."',
bf_filesize = '$rows3[bf_filesize]',
bf_width = '$rows3[bf_width]',
bf_height = '$rows3[bf_height]',
bf_type = '$rows3[bf_type]',
bf_datetime = '$rows3[bf_datetime]' ";
sql_query($sqls);
}
=======================================================
도움 부탁드립니다. (__)
헐랭이 님의 테이타 복사하는 내용을 write_update.skin.php 에 그대로 넣었구요..
내용은 bo_table=01_18 에 글작성시 bo_table=01_16 에 자동으로 복사되어 지게 하려합니다.
링크되어 있는 헐랭이님의 소스 중단쯤...
$cwrite_tables ="sub4_1"//복사할 게시판
이부분만 아래처럼 바꾸고 테스트 해보는데요....
$cwrite_tables ="01_16"//복사할 게시판
write_update.skin.php 에서 페이지가 멈춥니다.
혹시 다른 부분도 바꿔야 하나요?
참고하시라고 원문 함께 올립니다.
==============[원문]=====================
// 게시판의 다음글 번호를 얻는다.
function get_next_nums2($tables2)
{
// 가장 작은 번호를 얻어
$sqls2 = " select min(wr_num) as min_wr_num from $tables2 ";
$rows2 = sql_fetch($sqls2);
// 가장 작은 번호에 1을 빼서 넘겨줌
return (int)($rows2[min_wr_num] - 1);
}
if ($member[mb_id])
{
$mb_id = $member[mb_id];
$wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
$wr_password = $member[mb_password];
$wr_email = $member[mb_email];
$wr_homepage = $member[mb_homepage];
}
else
{
$mb_id = "";
// 비회원의 경우 이름이 누락되는 경우가 있음
if (!trim($wr_name))
alert("이름은 필히 입력하셔야 합니다.");
$wr_password = sql_password($wr_password);
}
$cwrite_tables ="sub4_1"//복사할 게시판
$write_tables2 = $g4[write_prefix] . $cwrite_tables;// 게시판 테이블 전체이름
$g4['board_tables2'] = $g4['table_prefix'] . "board"; // 게시판 설정 테이블
$g4['board_new_tables2'] = $g4['table_prefix'] . "board_new"; // 게시판 새글 테이블
$g4['board_file_tables2'] = $g4['table_prefix'] . "board_file"; // 게시판 첨부파일 테이블
$wr_nums2 = get_next_nums($write_tables2); //마지막 번호
$sql = " insert into $write_tables2
set wr_num = '$wr_nums2',
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_trackback = '$wr_trackback',
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 = '$g4[time_ymdhis]',
wr_last = '$g4[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);
$wr_ids2 = mysql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_tables2 set wr_parent = '$wr_ids2' where wr_id = '$wr_ids2' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$cwrite_tables, '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
sql_query(" insert into $g4[board_new_tables2] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$cwrite_tables', '$wr_ids2', '$wr_ids2', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
sql_query("update $g4[board_tables2] set bo_count_write = bo_count_write + 1 where bo_table = '$cwrite_tables' ");
$sql3 = " select * from $g4[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no ";
$result4 = sql_query($sql3);
$src_dirs = "$g4[path]/data/file/$bo_table"; // 원본 디렉토리
$dst_dirs = "$g4[path]/data/file/$cwrite_tables"; // 복사본 디렉토리
for ($ks=0; $rows3 = sql_fetch_array($result4); $ks++)
{
if ($rows3[bf_file])
{
// 원본파일을 복사하고 퍼미션을 변경
@copy("$src_dirs/$rows3[bf_file]", "$dst_dirs/$rows3[bf_file]");
@chmod("$dst_dirs/$rows3[bf_file]", 0606);
}
$sqls = " insert into $g4[board_file_tables2]
set bo_table = '$cwrite_tables',
wr_id = '$wr_ids2',
bf_no = '$rows3[bf_no]',
bf_source = '$rows3[bf_source]',
bf_file = '$rows3[bf_file]',
bf_download = '$rows3[bf_download]',
bf_content = '".addslashes($rows3[bf_content])."',
bf_filesize = '$rows3[bf_filesize]',
bf_width = '$rows3[bf_width]',
bf_height = '$rows3[bf_height]',
bf_type = '$rows3[bf_type]',
bf_datetime = '$rows3[bf_datetime]' ";
sql_query($sqls);
}
=======================================================
도움 부탁드립니다. (__)
댓글 전체
이게 될지는 테스트하지 않았습니다.
복사하고자하는 게시판(bo_table=01_18)에 사용하는스킨 폴더에 아래와 같이 write_update.skin.php을 작성해서 넣어보세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$target_table= "01_16"; //복사할 타게시판
if($w=="") {
mysql_query( " insert into $target_table
set wr_num = '$wr_num',
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_trackback = '$wr_trackback',
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 = '$g4[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' ");
}
?>
복사하고자하는 게시판(bo_table=01_18)에 사용하는스킨 폴더에 아래와 같이 write_update.skin.php을 작성해서 넣어보세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$target_table= "01_16"; //복사할 타게시판
if($w=="") {
mysql_query( " insert into $target_table
set wr_num = '$wr_num',
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_trackback = '$wr_trackback',
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 = '$g4[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' ");
}
?>
답변 감사합니다..
저기 혹시요...헐랭님의 소스 적용하는 부분이...
bo_table=01_18 에 글작성시 bo_table=01_16 에 자동으로 복사되게 할경우..
01_18 계시판이 아닌...복사가 되는..01_16 게시판의 write_update.skin.php 에 작성하는 건가요?
저기 혹시요...헐랭님의 소스 적용하는 부분이...
bo_table=01_18 에 글작성시 bo_table=01_16 에 자동으로 복사되게 할경우..
01_18 계시판이 아닌...복사가 되는..01_16 게시판의 write_update.skin.php 에 작성하는 건가요?
01_18에 넣어야겠죠.
ㅠㅠ
저는 왜 안되죠?
헐랭이님의 소스...션션션님의 답변...
모두 01_18 게시판의 write_update.skin.php 에 넣어서 해보았는데..
01_16 게시판에는 여전히 게시글없음 이네요...ㅠㅠ
저는 왜 안되죠?
헐랭이님의 소스...션션션님의 답변...
모두 01_18 게시판의 write_update.skin.php 에 넣어서 해보았는데..
01_16 게시판에는 여전히 게시글없음 이네요...ㅠㅠ