Profile
이온디

2016.10.16

에디터

제로보드에 웹에디터 사용하기(미니위니)

조회 수 241 추천 수 0

지금 이 게시판에 보이는 입력툴은 위쯔님 홈피에 가면 받을 수 있습니다. 
(이 곳에 사용하고 있는 것은 많이 수정된 상태임)

설치

1.
 다운받은 파일들을 제로보드(예 : bbs) 폴더에 업로드.

2. 스킨 파일이 아닌 제로보드 폴더 안의 "write.php" 파일 제일 아래 
include $dir."/write.php"; 이 줄 밑에 
include(dirname(__FILE__)."/miniwini.visualEditor.php"); 를 삽입.

3. 코멘트에도 똑같이 적용하기 위해서 제로보드 폴더 안의 "view.php" 파일 295줄 근처 
include $dir."/view_write_comment.php"; 이 줄 밑에 
include(dirname(__FILE__)."/miniwini.visualEditor.php"); 를 삽입.



사용팁

1.
특정 게시판에서만 사용하기
include(dirname(__FILE__)."/miniwini.visualEditor.php"); 요것만 삽입하면 모든 제로보드 게시판에 에디터가 적용됩니다. 
특정 게시판에만 적용하고 싶을때는 아래처럼 하면 됩니다. 적용할 게시판의 수 만큼 써넣을 수 있습니다. 
if($id == "게시판아이디" || $id == "게시판아이디" || $id == "게시판아이디" ) { 
include(dirname(__FILE__)."/miniwini.visualEditor.php"); 
}

2.특정회원만 사용
if($member[is_admin]) { //최고 관리자만 에디터 사용
    if($id == "blog" || $id == "tip" || $id == "community" || $id == "utill" || $id == "memo") { //특정 게시판에만 사용
         include(dirname(__FILE__)."/miniwini.visualEditor.php"); 
    }
}

if($member[level]<5) { //사용 5면 1~4 까지 레벨 
    if($id == "blog" || $id == "tip" || $id == "community" || $id == "utill" || $id == "memo") { 
    include(dirname(__FILE__)."/miniwini.visualEditor.php"); 
    }
}

if($member[user_id]!="아이디" && $member[user_id]!="아이디") Error("죄송합니다. 특정회원 전용입니다");//특정 아이디만
    if($id == "blog" || $id == "tip" || $id == "community" || $id == "utill" || $id == "memo") { 
    include(dirname(__FILE__)."/miniwini.visualEditor.php"); 
    }
}




맞춤법 검사기능 달기 
우리말 배움터에서 제공하는 맞춤법 검사기는 꺼칠이 한날님의 소스를 Mooki님이 비쥬얼에디터에 맞게 고친 것입니다.
 

//////////////////////////맞춤법 검사/////////////////////////////
/* modified by Mooki 2004.11.11 */

function WiniEditorSpellChk() {

 var SpellChk = document.getElementById(g_sVisualEditor);

 var SpellChktMp;

   SpellChktMp = SpellChk.innerText;
   urimalSpellCheck(SpellChktMp);

}

/* up to this point - modified by Mooki 2004.11.11 */


function urimalSpellCheck(str) {
 
 if (str.length == 0) {
  alert("내용이 입력되지 않았습니다."); return false;
 }

 openWindow("http://164.125.164.226/urimal-spellcheck.html", "spellCheckPopup", 440, 520,

"center", "center", "scrollbars=yes,status=yes");

 var formObj = document.createElement('form');
 formObj.setAttribute('name','spellCheckForm');
 formObj.setAttribute('action','http://164.125.164.226/webspeller_20050215/WebSpeller.dll?check');
 formObj.setAttribute('method','post');
 formObj.setAttribute('target','spellCheckPopup');
 
 var spellText = document.createElement('input');
 spellText.setAttribute('type', 'hidden');
 spellText.setAttribute('name', 'text1');
 spellText.setAttribute('value', str);
 
 formObj.appendChild(spellText);
 
 document.getElementsByTagName("body")[0].appendChild(formObj);

 formObj.submit();

 
}

