비회원이 작성한 댓글도 수정 가능하게 처리
그누보드는 원래 비회원 댓글 수정은 지원하지 않습니다.
비회원도 본인이 작성한 댓글을 수정할 수 있게 처리하는 방법입니다.
기본 테스트만 했으며 비밀 댓글은 고려하지 않았습니다.
수정 파일 : view_comment.skin.php
1. 댓글 수정 버튼 출력
for ($i=0; $i<$cmt_amt; $i++) {
여기 안 쪽에 아래 내용 추가
if ($is_guest && !$list[$i]['mb_id']) {
$list[$i]['is_edit'] = true;
}
2. 수정시 작성자 이름 가져오기
<input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>" id="secret_comment_<?php echo $comment_id ?>">
여기 바로 밑에 추가
<?php if ($is_guest) { ?><input type="hidden" value="<?php echo $list[$i]['wr_name'] ?>" id="save_comment_name_<?php echo $comment_id ?>"><?php } ?>
3. 스크립트 수정
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
여기 바로 밑에 추가
<?php if ($is_guest) { ?>document.getElementById('wr_name').value = document.getElementById('save_comment_name_' + comment_id).value;<?php } ?>
4. 신규 파일 생성
스킨 폴더 안에 write_comment_update.head.skin.php 파일 생성
내용은 이렇게 입력
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($w == "cu" && $is_guest) {
$wr_password = trim($_POST['wr_password']);
$write = sql_fetch(" select * from $write_table where wr_id = '$comment_id' ");
if (!check_password($wr_password, $write['wr_password'])) {
alert("비밀번호가 틀립니다.");
}
}
?>