cheditor 4.0 적용..! 정보
cheditor 4.0 적용..!
관련링크
본문
관련소스 : http://www.chcode.com 기존에 라이센스 취득하신분께만 적용되는 팁입니다. 2007년 1월경에 4.0이 배포된것으로 알고 있습니다. 사이트 뒤적이다가 알게되어 적용해봤습니다.!
1.기존의 cheditor 폴더를 cheditor_org로 바꾸신후(백업을 위해) cheditor4.0 버전을 cheditor 폴더로 업로드 합니다.
-저같은경우 cheditor에 동영상 링크와 mncast 동영상 업로드가 같이 들어있어서 기존의 것을 덮어버릴경우 난감한 현상이 발생될까봐 백업을 해두고 적용해 보았습니다.
-저같은경우 cheditor에 동영상 링크와 mncast 동영상 업로드가 같이 들어있어서 기존의 것을 덮어버릴경우 난감한 현상이 발생될까봐 백업을 해두고 적용해 보았습니다.
2./gnuboard4_root/lib/cheditor.lib.php 파일 수정
------------------------------원문 시작 -----------------------------
function cheditor2($form, $id, $width='100%', $height='250') { global $g4; return " <INPUT id={$id} type=hidden name={$id}>
<SCRIPT-x>
var ed_{$id} = new cheditor('ed_{$id}');
ed_{$id}.editorPath = '{$g4[editor_path]}';
ed_{$id}.width = '{$width}';
ed_{$id}.height = '{$height}';
ed_{$id}.pasteContent = true;
ed_{$id}.pasteContentForm = 'ps_{$id}';
ed_{$id}.formName = '{$form}';
ed_{$id}.run();
</SCRIPT-x>
"; }
---------------------------------원문 끝----------------------------
------------------------------수정할 내용 시작----------------------
function cheditor2($form, $id, $width='100%', $height='250')
{
global $g4; return " <INPUT id={$id} type=hidden name={$id}>
<SCRIPT-x>
var ed_{$id} = new cheditor('ed_{$id}');
ed_{$id}.editorPath = '{$g4[editor_path]}';
ed_{$id}.config.editorWidth = '{$width}';
ed_{$id}.config.ecitorHeight = '{$height}';
ed_{$id}.config.editorPath = '{$g4[path]}/cheditor';
ed_{$id}.inputForm = 'ps_{$id}';
ed_{$id}.run();
</SCRIPT-x>
"; }
--------------------------------수정내용 끝-------------------------
-제작자 분께서 금번에 코딩을 새로 하셔서 출력방법이 아주 조금 바뀌었다고 합니다.
-위사항까지 고치시면 출력폼이 잘 나올껍니다.
-참고로 utf-8사이트 같은경우 각각의 파일들의 인코딩을 utf-8로 바꿔주시고, 의 euc-kr부분도 utf-8로 바꿔주심 되겠습니다.
------------------------------원문 시작 -----------------------------
function cheditor2($form, $id, $width='100%', $height='250') { global $g4; return " <INPUT id={$id} type=hidden name={$id}>
<SCRIPT-x>
var ed_{$id} = new cheditor('ed_{$id}');
ed_{$id}.editorPath = '{$g4[editor_path]}';
ed_{$id}.width = '{$width}';
ed_{$id}.height = '{$height}';
ed_{$id}.pasteContent = true;
ed_{$id}.pasteContentForm = 'ps_{$id}';
ed_{$id}.formName = '{$form}';
ed_{$id}.run();
</SCRIPT-x>
"; }
---------------------------------원문 끝----------------------------
------------------------------수정할 내용 시작----------------------
function cheditor2($form, $id, $width='100%', $height='250')
{
global $g4; return " <INPUT id={$id} type=hidden name={$id}>
<SCRIPT-x>
var ed_{$id} = new cheditor('ed_{$id}');
ed_{$id}.editorPath = '{$g4[editor_path]}';
ed_{$id}.config.editorWidth = '{$width}';
ed_{$id}.config.ecitorHeight = '{$height}';
ed_{$id}.config.editorPath = '{$g4[path]}/cheditor';
ed_{$id}.inputForm = 'ps_{$id}';
ed_{$id}.run();
</SCRIPT-x>
"; }
--------------------------------수정내용 끝-------------------------
-제작자 분께서 금번에 코딩을 새로 하셔서 출력방법이 아주 조금 바뀌었다고 합니다.
-위사항까지 고치시면 출력폼이 잘 나올껍니다.
-참고로 utf-8사이트 같은경우 각각의 파일들의 인코딩을 utf-8로 바꿔주시고, 의 euc-kr부분도 utf-8로 바꿔주심 되겠습니다.
3.이미지업로드 경로를 위해 /gnuboard4_root/cheditor/insert_image.php 파일 의 디렉토리경로를 수정해주셔야 합니다.
-"_common.php"파일을 /gnuboard4_root/cheditor/폴더에 넣어 주시고 내용은
-------------------------"_common.php"내용 -----------------------
<?
$g4_path = ".."; // common.php 의 상대 경로
include_once("$g4_path/common.php");
?>-------------------------_common.php"내용 끝---------------------
-"_common.php"파일을 /gnuboard4_root/cheditor/폴더에 넣어 주시고 내용은
-------------------------"_common.php"내용 -----------------------
<?
$g4_path = ".."; // common.php 의 상대 경로
include_once("$g4_path/common.php");
?>-------------------------_common.php"내용 끝---------------------
-/gnuboard4_root/cheditor/insert_image.php 의 내용수정입니다.
--------------------------원본내용1---------------------------------
define('SAVE_AS_DIRECTORY', "/path/to/cheditor/attach/");
--------------------------원본내용1끝 ------------------------------
--------------------------원본내용1---------------------------------
define('SAVE_AS_DIRECTORY', "/path/to/cheditor/attach/");
--------------------------원본내용1끝 ------------------------------
--------------------------수정내용1---------------------------------
$ym = date("ym", $g4[server_time]);
define('SAVE_AS_DIRECTORY', "$g4[path]/data/$g4[editor]/$ym/");
@mkdir(SAVE_AS_DIRECTORY, 0707);
@chmod(SAVE_AS_DIRECTORY, 0707);
--------------------------수정내용1끝-------------------------------
$ym = date("ym", $g4[server_time]);
define('SAVE_AS_DIRECTORY', "$g4[path]/data/$g4[editor]/$ym/");
@mkdir(SAVE_AS_DIRECTORY, 0707);
@chmod(SAVE_AS_DIRECTORY, 0707);
--------------------------수정내용1끝-------------------------------
--------------------------원본내용2 --------------------------------
define('SAVE_AS_URL',"http://path/to/cheditor/attach/");
--------------------------원본내용2 끝------------------------------
define('SAVE_AS_URL',"http://path/to/cheditor/attach/");
--------------------------원본내용2 끝------------------------------
--------------------------수정내용2 --------------------------------
define('SAVE_AS_URL', "$g4[path]/data/$g4[editor]/$ym/");
--------------------------수정내용2 끝------------------------------
define('SAVE_AS_URL', "$g4[path]/data/$g4[editor]/$ym/");
--------------------------수정내용2 끝------------------------------
4.이전에 제가 쓰던 버전이 3.1인가 였는데 4.0에서는 cheditor.js파일에 여러가지 설정을 할수 있도록 변수설정하는 곳이 있답니다. 저같은경우 게시판 width값이 680이고 보통의 이미지가 640으로 들어가기에 /gnuboard4_root/cheditor/cheditor.js 파일의 112줄 imgMaxWidth : 640으로 주었고, imgReSize : true로 값을 변경해주었습니다. 여기까지 수정내용입니다. 적용하는것 까지만 들어가 있으니 어떻게 적용할지 모르시는 분들을 위해 팁란에 올려봅니다. 4.0으로 버전이 업되면서 각 기능창이 좀더 빠르고 다중파일 업로드가 되는게 참 좋은것 같습니다. 아래 내용은 cheditor 4.0배포시에 제작자분게서 포럼글에 올려놓은 글입니다.
--------------------------배포 원문 ---------------------------------
안녕하세요? 나창호입니다. 4.0 버전은 IE6.x, IE7, 파이어폭스, 네스케이프, 오페라 상에서 개발하였습니다. 비스타 상에서도 문제가 없도록 하였습니다. 파이어폭스, 네스케이프와 같은 브라우저에서도 모드 기능을 동일하게 사용할 수 있도록 하였습니다. XHTML 상에서도 문제가 없도록 하였습니다. 모든 코드는 w3c 표준안을 따르도록 하였습니다. 업그레이드한 4.0 버전에 대한 옵션 설정입니다. 기존 버전과 많이 다르기 때문에 참고하여 주십시오.
안녕하세요? 나창호입니다. 4.0 버전은 IE6.x, IE7, 파이어폭스, 네스케이프, 오페라 상에서 개발하였습니다. 비스타 상에서도 문제가 없도록 하였습니다. 파이어폭스, 네스케이프와 같은 브라우저에서도 모드 기능을 동일하게 사용할 수 있도록 하였습니다. XHTML 상에서도 문제가 없도록 하였습니다. 모든 코드는 w3c 표준안을 따르도록 하였습니다. 업그레이드한 4.0 버전에 대한 옵션 설정입니다. 기존 버전과 많이 다르기 때문에 참고하여 주십시오.
<SCRIPT-x language=javascript-x src="cheditor.js" type=text/javascript-x></SCRIPT-x>
<SCRIPT-x language=javascript-x type=text/javascript-x>var myeditor = new cheditor("myeditor");myeditor.config.editorHeight = '300px';myeditor.config.editorWidth = '100%';myeditor.run();</SCRIPT-x>
config: - editorWidth : 에디터 가로 폭
- eidtorHeight : 에디터 세로 폴
- editorFontSize : 에디터 초기 글꼴 크기
- editorFontFace : 에디터 초기 글꼴
- editorBorder : 에디터 테두리 (ex: '1px solid #ccc')
- tabIndex : 에디터 편집영역 tabindex 값 (다른 입력 폼에서 tab키를 이용하여 focus를 줄 수 있습니다.)
- editorBgcolor : 에디터 편집 영역 배경색
- editorPath : 에디터 설치 경로
- popupAutoKill : 풀다운 박스가 활성화된 후 마우스 커서가 영역에서 벗어나면 자동으로 박스를 없샙니다. ([true|false], 기본값 true)
- showTagPath : 에디터 화면 아래에 태그 상태 창을 보입니다. ([true|false], 기본값 true)
- toolBarSplit : 툴바를 2줄로 만듭니다. false이면 1줄로 만듭니다. 화면 폭에 따라 자동으로 조정됩니다.
- useSource : HTML 코드를 편집할 수 있도록 체크박스를 표시합니다. ([true|false], 기본값 true)
- usePreview : 미리보기 체크박스를 표시합니다. ([true|false], 기본값 true) 함수:
- outputHTML() : 전체 문서를 가져옵니다.
- outputBodyHTML() : body 안쪽의 내용만 가져옵니다.
- outputBodyText() : body 안쪽의 html 태그를 제외한 순수 text만 가져옵니다.
- inputLength() : 입력한 문자 길이를 리턴합니다. 한글은 2로 계산합니다.
- contentsLengthAll() : 문서의 전체 길이를 리턴합니다.
- plainMode() : 현재 작성중인 에디터를 textarea로 변환합니다. 이때 모든 html 태그는 제외하고 순수한 text만을 나타냅니다. (textarea.html 예제파일 참고.)
- htmlMode() : plainMode()에서 에디터로 다시 변환합니다. (textarea.html 예제파일 참고.) 이미지 업로드:
- insert_image.php 파일의 설정은 이전 버전과 동일합니다. 현재는 업로드한 이미지에 대한 정보를 기존 버전처럼 얻을 수 없습니다. 이미지에 대한 관리 함수는 새롭게 작성하여 편리하게 관리될 수 있도록 하겠습니다. 사용중 문제점이나 개선 사항이 있으시면 글을 남겨 주십시오. 감사합니다.
---------------------------배포 원문 끝------------------------------
<SCRIPT-x language=javascript-x type=text/javascript-x>var myeditor = new cheditor("myeditor");myeditor.config.editorHeight = '300px';myeditor.config.editorWidth = '100%';myeditor.run();</SCRIPT-x>
config: - editorWidth : 에디터 가로 폭
- eidtorHeight : 에디터 세로 폴
- editorFontSize : 에디터 초기 글꼴 크기
- editorFontFace : 에디터 초기 글꼴
- editorBorder : 에디터 테두리 (ex: '1px solid #ccc')
- tabIndex : 에디터 편집영역 tabindex 값 (다른 입력 폼에서 tab키를 이용하여 focus를 줄 수 있습니다.)
- editorBgcolor : 에디터 편집 영역 배경색
- editorPath : 에디터 설치 경로
- popupAutoKill : 풀다운 박스가 활성화된 후 마우스 커서가 영역에서 벗어나면 자동으로 박스를 없샙니다. ([true|false], 기본값 true)
- showTagPath : 에디터 화면 아래에 태그 상태 창을 보입니다. ([true|false], 기본값 true)
- toolBarSplit : 툴바를 2줄로 만듭니다. false이면 1줄로 만듭니다. 화면 폭에 따라 자동으로 조정됩니다.
- useSource : HTML 코드를 편집할 수 있도록 체크박스를 표시합니다. ([true|false], 기본값 true)
- usePreview : 미리보기 체크박스를 표시합니다. ([true|false], 기본값 true) 함수:
- outputHTML() : 전체 문서를 가져옵니다.
- outputBodyHTML() : body 안쪽의 내용만 가져옵니다.
- outputBodyText() : body 안쪽의 html 태그를 제외한 순수 text만 가져옵니다.
- inputLength() : 입력한 문자 길이를 리턴합니다. 한글은 2로 계산합니다.
- contentsLengthAll() : 문서의 전체 길이를 리턴합니다.
- plainMode() : 현재 작성중인 에디터를 textarea로 변환합니다. 이때 모든 html 태그는 제외하고 순수한 text만을 나타냅니다. (textarea.html 예제파일 참고.)
- htmlMode() : plainMode()에서 에디터로 다시 변환합니다. (textarea.html 예제파일 참고.) 이미지 업로드:
- insert_image.php 파일의 설정은 이전 버전과 동일합니다. 현재는 업로드한 이미지에 대한 정보를 기존 버전처럼 얻을 수 없습니다. 이미지에 대한 관리 함수는 새롭게 작성하여 편리하게 관리될 수 있도록 하겠습니다. 사용중 문제점이나 개선 사항이 있으시면 글을 남겨 주십시오. 감사합니다.
---------------------------배포 원문 끝------------------------------
추천
0
0
댓글 16개
감사합니다. 엄두가 안나서 적용을 못했었는데... 4.1이 곧 나오면 그때 해봐야 겠네요

저도 첨에 그랬는데 막상 하다보니 수정할곳이 별로 없더라구요..^^;;
3.1 사용시에 외부 사이트 긁어서 집어 넣을때 tbody가 들어가 문제가 많았는데
4.0에는 어떨지 모르겠습니다.
3.1 사용시에 외부 사이트 긁어서 집어 넣을때 tbody가 들어가 문제가 많았는데
4.0에는 어떨지 모르겠습니다.
테스트를 해보니까 그림을 삽입 할 때... 그림 미리보기가 동작을 안해요. -..-

그림은 올라가나요? 그림올라가는지 확인해보세요..^^
저도 처음에 그랬답니다.
위에 테스트 url에서는 그림 올리기가 잘 동작합니다..
저도 처음에 그랬답니다.
위에 테스트 url에서는 그림 올리기가 잘 동작합니다..
그림은 잘 올라가요. 그런데... 그림이 미리보기가 안될 뿐이네요 -..-ㅁ
상용으로 여러개를 구매했는데... 4.1 나오면 보려구 미루고 있었거든요
상용으로 여러개를 구매했는데... 4.1 나오면 보려구 미루고 있었거든요

좋습니다. ^^
라이센스가 3만원이군요...
좀 비싼것 같은데 cheditor 4.0 이 다른것보다 가벼운지 궁금합니다
좀 비싼것 같은데 cheditor 4.0 이 다른것보다 가벼운지 궁금합니다
재배포 라이센스 가지고 있는대 스킨 만들어서 배포하면 라이센스에 문제 없겠죠?
재배포 라이센스 자체가 제가 만든건 얼마든지 배포 가능한거닌깐?
재배포 라이센스 자체가 제가 만든건 얼마든지 배포 가능한거닌깐?

무조건 상관없어요 ^^ 하면 좋겠는데...
배포해주시면 감사^^
배포해주시면 감사^^
감사합니다^^
냐하... 좋네요. 저도 빨리 구입해서 적용해봐야겠습니다.
재배포 해주심이.... ^^;;

cheditor 는 상용 프로그램입니다.
근데요, 재배포 라이센스 구입을 했을 경우,
라이센스 대상의 프로그램이 아닌,
2차 저작물로 변경을 한 상태에서 배포하는건 법적으로 전혀 문제 없는거 아닌가요?
불법으로 배포하란 것도 아닌데,
답이 참.... 오해하기 쉽상이네요....
라이센스 대상의 프로그램이 아닌,
2차 저작물로 변경을 한 상태에서 배포하는건 법적으로 전혀 문제 없는거 아닌가요?
불법으로 배포하란 것도 아닌데,
답이 참.... 오해하기 쉽상이네요....
^^; 넝담이었고요,
저도 지금 구입해서 붙이고 있답니다..... ㅎㅎㅎ
근데, 경로에 문제가 생겨서,,, 무지 버벅거리고 있네요... 쩝
문제는 insert_image.php에서
$ym = date("ym", $g4[server_time]);
define('save_as_directory', "$g4[path]/data/$g4[editor]/$ym/");
@mkdir(save_as_directory, 0707);
@chmod(save_as_directory, 0707);
define('SAVE_AS_URL', "$g4[path]/data/$g4[editor]/$ym/");
그 외 나머지 부분도 다 처리 해 줬음에도 불구하고,,,,
'그림넣기' 기능으로 이미지를 삽입할때, 경로가 정상으로 안나오는 현상이 있네요...
~~root~~/gnu/data//7001/6__051_d.jpg 로 나오네요...
결론은,,, 현재까진 $g4[editor] 랑 $ym 이 정상적으로 나오지 않는다는거네요...
어찌할지.... 지금 심각하게 게시판 뒤지는중... T^T
저도 지금 구입해서 붙이고 있답니다..... ㅎㅎㅎ
근데, 경로에 문제가 생겨서,,, 무지 버벅거리고 있네요... 쩝
문제는 insert_image.php에서
$ym = date("ym", $g4[server_time]);
define('save_as_directory', "$g4[path]/data/$g4[editor]/$ym/");
@mkdir(save_as_directory, 0707);
@chmod(save_as_directory, 0707);
define('SAVE_AS_URL', "$g4[path]/data/$g4[editor]/$ym/");
그 외 나머지 부분도 다 처리 해 줬음에도 불구하고,,,,
'그림넣기' 기능으로 이미지를 삽입할때, 경로가 정상으로 안나오는 현상이 있네요...
~~root~~/gnu/data//7001/6__051_d.jpg 로 나오네요...
결론은,,, 현재까진 $g4[editor] 랑 $ym 이 정상적으로 나오지 않는다는거네요...
어찌할지.... 지금 심각하게 게시판 뒤지는중... T^T
ㅠ..ㅠa 저도 지금 테스트 중인데 그림삽입이 안되네요. 왜...??? 과거 버젼과 비교를 해서 그 이유를 찾았습니다.
/gnuboard4_root/cheditor/insert_image.php 의 맨 앞부분에 아래 코드를 추가해야 합니다. 안그러면 그림삽입 안되요
include_once("./_common.php");
* lightbox를 적용하기 위해서는 view.skin.php를 수정해야 할 것 같네요. 그부분은 나중에 시간이 나면.... ㅠ..ㅠ
/gnuboard4_root/cheditor/insert_image.php 의 맨 앞부분에 아래 코드를 추가해야 합니다. 안그러면 그림삽입 안되요
include_once("./_common.php");
* lightbox를 적용하기 위해서는 view.skin.php를 수정해야 할 것 같네요. 그부분은 나중에 시간이 나면.... ㅠ..ㅠ