원본 주소 : http://cafen.net/home/86

1. 레인에디터 설치 - 에디터 설치 메뉴얼 참조 (이하 /editor/ 에 설치되었다고 간주함)

2. 제로 보드용 Lib 설치 zeroboard/include/rain_editor.php (아래 내용을 해당 파일에 넣어 둠)

<?

// 에디터 설치 경로에 맞춤
$rain_editor_root = '../';

include_once($rain_editor_root."editor/library/rainUtil.php");
include_once($rain_editor_root."editor/library/rainRequest.php");
include_once($rain_editor_root."editor/library/rainProperties.php");
include_once($rain_editor_root."editor/library/rainFile.php");
include_once($rain_editor_root."editor/library/rainFileManager.php");
$editor_key = '4d4e81d3f9219886bcadb3dc9b503f82';

$req = new rainRequest($_REQUEST, $_SERVER);
$rfile = new rainFile(rainUtil::getConf("path_uploads"));

function rainParse($memo, $old_contents = '') {
 global $req, $rfile, $editor_key;
 $contents= ($memo != '') ? $req->get($memo) : '';
 if (eregi($editor_key, $contents) || eregi($editor_key, $old_contents)) {
  $contents = $rfile->rainEditAttachSaveDelete($contents, $old_contents);
  $contents_view = rainUtil::addslashes($rfile->rainContents_html);
  $contents_text = $rfile->stripTags($rfile->rainContents_html);
  $contents_attach = $rfile->rainAttachParse(false);
  $contents_image = $rfile->rainAttach_image;
  $is_movie = $rfile->rainAttach_movie;
  $attach_size = $rfile->totalattach_size;
 }
 return $contents;
}

function rainParseContents($memo) {
 global $req, $rfile, $editor_key;
 if (eregi($editor_key, $memo)) {
  $contents = $rfile->rainEditContents($memo);
  $contents_view = $rfile->rainContents_html;
  $contents_text = $rfile->stripTags($rfile->rainContents_html);
  $contents_attach = stripslashes($rfile->rainAttachParse(false));
  $contents_image = $rfile->rainAttach_image;
  $is_movie = $rfile->rainAttach_movie;
  $attach_size = $rfile->totalattach_size;
  return <<<EOT
 $contents_attach<br>
<div class=blogtext>$contents_view</div>
EOT;
 } else
  return $memo;
}

 

?>

 

3. 스타일 쉬트 편집

 - zeroboard/style.css

/* 마지막에 다음 라인 추가 */
.blogtext FONT{line-height:170%;}
.blogtext P,
.blogtext H1,
.blogtext H2,
.blogtext H3,
.blogtext H4,
.blogtext H5,
.blogtext H6 {
 font-family:"굴림,Verdana";
 margin-top:2px;
 margin-bottom:2px;
}
.blogtext A,
.blogtext A:link,
.blogtext A:visited,
.blogtext A:hover {color:#404040; text-decoration:underline}

.blogtext H1 {font-family:arial,Dotum;font-weight:bold;color:#666633;font-size:12pt}
.blogtext H2 {font-family:굴림,Verdana;font-weight:bold;color:#454545;font-size:12pt}
.blogtext H3 {font-family:arial,Dotum;font-weight:bold;color:#999966;font-size:11pt}
.blogtext H4 {font-family:굴림,Verdana;font-weight:bold;color:#454545;font-size:9pt}
.blogtext H5 {}
.blogtext H6 {}

 

4. 프로그램 패치

 -  zeroboard/script/script_write.php

76  function view_preview() {

................

78 document.write.target = "_blank";
79+ try {RainEditor('memo','E'); } catch(ex) {}
...............

}

- zeroboard/view_preview.php

2 include "lib.php";
3 include "include/list_check.php";

4+ include "include/rain_editor.php";
103 <Tr bgcolor=white valign=top>
104 <td>
105+  <?=rainParseContents(stripslashes($_REQUEST['memo']))?>
106  </td>
107 </tr>

- zeroboard/view.php

6  if(!$_view_included) {include "_head.php";}

7+ include "include/rain_editor.php";

- zeroboard/skin/nzeo_ver4_bbs/view.php (해당 스킨의 경로)

44    <img src=<?=$dir?>/t.gif border=0 width=10><br>
45+    <?=rainParseContents($memo)?>
46    <div align=right class=list_eng><?=$ip?></div>

- zeroboard/skin/nzeo_ver4_bbs/write.php (해당 스킨의 경로)

9 + <script>
10+ var _editor_url = "/editor/";
11+ </script>

12+ <script language="Javascript1.2" src="/editor/prototype-1.4.0.js"></script>
13+ <script language="Javascript1.2" src="/editor/swfupload.js"></script>
14+ <script language="Javascript1.2" src="/editor/rain_util.js"></script>
15+ <script language="Javascript1.2" src="/editor/RainEditor_v10.js"></script>
...............................

74+ <td style=padding-top:8px;padding-bottom:8px;><textarea name=memo id=memo <?=size2(90)?> rows=18 class=textarea style=width:99%><?=$memo?></textarea></td>

....................

100 </table>
101 <br>
102+ <script>

102+ RainEditor('memo',{});

102+ </script>

- zeroboard/write_ok.php

7 include "_head.php";
8+ include "include/rain_editor.php";
...................

292 if($mode=="modify"&&$no) {
293+  $memo = rainParse('memo',$s_data[memo]);
.....................

400 } elseif($mode=="reply"&&$no) {
401+  $memo = rainParse('memo');
......................

449 } elseif($mode=="write") {
450+  $memo = rainParse('memo');

- zeroboard/delete_ok.php

3  require "lib.php";
4+  include "include/rain_editor.php";
........................

104 $query_time=getmicrotime();
105+ rainParse('',$s_data[memo]);
106 movepage("zboard.php?................");

앞에 붙어 있는 숫자는 zero 4.0 버전에서의 라인 번호 입니다. 누적 번호이기 때문에 필히 앞뒤의 스크립터를 확인하면서

설치를 하셔야 합니다. 버전에 따라서 라인번호가 변경될수 있습니다. 번호 뒤에 + 가 붙어 있는 라인만 변경해 줄것