스마트 에디터와 지업로더 같이 쓰기 > 그누4 팁자료실

그누4 팁자료실

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

스마트 에디터와 지업로더 같이 쓰기 정보

스마트 에디터와 지업로더 같이 쓰기

첨부파일

guploader.zip (258.6K) 146회 다운로드 2011-04-30 15:00:20

본문

링크1에서 테스트해보세요.
 
[스마트 에디터 설치]
스마트 에디터 적용은 쿠츠님의 팁을 보세요.
 
 
[지업로더 설치]
첨부파일 압축을 풀면 guploader 폴더가 나옵니다. 이것을 그누보드 설치 루트에 올려주세요.
bbs, data, extend... 폴더가 위치한 곳에 guploader폴더가 있으면 됩니다.
utf-8로 인코딩되어 있습니다.
 
 
[스킨 수정]
고난의 시작 스킨 수정입니다. (기본 스킨을 기준으로 설명합니다.)
수정할 스킨 파일은 write.skin.php, write_update.skin.php, view.skin.php 3개 입니다.
 
1. write.skin.php
글쓰기 화면에서 지업로더창을 띄워줍니다.
<기존소스>-----------------------------------------------------------------
<? if ($is_file) { ?>
<tr>
<td class=write_head>
<table cellpadding=0 cellspacing=0>
<tr>
<td class=write_head style="padding-top:10px; line-height:20px;">
파일첨부<br>
....중략...
<? } ?>
---------------------------------------------------------------------------
*<? if ($is_trackback) { ?>전까지 입니다.
 
<수정소스>-----------------------------------------------------------------
<!-- 지업로더 추가;김철호071116 -->
<? if ($is_file) { ?>
<tr>
<td class=write_head>파일</td>
<td>
<script language=javascript src="<?=$g4[path]?>/guploader/guploader.js"></script>
<script language=javascript>
var uploader = new guploader('uploader');
uploader.set_path("<?=$g4[path]?>/guploader");
// 업로드 실행파일 경로
uploader.set_file_action("<?=$g4[path]?>/guploader/file_upload.php?mb_id=<?=$member[mb_id]?>&wr_id=<?=$wr_id?>&bo_table=<?=$bo_table?>");
// 업로드 경로
uploader.set_file_path("<?=$g4[path]?>/data/file/<?=$bo_table?>");
// 업로드 완료 후 실행할 함수
uploader.set_after_upload("uploader.after_upload");
// 업로드 완료 후 실행할 함수의 인수
uploader.set_after_upload_val("mb_id=<?=$member[mb_id]?>&bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>");
// 파일 삭제 함수 정의
uploader.set_delete_file("uploader.delete_file");
// 업로더 실행
uploader.draw_uploader();
</script>
</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<!-- 지업로더 끝;김철호071116-->
---------------------------------------------------------------------------
 
2. write_update.skin.php
글쓰기 버튼 누른 다음 동작을 정의합니다.
글쓰기 버튼을 누르기 전에는 wr_id가 생성되지 않기 때문에 업로드 단계에서는 임시로 wr_id를 발급하고, wrtie_update.skin.php에서 임시 발급된 wr_id를 원래 wr_id로 바꿔줍니다.
 
<추가소스>-----------------------------------------------------------------
<?
header("Content-type: text/html; charset=UTF-8");
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//////////////////////////////////////////////////////////////////////// 지업로더 후처리
if ($w == ''|| $w=="r"){
 $wr_id_code=abs(ip2long($_SERVER['REMOTE_ADDR']));
 if($wr_id_code >= 2147483647)
  $wr_id_code=substr($wr_id_code,-9);
 $sql = " update g4_board_file set wr_id = '$wr_id' where bo_table = '$bo_table' and wr_id = '$wr_id_code'";
 sql_query($sql);
}
?>
---------------------------------------------------------------------------
기본스킨에는 이 파일이 없습니다. 이미 사용중인 스킨이라면 파란색 부분을 추가해주세요.
 
3. view.skin.php
우리는 지업로더로 사진을 본문에 삽입할 것이므로 사진을 본문 상단에 쫙출력해 주는 기능이 필요없습니다.
 
<기존소스>-----------------------------------------------------------------
<?
        // 파일 출력
        for ($i=0; $i<=count($view[file]); $i++) {
            if ($view[file][$i][view])
                echo $view[file][$i][view] . "<p>";
        }
?>
---------------------------------------------------------------------------
위 부분을 지우면 됩니다.
 
 
[본문에 삽입 기능]
지업로더의 guploader.js 파일에서 insert_editor 부분을 보시면 됩니다.
(첨부파일의 지업로더에는 적용되어 있습니다.)
 
<기존소스>-----------------------------------------------------------------
this.insert_editor = function(html) {
geditor_wr_content.get_range(); //content->wt_content로 수정;김철호071116
geditor_wr_content.insert_editor(html); //content->wt_content로 수정;김철호071116
}
---------------------------------------------------------------------------
 
<수정소스>-----------------------------------------------------------------
this.insert_editor = function(html) {
 //스마트 에디터 첨부;김철호110430
 if(oEditors.getById["ir1"])
 {
  oEditors.getById["ir1"].exec("PASTE_HTML", ["<br>"+html]);
 }
 else
 {
   
geditor_wr_content.get_range(); //content->wt_content로 수정;김철호071116
   geditor_wr_content.insert_editor(html); //content->wt_content로 수정;김철호071116
 }
}
---------------------------------------------------------------------------
 
ir1이라는 것은 글쓰기창의 id입니다. 네이버 스마트 에디터 기본 값이 ir1이라고 되어 있더군요.
다른걸로 바꾸셨다면 이 부분도 같이 바꾸면 됩니다.
ir1이 있으면 스마트 에디터 사용으로 인식하며 ir1이 없을 경우 지에디터 모드로 전환 되는 것입니다.
 
스마트 에디터만 사용하실 분이라면
<수정소스>-----------------------------------------------------------------
this.insert_editor = function(html) {
 //스마트 에디터 첨부;김철호110430
 oEditors.getById["ir1"].exec("PASTE_HTML", ["<br>"+html]);
}
---------------------------------------------------------------------------
이렇게만 쓰시면 될것 같습니다.
 
* * *
첨부된 지업로더에 적용된 팁 & 유용팁
지에디터와 지업로더 같이 쓰기 - 김처로
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=13136
 
지업로더 필수 패치 :: 파일정렬 - 낮잠
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=17745
 
배추님 지업로더 플레시 플레이어 10 수정 팁 - 삐꺽삐꺽
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=17955
 
기존 게시판에 지업로더 추가하기 - 김처로
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=18148
 
GUploader(지업로더) - jQuery 버젼 (+통합패치) - 광아
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=25299
 
GUploader(지업로더) - jQuery 버젼 (2011.01.17 오류수정) - 광아
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=25482
 
 
구글 크롬에서 지업로더 사용시 목록 잘리는 문제 해결 - 김처로
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=26152
추천
5
  • 복사

댓글 7개

테스트링크에서 테스트해보니
에디터에삽입 버튼을 눌렀더니 이미지가 안보이더군요. (html 소스를 보니 a 링크만 삽입이 되어있음)
그림을 끌어다가 놓으니 삽입이 되더군요. 하지만 원래크기가 아니네요.
감사합니다!!
지업로더 대충 알고 불편해도 참고 사용하다보니 힘들었는데..
특히 글쓸때... wrid값이 없어서 제대로 안올라갈거라고 생각은 했지만....
스크립트는 거의 모르는 제가...
고쳐볼 염두도 안나고 그냥 글쓰고 수정으로 제대로 글쓰고는 했는데;;;;
굿굿팁이네요!!
© SIRSOFT
현재 페이지 제일 처음으로