3.** 버전에서 사용하던 이모티콘 적용방법 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

3.** 버전에서 사용하던 이모티콘 적용방법 질문입니다. 정보

질문 3.** 버전에서 사용하던 이모티콘 적용방법 질문입니다.

본문

해당 파일에서 emo.php 파일을 아래와 같이 수정하였습니다.
근데 문제가 몇가지 있습니다.

1. 내용보기에서 이모티콘이 이미지로 안나타나고 글자로만 나타납니다.
2. 코멘트에서 제대로 동작을 안합니다. 제일 처음 작성된 코멘트에는 적용이 잘 되는데 그 이후로는 안되며 또한 수정시에도 문제가 있습니다.

===================================== emo.php 시작 ===========================

<?
/*
<!-- 쌀리가 노가다하다. http://misoga.com -->
<!--
그누보드를위한 두번째 노가다
1. 익스전용이던것을 모질라(Mozilla)와 네스케이프(Netscape)에서 작업가능하도록 수정
2. 기존 이모티콘 하나하나에 대해서 td 설정하던것을 for 문을 사용하여 처리
3. 이모티콘에 title 기능추가
updated by root
http://www.ThreeS.org
-->
*/
?>
<input onclick=showEmoticon('emoticon') type=checkbox name=emoticons value='yes'> 이모티콘 사용&nbsp;

<script language=javascript>
function showEmoticon(layer_id){
if(document.getElementById && document.getElementById(layer_id)) {
        // W3C Netscape 6일경우
        var layer = document.getElementById(layer_id).style;
    } else if (document.all && document.all(layer_id)) {
        // MSIE 4 일경우
        var layer = document.all(layer_id).style;
    } else if (document.layers && document.layers[layer_id]) {
        // NN 4 일경우
        var layer = document.layers[layer_id];
    } else {
        return false;
    }

if(layer.display == 'none') {
layer.display = '';
} else {
layer.display = 'none';
}

}
function insertSmiley(smiley){
  if(document.fboardviewcomment) { // view 화면에서 코멘트 처리시 사용
if(document.fboardviewcomment.wr_content.createTextRange){
document.fboardviewcomment.wr_content.focus();
document.selection.createRange().duplicate().text=smiley;
}else{
document.fboardviewcomment.wr_content.value+=smiley;
}
  } else if(document.fwrite) { // 입력,수정 화면에서 데이타 입력시 사용
if(document.fwrite.wr_content.createTextRange){
document.fwrite.wr_content.focus();
document.selection.createRange().duplicate().text=smiley;
}else{
document.fwrite.wr_content.value+=smiley;
}
  } else {
alert("정의되지않은 form name입니다!!");
  }
}
</script>

<style>
.on {border:1px solid #6B717B}
.off {border:1px solid white}
.down {border:1px solid #444A54;background-color:efefef}
.up {border:1px solid #6B717B;background-color:white}
.curHand {cursor:hand}
</style>
<!-- <div id="emoticon" style="z-index:1; visibility:hidden;"> -->
<div id="emoticon" style="z-index:1; display:none;">

<table border=0 cellpadding=0 cellspacing=0>
<tr><td>
<table border=0 cellpadding=3 cellspacing=0 style="background-color:white;border:1px solid #cdcdcd;" align=left>
<?
$colnum = 20; // 한 줄에 몇개를 표시할것인지 설정
for($i=1; $i<=120; $i++){
$list = ($i-1)%$colnum;
if($i < 10) {
$emo_id = "emoticon_00$i";
} else if($i < 100) {
$emo_id = "emoticon_0$i";
} else {
$emo_id = "emoticon_$i";
}
    if(!$list) echo "\n<tr>";
echo "<td class=off width=19 onmousedown=this.className='down' onmouseup=this.className='up' onmouseover=this.className='on' onmouseout=this.className='off'><a onclick=insertSmiley('$emo_id')><img class=curHand src=../emoticons/$i.gif width=18 height=18 border=0 title=$emo_id></a></td>";
//if($list) echo "</tr>";
}
if(!$list) echo "\n<td>&nbsp;</td></tr>";
?>

</table>
</td></tr>
<tr><td align=right height=22>
Emoticons (C) <a href="http://www.nate.com" target=_blank><img class="curHand" src='../emoticons/nate.gif' border=0 align=absmiddle> nate.com</a>
</td>
</tr></table>

</div>

===================================== emo.php 끝 ===================================


원본 스킨 : http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=skin3&wr_id=1526

적용한 곳 : http://hyusig.net/g4/bbs/board.php?bo_table=test_1

댓글 전체

코멘트 작성과 보기는
  } else if(document.fboardviewcomment) { //
    if(document.fboardviewcomment.wr_content.createTextRange){
        document.fboardviewcomment.wr_content.focus();
        document.selection.createRange().duplicate().text=smiley;
    }else{
        document.fboardviewcomment.wr_content.value+=smiley;
    }
  } else {
 
위의 내용 추가하면 되는데...
코멘트 수정이 문제군요

코멘트수정에서 이모티콘 수정이 안되니 고민좀 해야할듯.ㅋㅋㅋㅋ
아마도 회원으로 로그인한 경우는,
코멘트뷰창과 코멘트 작성창 루틴의 배치(?!)가 섞여서 그럴겁니다^^;
찬찬히 살펴 보시면, 멋진 해결책을 가지고 오실거라고 믿어 의심치 않습니다^^;

까만도둑님!
파!!! 이!!! 팅!!!
>> wr_id=4 게시물 코멘트가 몇개까지 작성되었는지 DB를 확인해 보시겠습니까?

3개 작성되어 있습니다.

문제는......
비로그인으로 보면 해당 코멘트가 다 나오는데 로그인을 해서 보면 첫번째 코멘트만 보입니다.
뭐 이런 경우가 다 있는지..... ㅠ.ㅠ
헉~* 게시물 wr_id=4 에 대한 두번째 코멘트 돌려주세요.
아무리 배가 고프기로서니...
흔적도 없이 드셔 버렸넹~...

*** 비회원 ***
비회원 > 첫번째 코멘트 작성 >>> ok.
비회원 > 두번째 코멘트 작성 >>> ok.
코멘트 수정모드가 적용(지원)되지 않으므로 패스.

*** 회원 ***
회원 > 첫번째 코멘트 작성 >>> ok.
회원 > 첫번째 코멘트 수정 > 수정창에 변경할 내용이 적용되지 않고 신규 코멘트 창에 내용이 적용됨.(삐~~~ㄱ)
회원 > 두번째 코멘트 작성 > ok(????!!!!)
코멘트를 흔적 없이 갈취하셨으므로 무효.
(wr_id=4 게시물 코멘트가 몇개까지 작성되었는지 DB를 확인해 보시겠습니까?)

죄송합니다. 까만도둑님 해결책이 아니라서...

보드스킨을 구성하는 소스파일 중에서,
view.skin.php와 comment 관련파일(작성과 수정을 포함하는 업데이트 파일)의 적용위치를 점검해 보셔야 할 것
같습니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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