권한에 따라 에디터와 일반 글쓰기 동시 사용하기 정보
권한에 따라 에디터와 일반 글쓰기 동시 사용하기
첨부파일
본문
게시판 설정에서 html사용권한 이라는 부분이 있습니다
이름 그대로 설정 권한 이상이여야만 html태그를 쓸 수 있게 하는 기능이죠.
이 기능을 이용하면 일반 글쓰기폼과 cheditor 글쓰기폼 둘 다 사용할 수 있습니다만
기본 cheditor스킨에서는 이건 무시하고 무조건 cheditor를 돌리도록 되어있죠.
스킨을 수정하면 간단합니다.
05년 7월 30일자로 다운받을 수 있는 그누4 최신버젼에 들어있는 기본 cheditor 스킨을 예로 설명합니다.
수정해야될 파일은 write.skin.php 입니다
맨 위
include_once("$g4[path]/lib/cheditor.lib.php");
if ($w == 'r') $content = '';
부분을
if ($is_html) {
include_once("$g4[path]/lib/cheditor.lib.php");
if ($w == 'r') $content = '';
}
로 수정
--------------------------------------------------------------------------------------------------
<script src="<?=$g4[editor_path]?>/cheditor.js"></script>
<?=cheditor1('wr_content', $write[wr_content]);?>
부분을
<? if ($is_html) { ?>
<script src="<?=$g4[editor_path]?>/cheditor.js"></script>
<?=cheditor1('wr_content', $write[wr_content]);?>
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
<?/* if ($is_html) { ?><INPUT onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>HTML</span> <? } */?>
<input type='hidden' name='html' value='html1'>
부분을
<? if (!$is_html) { ?><INPUT onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>HTML</span> <? } else { ?>
<input type='hidden' name='html' value='html1'>
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
<tr>
<td style='padding-left:20px; height:30px;'>· 제목</td>
<td><input class=ed style="width:100%;" name=wr_subject itemname="제목" required value="<?=$subject?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
부분 바로 아래 다음을 추가
<? if(!$is_html) { ?>
<tr>
<td style='padding-left:20px; height:30px;'></td>
<td>
<table border=0 cellpadding=0 cellspacing=0 width=95%>
<tr>
<td><span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span></td>
<td align=right><? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?></td>
</tr>
</table>
</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
--------------------------------------------------------------------------------------------------
<?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
부분을
<? if($is_html) { ?>
<?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
<? } else { ?>
<textarea id=wr_content name=wr_content class='tx' style='word-break:break-all;width:95%' rows=20 itemname="내용" required
<? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
<? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><? } ?>
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
if (char_min > 0 || char_max > 0)
{
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt)
{
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
return;
} else if (char_max > 0 && char_max < cnt)
{
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return;
}
}
부분을
<? if(!$is_html) { ?>
if (char_min > 0 || char_max > 0)
{
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt)
{
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
return;
} else if (char_max > 0 && char_max < cnt)
{
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return;
}
}
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
<?=cheditor3('wr_content');?>
부분을
<? if ($is_html) echo cheditor3('wr_content'); ?>
로 수정
--------------------------------------------------------------------------------------------------
원리는 간단합니다.
두 글쓰기폼을 동시에 두고 html사용권한에 따라 두 부분중 선택 적용 하는것이죠.
이렇게 바꿀 경우 예를들어 html권한을 2로 하면 비회원은 일반글쓰기폼
회원은 cheditor 글쓰기폼을 사용할 수 있습니다
기존처럼 모두에게 에디터를 쓰게 한다면 html권한 1로 놓으면 되겠고
관리자를 제한 모두에게 텍스트모드만 쓰게 한다면 html권한 10으로 하면 되겠죠?
*위 내용대로 수정된 파일 첨부합니다.
이름 그대로 설정 권한 이상이여야만 html태그를 쓸 수 있게 하는 기능이죠.
이 기능을 이용하면 일반 글쓰기폼과 cheditor 글쓰기폼 둘 다 사용할 수 있습니다만
기본 cheditor스킨에서는 이건 무시하고 무조건 cheditor를 돌리도록 되어있죠.
스킨을 수정하면 간단합니다.
05년 7월 30일자로 다운받을 수 있는 그누4 최신버젼에 들어있는 기본 cheditor 스킨을 예로 설명합니다.
수정해야될 파일은 write.skin.php 입니다
맨 위
include_once("$g4[path]/lib/cheditor.lib.php");
if ($w == 'r') $content = '';
부분을
if ($is_html) {
include_once("$g4[path]/lib/cheditor.lib.php");
if ($w == 'r') $content = '';
}
로 수정
--------------------------------------------------------------------------------------------------
<script src="<?=$g4[editor_path]?>/cheditor.js"></script>
<?=cheditor1('wr_content', $write[wr_content]);?>
부분을
<? if ($is_html) { ?>
<script src="<?=$g4[editor_path]?>/cheditor.js"></script>
<?=cheditor1('wr_content', $write[wr_content]);?>
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
<?/* if ($is_html) { ?><INPUT onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>HTML</span> <? } */?>
<input type='hidden' name='html' value='html1'>
부분을
<? if (!$is_html) { ?><INPUT onclick="html_auto_br(this);" type=checkbox value="<?=$html_value?>" name="html" <?=$html_checked?>><span class=w_title>HTML</span> <? } else { ?>
<input type='hidden' name='html' value='html1'>
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
<tr>
<td style='padding-left:20px; height:30px;'>· 제목</td>
<td><input class=ed style="width:100%;" name=wr_subject itemname="제목" required value="<?=$subject?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
부분 바로 아래 다음을 추가
<? if(!$is_html) { ?>
<tr>
<td style='padding-left:20px; height:30px;'></td>
<td>
<table border=0 cellpadding=0 cellspacing=0 width=95%>
<tr>
<td><span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 10);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 10);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 10);"><img src="<?=$board_skin_path?>/img/down.gif"></span></td>
<td align=right><? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?></td>
</tr>
</table>
</td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
--------------------------------------------------------------------------------------------------
<?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
부분을
<? if($is_html) { ?>
<?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
<? } else { ?>
<textarea id=wr_content name=wr_content class='tx' style='word-break:break-all;width:95%' rows=20 itemname="내용" required
<? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
<? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><? } ?>
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
if (char_min > 0 || char_max > 0)
{
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt)
{
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
return;
} else if (char_max > 0 && char_max < cnt)
{
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return;
}
}
부분을
<? if(!$is_html) { ?>
if (char_min > 0 || char_max > 0)
{
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt)
{
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
return;
} else if (char_max > 0 && char_max < cnt)
{
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return;
}
}
<? } ?>
로 수정
--------------------------------------------------------------------------------------------------
<?=cheditor3('wr_content');?>
부분을
<? if ($is_html) echo cheditor3('wr_content'); ?>
로 수정
--------------------------------------------------------------------------------------------------
원리는 간단합니다.
두 글쓰기폼을 동시에 두고 html사용권한에 따라 두 부분중 선택 적용 하는것이죠.
이렇게 바꿀 경우 예를들어 html권한을 2로 하면 비회원은 일반글쓰기폼
회원은 cheditor 글쓰기폼을 사용할 수 있습니다
기존처럼 모두에게 에디터를 쓰게 한다면 html권한 1로 놓으면 되겠고
관리자를 제한 모두에게 텍스트모드만 쓰게 한다면 html권한 10으로 하면 되겠죠?
*위 내용대로 수정된 파일 첨부합니다.
추천
0
0
댓글 9개
test
teset
teset
이거 저는 처음에 흥분해서 팁을 바로 적용했다가 제가 원하는 것이 아니라는 것을 알고 뒤늦게 실망했지요. 제가 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것이 아니라 누구나 에디터든 일반 글쓰기든지 선택할 수 있는 자유선택권을 갖는 겁니다.
'고냉이'님께서 서두에 밝히셨는데, 읽어보지 않으셨던가요?
> 게시판 설정에서 html사용권한 이라는 부분이 있습니다
> 이름 그대로 설정 권한 이상이여야만 html태그를 쓸 수 있게 하는 기능이죠.
> 이 기능을 이용하면 일반 글쓰기폼과 cheditor 글쓰기폼 둘 다 사용할 수 있습니다만
> 기본 cheditor스킨에서는 이건 무시하고 무조건 cheditor를 돌리도록 되어있죠
즉, 권한(회원레벨에 의해 제어되는)에 따른 선택적 입력폼을 사용하는 팁입니다.
> 이거 저는 처음에 흥분해서 팁을 바로 적용했다가 제가 원하는 것이 아니라는 것을 알고 뒤늦게 실망했지요. 제가 > 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것이 아니라 누구나 에디터든 일반 글쓰기든지 > 선택할 수 있는 자유선택권을 갖는 겁니다. 이거 저는 처음에 흥분해서 팁을 바로 적용했다가 제가 원하는 것이 아> 니라는 것을 알고 뒤늦게 실망했지요. 제가 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것> 이 아니라 누구나 에디터든 일반 글쓰기든지 선택할 수 있는 자유선택권을 갖는 겁니다.
이 부분과는 전혀 의미가 다른 내용이군요.
'고냉이'님 게시물에는 그 어떤 부분에도 직전에 상기한 바와 같은 내용은
언급되지 않았습니다.
> 제가 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것이 아니라 누구나 에디터든 일반 글쓰기> 든지 선택할 수 있는 자유선택권을 갖는 겁니다.
>> 기존 gnu3.xx 버전에서 이미 배포된 스킨이 있습니다.
>> 찾아보시고 그런 말씀을 하시기 바랍니다.
>> 혹시라도 찾아보셨는데, 그런 자료를 'g4로 컨버팅 할 수 없겠는가?!'라는 질문내용이
>> 원하는 내용에 좀 더 직접적으로 접근할 수 있는 부분이라고 보여집니다만...
> 게시판 설정에서 html사용권한 이라는 부분이 있습니다
> 이름 그대로 설정 권한 이상이여야만 html태그를 쓸 수 있게 하는 기능이죠.
> 이 기능을 이용하면 일반 글쓰기폼과 cheditor 글쓰기폼 둘 다 사용할 수 있습니다만
> 기본 cheditor스킨에서는 이건 무시하고 무조건 cheditor를 돌리도록 되어있죠
즉, 권한(회원레벨에 의해 제어되는)에 따른 선택적 입력폼을 사용하는 팁입니다.
> 이거 저는 처음에 흥분해서 팁을 바로 적용했다가 제가 원하는 것이 아니라는 것을 알고 뒤늦게 실망했지요. 제가 > 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것이 아니라 누구나 에디터든 일반 글쓰기든지 > 선택할 수 있는 자유선택권을 갖는 겁니다. 이거 저는 처음에 흥분해서 팁을 바로 적용했다가 제가 원하는 것이 아> 니라는 것을 알고 뒤늦게 실망했지요. 제가 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것> 이 아니라 누구나 에디터든 일반 글쓰기든지 선택할 수 있는 자유선택권을 갖는 겁니다.
이 부분과는 전혀 의미가 다른 내용이군요.
'고냉이'님 게시물에는 그 어떤 부분에도 직전에 상기한 바와 같은 내용은
언급되지 않았습니다.
> 제가 원하는 것은 회원등급에 따라 에디터와 일반 글쓰기가 나누어지는 것이 아니라 누구나 에디터든 일반 글쓰기> 든지 선택할 수 있는 자유선택권을 갖는 겁니다.
>> 기존 gnu3.xx 버전에서 이미 배포된 스킨이 있습니다.
>> 찾아보시고 그런 말씀을 하시기 바랍니다.
>> 혹시라도 찾아보셨는데, 그런 자료를 'g4로 컨버팅 할 수 없겠는가?!'라는 질문내용이
>> 원하는 내용에 좀 더 직접적으로 접근할 수 있는 부분이라고 보여집니다만...

나스카님께서 부연설명을 잘 해주셨네요
두 폼을 선택적으로 쓰려면 글쓰기 버튼 하나 더 맹글고 버튼에서 변수 하나를 맹글어 넘겨 주면 간단하게 될것같으니 그다지 어렵지는 않습니다.
내일쯤 팁 올려 드릴게요(친절한 고냉씨 ? ㅎㅎ)
두 폼을 선택적으로 쓰려면 글쓰기 버튼 하나 더 맹글고 버튼에서 변수 하나를 맹글어 넘겨 주면 간단하게 될것같으니 그다지 어렵지는 않습니다.
내일쯤 팁 올려 드릴게요(친절한 고냉씨 ? ㅎㅎ)
팁
권한에 따라 에디터와 일반 글쓰기 동시 사용하기
고맙습니다 ^^
ㄳㄳ
감사합니다 ^^