function openWindow(url, name, width, height, align, valign, option) {
 var x,y;
 var window_option = "width="+width+",height="+height;

 if (option!=null) window_option+=","+option;
 if (align==null) align="center";
 if (valign==null) valign="center";

 if (align=="left") x=0;
 else if (align=="right") x=(screen.width-width);
 else if (align=="center") x=(screen.width-width)/2

 if (valign=="top") y=0;
 else if (valign=="bottom") y=(screen.height-height);
 else if (valign=="center") y=(screen.height-height)/2

 window_option+=",left="+x+",top="+y;

 var win = window.open(url,name,window_option);

 focus();
 win.focus();
 return win;
}

 


그리고 miniwini.visualEditor.Toolbar.php 이 파일 열어서 아래 내용을 적당히 삽입.
buttonSpellCheck.gif 버튼 이미지도 만들어서 miniwini.visualEditor 폴더에...
<? if ($visualEditorToolbar[hideSpellCheck]==0){?>
<td "padding-right:1px" nPadding=0><img unselectable='on' class=curHand width=19 height=19 id=uicon_color title='맞춤법검사 (http://urimal.cs.pusan.ac.kr 우리말 배움터)' onclick=WiniEditorSpellChk(); href="#spellCheck" border=0 src=<?=$visualEditor['url']['toolbarImg']?>/buttonSpellCheck.gif onmousedown=fx(1) onmouseup=defx() onmouseout=defx()></td>
<? } ?>

 





몇몇 기능 추가시 중복되는 소스들은 한번씩만 쓰고,,,



* 미리보기를 위해 bbs/view_preview.php파일에...
<link rel=StyleSheet HREF="./miniwini.visualEditor.css" type=text/css title=style>
<script language="javaScript" type="text/javascript" src="./miniwini.visualEditor.js"></script>
를 넣어주세요.

* 테이블 사용시 자동 줄바꿈 되는 문제.
스킨  "write.php" 파일에 "HTML 사용" 부분을....
<?=$hide_html_start?><input type=checkbox name=use_html value=2>HTML 사용<?=$hide_html_end?>
로 바꿔주세요.
코멘트 자동줄바꿈 없앨려면
스킨 view_write_comment.php 파일에 <?=nl2br($c_memo)?>를  <?=str_replace("\n","",$c_memo)?> 로 바꾸면 됩니다.




미니위니에디터, 이모티콘 종류별로 그룹지어 분류해서 사용 
출처는 미니위니에 정낙훈님의 글입니다.
1. miniwini.visualEditor.dialogInsertEmoticons.php 필드셋을 하나 더 추가합니다.

<fieldset "width:100%;padding:8px">
<legend> NATEON Emoticons </legend>
 <div "height:100px;overflow:auto">
 <table bgcolor='white' border=0 cellpadding=4 cellspacing=0 'border:2px solid #cdcdcd' width=100%>
 <tr><td>
 <?
 if ($handle = @opendir($visualEditor['url']['nateon_emoticons']))
 {
  $i = 0;
  while (false !== ($file = @readdir($handle)))
  {
   if ($file != "." && $file != "..")
   {
    ?>
    <img class=off onmouseover="this.className='on'" onmouseout="this.className='off'" onclick="addEmoticon()" src='<?=$visualEditor['url']['nateon_emoticons']?><?=$file?>'>
    <?
    $i++;
   }
  }
  @closedir($handle); 
 }
 ?>
 </td></tr>

 </table>
 </div>
</fieldset>

위와 같이 네임만 살짝 더 추가해주시면 됩니다.



2. miniwini.visualEditor.conf.php 51번째 줄 보이면 다음 내용이 보이실 겁니다.

"url"     =>  array (
        "lib"   => "./",
        "css"   => "./",
        "toolbarImg" => "./miniwini.visualEditor",
        "msn_emoticons"  => "./miniwini.visualEditor/emoticons/msn/",
        "nateon_emoticons" => "./miniwini.visualEditor/emoticons/nateon/" 
        )
       );

