글쓰기에서 에디터와 일반글모드 전환 + 레벨적용 (수정2) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

글쓰기에서 에디터와 일반글모드 전환 + 레벨적용 (수정2) 정보

글쓰기에서 에디터와 일반글모드 전환 + 레벨적용 (수정2)

첨부파일

icon.zip (1.3K) 101회 다운로드 2006-01-13 05:43:38

본문

※ 글쓰기에서 에디터와 일반글모드 전환

이미 기존에 나와 있던 팁을 약간 수정한 내용임을 밝힙니다.
제 기억으론 토탈게시판의 jumog님의 스킨에 있던 전환모드 소스쪽였던거 같습니다.
문제되면 말씀해 주세요.


전환버튼을 이미지로 바꾸고, 레벨 적용을 한 점이 수정내용입니다.
레벨은 회원과 비회원을 상관없이 html허용레벨에 의해 좌우됩니다.
html허용레벨을 만족하면 cheditor모드로 처음부터 사용가능하게
되며, 양쪽 전환이 가능하겠구요. 만족하지 않을 땐 일반글쓰기 모드로만
사용이 가능하게 됩니다. 전환버튼과 html 채크버튼도 이 경우엔 안뜨겠죠.


만약에 html허용레벨을 만족시 cheditor로 먼저 뜨게 하지 않고, 텍스트 모드로
먼저 뜨게 하고 싶으시다면, 아래 소스에서 보시면 $w == "" && $edit != "off" ||
부분을 4곳 제거하시면 되겠습니다.

소스에 사용된 아이콘 이미지화일 4개는 다음껄 그대로 본딴겁니다. 다른걸로
교체해서 쓰시던지 적절히 변경해 사용하셔도 되겠습니다. 첨부화일 참조요

수정해야할 화일은 보드스킨/write.skin.php 1개입니다.
그누보드 4.06.14의 cheditor 스킨 기준입니다.



★수정일 : 2006.1.20
-글수정시 무조건 에디터모드로 열렸었는데, 글수정시 이전에 글저장할때의
모드로 열리게 수정되었습니다. 텍스트 모드로 저장했던 글은 수정시 텍스트모드로
에디터모드로 저장했던 글은 글 수정시 에디터모드로 열립니다.
 


==== 시작
보드스킨/write.skin.php을 여시고..

=======================================================


        <?/* if ($is_html) { ?><INPUT onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>HTML</span>&nbsp;<? } */?>
        <input type='hidden' name='html' value='html1'>

       
▶위 소스를 주석처리 하시던지, 제거하시고,


        <!--★글쓰기모드전환관련 시작-->
        <? if ($w == "" && $edit != "off" || $edit == "on" || $w == "u" && $html_value == "html1" && $edit != "off") { ?><input type='hidden' name='html' value='html1'>
        <? } else { if ($is_html) ?><input onclick="html_auto_br(this);" type=checkbox value="html2" name="html" <?=$html_checked?>><span class=w_title>html</span>&nbsp;<? } ?>
        <!--★글쓰기모드전환관련 끝-->

       
▶위 소스를 그 자리에 삽입합니다. 아래로 조금 내려가서
=======================================================


<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td style='padding-left:20px;'>· 내용</td>
    <td style='padding:5 0 5 0;'><?=cheditor2('fwrite', 'wr_content', '100%', '350');?></td>
</tr>


▶위 소스를 주석처리 하시던지, 제거하시고,


