복사 로그 ->댓글로 (98% 됐는데 2% 부족합니다)

복사 로그 ->댓글로 (98% 됐는데 2% 부족합니다)

QA

복사 로그 ->댓글로 (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;
?>

 

 

 

▼ 적용 후 복사 처리 화면

 

2837e8f720336211b211231411af4281_1468825926_9839.png
 

마저 마무리까지 해주시니 뭐라고 감사드려야 할지 모르겠습니다.
너무 잘됩니다.
코드상 어떤 차이가 있는지를 볼줄 몰라 이해못하는 제가 한스럽니다.
진심으로 감사드립니다. 꾸벅

답변을 작성하시기 전에 로그인 해주세요.
전체 59,614
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT