채택완료

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

2016-07-16 (토) 22:45:41 2,795

간단하지 않는 내용인데 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개 / 댓글 2개

채택된 답변
+20 포인트

/bbs/move_update.php

Copy
<?phpinclude_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.'&amp;page='.$page.'&amp;'.$qstr;$opener_href1 = str_replace('&amp;', '&', $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
 

답변에 대한 댓글 2개

2016-07-18 (월) 20:00:26
마저 마무리까지 해주시니 뭐라고 감사드려야 할지 모르겠습니다.
너무 잘됩니다.
코드상 어떤 차이가 있는지를 볼줄 몰라 이해못하는 제가 한스럽니다.
진심으로 감사드립니다. 꾸벅
작성하셨던 코드를 다시 보니, 괄호 ( } ) 하나가 잘못 닫혀 있더라구요 ㅎㅎ 하는 김에 소스도 간단하게 정리 해서 올렸습니다.
멋진 사이트 만드세요~!

답변을 작성하려면 로그인이 필요합니다.