miniwini.visualEditor v1.0.0.1 베이직 스킨에 적용하기 정보
기타 miniwini.visualEditor v1.0.0.1 베이직 스킨에 적용하기
첨부파일
본문
복잡하지 않은 이지윅인데 그누하고 상당히 잘 어울리네요.
설치방법입니다.
--------------
1. 압축을 풀고 홈페이지 젤 상위에 복사하세요. 제가 설치한 그림 첨부합니다.
2. miniwini.visualEditor.conf.php 을 수정합니다. 20줄째 줄쯤부터 시작합니다. 보시면서 고치세요
/*수정*/
$visualEditor = array(
// <FORM name="이거">..</FORM> 에서 '이거'
"formName" => "fgbform",
// <FORM...><TEXTAREA name="이거"></TEXTAREA></FORM> 에서 '이거'
"textareaName" => "wr_content",
// "HTML 사용"에 관련된 checkbox의 name
"useHTML" => "w",
// "TEXT 사용"에 관련된 checkbox의 name (미니보드?인가는 HTML 사용이 기본이고 "텍스트 사용"이 옵션이더군요
"useText" => "w",
// "자동 줄바꿈"에 관련된 checkbox의 name
"useAutoBr" => "wr_html",
// 에디터 생성 후 입력 부분에 자동으로 커서가 가게 설정합니다 (TRUE|FALSE)
"autoFocus" => TRUE,
// 게시물 수정 화면일 경우의 기본 내용
"defaultContent" => ($w == "u")?preg_replace("/\n/", "\n", stripslashes($write[wr_content])):"",
/*수정끝*/
3. 미니위니 자바스크립트를 그누와 합쳤습니다. 이쪽이 더 심플하니 좋더군요.
그누보드 javascript.js 파일을 엽니다.
/*추가*/
/*
===============================================================================
* FILENAME : miniwini.visualEditor.js
* VERSION : 0.1.0.1
===============================================================================
* AUTHOR : 위쯔~
* CONTACT : http://miniwini.com
===============================================================================
*/
function toggleVisualEditorMode()
{
if (g_bVisualEditor)
{
setVisualEditorMode(false);
}
else
{
setVisualEditorMode(true);
}
g_bVisualEditor = !g_bVisualEditor;
}
function setVisualEditorMode(bVisual)
{
var o1 = document.getElementById(g_sVisualEditor);
var o2 = document.getElementById(g_sVisualEditor+"_code");
if (bVisual)
{
o1.innerHTML = o2.value;
show(o1);
show(divToolbarsVisualTags);
hide(o2);
o1.focus();
}
else
{
o2.value = o1.innerHTML;
hide(o1);
hide(divToolbarsVisualTags);
show(o2);
o2.focus();
}
}
function finalizeVisualEditor()
{
var o1 = document.getElementById(g_sVisualEditor);
var o2 = document.getElementById(g_sVisualEditor+"_code");
if (g_bVisualEditor==true)
{
var sHTML = o1.innerHTML;
}
else
{
var sHTML = o2.value;
}
DivVisualEditorChecker.innerHTML = sHTML;
o2.value = DivVisualEditorChecker.innerHTML;
}
function captureEnterKey()
{
if (event.keyCode == 13)
{
if (event.shiftKey == false)
{
var sel = document.selection.createRange();
sel.pasteHTML('<br>');
event.cancelBubble = true;
event.returnValue = false;
sel.select();
sel.moveEnd("character", 1);
sel.moveStart("character", 1);
sel.collapse(false);
return false;
}
else
{
return event.keyCode = 13;
}
}
}
function fx(nNewPadding)
{
var el = event.srcElement;
while (el.tagName!="TD")
el = el.parentElement;
var nPadding = parseInt(el.getAttribute("nPadding"));
el.style.paddingTop=nPadding+nNewPadding;
}
function defx()
{
var el = event.srcElement;
while (el.tagName!="TD")
el = el.parentElement;
var nPadding = parseInt(el.getAttribute("nPadding"));
el.style.paddingTop = nPadding;
}
function show(obj)
{
obj.style.display = "";
}
function toggle(obj)
{
if (obj.style.display == 'none')
obj.style.display = '';
else
obj.style.display = 'none';
}
function hide(obj)
{
obj.style.display = "none";
}
function visualTag(sTag,obj)
{
obj.focus();
var rng = obj.document.selection.createRange();
switch(sTag)
{
case "bold":
obj.document.execCommand("Bold",false,null);
obj.focus();
break;
case "italic":
obj.document.execCommand("Italic",false,null);
obj.focus();
break;
case "underline":
obj.document.execCommand("Underline",false,null);
obj.focus();
break;
case "strike":
obj.document.execCommand("StrikeThrough",false,null);
obj.focus();
break;
case "insertImage":
var rnd = Math.random();
window.showModalDialog("./miniwini.visualEditor.dialogInsertImage.php?rnd="+rnd,obj,"status:no;dialogWidth:460px;dialogHeight:350px");
break;
case "color":
var sColor = getColorFromColorDlg();
obj.document.execCommand("ForeColor",false,sColor);
obj.focus();
break;
case "bgcolor":
var sColor = getColorFromColorDlg();
obj.document.execCommand("BackColor",false,sColor);
obj.focus();
break;
case "hilite":
obj.document.execCommand("BackColor",false,"FFFF00");
obj.document.execCommand("ForeColor",false,"000000");
break;
case "sup":
obj.document.execCommand("Superscript",false,null);
obj.focus();
break;
case "createLink":
var rnd = Math.random();
window.showModalDialog("./miniwini.visualEditor.dialogCreateLink.php?rnd="+rnd,obj,"status:no;dialogWidth:540px;dialogHeight:500px");
break;
case "insertEmoticons":
var rnd = Math.random();
window.showModalDialog("./miniwini.visualEditor.dialogInsertEmoticons.php?rnd="+rnd,obj,"status:no;dialogWidth:500px;dialogHeight:400px");
break;
}
}
function setImgAlignType(sAlign)
{
document.all.imgAlign1.className = "imgAlign";
document.all.imgAlign2.className = "imgAlign";
document.all.imgAlign3.className = "imgAlign";
event.srcElement.className = "imgAlignOn";
g_sAlign = sAlign;
}
function detectAgentVersion()
{
var ua = window.navigator.userAgent
var msie = ua.indexOf ("MSIE ")
if ( msie > 0 )
return parseFloat(ua.substring(msie+5,ua.indexOf(";", msie)))
else
return 0
}
function changeBorderColor(obj)
{
if (detectAgentVersion()>=6)
{
var sColor = getColorFromColorDlg();
obj.style.backgroundColor = sColor;
g_sBorderColor = "#"+sColor;
}
else
return;
}
function getColorFromColorDlg()
{
var dlgHelper = document.getElementById("dlgHelper");
if (detectAgentVersion()>=6)
{
sInitColor = null;
var sColor = dlgHelper.ChooseColorDlg(sInitColor);
sColor = sColor.toString(16);
if (sColor.length < 6)
{
var sTempString = "000000".substring(0,6-sColor.length);
sColor = sTempString.concat(sColor);
}
return sColor;
}
}
function playMultimediaFile(sUri,obj)
{
var nPlayState = obj.getAttribute("isPlaying");
if (nPlayState==0)
{
el = obj.previousSibling;
while (el.tagName!="A")
el = el.previousSibling;
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("이미 재생중입니다");
return;
}
}
/*추가끝*/
4.베이직 스킨에 적용하도록 하겠습니다. 미니위니 이지윅을 적용시키겠습니다.
gbform.skin.php 을 엽니다.
<textarea name='wr_content' style='border: 1px solid #C2C2C2; word-break:break-all; width:99%;' required rows=15 itemname='내용' class='textarea lh'><?=$content?></textarea>
을 찾으셔서 아래에 추가해주세요
<?include(getcwd()."/miniwini.visualEditor.php");?>
5.필요없는 부분이 보여서 추가합니다.
miniwini.visualEditor.php 열어서 수정하세요.
수정전
-------------------------------
try {oForm.<?=$visualEditor['useHTML']?>.checked = true;}
catch(e){}
try {oForm.<?=$visualEditor['useText']?>.checked = false;}
catch(e){}
try {oForm.<?=$visualEditor['useAutoBr']?>.checked = false;}
catch(e){}
--------------------------------
수정후
--------------------------------
try {oForm.<?=$visualEditor['useHTML']?>.checked = true;}
catch(e){}
/*
try {oForm.<?=$visualEditor['useText']?>.checked = false;}
catch(e){}
try {oForm.<?=$visualEditor['useAutoBr']?>.checked = false;}
catch(e){}
*/
6. 2004년 10월 23일 추가사항입니다.
수정부분은 글 폼이 글 쓰는 방법에 따라 가로폭이 무한정 늘어나는 현상을 잡았습니다.
(1)miniwini.visualEditor.conf.php 파일을 수정합니다.
45번째 줄 쯤에서
수정전
----------------------
"overflow" => "visible"
수정후
----------------------
"overflow" => "auto"
(2)miniwini.visualEditor.php 을 수정합니다.
48번줄쯤에서 이 부분을 찾습니다.
수정전
----------------------
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:99%">
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>"></textarea></div></td>
</tr>
</table>
</span>
수정후
-----------------------
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:99%" style=table-layout:fixed>
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>"></textarea></div></td>
</tr>
</table>
</span>
<table> 부분에서 width를 fixed 시켰습니다.
-------------------------------------
적용된 것은 홈페이지를 방문해 게시판에 글 써 보세요 ^^
설치방법입니다.
--------------
1. 압축을 풀고 홈페이지 젤 상위에 복사하세요. 제가 설치한 그림 첨부합니다.
2. miniwini.visualEditor.conf.php 을 수정합니다. 20줄째 줄쯤부터 시작합니다. 보시면서 고치세요
/*수정*/
$visualEditor = array(
// <FORM name="이거">..</FORM> 에서 '이거'
"formName" => "fgbform",
// <FORM...><TEXTAREA name="이거"></TEXTAREA></FORM> 에서 '이거'
"textareaName" => "wr_content",
// "HTML 사용"에 관련된 checkbox의 name
"useHTML" => "w",
// "TEXT 사용"에 관련된 checkbox의 name (미니보드?인가는 HTML 사용이 기본이고 "텍스트 사용"이 옵션이더군요
"useText" => "w",
// "자동 줄바꿈"에 관련된 checkbox의 name
"useAutoBr" => "wr_html",
// 에디터 생성 후 입력 부분에 자동으로 커서가 가게 설정합니다 (TRUE|FALSE)
"autoFocus" => TRUE,
// 게시물 수정 화면일 경우의 기본 내용
"defaultContent" => ($w == "u")?preg_replace("/\n/", "\n", stripslashes($write[wr_content])):"",
/*수정끝*/
3. 미니위니 자바스크립트를 그누와 합쳤습니다. 이쪽이 더 심플하니 좋더군요.
그누보드 javascript.js 파일을 엽니다.
/*추가*/
/*
===============================================================================
* FILENAME : miniwini.visualEditor.js
* VERSION : 0.1.0.1
===============================================================================
* AUTHOR : 위쯔~
* CONTACT : http://miniwini.com
===============================================================================
*/
function toggleVisualEditorMode()
{
if (g_bVisualEditor)
{
setVisualEditorMode(false);
}
else
{
setVisualEditorMode(true);
}
g_bVisualEditor = !g_bVisualEditor;
}
function setVisualEditorMode(bVisual)
{
var o1 = document.getElementById(g_sVisualEditor);
var o2 = document.getElementById(g_sVisualEditor+"_code");
if (bVisual)
{
o1.innerHTML = o2.value;
show(o1);
show(divToolbarsVisualTags);
hide(o2);
o1.focus();
}
else
{
o2.value = o1.innerHTML;
hide(o1);
hide(divToolbarsVisualTags);
show(o2);
o2.focus();
}
}
function finalizeVisualEditor()
{
var o1 = document.getElementById(g_sVisualEditor);
var o2 = document.getElementById(g_sVisualEditor+"_code");
if (g_bVisualEditor==true)
{
var sHTML = o1.innerHTML;
}
else
{
var sHTML = o2.value;
}
DivVisualEditorChecker.innerHTML = sHTML;
o2.value = DivVisualEditorChecker.innerHTML;
}
function captureEnterKey()
{
if (event.keyCode == 13)
{
if (event.shiftKey == false)
{
var sel = document.selection.createRange();
sel.pasteHTML('<br>');
event.cancelBubble = true;
event.returnValue = false;
sel.select();
sel.moveEnd("character", 1);
sel.moveStart("character", 1);
sel.collapse(false);
return false;
}
else
{
return event.keyCode = 13;
}
}
}
function fx(nNewPadding)
{
var el = event.srcElement;
while (el.tagName!="TD")
el = el.parentElement;
var nPadding = parseInt(el.getAttribute("nPadding"));
el.style.paddingTop=nPadding+nNewPadding;
}
function defx()
{
var el = event.srcElement;
while (el.tagName!="TD")
el = el.parentElement;
var nPadding = parseInt(el.getAttribute("nPadding"));
el.style.paddingTop = nPadding;
}
function show(obj)
{
obj.style.display = "";
}
function toggle(obj)
{
if (obj.style.display == 'none')
obj.style.display = '';
else
obj.style.display = 'none';
}
function hide(obj)
{
obj.style.display = "none";
}
function visualTag(sTag,obj)
{
obj.focus();
var rng = obj.document.selection.createRange();
switch(sTag)
{
case "bold":
obj.document.execCommand("Bold",false,null);
obj.focus();
break;
case "italic":
obj.document.execCommand("Italic",false,null);
obj.focus();
break;
case "underline":
obj.document.execCommand("Underline",false,null);
obj.focus();
break;
case "strike":
obj.document.execCommand("StrikeThrough",false,null);
obj.focus();
break;
case "insertImage":
var rnd = Math.random();
window.showModalDialog("./miniwini.visualEditor.dialogInsertImage.php?rnd="+rnd,obj,"status:no;dialogWidth:460px;dialogHeight:350px");
break;
case "color":
var sColor = getColorFromColorDlg();
obj.document.execCommand("ForeColor",false,sColor);
obj.focus();
break;
case "bgcolor":
var sColor = getColorFromColorDlg();
obj.document.execCommand("BackColor",false,sColor);
obj.focus();
break;
case "hilite":
obj.document.execCommand("BackColor",false,"FFFF00");
obj.document.execCommand("ForeColor",false,"000000");
break;
case "sup":
obj.document.execCommand("Superscript",false,null);
obj.focus();
break;
case "createLink":
var rnd = Math.random();
window.showModalDialog("./miniwini.visualEditor.dialogCreateLink.php?rnd="+rnd,obj,"status:no;dialogWidth:540px;dialogHeight:500px");
break;
case "insertEmoticons":
var rnd = Math.random();
window.showModalDialog("./miniwini.visualEditor.dialogInsertEmoticons.php?rnd="+rnd,obj,"status:no;dialogWidth:500px;dialogHeight:400px");
break;
}
}
function setImgAlignType(sAlign)
{
document.all.imgAlign1.className = "imgAlign";
document.all.imgAlign2.className = "imgAlign";
document.all.imgAlign3.className = "imgAlign";
event.srcElement.className = "imgAlignOn";
g_sAlign = sAlign;
}
function detectAgentVersion()
{
var ua = window.navigator.userAgent
var msie = ua.indexOf ("MSIE ")
if ( msie > 0 )
return parseFloat(ua.substring(msie+5,ua.indexOf(";", msie)))
else
return 0
}
function changeBorderColor(obj)
{
if (detectAgentVersion()>=6)
{
var sColor = getColorFromColorDlg();
obj.style.backgroundColor = sColor;
g_sBorderColor = "#"+sColor;
}
else
return;
}
function getColorFromColorDlg()
{
var dlgHelper = document.getElementById("dlgHelper");
if (detectAgentVersion()>=6)
{
sInitColor = null;
var sColor = dlgHelper.ChooseColorDlg(sInitColor);
sColor = sColor.toString(16);
if (sColor.length < 6)
{
var sTempString = "000000".substring(0,6-sColor.length);
sColor = sTempString.concat(sColor);
}
return sColor;
}
}
function playMultimediaFile(sUri,obj)
{
var nPlayState = obj.getAttribute("isPlaying");
if (nPlayState==0)
{
el = obj.previousSibling;
while (el.tagName!="A")
el = el.previousSibling;
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("이미 재생중입니다");
return;
}
}
/*추가끝*/
4.베이직 스킨에 적용하도록 하겠습니다. 미니위니 이지윅을 적용시키겠습니다.
gbform.skin.php 을 엽니다.
<textarea name='wr_content' style='border: 1px solid #C2C2C2; word-break:break-all; width:99%;' required rows=15 itemname='내용' class='textarea lh'><?=$content?></textarea>
을 찾으셔서 아래에 추가해주세요
<?include(getcwd()."/miniwini.visualEditor.php");?>
5.필요없는 부분이 보여서 추가합니다.
miniwini.visualEditor.php 열어서 수정하세요.
수정전
-------------------------------
try {oForm.<?=$visualEditor['useHTML']?>.checked = true;}
catch(e){}
try {oForm.<?=$visualEditor['useText']?>.checked = false;}
catch(e){}
try {oForm.<?=$visualEditor['useAutoBr']?>.checked = false;}
catch(e){}
--------------------------------
수정후
--------------------------------
try {oForm.<?=$visualEditor['useHTML']?>.checked = true;}
catch(e){}
/*
try {oForm.<?=$visualEditor['useText']?>.checked = false;}
catch(e){}
try {oForm.<?=$visualEditor['useAutoBr']?>.checked = false;}
catch(e){}
*/
6. 2004년 10월 23일 추가사항입니다.
수정부분은 글 폼이 글 쓰는 방법에 따라 가로폭이 무한정 늘어나는 현상을 잡았습니다.
(1)miniwini.visualEditor.conf.php 파일을 수정합니다.
45번째 줄 쯤에서
수정전
----------------------
"overflow" => "visible"
수정후
----------------------
"overflow" => "auto"
(2)miniwini.visualEditor.php 을 수정합니다.
48번줄쯤에서 이 부분을 찾습니다.
수정전
----------------------
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:99%">
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>"></textarea></div></td>
</tr>
</table>
</span>
수정후
-----------------------
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:99%" style=table-layout:fixed>
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>"></textarea></div></td>
</tr>
</table>
</span>
<table> 부분에서 width를 fixed 시켰습니다.
-------------------------------------
적용된 것은 홈페이지를 방문해 게시판에 글 써 보세요 ^^
추천
0
0
댓글 전체

<? include(getcwd()."/miniwini.visualEditor.php"); ?> 이부분이 가장 중요한데요.
getcwd() 함수가 그누 index.php 있는 곳을 root 로 잡아 경로를 return 합니다. 그누 index.php 곳에 미니위니
폴더변경마시고 넣어보세요. 2번에서 문제가 있는것 같습니다. 그리고 getcwd() 가 안되면 직접 경로를 넣어주셔도
되겠습니다.
getcwd() 함수가 그누 index.php 있는 곳을 root 로 잡아 경로를 return 합니다. 그누 index.php 곳에 미니위니
폴더변경마시고 넣어보세요. 2번에서 문제가 있는것 같습니다. 그리고 getcwd() 가 안되면 직접 경로를 넣어주셔도
되겠습니다.
저한테는항상 디렉이 말썽인것 같습니다.
아래를 보시고 진단좀 해주세요...
1
위의 설명대로 다 수정했습니다.
2.
miniwini.visualEditor 라는 디렉으로 그누보드 안에 넣었습니다.
3.
그누보드 javascript.js 을 수정해서 다시 올렸습니다.
4.
베이직스킨을 아래와같이 수정해서 올렸습니다.
-----------------------
<tr>
<td valign=top><img src='<?=$board_skin?>/icon_nemo.gif' width=7 height=7 align=absmiddle> 내 용</td>
<td><textarea name='wr_content' style='border: 1px solid #C2C2C2; word-break:break-all; width:99%;' required rows=15 itemname='내용' class='textarea lh'><?=$content?></textarea>
<? include(getcwd()."/miniwini.visualEditor.php"); ?>
</td>
</tr>
---------------------- 57번째줄도 수정
<? if ($is_html) { ?><input type=hidden name=wr_html value=1 checked onclick="html_auto_br(this)"><? } ?>
**** 그런대도 basic스킨에서는 아무런 변화가 없습니다.
아래를 보시고 진단좀 해주세요...
1
위의 설명대로 다 수정했습니다.
2.
miniwini.visualEditor 라는 디렉으로 그누보드 안에 넣었습니다.
3.
그누보드 javascript.js 을 수정해서 다시 올렸습니다.
4.
베이직스킨을 아래와같이 수정해서 올렸습니다.
-----------------------
<tr>
<td valign=top><img src='<?=$board_skin?>/icon_nemo.gif' width=7 height=7 align=absmiddle> 내 용</td>
<td><textarea name='wr_content' style='border: 1px solid #C2C2C2; word-break:break-all; width:99%;' required rows=15 itemname='내용' class='textarea lh'><?=$content?></textarea>
<? include(getcwd()."/miniwini.visualEditor.php"); ?>
</td>
</tr>
---------------------- 57번째줄도 수정
<? if ($is_html) { ?><input type=hidden name=wr_html value=1 checked onclick="html_auto_br(this)"><? } ?>
**** 그런대도 basic스킨에서는 아무런 변화가 없습니다.
뭔지 모르지만 상당해 보이는군요.....^^
http://miniwini.com/miniwinis/bbs/index.php?bid=share&m=hot&mode=read&id=3012
이곳에 가시면 원 제작자의 설명과 다른 팁(?)을 보실 수 있습니다.
이곳에 가시면 원 제작자의 설명과 다른 팁(?)을 보실 수 있습니다.
감사합니다,
제가 워낙 아는 것이 없어서 도움이 없다면 이런 기능을 사용할 수가 없거든요.
제가 워낙 아는 것이 없어서 도움이 없다면 이런 기능을 사용할 수가 없거든요.

글수정시 > 뜨는 것 잡았습니다.
miniwini.visualEditor.conf.php 을 수정합니다.
"defaultContent" => ($w == "u")?preg_replace("/\n/", "\n", stripslashes($write[wr_content])):"",
miniwini.visualEditor.conf.php 을 수정합니다.
"defaultContent" => ($w == "u")?preg_replace("/\n/", "\n", stripslashes($write[wr_content])):"",

스킨 파일에서 gbform.skin.php을 엽니다.
57번째줄을 이렇게 수정합니다.
<? if ($is_html) { ?><input type=hidden name=wr_html value=1 checked onclick="html_auto_br(this)"><? } ?>
57번째줄을 이렇게 수정합니다.
<? if ($is_html) { ?><input type=hidden name=wr_html value=1 checked onclick="html_auto_br(this)"><? } ?>
이부분도 알지 못하여 다시 문의드립니다.
위지윅을 사용하면 자동적으로 html이 사용되어야 하고 글쓰기 폼의 html체크 박스도 보여질 필요가 없는데요.
위지윅을 단 상태에서 글 쓰기 폼에 html체크박스에 계속 체크를 해야하는 불편함이 그대로 존재하는데요.
이부분은 어찌 처리를 해야하는지요?
위지윅을 사용하면 자동적으로 html이 사용되어야 하고 글쓰기 폼의 html체크 박스도 보여질 필요가 없는데요.
위지윅을 단 상태에서 글 쓰기 폼에 html체크박스에 계속 체크를 해야하는 불편함이 그대로 존재하는데요.
이부분은 어찌 처리를 해야하는지요?
백경동님..수고하셨습니다..
어느분이 이팁을 보고 적용하더라도 완벽하면 좋겠지만 오류가난다면 최소한의 오류를 가지고
실행할수있기를 바라는마음에서...몇자적었었습니다..
어느분이 이팁을 보고 적용하더라도 완벽하면 좋겠지만 오류가난다면 최소한의 오류를 가지고
실행할수있기를 바라는마음에서...몇자적었었습니다..

수정부분에 관한 내용은 게시물에 올렸습니다. 제가 만든것이 아니라서 소스까지는 수정안했습니다.

miniwini.visualEditor.conf.php 수정합니다.
대략 48번째줄쯤 됩니다. 이렇게 수정하세요.
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:99%" style=table-layout:fixed>
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>"></textarea></div></td>
</tr>
</table>
</span>
자세히 보시면 <table> 안에 style=table-layout:fixed 해서 가로폭을 고정시켰습니다.
대략 48번째줄쯤 됩니다. 이렇게 수정하세요.
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:99%" style=table-layout:fixed>
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>"></textarea></div></td>
</tr>
</table>
</span>
자세히 보시면 <table> 안에 style=table-layout:fixed 해서 가로폭을 고정시켰습니다.

늘어나는거 수정해볼려고 살펴보고 있습니다 ㅡ,ㅡ. 가로폭 생성자를 찾으면 될듯한데 조금 분석해봐야지 싶네요.
퍼올때보면 가로로 쭈욱 쓴 글이 간혹가다 있긴한데 잘 정렬됩니다. 흠..대충 보니깐 영문자가 한줄에 쭈욱 있으면
그 폭이 늘어나고 스페이스또한 한줄에 쭈욱 있으면 늘어나네요.
한글이 들어가면 늘어나지 않습니다. ㅋ
퍼올때보면 가로로 쭈욱 쓴 글이 간혹가다 있긴한데 잘 정렬됩니다. 흠..대충 보니깐 영문자가 한줄에 쭈욱 있으면
그 폭이 늘어나고 스페이스또한 한줄에 쭈욱 있으면 늘어나네요.
한글이 들어가면 늘어나지 않습니다. ㅋ

miniwini.visualEditor.conf.php 수정합니다.
줄 44번째쯤 overflow 부분 세팅을 바꿉니다.
"overflow" => "auto"
이러면 적어도 스페이스칠때 이지윅상태에서는 가로폭이 늘어나질 않는군요.
줄 44번째쯤 overflow 부분 세팅을 바꿉니다.
"overflow" => "auto"
이러면 적어도 스페이스칠때 이지윅상태에서는 가로폭이 늘어나질 않는군요.
아~@그렇군여...글쓸때...쭉~~~~늘어나는 현상으나
소스보기에서...글쓰기 폼이쭉~~~늘어나는현상은?.....뷰폼에서 알아서정렬되는군여...
영문자를쭉써었다거나.1부터 10까지 숫자...페이스등을 쭉~~나열한다면 늘어나는현상이 있는데..
무슨방법이없을까요??..요상한건..한글자음이나모음완성은...그런현상이없는데...
소스보기에서...글쓰기 폼이쭉~~~늘어나는현상은?.....뷰폼에서 알아서정렬되는군여...
영문자를쭉써었다거나.1부터 10까지 숫자...페이스등을 쭉~~나열한다면 늘어나는현상이 있는데..
무슨방법이없을까요??..요상한건..한글자음이나모음완성은...그런현상이없는데...
설치실험결과======>>>
설치와 적용은 별어려움이 없이 사용할 수 있는 팁인것같습니다.(때에따라선어려울수도...)
일단설치화면은 깔끔하고 가볍지만....실제사용하는데에있어서는 문제점이 몇가지있는듯합니다.
그누의 기본게시판이나 기존에 만들어놓은 스킨에 인클루트 방식을 취하다보니..
적용하고서 게시판에 엔터없이계속해서 글을쓴다거나..생성된위니미니의툴바를이용해서
소스보기를 한다면 끊임없이 글쓰기입력폼이늘어납니다....위에 링크된 실험용게시판에서도 그러겠지만..
물론 삽질을많이한다면 고정형으로도 만들수있겠지만..꽤많은 삽질이필요할듯....
설치와 적용은 별어려움이 없이 사용할 수 있는 팁인것같습니다.(때에따라선어려울수도...)
일단설치화면은 깔끔하고 가볍지만....실제사용하는데에있어서는 문제점이 몇가지있는듯합니다.
그누의 기본게시판이나 기존에 만들어놓은 스킨에 인클루트 방식을 취하다보니..
적용하고서 게시판에 엔터없이계속해서 글을쓴다거나..생성된위니미니의툴바를이용해서
소스보기를 한다면 끊임없이 글쓰기입력폼이늘어납니다....위에 링크된 실험용게시판에서도 그러겠지만..
물론 삽질을많이한다면 고정형으로도 만들수있겠지만..꽤많은 삽질이필요할듯....
저의 경우에는 다 잘되는데 하나가 속을 썩여서 한개만 파일명을 변경하였더니 배꼽 표시가 없어지고 제대로 표현되었습니다.
좀 무식한 방법일지 모르지만 일단 파일명을 하나 변경해 소기면 어떨런지요..
답이 되지는 못할 것 같지만요.
좀 무식한 방법일지 모르지만 일단 파일명을 하나 변경해 소기면 어떨런지요..
답이 되지는 못할 것 같지만요.
이티모콘에서 그림파일갯수는 맞게읽어오는데...모두 배꼽표시네요..그림파일을못읽는건가..~~@
아시는분을 긴급수배합니다....수배료없음...
게시판에서 html기능을 부여한자체가 이미 보안에 노출된상태입니다..
특별히...중요한사이트는 html.쓰기기능을 부여하지 마세용....
근데..개인사이트치고..해킹해볼만한데가없음....
아시는분을 긴급수배합니다....수배료없음...
게시판에서 html기능을 부여한자체가 이미 보안에 노출된상태입니다..
특별히...중요한사이트는 html.쓰기기능을 부여하지 마세용....
근데..개인사이트치고..해킹해볼만한데가없음....
잘 됩니다.
그런데 혹여 이것이 보안면에서 어떤 영향을 줄 수 있는지요? 만일 치명적이라면 안하는 것이 좋겠지요.
그런데 혹여 이것이 보안면에서 어떤 영향을 줄 수 있는지요? 만일 치명적이라면 안하는 것이 좋겠지요.
이티모콘..이티모콘...음~@@
경로는 맞는 것 같은데..왜 안띄워질까요??...
미니위니를 설치한 루트는..자바는 합치고 폴더는 구누인덱스딜렉에설치한상태인데ㅣ..
모든것이 정상인듯한데...유독히...이티모콘이안뜨네요...쩝...좀더삽질을해봐야지
경로는 맞는 것 같은데..왜 안띄워질까요??...
미니위니를 설치한 루트는..자바는 합치고 폴더는 구누인덱스딜렉에설치한상태인데ㅣ..
모든것이 정상인듯한데...유독히...이티모콘이안뜨네요...쩝...좀더삽질을해봐야지

코멘트에 html 적용하시려면 그누를 고치셔야 되는데요. 흠.. 보안면에서 어떨지는 모르겠네요.
그누 bbs/gbview.php 에서 209째 줄쯤 되는데 이렇게 수정하세요. 보시면 쉽게 적용하실 수 있을듯 싶네요.
//$list[$i][content] = conv_content($row[wr_content], 0);
$list[$i][content] = nl2br($row[wr_content]);
$list[$i][datetime] = substr($row[wr_datetime],2,14);
//$comment_content = conv_content($row[wr_content], 0);
$comment_content = nl2br($row[wr_content]);
주석처리하고 파일고쳤습니다.
그누 bbs/gbview.php 에서 209째 줄쯤 되는데 이렇게 수정하세요. 보시면 쉽게 적용하실 수 있을듯 싶네요.
//$list[$i][content] = conv_content($row[wr_content], 0);
$list[$i][content] = nl2br($row[wr_content]);
$list[$i][datetime] = substr($row[wr_datetime],2,14);
//$comment_content = conv_content($row[wr_content], 0);
$comment_content = nl2br($row[wr_content]);
주석처리하고 파일고쳤습니다.
emoticons 폴더를 miniwini.visualEditor 폴더내에 만드시고 emoticons폴더내에 이모티콘들을 올리시면 작동해야되거든요.
안되는군요..
소스가 그대로 출력되어버리는 문제가...
이부분은 html이 사용가능하도록 되어야 할 것 같군요.
소스가 그대로 출력되어버리는 문제가...
이부분은 html이 사용가능하도록 되어야 할 것 같군요.

miniwini.visualEditor.php 에서 50번째 줄쯤에 이부분이 있습니다. 여기서 <table> 이 안에 height를 조절하세요.
문제는 이러면 본문의 위지윅도 줄어드는데 miniwini.visualEditor.php 하나더 만드셔야 될지도 모르겠네요.
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:100%">
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>;"></textarea></div></td>
</tr>
</table>
</span>
문제는 이러면 본문의 위지윅도 줄어드는데 miniwini.visualEditor.php 하나더 만드셔야 될지도 모르겠네요.
<span id=DivVisualEditor style="width:<?=$visualEditor['width']?>;height:<?=$visualEditor['height']?>;display:none">
<table border=0 cellpadding=0 cellspacing=0 width=100% style="height:100%">
<tr>
<td><div onblur="finalizeVisualEditor()" onkeypress="captureEnterKey()" id="<?=$visualEditor['objectName']?>" style="<?=$visualEditor['styleWYSIWYG']?>;height:100%;overflow:<?=$visualEditor['overflow']?>" contentEditable><?=$visualEditor['defaultContent']?></div><textarea onblur="finalizeVisualEditor()" id="<?=$visualEditor['objectName']?>_code" name="<?=$visualEditor['textareaName']?>" style="<?=$visualEditor['styleTEXTAREA']?>;height:99%;overflow:<?=$visualEditor['overflow']?>;"></textarea></div></td>
</tr>
</table>
</span>
코멘트에서도 사용이 가능하군요 gbview.skin.php에서 코멘트 스기부분의 extarea></textarea> 뒷부분에
<?include(getcwd()."/miniwini.visualEditor.php");?> 붙여넣으면 작동이 되네요.ㅎㅎㅎ
<?include(getcwd()."/miniwini.visualEditor.php");?> 붙여넣으면 작동이 되네요.ㅎㅎㅎ

자바스크립트 관련 부분은 그누 자바스크립트에 모두 합치는 탓에 <?=$visualEditor['url']['lib']?> 이부분이 정확
히 어디를 가르치는지 함수부분을 체크하지 못했네요.
쉽게 하는 방법은 자바스크립트를 그누 javascript.js 랑 합치시고 miniwini.visualEditor.php 이부분인걸로 기억하
는데 거기서 미니위니스크립트를 제거 해보시겠어요?
히 어디를 가르치는지 함수부분을 체크하지 못했네요.
쉽게 하는 방법은 자바스크립트를 그누 javascript.js 랑 합치시고 miniwini.visualEditor.php 이부분인걸로 기억하
는데 거기서 미니위니스크립트를 제거 해보시겠어요?
혹여 코멘트에서도 이것을 사용할 수 있을런지요??
감사합니다.
정말로 답답했었거든요..
정말로 답답했었거든요..
잠벵이님..참고하세요..
자바소스를 그누의자바소스에 붙여서 넣은상태라면
미니위니.비쥬얼에디터파일 / 미니위니.비쥬얼에디터.다이얼로그인서트이미지 파일에서
<script src="<?=$visualEditor['url']['lib']?>../javascript.js" type="text/javascript"></script>이런식으로
스크립트 경로를 제지정하셔야됩니다..
무엇보다..파일딜렉을 어디에위치하는냐에따라서..때로는 7개의파일을 드믄드믄..수정해야될수도있는데..
님의경우에는 스크립트경로 인것같습니다.
자바소스를 그누의자바소스에 붙여서 넣은상태라면
미니위니.비쥬얼에디터파일 / 미니위니.비쥬얼에디터.다이얼로그인서트이미지 파일에서
<script src="<?=$visualEditor['url']['lib']?>../javascript.js" type="text/javascript"></script>이런식으로
스크립트 경로를 제지정하셔야됩니다..
무엇보다..파일딜렉을 어디에위치하는냐에따라서..때로는 7개의파일을 드믄드믄..수정해야될수도있는데..
님의경우에는 스크립트경로 인것같습니다.
적용해보니 잘되기는 합니다만 기능 중에서 이미지 url링크부분에서 스크립트 에러가 발생하는군요
개체가 필요합니다라는 문구와 함께
http://www.sacho.pe.kr/board/miniwini.visualEditor.dialogInsertImage.php?rnd=0.3409700771532371이런 주소가 나오는 스크립트 에러입니다.
이 오류의 원인은 무엇일까요? 잘 모르니 스크립트를 새로 올려도 보고 다시 js파일에 소스 붙이고 올리고 여러가지를 해보았는데 왜 이부분에서만 에러가 발생하는지 원인을 찾을 수가 없어서 답답합니다.
개체가 필요합니다라는 문구와 함께
http://www.sacho.pe.kr/board/miniwini.visualEditor.dialogInsertImage.php?rnd=0.3409700771532371이런 주소가 나오는 스크립트 에러입니다.
이 오류의 원인은 무엇일까요? 잘 모르니 스크립트를 새로 올려도 보고 다시 js파일에 소스 붙이고 올리고 여러가지를 해보았는데 왜 이부분에서만 에러가 발생하는지 원인을 찾을 수가 없어서 답답합니다.
웅~~@@오늘 계정서버이전마치고..설치해보았는데...좋으네요...
spaw보다..게시판이 가볍고 설치도 쉬운편이네요...
spaw보다..게시판이 가볍고 설치도 쉬운편이네요...
앗..firefox0.9에서는 안되는 것 같습니다. 그냥 참고 삼아서 말씀 드리는 것입니다. 아마도 모질라에서도 안될 듯 하군요..^.^

아하 첫번째거 포함안해거든요 ㅋㅋ 바보 같이 감사

try {oForm.use_html.checked = true;}
catch(e){}
198
오류: 개체가 이 속성 또는 메서드를 지원하지 않습니다.라고 나오네요.. ㅜ.ㅜ
catch(e){}
198
오류: 개체가 이 속성 또는 메서드를 지원하지 않습니다.라고 나오네요.. ㅜ.ㅜ

에러를 유심히 보니깐 그누에서의 최상위 폴더에 둬야 되겠네요. getcwd() 이 함수가 그누의 인덱스 폴더까지를
표현하는 것 같습니다. 인쿠르드 부분을 수정하시거나 이지윅을 그누 기준 최상위 폴더로 올려주세요.
표현하는 것 같습니다. 인쿠르드 부분을 수정하시거나 이지윅을 그누 기준 최상위 폴더로 올려주세요.
Warning: main(/home/my3040/public_html/gnu3/miniwini.visualEditor/miniwini.visualEditor.php): failed to open stream: No such file or directory in /home/my3040/public_html/gnu3/bbs/skin/board/green/gbform.skin.php on line 66
Warning: main(): Failed opening '/home/my3040/public_html/gnu3/miniwini.visualEditor/miniwini.visualEditor.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/my3040/public_html/gnu3/bbs/skin/board/green/gbform.skin.php on line 66
에러가 나는데요 최상위에 폴더 생성하고 수정 하였습니다.
Warning: main(): Failed opening '/home/my3040/public_html/gnu3/miniwini.visualEditor/miniwini.visualEditor.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/my3040/public_html/gnu3/bbs/skin/board/green/gbform.skin.php on line 66
에러가 나는데요 최상위에 폴더 생성하고 수정 하였습니다.

글쓰 크기도 있다면 더 좋을듯 조금 아쉽네요..


몇시간 써오면서 느낀점은 정말 이지윅을 쓰면 글 퍼올때 좋은거 같습니다. 색상부터 그림위치까지 복사 붙이기로
콘텐츠를 금방 가져올 수 있더군요. 놀랬어요 >_<.
콘텐츠를 금방 가져올 수 있더군요. 놀랬어요 >_<.
설치는 잘했습니다 그런데 이모티콘이 안나오는군요

그누 버젼별 스킨차이는 문제 없을 듯 싶네요. textarea 부분을 이지윅이 덮어쓰는 식이라서 버젼 걱정은 하시지 않아도 될 듯 합니다.

흠..전 최상위폴더로 했습니다. 경로상의 문제니 수정부분에서 조금 만지시면 될듯 하네요.
안녕하세요 몇가지 여쭈어 봅니다 업로드를 그누폴더 내에 해야 하는지요?
아니면 최상위 폴더로 해야 하는지? 현재gnu3 사용중인데요
베이직 스킨 그누버전에 차이가 있는건지요? 현재 3.34 사용중이라서요
그럼 답변 기다리겠습니다
아니면 최상위 폴더로 해야 하는지? 현재gnu3 사용중인데요
베이직 스킨 그누버전에 차이가 있는건지요? 현재 3.34 사용중이라서요
그럼 답변 기다리겠습니다
다른 위지윅 에디터보다 가벼운 느낌입니다. 전 fckeditor를 주로 쓰는데 좀 느리다 싶었는데..많은 기능이 필요하지 않을 때는 이 에디터를 쓰는 것도 좋겠네요..당장 적용 시켜야 겠습니다.