코멘트에 비공개 옵션 사용하기 업그레이드 버전 이며
그동안 1차 버전에서 불당님과 izen님의 그리고 잠못주무시면서 까지
도움주신 천상재회님의 피드백을 참고하여 업그레이드가 되었습니다.
더불어 격려해주신 sir 회원분들과 도움주신 천상재회님께 감사드립니다.
---------------------------------------------------------------------
코멘트 수정시 br이 들어가서 이전 코멘트가 아래로 쳐지던 현상을 수정 하였습니다.
최종 수정일 : 2006-12-04 21:30
---------------------------------------------------------------------
코멘트에 비공개 옵션을 사용하기[계층(답글) 코멘트포함]하기 이며
아래의 순서대로 따라서 해주시기 바랍니다.
1,
이기능을 사용하고자 하는 게시판환경설정의 여유필드 9번에
on 이라고 넣어준후 저장 합니다. bo_9
이기능을 사용하기 위해선 게시판의 여유필드 2개를 사용 합니다.
wr_9 ,wr_10 이며 필요시 수정 하세요.
2,
사용하고자하는 게시판스킨/view_comment.skin.php 를 문제발생시
복구를 위하여 원본을 따로 저장을 해둔후 에디터로 열어서 아래의 항목대로
소스를 수정 및, 추가 합니다.
3,
view_comment.skin.php 에서
<!-- 코멘트 출력 -->
<font class="mystyle"><?=$list[$i][content]?></font> <- 이코드를 찾은후 아래의
코드로 교체 합니다.
<!-- 코멘트 출력 -->
<? if ($list[$i]['wr_9']=="on") { $c_checked = "<span style='color:red; cursor: pointer;' class='small' title='비공개 코멘트 입니다.'>(?)</span>";}else{ $c_checked = "";}?>
<?=$c_checked?>
<font class="mystyle">
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
if ($member['mb_id'] == $write['mb_id'] || $list[$i]['mb_id'] == $member['mb_id'] || $list[$i]['wr_10'] == $member['mb_id'] || $is_admin) {
?>
<?=$list[$i][content]?>
<?
}
else
{
?>
이코멘트는 비공개 글 입니다.
<?
}
}
else
{
?>
<?=$list[$i][content]?>
<?
}
}//회원끝 비회원시작(비회원일경우 문제가 생겨서 분리를 하였음 ㅠㅠ)
else
{
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
?>
이코멘트는 비공개 글 입니다.
<?
}
else
{
?>
<?=$list[$i][content]?>
<?
}
}
?>
</font>
-------------------------------------------------
4,
위코드를 적용한후 조금 내려간후 아래의 코드를 찾아서
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea></td>
위의 코드를 아래의 코드로 바꾸어 줍니다.
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
?>
<input style='display:none;' id='save_comment_<?=$comment_id?>_wr_9' value='<?=$list[$i][wr_9]?>'>
<? } } ?>
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
if ($member['mb_id'] == $write['mb_id'] || $list[$i]['mb_id'] == $member['mb_id'] || $list[$i]['wr_10'] == $member['mb_id'] || $is_admin) {
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'> 이코멘트는 비공개 글 입니다. </textarea>
<?
}
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
}//회원끝
else
{
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'> 이코멘트는 비공개 글 입니다. </textarea>
<?
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
}
?>
</td>
------------------------------------------------
5,
위 코드를 추가한후 코멘트 입력창 부분에 있는 아래의 코드를 찾은후
<span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span>
위의 코드 바로 아래에 다음의 코드를 추가 합니다.
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
?>
<input type=checkbox name="wr_9" id="wr_9" value="on"> 비밀글
<? } } ?>
--------------------------------------------------------
6,
위코드를 추가한후 하단의 아래의 스크립트를 찾아서
// 코멘트 수정
if (work == 'cu')
{
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
if (typeof char_count != 'undefined')
check_byte('wr_content', 'char_count');
}
위의 코드를 아래처럼 바꾸어 줍니다.
// 코멘트 수정
if (work == 'cu')
{
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
?>
if(document.getElementById('save_comment_' + comment_id + '_wr_9').value=='on') {
document.getElementById('wr_9').checked = true;
}
<? } } ?>
if (typeof char_count != 'undefined')
check_byte('wr_content', 'char_count');
}
------------------------------------------------------------------
7,
이제 게시판 스킨폴더안에 사용자 옵션용 스킨에 코드를 추가 할 것입니다.
스킨에 따라서 아래의 이름으로 된 파일이 없다면 이름을 똑같이 만들어서
스킨안으로 넣어만 주면 됩니다.
7-1
write_comment_update.head.skin.php 의 내용을 아래처럼 넣어 주세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//비밀 코멘트를 사용하기 위한 변수를 재설정함 by 헐랭이
$comment_ids2 =$comment_id;
?>
7-2
write_comment_update.skin.php 의 내용을 아래처럼 넣어 주세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 이게시판에서 코멘트 비밀옵션 사용 by 헐랭이
if ($member['mb_id']) {
if ($board[bo_9] =="on" && $write['wr_8']=="on")
{
if ($w == "c")
{
if ($comment_ids2)
{
//원코멘트의 값을 가져온후 준비
$sql2 = " select mb_id, wr_9, wr_id from $write_table
where wr_id = '$comment_ids2' ";
$reply_array2 = sql_fetch($sql2);
// 원코멘트가 비밀이라면 답코멘트에서 비밀로 했더라도 이것저것 머리아프니깐
// 답코멘트도 강제로 비밀처리를 하면서 원댓글 작성자에게 열람 권한도 줘버리장ㅋㅋㅋ
if ($reply_array2[wr_9] =="on"){
$sql3 = " update $write_table
set wr_9 = '$reply_array2[wr_9]',
wr_10 = '$reply_array2[mb_id]'
where wr_id = '$comment_id' ";
sql_query($sql3);
// 안내 메세지는 필요 없으면 주석처리 하세요. by 헐랭이
echo "<script language='javascript'>";
echo " alert('===============안내 메세지 입니다.==============\\n\\n원댓글이 비공개 이므로 답변도 비공개로 등록하면서\\n\\n원댓글 작성자에게 열람이 가능하게 권한을 줍니다.\\n\\n이코멘트의 비공개 해제는 수정모드에서 해제 하세요.');";
echo "</script>";
}
}
}
}
}
?>
--------------------------끝---------------
이렇게 하면 계층까지 포함하여 코멘트에서 비밀글을 사용할수가 있게 됩니다.
먼길 오시느라 수고 하셨습니다. 그동안 도움주신 sir 회원여러분 및
천상재회님께 감사 드립니다.^^
그동안 1차 버전에서 불당님과 izen님의 그리고 잠못주무시면서 까지
도움주신 천상재회님의 피드백을 참고하여 업그레이드가 되었습니다.
더불어 격려해주신 sir 회원분들과 도움주신 천상재회님께 감사드립니다.
---------------------------------------------------------------------
코멘트 수정시 br이 들어가서 이전 코멘트가 아래로 쳐지던 현상을 수정 하였습니다.
최종 수정일 : 2006-12-04 21:30
---------------------------------------------------------------------
코멘트에 비공개 옵션을 사용하기[계층(답글) 코멘트포함]하기 이며
아래의 순서대로 따라서 해주시기 바랍니다.
1,
이기능을 사용하고자 하는 게시판환경설정의 여유필드 9번에
on 이라고 넣어준후 저장 합니다. bo_9
이기능을 사용하기 위해선 게시판의 여유필드 2개를 사용 합니다.
wr_9 ,wr_10 이며 필요시 수정 하세요.
2,
사용하고자하는 게시판스킨/view_comment.skin.php 를 문제발생시
복구를 위하여 원본을 따로 저장을 해둔후 에디터로 열어서 아래의 항목대로
소스를 수정 및, 추가 합니다.
3,
view_comment.skin.php 에서
<!-- 코멘트 출력 -->
<font class="mystyle"><?=$list[$i][content]?></font> <- 이코드를 찾은후 아래의
코드로 교체 합니다.
<!-- 코멘트 출력 -->
<? if ($list[$i]['wr_9']=="on") { $c_checked = "<span style='color:red; cursor: pointer;' class='small' title='비공개 코멘트 입니다.'>(?)</span>";}else{ $c_checked = "";}?>
<?=$c_checked?>
<font class="mystyle">
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
if ($member['mb_id'] == $write['mb_id'] || $list[$i]['mb_id'] == $member['mb_id'] || $list[$i]['wr_10'] == $member['mb_id'] || $is_admin) {
?>
<?=$list[$i][content]?>
<?
}
else
{
?>
이코멘트는 비공개 글 입니다.
<?
}
}
else
{
?>
<?=$list[$i][content]?>
<?
}
}//회원끝 비회원시작(비회원일경우 문제가 생겨서 분리를 하였음 ㅠㅠ)
else
{
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
?>
이코멘트는 비공개 글 입니다.
<?
}
else
{
?>
<?=$list[$i][content]?>
<?
}
}
?>
</font>
-------------------------------------------------
4,
위코드를 적용한후 조금 내려간후 아래의 코드를 찾아서
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea></td>
위의 코드를 아래의 코드로 바꾸어 줍니다.
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
?>
<input style='display:none;' id='save_comment_<?=$comment_id?>_wr_9' value='<?=$list[$i][wr_9]?>'>
<? } } ?>
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
if ($member['mb_id'] == $write['mb_id'] || $list[$i]['mb_id'] == $member['mb_id'] || $list[$i]['wr_10'] == $member['mb_id'] || $is_admin) {
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'> 이코멘트는 비공개 글 입니다. </textarea>
<?
}
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
}//회원끝
else
{
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'> 이코멘트는 비공개 글 입니다. </textarea>
<?
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
}
?>
</td>
------------------------------------------------
5,
위 코드를 추가한후 코멘트 입력창 부분에 있는 아래의 코드를 찾은후
<span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span>
위의 코드 바로 아래에 다음의 코드를 추가 합니다.
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
?>
<input type=checkbox name="wr_9" id="wr_9" value="on"> 비밀글
<? } } ?>
--------------------------------------------------------
6,
위코드를 추가한후 하단의 아래의 스크립트를 찾아서
// 코멘트 수정
if (work == 'cu')
{
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
if (typeof char_count != 'undefined')
check_byte('wr_content', 'char_count');
}
위의 코드를 아래처럼 바꾸어 줍니다.
// 코멘트 수정
if (work == 'cu')
{
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
?>
if(document.getElementById('save_comment_' + comment_id + '_wr_9').value=='on') {
document.getElementById('wr_9').checked = true;
}
<? } } ?>
if (typeof char_count != 'undefined')
check_byte('wr_content', 'char_count');
}
------------------------------------------------------------------
7,
이제 게시판 스킨폴더안에 사용자 옵션용 스킨에 코드를 추가 할 것입니다.
스킨에 따라서 아래의 이름으로 된 파일이 없다면 이름을 똑같이 만들어서
스킨안으로 넣어만 주면 됩니다.
7-1
write_comment_update.head.skin.php 의 내용을 아래처럼 넣어 주세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//비밀 코멘트를 사용하기 위한 변수를 재설정함 by 헐랭이
$comment_ids2 =$comment_id;
?>
7-2
write_comment_update.skin.php 의 내용을 아래처럼 넣어 주세요.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 이게시판에서 코멘트 비밀옵션 사용 by 헐랭이
if ($member['mb_id']) {
if ($board[bo_9] =="on" && $write['wr_8']=="on")
{
if ($w == "c")
{
if ($comment_ids2)
{
//원코멘트의 값을 가져온후 준비
$sql2 = " select mb_id, wr_9, wr_id from $write_table
where wr_id = '$comment_ids2' ";
$reply_array2 = sql_fetch($sql2);
// 원코멘트가 비밀이라면 답코멘트에서 비밀로 했더라도 이것저것 머리아프니깐
// 답코멘트도 강제로 비밀처리를 하면서 원댓글 작성자에게 열람 권한도 줘버리장ㅋㅋㅋ
if ($reply_array2[wr_9] =="on"){
$sql3 = " update $write_table
set wr_9 = '$reply_array2[wr_9]',
wr_10 = '$reply_array2[mb_id]'
where wr_id = '$comment_id' ";
sql_query($sql3);
// 안내 메세지는 필요 없으면 주석처리 하세요. by 헐랭이
echo "<script language='javascript'>";
echo " alert('===============안내 메세지 입니다.==============\\n\\n원댓글이 비공개 이므로 답변도 비공개로 등록하면서\\n\\n원댓글 작성자에게 열람이 가능하게 권한을 줍니다.\\n\\n이코멘트의 비공개 해제는 수정모드에서 해제 하세요.');";
echo "</script>";
}
}
}
}
}
?>
--------------------------끝---------------
이렇게 하면 계층까지 포함하여 코멘트에서 비밀글을 사용할수가 있게 됩니다.
먼길 오시느라 수고 하셨습니다. 그동안 도움주신 sir 회원여러분 및
천상재회님께 감사 드립니다.^^
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 17개
이기능을 사용시 가능하면 RSS 차단및 (회원전용)으로 하십시요.
-후기-
모든걸 팽개치고 약3일동안 여기에 매달렸습니다.ㅋ
따라서 라이쎈쓰 를 붙입니다.ㅡ,.ㅡ;
이팁을 사용하시는 분은 사용중,사용후 피드백과 추천을 의무화 시킵니다.
안그러면 차후~부터는 국물도 없습니다.^^ 그럼 전 꿈나라로 갑니다.
라이쎈쓰 무셔버서 안쓰렵니다....호호호~~**
발목 잡고 늘어질랍니다. 인제 안쓰고는 못벗어 납니다.^^
천상재회님/헐랭이님, 그리고 몇분 도움을 많이 주신 분들의 경우 홍보가 꼭 필요한
사이트 만드심 알려주세요. 링크 걸어드립니다. ㅋㅋ
무슨뜻인지는 아시리라 믿고 감사합니다.^^
그냥 업어만가는 마음이 짠^ 합니다!!
원인이 뭔지 잘 못찾겠어요. -..-a
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'>
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
if ($member['mb_id'] == $write['mb_id'] || $list[$i]['mb_id'] == $member['mb_id'] || $list[$i]['wr_10'] == $member['mb_id'] || $is_admin) {
?>
<?=get_text($list[$i][wr_content], 0)?>
<?
}
else
{
?>
이코멘트는 비공개 글 입니다.
<?
}
}
else
{
?>
<?=get_text($list[$i][wr_content], 0)?>
<?
}
}//회원끝
else
{
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
?>
이코멘트는 비공개 글 입니다.
<?
}
else
{
?>
<?=get_text($list[$i][wr_content], 0)?>
<?
}
}
?>
</textarea></td>
===================================
위코드를 아래처럼 수정해 주세요. 원글은 수정을 해두겠습니다.
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
if ($member['mb_id'] == $write['mb_id'] || $list[$i]['mb_id'] == $member['mb_id'] || $list[$i]['wr_10'] == $member['mb_id'] || $is_admin) {
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'> 이코멘트는 비공개 글 입니다. </textarea>
<?
}
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
}//회원끝
else
{
if ($board['bo_9']=="on" && $list[$i]['wr_9']=="on") {
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'> 이코멘트는 비공개 글 입니다. </textarea>
<?
}
else
{
?>
<textarea id='save_comment_<?=$comment_id?>' style='display:none;'><?=get_text($list[$i][wr_content], 0)?></textarea>
<?
}
}
?>
</td>
제로보드와 달리 그누보드는 엄청나게 다양한 개발이 가능해지는거 같아요.
작성자가 글쓴이의 비밀코멘트를 읽을 수 없다고 합니다 (좀 헷갈리는 표현이죠??..ㅋㅋ)
글 - 비밀코멘트(작성자 a) - 비밀코멘트(글쓴이)
a가 자신의 비밀코멘트 밑에 붙은 글쓴이의 비밀코멘트를 읽을 수 없습니다.
이때는 글쓴이가 비밀코멘트를 달지 못하게 하던지 하나요? ... 나중에 한번 코드를 잘
보구 알려드릴께요.
지금은 바쁜일 때문에 어렵고 시간날때에 확인해 보겠습니다.
같고 비밀코멘트 밑에는 무조건 비밀코멘트가 되어야 할 것 같아서 글쓴이는
비밀글 코멘트를 달 수 없게 수정을 했습니다. 그랬더니 코드가 많이 엉키는거
같아서 포기했어요. -..-a
<?
if ($member['mb_id']) {
if ($board['bo_9']=="on") {
if ($member['mb_id']==$write['mb_id']) { ?>
<input type=hidden name="wr_9" id="wr_9" value="on">
<? } else { ?>
<input type=checkbox name="wr_9" id="wr_9" value="on"> 비밀글
<? } } } ?>
수정했습니다. 참조하시기 바랍니다.
$sql_search = $str . " and wr_option not like '%secret%' and wr_9 not like 'on' "; // 비밀글은 제외
if ($board[bo_9] =="on" && $write['wr_8']=="on")
이부분이 오류의 원인으로 생각되네요.
wr_8은 무관한 필드이고... 테스트를 해보니 $write['wr_8']에 값이 나오지 않는거 같네요.
// 이게시판에서 코멘트 비밀옵션 사용 by 헐랭이
if ($member['mb_id']) {
// if ($board[bo_9] =="on" && $write['wr_9']=="on") -- $write['wr_9'] 값이 없슴
if ($board[bo_9] =="on")
{
if ($w == "c")
{
if ($comment_ids2)
{
//원코멘트의 값을 가져온후 준비
$sql2 = " select mb_id, wr_9, wr_id from $write_table
where wr_id = '$comment_ids2' ";
$reply_array2 = sql_fetch($sql2);
// 원코멘트가 비밀이라면 답코멘트에서 비밀로 했더라도 이것저것 머리아프니깐
// 답코멘트도 강제로 비밀처리를 하면서 원댓글 작성자에게 열람 권한도 줘버리장ㅋㅋㅋ
// if ($reply_array2[wr_9] =="on"){
// $sql3 = " update $write_table
// set wr_9 = '$reply_array2[wr_9]',
// wr_10 = '$reply_array2[mb_id]'
// where wr_id = '$comment_id' ";
// 본인이 비밀글 여부를 설정하는 경우에만... 비밀글이 되게 하였슴
if ($reply_array2[wr_9] =="on"){
$sql3 = " update $write_table set wr_10 = '$reply_array2[mb_id]' where wr_id = '$comment_id' ";
sql_query($sql3);
// 안내 메세지는 필요 없으면 주석처리 하세요. by 헐랭이
// echo "<script language='javascript'>";
// echo " alert('===============안내 메세지 입니다.==============\\n\\n원댓글이 비공개 이므로 답변도 비공개로 등록하면서\\n\\n원댓글 작성자에게 열람이 가능하게 권한을 줍니다.\\n\\n이코멘트의 비공개 해제는 수정모드에서 해제 하세요.');";
// echo "</script>";
}
}
}
}
}