복사 로그 ->댓글로 (98% 됐는데 2% 부족합니다)
본문
간단하지 않는 내용인데 HyeonPark 님의 도움으로 98% 완성되었습니다.
진심 갑사드립니다.
즉 A게시판의 글을 B게시판에 복사할때
A 게시판 -----------------> B게시판
(이때 내용에 누구님에 의해 복사되었습니다고 로그남는데..)
이 로그 대신 피복사글에 복사자의 댓글이 달리고 "복사자님에 의해 00:00에 복사되었습니다"
라고 하려는 것입니다.
그런데 원본글에도 복사자의 댓글이 달리네여..이거는 안달리게 할 수 없을까요?
========
여기에 넣었습니다.
========
wr_10 = '".addslashes($row2['wr_10'])."' ";
sql_query($sql);
$insert_id = sql_insert_id();
======================================================
//피복사글에 자동 코멘트 달기1
$sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment, wr_comment desc, wr_id ";
$result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2))
{
$nick = cut_str($member['mb_nick'], $config['cf_cut_name']);
if (!$row2['wr_is_comment'] && $config['cf_use_copy_log']) {
$wr_content = '[이 게시물은 '.$nick.'님에 의해 '.G5_TIME_YMDHIS.' '.($sw == 'copy' ? '복사' : '이동').' 됨]';
$sub_sql = " select max(wr_comment) as max_comment from $write_table
where wr_parent = '{$row2['wr_id']}' and wr_is_comment = 1 ";
$sub_row = sql_fetch($sub_sql);
$sub_row['max_comment'] += 1;
$tmp_comment = $sub_row['max_comment'];
$tmp_comment_reply = '';
$wr_subject = get_text(stripslashes($row2['wr_subject']));
$sql = " insert into $write_table
set ca_name = '{$row2['ca_name']}',
wr_option = '$wr_secret',
wr_num = '{$row2['wr_num']}',
wr_reply = '',
wr_parent = '{$row2['wr_id']}',
wr_is_comment = 1,
wr_comment = '$tmp_comment',
wr_comment_reply = '$tmp_comment_reply',
wr_subject = '',
wr_content = '$wr_content',
mb_id = '{$member['mb_id']}',
wr_password = '{$row2['wr_password']}',
wr_name = '$nick',
wr_email = '{$row2['wr_email']}',
wr_homepage = '{$row2['wr_homepage']}',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '',
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);
$comment_id = mysql_insert_id();
// 원글에 댓글수 증가 & 마지막 시간 반영
sql_query(" update $write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '{$row2['wr_id']}' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$comment_id', '{$row2['wr_id']}', '".G5_TIME_YMDHIS."', '{$row2['mb_id']}' ) ");
// 댓글 1 증가
sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$bo_table' ");
}
//피복사글에 자동 코멘트 달기2
$sub_sql = " select max(wr_comment) as max_comment from $move_write_table where wr_parent = '{$insert_id}' and wr_is_comment = 1 ";
$sub_row = sql_fetch($sub_sql);
$sub_row['max_comment'] += 1;
$tmp_comment = $sub_row['max_comment'];
$tmp_comment_reply = '';
$wr_subject = get_text(stripslashes($row2['wr_subject']));
$sql = " insert into $move_write_table
set ca_name = '{$row2['ca_name']}',
wr_option = '$wr_secret',
wr_num = '{$next_wr_num}',
wr_reply = '',
wr_parent = '{$insert_id}',
wr_is_comment = 1,
wr_comment = '$tmp_comment',
wr_comment_reply = '$tmp_comment_reply',
wr_subject = '',
wr_content = '$wr_content',
mb_id = '{$member['mb_id']}',
wr_password = '{$row2['wr_password']}',
wr_name = '$nick',
wr_email = '{$row2['wr_email']}',
wr_homepage = '{$row2['wr_homepage']}',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '',
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);
$comment_id = mysql_insert_id();
// 원글에 댓글수 증가 & 마지막 시간 반영
sql_query(" update $move_write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '{$insert_id}' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$move_bo_table', '$comment_id', '{$insert_id}', '".G5_TIME_YMDHIS."', '{$row2['mb_id']}' ) ");
// 댓글 1 증가
sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$move_bo_table' ");
}
===============================================================
// 코멘트가 아니라면
if (!$row2['wr_is_comment'])
{
답변 1
/bbs/move_update.php
<?php
include_once('./_common.php');
// 게시판 관리자 이상 복사, 이동 가능
if ($is_admin != 'board' && $is_admin != 'group' && $is_admin != 'super')
alert_close('게시판 관리자 이상 접근이 가능합니다.');
if ($sw != 'move' && $sw != 'copy')
alert('sw 값이 제대로 넘어오지 않았습니다.');
if(!count($_POST['chk_bo_table']))
alert('게시물을 '.$act.'할 게시판을 한개 이상 선택해 주십시오.', $url);
// 원본 파일 디렉토리
$src_dir = G5_DATA_PATH.'/file/'.$bo_table;
$save = array();
$save_count_write = 0;
$save_count_comment = 0;
$cnt = 0;
$sql = " select distinct wr_num from $write_table where wr_id in ({$wr_id_list}) order by wr_id ";
$result = sql_query($sql);
while ($row = sql_fetch_array($result))
{
$wr_num = $row['wr_num'];
for ($i=0; $i<count($_POST['chk_bo_table']); $i++)
{
$move_bo_table = $_POST['chk_bo_table'][$i];
$move_write_table = $g5['write_prefix'] . $move_bo_table;
$src_dir = G5_DATA_PATH.'/file/'.$bo_table; // 원본 디렉토리
$dst_dir = G5_DATA_PATH.'/file/'.$move_bo_table; // 복사본 디렉토리
$count_write = 0;
$count_comment = 0;
$next_wr_num = get_next_num($move_write_table);
$sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment, wr_comment desc, wr_id ";
$result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2))
{
$nick = cut_str($member['mb_nick'], $config['cf_cut_name']);
if (!$row2['wr_is_comment'] && $config['cf_use_copy_log']) {
$move_message = '[이 게시물은 '.$nick.'님에 의해 '.G5_TIME_YMDHIS.' '.$board['bo_subject'].'에서 '.($sw == 'copy' ? '복사' : '이동').' 됨]';
}
// 게시글 추천, 비추천수
$wr_good = $wr_nogood = 0;
if ($sw == 'move' && $i == 0) {
$wr_good = $row2['wr_good'];
$wr_nogood = $row2['wr_nogood'];
}
$sql = " insert into $move_write_table
set wr_num = '$next_wr_num',
wr_reply = '{$row2['wr_reply']}',
wr_is_comment = '{$row2['wr_is_comment']}',
wr_comment = '{$row2['wr_comment']}',
wr_comment_reply = '{$row2['wr_comment_reply']}',
ca_name = '".addslashes($row2['ca_name'])."',
wr_option = '{$row2['wr_option']}',
wr_subject = '".addslashes($row2['wr_subject'])."',
wr_content = '".addslashes($row2['wr_content'])."',
wr_link1 = '".addslashes($row2['wr_link1'])."',
wr_link2 = '".addslashes($row2['wr_link2'])."',
wr_link1_hit = '{$row2['wr_link1_hit']}',
wr_link2_hit = '{$row2['wr_link2_hit']}',
wr_hit = '{$row2['wr_hit']}',
wr_good = '{$wr_good}',
wr_nogood = '{$wr_nogood}',
mb_id = '{$row2['mb_id']}',
wr_password = '{$row2['wr_password']}',
wr_name = '".addslashes($row2['wr_name'])."',
wr_email = '".addslashes($row2['wr_email'])."',
wr_homepage = '".addslashes($row2['wr_homepage'])."',
wr_datetime = '{$row2['wr_datetime']}',
wr_file = '{$row2['wr_file']}',
wr_last = '{$row2['wr_last']}',
wr_ip = '{$row2['wr_ip']}',
wr_1 = '".addslashes($row2['wr_1'])."',
wr_2 = '".addslashes($row2['wr_2'])."',
wr_3 = '".addslashes($row2['wr_3'])."',
wr_4 = '".addslashes($row2['wr_4'])."',
wr_5 = '".addslashes($row2['wr_5'])."',
wr_6 = '".addslashes($row2['wr_6'])."',
wr_7 = '".addslashes($row2['wr_7'])."',
wr_8 = '".addslashes($row2['wr_8'])."',
wr_9 = '".addslashes($row2['wr_9'])."',
wr_10 = '".addslashes($row2['wr_10'])."' ";
sql_query($sql);
$insert_id = mysql_insert_id();
$sub_sql = " select max(wr_comment) as max_comment from $move_write_table where wr_parent = '{$insert_id}' and wr_is_comment = 1 ";
$sub_row = sql_fetch($sub_sql);
$sub_row['max_comment'] += 1;
$tmp_comment = $sub_row['max_comment'];
$tmp_comment_reply = '';
$wr_subject = get_text(stripslashes($row2['wr_subject']));
$sql = " insert into $move_write_table
set ca_name = '{$row2['ca_name']}',
wr_option = '$wr_secret',
wr_num = '{$next_wr_num}',
wr_reply = '',
wr_parent = '{$insert_id}',
wr_is_comment = 1,
wr_comment = '$tmp_comment',
wr_comment_reply = '$tmp_comment_reply',
wr_subject = '',
wr_content = '$move_message',
mb_id = '{$member['mb_id']}',
wr_password = '{$row2['wr_password']}',
wr_name = '$nick',
wr_email = '{$row2['wr_email']}',
wr_homepage = '{$row2['wr_homepage']}',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '',
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);
$comment_id = mysql_insert_id();
// 원글에 댓글수 증가 & 마지막 시간 반영
sql_query(" update $move_write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '{$insert_id}' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$move_bo_table}', '{$comment_id}', '{$insert_id}', '".G5_TIME_YMDHIS."', '{$row2['mb_id']}' ) ");
// 댓글 1 증가
sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$move_bo_table' ");
// 코멘트가 아니라면
if (!$row2['wr_is_comment'])
{
$save_parent = $insert_id;
$sql3 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' order by bf_no ";
$result3 = sql_query($sql3);
for ($k=0; $row3 = sql_fetch_array($result3); $k++)
{
if ($row3['bf_file'])
{
// 원본파일을 복사하고 퍼미션을 변경
@copy($src_dir.'/'.$row3['bf_file'], $dst_dir.'/'.$row3['bf_file']);
@chmod($dst_dir/$row3['bf_file'], G5_FILE_PERMISSION);
}
$sql = " insert into {$g5['board_file_table']}
set bo_table = '$move_bo_table',
wr_id = '$insert_id',
bf_no = '{$row3['bf_no']}',
bf_source = '".addslashes($row3['bf_source'])."',
bf_file = '{$row3['bf_file']}',
bf_download = '{$row3['bf_download']}',
bf_content = '".addslashes($row3['bf_content'])."',
bf_filesize = '{$row3['bf_filesize']}',
bf_width = '{$row3['bf_width']}',
bf_height = '{$row3['bf_height']}',
bf_type = '{$row3['bf_type']}',
bf_datetime = '{$row3['bf_datetime']}' ";
sql_query($sql);
if ($sw == 'move' && $row3['bf_file'])
$save[$cnt]['bf_file'][$k] = $src_dir.'/'.$row3['bf_file'];
}
$count_write++;
if ($sw == 'move' && $i == 0)
{
// 스크랩 이동
sql_query(" update {$g5['scrap_table']} set bo_table = '$move_bo_table', wr_id = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
// 최신글 이동
sql_query(" update {$g5['board_new_table']} set bo_table = '$move_bo_table', wr_id = '$save_parent', wr_parent = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
// 추천데이터 이동
sql_query(" update {$g5['board_good_table']} set bo_table = '$move_bo_table', wr_id = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
}
}
else
{
$count_comment++;
if ($sw == 'move')
{
// 최신글 이동
sql_query(" update {$g5['board_new_table']} set bo_table = '$move_bo_table', wr_id = '$insert_id', wr_parent = '$save_parent' where bo_table = '$bo_table' and wr_id = '{$row2['wr_id']}' ");
}
}
sql_query(" update $move_write_table set wr_parent = '$save_parent' where wr_id = '$insert_id' ");
if ($sw == 'move')
$save[$cnt]['wr_id'] = $row2['wr_parent'];
$cnt++;
}
sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write + '$count_write' where bo_table = '$move_bo_table' ");
sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + '$count_comment' where bo_table = '$move_bo_table' ");
delete_cache_latest($move_bo_table);
}
$save_count_write += $count_write;
$save_count_comment += $count_comment;
}
delete_cache_latest($bo_table);
if ($sw == 'move')
{
for ($i=0; $i<count($save); $i++)
{
for ($k=0; $k<count($save[$i]['bf_file']); $k++)
@unlink($save[$i]['bf_file'][$k]);
sql_query(" delete from $write_table where wr_parent = '{$save[$i]['wr_id']}' ");
sql_query(" delete from {$g5['board_new_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$save[$i]['wr_id']}' ");
}
sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$save_count_write', bo_count_comment = bo_count_comment - '$save_count_comment' where bo_table = '$bo_table' ");
}
$msg = '해당 게시물을 선택한 게시판으로 '.$act.' 하였습니다.';
$opener_href = './board.php?bo_table='.$bo_table.'&page='.$page.'&'.$qstr;
$opener_href1 = str_replace('&', '&', $opener_href);
echo <<<HEREDOC
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script>
alert("$msg");
opener.document.location.href = "$opener_href1";
window.close();
</script>
<noscript>
<p>
"$msg"
</p>
<a href="$opener_href">돌아가기</a>
</noscript>
HEREDOC;
?>
▼ 적용 후 복사 처리 화면
!-->