태터 1.0 Classic에 미니위니 비쥬얼에디터 붙이기
태터툴즈 1.0 Classic 기준입니다. 0.93 이하는 이쪽을 참고해주시고 그 외의 버전은 검색사이트를 찾아보셔야 합니다;;
주의 : 이 방법대로 에디터를 붙이게 되면 태터 0.94부터 추가된 현재 커서위치에 그림파일 넣기, 태그넣기 등이 동작하지 않습니다. 0.93 처럼 무조건 태그는 선택영역을 만들어야 적용되고 그림파일 삽입 등은 무조건 문서에 맨 끝에 붙게됩니다.
1. 비쥬얼에디터 다운로드
미니위니 에디터는 EUC-KR 인코딩으로 작성돼있기 때문에 모두 UTF-8 인코딩으로 변경해줘야 합니다. 아래 via crizin.net 링크를 눌러 다운로드 하면 UTF-8로 변경된 파일을 받을 수 있습니다.
via 미니위니 / via crizin.net (utf-8)
2. 다운받은 파일을 태터툴즈가 설치된 폴더 (이하 /tt) 아래 admin 폴더 밑에 집어넣는다.
3. miniwini.visualEditor.conf.php 파일중 아래 표시된 부분만 따라서 수정한다.
"formName" => "article_edit",
"textareaName" => "body",
"defaultContent" => trim(str_replace(""","\"", str_replace("'","'",$body))),
"width" => 423,
"overflow" => "auto",
"styleWYSIWYG" => "background-color:white;text-align:left;padding:5px;border:1px solid #cdcdcd;width:100%;word-break:break-all",
"textareaName" => "body",
"defaultContent" => trim(str_replace(""","\"", str_replace("'","'",$body))),
"width" => 423,
"overflow" => "auto",
"styleWYSIWYG" => "background-color:white;text-align:left;padding:5px;border:1px solid #cdcdcd;width:100%;word-break:break-all",
3-1. miniwini.visualEditor.conf.php 파일 맨 끝에 아래의 한줄을 추가한다
<meta http-equiv="content-type" content="text/html; charset=utf-8">
4. /tt/admin/miniwini.visualEditor.js 파일을 수정한다.
아래의 문장을 찾아
바로 뒤에 아래의 문장을 추가한다.
var o1 = document.getElementById(g_sVisualEditor);
var o2 = document.getElementById(g_sVisualEditor+"_code");
var o2 = document.getElementById(g_sVisualEditor+"_code");
바로 뒤에 아래의 문장을 추가한다.
o1.style.width = "423px";
o2.style.width = "423px";
o2.style.width = "423px";
5. /tt/admin/article_edit.php 파일을 수정한다.
450번째줄의 아래 문장을, (450번째 줄은 수정하지 않습니다. 이미 수정하신분들의 원상복구를 위해 남겨놓습니다.)
350번째줄의 이 부분을 찾아,
<textarea name="body" rows="18" cols="62" onselect="save_pos(this)" onclick="save_pos(this)" onkeyup="save_pos(this)" style="width:423; margin:5px 0 0 18px;"><?=str_replace("&", "&", trim(set_body($body)))?></textarea><br>
이렇게 고친다
<div style="text-align: center; margin: 5px 0px 5px 1px; overflow: auto"><textarea name="body" rows="18" cols="62" onselect="save_pos(this)" onclick="save_pos(this)" onkeyup="save_pos(this)" style="width:423; margin:5px 0 0 18px;"><?=str_replace("&", "&", trim(set_body($body)))?></textarea></div>
<? include(dirname(__FILE__)."/miniwini.visualEditor.php"); ?>
<? include(dirname(__FILE__)."/miniwini.visualEditor.php"); ?>
키워드 수정 화면(/tt/admin/keyword_edit.php)도 위와 같은 방법으로 수정해준다.
각각 195, 135번째줄.
각각 195, 135번째줄.
6. /tt/lib.js 파일을 수정한다.
440번째줄의 set_tag_support(obj, prefix, postfix) { ... } 부분을 아래의 내용으로 교체
237번째줄부터 나오는 to_article_1l, to_article_1c, to_article_1r, to_article_2c, to_article_3c, to_article_free, to_article_slide 총 7개의 함수 끝쪽의
이부분을 아래처럼 수정한다
마지막으로 아래의 함수를 파일 끝에 추가한다. (--> 앞쪽에 넣을 것)
function set_tag_support(obj, prefix, postfix) {
if( obj.style.display == "none" )
{
var oRng = document.selection.createRange();
if( oRng.text == "" )
alert('\n본문에서 태그를 추가할 영역을 선택해 주세요.\t\n\n(마우스 드래그 또는 shift + 방향키)');
else
oRng.pasteHTML(prefix + oRng.htmlText + postfix);
}
else
alert("소스보기 상태에서는 태그를 넣을 수 없어요 >.<");
}
if( obj.style.display == "none" )
{
var oRng = document.selection.createRange();
if( oRng.text == "" )
alert('\n본문에서 태그를 추가할 영역을 선택해 주세요.\t\n\n(마우스 드래그 또는 shift + 방향키)');
else
oRng.pasteHTML(prefix + oRng.htmlText + postfix);
}
else
alert("소스보기 상태에서는 태그를 넣을 수 없어요 >.<");
}
237번째줄부터 나오는 to_article_1l, to_article_1c, to_article_1r, to_article_2c, to_article_3c, to_article_free, to_article_slide 총 7개의 함수 끝쪽의
set_tag_support(obj2, buffer, '');
이부분을 아래처럼 수정한다
document.getElementById("iView").innerHTML += "<br>" + buffer;
마지막으로 아래의 함수를 파일 끝에 추가한다. (--> 앞쪽에 넣을 것)
function playMultimediaFile(sUri,obj)
{
var nPlayState = obj.getAttribute("isPlaying");
if( nPlayState == 0 )
{
var el = obj.previousSibling;
while (el.tagName != "A")
el = el.previousSibling;
try
{
el.insertAdjacentHTML("beforeBegin", "<EMBED autostart=true src='" + sUri + "'><br>");
obj.setAttribute("isPlaying", 1);
}
catch(e)
{
var oMedia = document.createElement("EMBED");
oMedia.style.display = "block";
oMedia.src = sUri;
oMedia.autostart = true;
obj.parentNode.appendChild(oMedia);
}
obj.setAttribute("isPlaying", 1);
}
else
alert("이미 재생중입니다");
}
{
var nPlayState = obj.getAttribute("isPlaying");
if( nPlayState == 0 )
{
var el = obj.previousSibling;
while (el.tagName != "A")
el = el.previousSibling;
try
{
el.insertAdjacentHTML("beforeBegin", "<EMBED autostart=true src='" + sUri + "'><br>");
obj.setAttribute("isPlaying", 1);
}
catch(e)
{
var oMedia = document.createElement("EMBED");
oMedia.style.display = "block";
oMedia.src = sUri;
oMedia.autostart = true;
obj.parentNode.appendChild(oMedia);
}
obj.setAttribute("isPlaying", 1);
}
else
alert("이미 재생중입니다");
}
6-1. /admin/attach_image_pop.php 파일을 수정한다.
43번째줄의 아래 문장을,
아래처럼 바꾼다
set_tag_support(opener.form.body, '<?=addslashes(put_script($buffer))?>', '');
아래처럼 바꾼다
opener.document.getElementById("iView").innerHTML += "<br><?=addslashes(put_script($buffer))?>"
7. index.php 파일을 수정한다. (index.php 파일은 수정하지 않습니다. 이미 수정하신분들의 원상복구를 위해 남겨놓습니다.)
7-1. inc_function.php 파일의 222번째줄 nl2brc($str) { ... } 함수를 아래의 내용으로 교체한다
function nl2brc($str) {
return str_replace("[HTML]", "", str_replace("[/HTML]", "", $str));
}
return str_replace("[HTML]", "", str_replace("[/HTML]", "", $str));
}
8. 사용하고 있는 스킨 파일의 skin.html 파일 <head></head> 사이에 아래의 문장을 추가한다.
<link rel="StyleSheet" href="admin/miniwini.visualEditor.css">
9. 아래의 SQL을 실행해서 입력돼있는 게시물의 줄바꿈문자를 <br />로 모두 바꿔준다. (기존에 태터 기본 에디터를 써오다 비쥬얼에디터를 처음 설치하는 경우에만 실행하면 됨)
주의1 : 비쥬얼에디터로 작성된 글에는 이 쿼리가 적용되면 안되고 태터 기본 에디터로 작성된 글에만 적용돼야 하니 비쥬얼에디터를 처음 설치하는 경우에만 실행해야 됨.
주의2 : 이 쿼리를 실행하면 [HTML][/HTML] 태그로 묶여있는 부분은 제대로 출력되지 않는다. 이럴땐 [HTML][/HTML] 태그를 제거해주면 제대로 출력 된다.
주의2 : 이 쿼리를 실행하면 [HTML][/HTML] 태그로 묶여있는 부분은 제대로 출력되지 않는다. 이럴땐 [HTML][/HTML] 태그를 제거해주면 제대로 출력 된다.
UPDATE t3_tts_10ofmg SET body=replace(body, '\r\n', '<br />');
UPDATE t3_tts_10ofmg_keyword SET body=replace(body, '\r\n', '<br />');
실행이 어려우신 분들은 아래 nl2br.php 파일을 태터툴즈가 설치된 디렉토리에 업로드 해서 실행해주시면 됩니다.
'컴퓨터 얘기 > 프로그래밍' 카테고리의 다른 글
| 태터툴즈 고쳐쓰기 #8 - nofollow, whois 연결 (4) | 2005/01/21 |
|---|---|
| 태터툴즈 고쳐쓰기 #7 - 글쓰기 화면 넓게 쓰기 (2) | 2005/01/04 |
| 태터 1.0 Classic에 미니위니 비쥬얼에디터 붙이기 (85) | 2005/01/01 |
| 태터툴즈 고쳐쓰기 #6 - RSS리더에서 네이버 이미지 보기 (12) | 2004/11/18 |
| 블로그에서 푸시푸시를..; (3) | 2004/10/22 |
| HTTP 접속하는 PHP 클래스 (6) | 2004/10/14 |
태그 : 태터툴즈
nl2br.php