테스트 사이트 - 개발 중인 베타 버전입니다

타인 글 수정,복사 후 저장하려면 채택완료

모몽 12개월 전 조회 4,397

가 게시판

나 게시판
회원 A
회원 B

가 게시판에서 A가 작성한 글을
B가 보다가 글보기에 추가되어 있는 응용 버튼을 클릭하면
B가 로그인 된 상태에서 A의 글을 수정모드로 접근해서
B가 내용을 수정하고 마련된 응용 저장 버튼을 클릭하면
나 게시판에 저장되고
그 글은 나 게시판에서 A는 수정을 못하고 B만 수정을 할 수 있도록 하려면

 

복잡할까요.?

클로드 ai 한테 물어보면서 하는데 잘 안되네요.

나리야 빌더에서 구현하려고 하는데
작업 방향과 팁 좀 부탁드립니다. 






 

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

답변 3개

채택된 답변
+20 포인트
12개월 전

클로드에서 프로젝트를 만들고,
'Custom Instructions' (맞춤형 지침)에..
"그누보드5 전문가적 관점에서 답변" 식으로 설정해 두면, 도움이 됩니다.

 </p>

<p><?php

// 가 게시판의 view.skin.php 에서

// 게시물 버튼 영역에 응용하기 버튼 추가

if ($is_member && $write['mb_id'] != $member['mb_id']) { ?>

  <button type="button" onclick="copyToBoard('<?php echo $write['wr_id']; ?>')">응용하기</button>

<?php } ?></p>

<p><script>

function copyToBoard(wr_id) {

  if(!confirm('이 글을 응용하여 나 게시판에 작성하시겠습니까?')) return;

  

  $.ajax({

    url: './board.copy.php',

    type: 'POST',

    data: {

      bo_table_from: '<?php echo $bo_table ?>',

      bo_table_to: 'board_b', // 나 게시판 테이블명

      wr_id: wr_id,

      ori_mb_id: '<?php echo $write["mb_id"] ?>'

    },

    success: function(data) {

      if(data.indexOf('|') !== -1) {

        var parts = data.split('|');

        if(parts[0] === 'OK') {

          location.href = g5_bbs_url + "/write.php?bo_table=board_b&w=u&wr_id=" + parts[1];

        }

      } else {

        alert('처리 중 오류가 발생했습니다.');

      }

    }

  });

}

</script></p>

<p><?php

// board.copy.php 파일 생성

include_once('./_common.php');

if (!$is_member) die('member required');</p>

<p>$bo_table_from = $_POST['bo_table_from'];

$bo_table_to = $_POST['bo_table_to'];

$wr_id = $_POST['wr_id'];</p>

<p>// 원본 글 가져오기

$write = sql_fetch(" select * from {$write_table} where wr_id = '{$wr_id}' ");</p>

<p>// 새 글 등록 (나 게시판에)

$sql = " insert into {$g5['write_prefix']}{$bo_table_to}

            set wr_num = '{$wr_num}',

                wr_reply = '',

                wr_subject = '".addslashes($write['wr_subject'])."',

                wr_content = '".addslashes($write['wr_content'])."',

                mb_id = '{$member['mb_id']}',

                wr_password = '',

                wr_datetime = '".G5_TIME_YMDHIS."',

                wr_last = '".G5_TIME_YMDHIS."',

                wr_parent = '',

                wr_1 = '{$write['mb_id']}',  // 원작자 ID

                wr_2 = '{$bo_table_from}',   // 원본 게시판

                wr_3 = '{$wr_id}'            // 원본 글번호

                ";

sql_query($sql);

$new_wr_id = sql_insert_id();</p>

<p>echo "OK|{$new_wr_id}";</p>

<p><?php

// 나 게시판의 write.skin.php 상단에 추가

if($w == 'u' && $write['wr_1']) {  // 응용글인 경우

  if($write['wr_1'] == $member['mb_id']) {

    alert('원작자는 응용글을 수정할 수 없습니다.');

  }

  if($write['mb_id'] != $member['mb_id']) {

    alert('응용글 작성자만 수정할 수 있습니다.');

  }

  

  // 원본글 정보 표시 (선택사항)

  $origin_href = get_pretty_url($write['wr_2'], $write['wr_3']);

  echo '<div class="origin-info">* 원본글: <a href="'.$origin_href.'" target="_blank">보기</a></div>';

}

?></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

모몽
12개월 전
고맙습니다~ 시도해보겠습니다

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

12개월 전

1. B가 보다가 글보기에 추가되어 있는 응용 버튼을 클릭하면 ==>버튼 링크를 다음처럼 만드세요

<a href="write.php?bo_table=나게시판&wr_id_a=<?pho echo $wr_id;?>">내글로등록</a>

 

2. write.skin.php상단에 넣으세요

$write_table_a = $g5['write_prefix'].'가게시판';

if(!empty($wr_id_a)){

   $row=sql_fetch("select * from $write_table_a where wr_id=$wr_id_a ");

   $subject = $row['wr_subject'];

   $is_dhtml_editor = $board['bo_use_dhtml_editor']? true : false;

    $content = get_text($row['wr_content'], 0);

   $editor_html = editor_html('wr_content', $content, $is_dhtml_editor);

}

 

이렇게하면 가게시판 내용을 수정해서 등록할 수 있게 됩니다

B가 나게시판에 등록했으니 A는 당연히 이 글을 수정할 수 없습니다

 

 

   

로그인 후 평가할 수 있습니다

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

s
sinbi Expert
12개월 전

수정을 어느 정도 하실진 모르겠는데, SEO에 안 좋을 것 같아요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

모몽
12개월 전
네 필요한 사람만 이용하는 쪽으로 운영을 하려고요.

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

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

로그인