뒤에 추가한 빨간 , 이 중요하단 겁니다. ^^; 빼먹지 마세요.
# 대충 이렇게 하시면 된다는 것이니 완전히 똑같이 한다고 해서 되는 게 아닌 건 아시죠? ^^;;



3. 이모티콘 파일을 업로드한다. 방법은 똑같습니다. 
"./miniwini.visualEditor/emoticons/msn/"



이모티콘들.. http://nontoxic.cherilove.co.kr/bbs/zboard.php?id=blog&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=81



방명록에 적용

zboard.php 파일 열어서 아래에...

// 마무리 부분 출력하는 부분;;
 $_skinTimeStart = getmicrotime();
 include $dir."/list_foot.php";
 $_skinTime += getmicrotime()-$_skinTimeStart;

 if($zbLayer) {
  $_skinTimeStart = getmicrotime();
  echo "\n<script>".$zbLayer."\n</script>";
  unset($zbLayer);
  $_skinTime += getmicrotime()-$_skinTimeStart;
 }
if($id == "방명록게시판아이디"){                                       
include(dirname(__FILE__)."/miniwini.visualEditor.php"); 
}


 foot();


/***************************************************************************
 * 마무리 부분 include
 **************************************************************************/
 include "_foot.php";
?>

Profile
7
Lv
이온디

이온디 홈페이지는 간결하며,

 손쉽게 수정할 수 있습니다.

0개의 댓글

글쓴이 제목 조회 수 날짜
profile 이온디 [일반] 제로보드 파일들의 용도 및 함수, 변수정리 PHP&ASP 60 2017.09.24
profile 이온디 [에디터] 제로보드에 웹에디터 사용하기(미니위니) 241 2016.10.16
profile 이온디 [에디터] 제로보드4에 네이버 스마트에디터 달기... 155 2016.10.16
profile 이온디 [에디터] 제로보드 fck에디터 달기 샘플 입니다. 76 2016.10.16
profile 이온디 [스킨 다운로드] DQ스킨 UTF-8버전 146 2015.09.14
이온디 [일반] 제로보드4를 설치할 때, 관리자 테이블 생성 실패 라는 메세지가 뜰 때 해결 방법 9730 2010.01.31
profile 이온디 [질문] 글 수정할 때 무슨 파일이 이용되는가? 9291 2007.04.23
profile 이온디 [스킨제작] 글쓰기창 view / hide 15435 2007.04.23
profile 이온디 [스킨 수정] 검색창 레이어 토글 1 10797 2007.04.21
profile 이온디 [기능 추가] 첨부파일 권한 별로 다운받기 11516 2007.04.20
profile 이온디 [질문] 글 수정하면 게시물 최상단으로 올라가기 어떻게 하나요? 7790 2007.04.04
profile 이온디 [기능 추가] 게시물 최근코멘트 색상 다르게 하기 (by 리디) 8998 2005.07.09
profile 이온디 [기능 추가] 게시물 작성자에게 코멘트 알림기능 (by 리디) 8846 2005.07.09
profile 이온디 [게시판 수정] 게시판 페이지 부분을 미니위니처럼 8287 2005.07.09
profile 이온디 [스킨제작] 코멘트 br 먹히게 하기 1 14159 2004.06.10
profile 이온디 [스킨 수정] 홈페이지 링크 직접하기 8335 2004.06.04
profile 이온디 [기능 추가] 코멘트에 네이트온 이모티콘 사용하기 (by 리디) 8629 2004.05.30
profile 이온디 [스킨 수정] 글쓰기폼이 엔터때마다 늘어나는게 10254 2004.05.30
profile 이온디 [일반] reedyfox.com에 사용된 글쓰기 페이지입니다. (미완성) 10866 2004.05.30
profile 이온디 [스킨제작] 제로보드 스킨 만들 때 꼭 필요한 각종 변수 모음 166 2004.05.28