<tr><td colspan=2 valign="bottom" style='padding-top:6;'>
      <!--★글쓰기모드전환관련 시작-->
      <? if ($member[mb_level] >= $board[bo_html_level]) { ?>
          <? if ($w == "" && $edit != "off" || $edit == "on" || $w == "u" && $html_value == "html1" && $edit != "off") { ?>
        <a href="JavaScript:chedit_mode()"><img src="<?=$board_skin_path?>/img/editor/text_off.gif" border='0' align='absmiddle'></strong></a>
        <img src="<?=$board_skin_path?>/img/editor/editor_on.gif" border='0' align='absmiddle'>
        <script language="JavaScript">// 모드전환
        function chedit_mode() {
        <?if (!$member[mb_id] && $w == "u") echo "alert('비회원은 글수정시 글쓰기 모드 전환을 할 수 없습니다.'); return;";?>
        if (confirm("일반 글쓰기 모드로 전환하시겠습니까?\n\n(주의 : 현재 입력된 내용은 지워지게 됩니다.)"))
        <? if ($w == '') {?>
                    location.href = "<?=$g4[bbs_path]?>/write.php?bo_table=<?=$bo_table?>&edit=off";
        <?}else{?> // 수정 시 또는 답변 시 링크에 게시물번호를 넘겨주어야 함
                    location.href = "<?=$g4[bbs_path]?>/write.php?bo_table=<?=$bo_table?>&w=<?=$w?>&wr_id=<?=$wr_id?>&edit=off";
        <?}?>
        }
        </script>
          <? } else { ?>
        <img src="<?=$board_skin_path?>/img/editor/text_on.gif" border='0' align='absmiddle'>
        <a href="JavaScript:chedit_mode()"><img src="<?=$board_skin_path?>/img/editor/editor_off.gif" border='0' align='absmiddle'></a>
        <script language="JavaScript">// 모드전환
        function chedit_mode() {
        <?if (!$member[mb_id] && $w == "u") echo "alert('비회원은 글수정시 글쓰기 모드 전환을 할 수 없습니다.'); return;";?>
        if (confirm("에디터 글쓰기로 전환하시겠습니까?\n\n웹 편집기로 자유로운 입력을 하실 수 있습니다\n\n(주의 : 현재 입력된 내용은 지워지게 됩니다.)"))
        <? if ($w == '') {?>
                    location.href = "<?=$g4[bbs_path]?>/write.php?bo_table=<?=$bo_table?>&edit=on";
        <?}else{?> // 수정 시 또는 답변 시 링크에 게시물번호를 넘겨주어야 함
                    location.href = "<?=$g4[bbs_path]?>/write.php?bo_table=<?=$bo_table?>&edit=on&w=<?=$w?>&wr_id=<?=$wr_id?>";
        <?}?>
        }
        </script>
          <? } ?>
      <? } ?>   
      <!--★글쓰기모드전환관련 끝-->
</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td colspan=2 style='padding:5 0 5 0;'>
      <!--★글쓰기모드전환관련 시작-->
      <? if (($w == "" && $edit != "off" || $edit == "on" || $w == "u" && $html_value == "html1" && $edit != "off") && $member[mb_level] >= $board[bo_html_level]) { ?>
            <?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
      <? } else { ?>
            <table width=100% cellpadding=0 cellspacing=0>
            <tr>
                <td width=50% align=left valign=bottom>
                    <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></td>
                <td width=50% align=right><? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?></td>
            </tr>
            </table>
            <textarea id=wr_content name=wr_content class=tx style='width:100%; word-break:break-all;' rows=10 itemname="내용" required
            <? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
            <? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?>
      <? } ?>
      <!--★글쓰기모드전환관련 끝-->
    </td>
</tr>


▶위 소스를 그 자리에 삽입합니다. 아래로 쭈욱 밑에쪽으로 내려가셔서,
=======================================================

    <?=cheditor3('wr_content');?>

   
▶위 소스를 주석처리 하시던지, 제거하시고,


    <? if (($w == "" && $edit != "off" || $edit == "on" || $w == "u" && $html_value == "html1" && $edit != "off") && $member[mb_level] >= $board[bo_html_level]) echo cheditor3('wr_content'); //★글쓰기모드전환관련?>

   
▶위 소스를 그 자리에 삽입합니다.
=======================================================
추천
3
  • 복사

댓글 12개

제일 아래 cheditor3('wr_content'); 부분 조건이 수정되었고, 비회원의 경우 글 수정시 글쓰기모드 화면 전환을 할 수 없게 수정 되었습니다. 위 방식으로는 비회원이 글쓰기 수정시에 화면전환을 하면 화면갱신되면서 글비밀번호관련 문제에 걸리기 때문입니다. 수정이 아닌때는 전환이 가능하겠습니다.
이것도 그누보드4 다음버전엔 기본으로 탑재되어야할 기능...che에디터로 예전에 작성할때는 몰랐는데 일반글 작성하는게 없고 밑에 html만 있더라구요. 필수적인기능..^^

그런데 텍스트상태에서 html을 쓰는건 없나요? 자동 br기능이랑 함께 적용되는거요.
html모드는 바디태그까지던데....말그대로 전체를 오로지 태그로만 해야되서 불편하던데
http:// 쓰면 링크되는 어찌보면 오토태그되는 게시물이죠. che에디터 안쓰고 일반게시판 스킨설정하면 그런거 되잖아요. ^^
아 에디터 상태에서 19세 인증 체크가 보이길래 제가 착각했네요.
바로 밑에 텍스트 입력상태에는 html체크가 있는줄 모르고..^^
감사합니다 아쵸오님.항상 수고가 많으십니다. ^^
-글수정시 무조건 에디터모드로 열렸었는데, 글수정시 이전에 글저장할때의 모드로 열리게 수정되었습니다.
글저장시 텍스트모드로 저장했던 글이라면... 글수정시 텍스트모드로 시작됩니다.
© SIRSOFT
현재 페이지 제일 처음으로