mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 11:11:39 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@805 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
84d0a85ebb
commit
df75151c85
79 changed files with 1972 additions and 1919 deletions
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">글의 배경색 변경</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">글의 배경색을 변경합니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">글의 배경색 변경</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">글의 배경색을 변경합니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,45 +1,46 @@
|
|||
@charset "utf-8";
|
||||
.colorpicker {
|
||||
width:160px;
|
||||
padding:5px;
|
||||
clear:both;
|
||||
width:160px;
|
||||
padding:5px;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
img.preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
|
||||
img.color_icon {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
}
|
||||
|
||||
img.color_icon_over {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.input_area {
|
||||
width:160px;
|
||||
padding:5px;
|
||||
font-family:tahoma;
|
||||
font-size:8pt;
|
||||
clear:both;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
width:160px;
|
||||
padding:5px;
|
||||
font-family:tahoma;
|
||||
font-size:8pt;
|
||||
clear:both;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
}
|
||||
|
||||
.popup_input {
|
||||
border:1px solid #AAAAAA;
|
||||
height:14px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:14px;
|
||||
}
|
||||
|
||||
.popup_submit {
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<!--%import("popup.js")-->
|
||||
<!--%import("popup.css")-->
|
||||
<div class="colorpicker">
|
||||
<script type='text/javascript'>
|
||||
printColor("{$tpl_path}/blank.gif");
|
||||
</script>
|
||||
<script type='text/javascript'>
|
||||
printColor("{$tpl_path}/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="input_area">
|
||||
<form action="./" method="get" onsubmit="return applyColor()">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="color_input" size="6" maxlength="6" class="popup_input" value="FFFFFF" onkeyup="manual_select_color(this)"/></td>
|
||||
<td><input type="submit" value="{$lang->cmd_select}" class="popup_submit"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<form action="./" method="get" onsubmit="return applyColor()">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="color_input" size="6" maxlength="6" class="popup_input" value="FFFFFF" onkeyup="manual_select_color(this)"/></td>
|
||||
<td><input type="submit" value="{$lang->cmd_select}" class="popup_submit"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,40 +1,40 @@
|
|||
/* 부모창의 위지윅 에디터의 선택된 영역의 글자색을 변경 */
|
||||
function applyColor() {
|
||||
var code = xGetElementById("color_input").value;
|
||||
var code = xGetElementById("color_input").value;
|
||||
|
||||
if(opener.xIE4Up) opener.editorDo("BackColor","#"+code, opener.editorPrevSrl);
|
||||
else opener.editorDo("hilitecolor","#"+code, opener.editorPrevSrl);
|
||||
if(opener.xIE4Up) opener.editorDo("BackColor","#"+code, opener.editorPrevSrl);
|
||||
else opener.editorDo("hilitecolor","#"+code, opener.editorPrevSrl);
|
||||
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
|
||||
window.close();
|
||||
window.close();
|
||||
}
|
||||
|
||||
/* 색상 클릭시 */
|
||||
function select_color(code) {
|
||||
xGetElementById("color_input").value = code;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
||||
xGetElementById("color_input").value = code;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
||||
}
|
||||
|
||||
/* 색상표를 출력 */
|
||||
function printColor(blank_img_src) {
|
||||
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
||||
var html = "";
|
||||
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
||||
var html = "";
|
||||
|
||||
for(var i=0;i<8;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
for(var i=0;i<8;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
|
||||
for(var i=0; i<colorTable.length; i+=3) {
|
||||
for(var j=0; j<colorTable.length; j+=2) {
|
||||
for(var k=0; k<colorTable.length; k++) {
|
||||
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
||||
html += printColorBlock(code, blank_img_src);
|
||||
}
|
||||
for(var i=0; i<colorTable.length; i+=3) {
|
||||
for(var j=0; j<colorTable.length; j+=2) {
|
||||
for(var k=0; k<colorTable.length; k++) {
|
||||
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
||||
html += printColorBlock(code, blank_img_src);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(var i=8;i<16;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
for(var i=8;i<16;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
|
||||
document.write(html);
|
||||
document.write(html);
|
||||
}
|
||||
|
||||
/* 개별 색상 block 출력 함수 */
|
||||
|
|
@ -44,6 +44,6 @@ function printColorBlock(code, blank_img_src) {
|
|||
|
||||
/* 수동 색상 변경시 */
|
||||
function manual_select_color(obj) {
|
||||
if(obj.value.length!=6) return;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
||||
if(obj.value.length!=6) return;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">글자색 변경</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">글자색을 변경합니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">글자색 변경</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">글자색을 변경합니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,45 +1,47 @@
|
|||
@charset "utf-8";
|
||||
|
||||
.colorpicker {
|
||||
width:160px;
|
||||
padding:5px;
|
||||
clear:both;
|
||||
width:160px;
|
||||
padding:5px;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
img.preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#000000;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#000000;
|
||||
}
|
||||
|
||||
img.color_icon {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
}
|
||||
|
||||
img.color_icon_over {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.input_area {
|
||||
width:160px;
|
||||
padding:5px;
|
||||
font-family:tahoma;
|
||||
font-size:8pt;
|
||||
clear:both;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
width:160px;
|
||||
padding:5px;
|
||||
font-family:tahoma;
|
||||
font-size:8pt;
|
||||
clear:both;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
}
|
||||
|
||||
.popup_input {
|
||||
border:1px solid #AAAAAA;
|
||||
height:14px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:14px;
|
||||
}
|
||||
|
||||
.popup_submit {
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<!--%import("popup.js")-->
|
||||
<!--%import("popup.css")-->
|
||||
<div class="colorpicker">
|
||||
<script type='text/javascript'>
|
||||
printColor("{$tpl_path}/blank.gif");
|
||||
</script>
|
||||
<script type='text/javascript'>
|
||||
printColor("{$tpl_path}/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="input_area">
|
||||
<form action="./" method="get" onsubmit="return applyColor()">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="color_input" size="6" maxlength="6" class="popup_input" value="000000" onkeyup="manual_select_color(this)"/></td>
|
||||
<td><input type="submit" value="{$lang->cmd_select}" class="popup_submit"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<form action="./" method="get" onsubmit="return applyColor()">
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="color_input" size="6" maxlength="6" class="popup_input" value="000000" onkeyup="manual_select_color(this)"/></td>
|
||||
<td><input type="submit" value="{$lang->cmd_select}" class="popup_submit"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,41 +1,41 @@
|
|||
/* 부모창의 위지윅 에디터의 선택된 영역의 글자색을 변경 */
|
||||
function applyColor() {
|
||||
var code = xGetElementById("color_input").value;
|
||||
var code = xGetElementById("color_input").value;
|
||||
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
|
||||
opener.editorDo("ForeColor", "#"+code, opener.editorPrevSrl);
|
||||
opener.editorDo("ForeColor", "#"+code, opener.editorPrevSrl);
|
||||
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
opener.editorFocus(opener.editorPrevSrl);
|
||||
|
||||
self.close();
|
||||
self.close();
|
||||
}
|
||||
|
||||
/* 색상 클릭시 */
|
||||
function select_color(code) {
|
||||
xGetElementById("color_input").value = code;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
||||
xGetElementById("color_input").value = code;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
||||
}
|
||||
|
||||
/* 색상표를 출력 */
|
||||
function printColor(blank_img_src) {
|
||||
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
||||
var html = "";
|
||||
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
||||
var html = "";
|
||||
|
||||
for(var i=0;i<8;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
for(var i=0;i<8;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
|
||||
for(var i=0; i<colorTable.length; i+=3) {
|
||||
for(var j=0; j<colorTable.length; j+=2) {
|
||||
for(var k=0; k<colorTable.length; k++) {
|
||||
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
||||
html += printColorBlock(code, blank_img_src);
|
||||
}
|
||||
for(var i=0; i<colorTable.length; i+=3) {
|
||||
for(var j=0; j<colorTable.length; j+=2) {
|
||||
for(var k=0; k<colorTable.length; k++) {
|
||||
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
||||
html += printColorBlock(code, blank_img_src);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(var i=8;i<16;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
for(var i=8;i<16;i+=1) html += printColorBlock(i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16)+i.toString(16), blank_img_src);
|
||||
|
||||
document.write(html);
|
||||
document.write(html);
|
||||
}
|
||||
|
||||
/* 개별 색상 block 출력 함수 */
|
||||
|
|
@ -45,6 +45,6 @@ function printColorBlock(code, blank_img_src) {
|
|||
|
||||
/* 수동 색상 변경시 */
|
||||
function manual_select_color(obj) {
|
||||
if(obj.value.length!=6) return;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
||||
if(obj.value.length!=6) return;
|
||||
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">이모티콘 출력</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">이모티콘을 에디터에 삽입할 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">이모티콘 출력</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">이모티콘을 에디터에 삽입할 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,43 +1,45 @@
|
|||
@charset "utf-8";
|
||||
|
||||
.editor_window {
|
||||
width:300px;
|
||||
text-align:center;
|
||||
width:300px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_emoticon {
|
||||
padding:10px;
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
.editor_window img {
|
||||
margin:2px;
|
||||
cursor:pointer;
|
||||
margin:2px;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">HTML 코드 수정</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에서 HTML 코드를 직접 수정하거나 추가할 수 있습니다.\n보안 문제로 인하여 가능한 끄는 것이 좋습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">HTML 코드 수정</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에서 HTML 코드를 직접 수정하거나 추가할 수 있습니다.\n보안 문제로 인하여 가능한 끄는 것이 좋습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,44 +1,46 @@
|
|||
@charset "utf-8";
|
||||
|
||||
.editor_window {
|
||||
width:400px;
|
||||
background-color:#F3F3F3;
|
||||
text-align:center;
|
||||
width:400px;
|
||||
background-color:#F3F3F3;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_textarea {
|
||||
width:385px;
|
||||
height:400px;
|
||||
border:1px solid #888888;
|
||||
clear:both;
|
||||
font-size:9pt;
|
||||
margin:10px 0px 10px 0px;
|
||||
width:385px;
|
||||
height:400px;
|
||||
border:1px solid #888888;
|
||||
clear:both;
|
||||
font-size:9pt;
|
||||
margin:10px 0px 10px 0px;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">기본 이미지 갤러리</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">첨부된 이미지파일을 이용하여 슬라이드/목록형 이미지 갤러리를 만들 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">기본 이미지 갤러리</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">첨부된 이미지파일을 이용하여 슬라이드/목록형 이미지 갤러리를 만들 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
<!--%import("list_gallery.js")-->
|
||||
<script type='text/javascript'>
|
||||
// 이미지갤러리에 보여줄 이미지 등록
|
||||
<!--@foreach($gallery_info->image_list as $image)-->
|
||||
list_gallery_add_image({$gallery_info->srl},'{$image}');
|
||||
<!--@end-->
|
||||
// 이미지갤러리에 보여줄 이미지 등록
|
||||
<!--@foreach($gallery_info->image_list as $image)-->
|
||||
list_gallery_add_image({$gallery_info->srl},'{$image}');
|
||||
<!--@end-->
|
||||
|
||||
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
||||
xAddEventListener(window,'load',start_list_gallery);
|
||||
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
||||
xAddEventListener(window,'load',start_list_gallery);
|
||||
</script>
|
||||
|
||||
<div align="{$gallery_info->gallery_align}">
|
||||
<div id='zone_list_gallery_{$gallery_info->srl}' style="width:{$gallery_info->width}px;background-color:#{$gallery_info->bg_color};border:{$gallery_info->border_thickness}px solid #{$gallery_info->border_color};text-align:left;">
|
||||
</div>
|
||||
<div id='zone_list_gallery_{$gallery_info->srl}' style="width:{$gallery_info->width}px;background-color:#{$gallery_info->bg_color};border:{$gallery_info->border_thickness}px solid #{$gallery_info->border_color};text-align:left;"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,133 +1,135 @@
|
|||
@charset "utf-8";
|
||||
|
||||
.editor_window {
|
||||
width:550px;
|
||||
text-align:center;
|
||||
width:550px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.short_header {
|
||||
float:left;
|
||||
width:80px;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:80px;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.short_body {
|
||||
float:left;
|
||||
width:90px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:90px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
float:left;
|
||||
width:80px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:80px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.body {
|
||||
float:left;
|
||||
width:350px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:350px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.image_list {
|
||||
width:380px;
|
||||
width:380px;
|
||||
}
|
||||
|
||||
.about_image_list {
|
||||
margin-top:10px;
|
||||
font-size:9pt;
|
||||
color:#AAAAAA;
|
||||
margin-top:10px;
|
||||
font-size:9pt;
|
||||
color:#AAAAAA;
|
||||
}
|
||||
|
||||
.editor_input {
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.editor_color_box {
|
||||
clear:both;
|
||||
height:65px;
|
||||
width:400px;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:2px;
|
||||
margin-bottom:3px;
|
||||
clear:both;
|
||||
height:65px;
|
||||
width:400px;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:2px;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
.editor_color_input {
|
||||
clear:both;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
img.bg_preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
|
||||
img.border_preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#000000;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#000000;
|
||||
}
|
||||
|
||||
img.color_icon {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
}
|
||||
|
||||
img.color_icon_over {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.table_input {
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,82 +3,84 @@
|
|||
<!--%import("../lang")-->
|
||||
|
||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
||||
<input type="hidden" name="upload_target_srl" value="{$upload_target_srl}" />
|
||||
<div class="editor_window">
|
||||
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<input type="hidden" name="upload_target_srl" value="{$upload_target_srl}" />
|
||||
|
||||
<div class="short_header">{$lang->width}</div>
|
||||
<div class="short_body"><input type="text" class="editor_input" id="width" value="600" />px</div>
|
||||
<div class="editor_window">
|
||||
|
||||
<div class="header">{$lang->gallery_style}</div>
|
||||
<div class="body">
|
||||
<select id="gallery_style">
|
||||
<option value="slide">{$lang->gallery_slide_style}</option>
|
||||
<option value="list">{$lang->gallery_list_style}</option>
|
||||
</select>
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="short_header">{$lang->width}</div>
|
||||
<div class="short_body"><input type="text" class="editor_input" id="width" value="600" />px</div>
|
||||
|
||||
<div class="header">{$lang->gallery_style}</div>
|
||||
<div class="body">
|
||||
<select id="gallery_style">
|
||||
<option value="slide">{$lang->gallery_slide_style}</option>
|
||||
<option value="list">{$lang->gallery_list_style}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->gallery_slide_align}</div>
|
||||
<div class="body">
|
||||
<select id="gallery_align">
|
||||
<option value="center">{$lang->gallery_slide_center}</option>
|
||||
<option value="left">{$lang->gallery_slide_left}</option>
|
||||
<option value="right">{$lang->gallery_slide_right}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->gallery_border_thickness}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="border_thickness" value="0" />px</div>
|
||||
|
||||
<div class="header">{$lang->gallery_border_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/border_solid.gif" alt="blank" class="border_preview_color" id="border_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="border_color_input" size="6" maxlength="6" class="table_input" value="000000" onkeyup="manual_select_color('border',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->gallery_bg_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="bg_color_input" size="6" maxlength="6" class="table_input" value="FFFFFF" onkeyup="manual_select_color('bg',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->image_list}</div>
|
||||
<div class="body">
|
||||
<div>
|
||||
<select id="image_list" size="10" class="image_list" multiple="true">
|
||||
</select>
|
||||
</div>
|
||||
<div class="about_image_list">{$lang->about_image_list}</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertSlideShow()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->gallery_slide_align}</div>
|
||||
<div class="body">
|
||||
<select id="gallery_align">
|
||||
<option value="center">{$lang->gallery_slide_center}</option>
|
||||
<option value="left">{$lang->gallery_slide_left}</option>
|
||||
<option value="right">{$lang->gallery_slide_right}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->gallery_border_thickness}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="border_thickness" value="0" />px</div>
|
||||
|
||||
<div class="header">{$lang->gallery_border_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/border_solid.gif" alt="blank" class="border_preview_color" id="border_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="border_color_input" size="6" maxlength="6" class="table_input" value="000000" onkeyup="manual_select_color('border',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->gallery_bg_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="bg_color_input" size="6" maxlength="6" class="table_input" value="FFFFFF" onkeyup="manual_select_color('bg',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->image_list}</div>
|
||||
<div class="body">
|
||||
<div>
|
||||
<select id="image_list" size="10" class="image_list" multiple="true">
|
||||
</select>
|
||||
</div>
|
||||
<div class="about_image_list">{$lang->about_image_list}</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertSlideShow()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,41 +1,42 @@
|
|||
@charset "utf-8";
|
||||
.slide_gallery_loading_text {
|
||||
color:#555555;
|
||||
font-size:8pt;
|
||||
font-family:tahoma;
|
||||
font-weight:bold;
|
||||
margin:20px 0px 20px 0px;
|
||||
text-align:center;
|
||||
color:#555555;
|
||||
font-size:8pt;
|
||||
font-family:tahoma;
|
||||
font-weight:bold;
|
||||
margin:20px 0px 20px 0px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.slide_gallery_navigator_box {
|
||||
font-size:9pt;
|
||||
text-align:center;
|
||||
margin:5px 0px 5px 0px;
|
||||
font-size:9pt;
|
||||
text-align:center;
|
||||
margin:5px 0px 5px 0px;
|
||||
}
|
||||
|
||||
.zone_gallery_navigator_status {
|
||||
color:#444444;
|
||||
font-family:verdana;
|
||||
font-size:8pt;
|
||||
cursor:pointer;
|
||||
color:#444444;
|
||||
font-family:verdana;
|
||||
font-size:8pt;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.slide_gallery_navigator_box img {
|
||||
vertical-align:bottom;
|
||||
vertical-align:bottom;
|
||||
}
|
||||
|
||||
.slide_gallery_main_image_box {
|
||||
border:3px solid #EEEEEE;
|
||||
margin:10px;
|
||||
border:3px solid #EEEEEE;
|
||||
margin:10px;
|
||||
}
|
||||
|
||||
.slide_gallery_thumbnail_image_box {
|
||||
margin:10px;
|
||||
text-align:left;
|
||||
margin:10px;
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
.slide_gallery_thumbnail_image_box img {
|
||||
border:1px solid #555555;
|
||||
padding:1px;
|
||||
margin:4px;
|
||||
border:1px solid #555555;
|
||||
padding:1px;
|
||||
margin:4px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,24 +2,25 @@
|
|||
<!--%import("slide_gallery.css")-->
|
||||
<!--%import("../lang")-->
|
||||
<script type='text/javascript'>
|
||||
// 이미지갤러리에 보여줄 이미지 등록
|
||||
<!--@foreach($gallery_info->image_list as $image)-->
|
||||
slide_gallery_add_image({$gallery_info->srl},'{$image}');
|
||||
<!--@end-->
|
||||
// 이미지갤러리에 보여줄 이미지 등록
|
||||
//
|
||||
<!--@foreach($gallery_info->image_list as $image)-->
|
||||
slide_gallery_add_image({$gallery_info->srl},'{$image}');
|
||||
<!--@end-->
|
||||
|
||||
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
||||
xAddEventListener(window,'load',start_slide_gallery);
|
||||
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
||||
xAddEventListener(window,'load',start_slide_gallery);
|
||||
</script>
|
||||
|
||||
<div align="{$gallery_info->gallery_align}">
|
||||
<div id='zone_slide_gallery_{$gallery_info->srl}' style="width:{$gallery_info->width}px;background-color:#{$gallery_info->bg_color};border:{$gallery_info->border_thickness}px solid #{$gallery_info->border_color};text-align:left;">
|
||||
<div id='zone_slide_gallery_{$gallery_info->srl}' style="width:{$gallery_info->width}px;background-color:#{$gallery_info->bg_color};border:{$gallery_info->border_thickness}px solid #{$gallery_info->border_color};text-align:left;">
|
||||
<div id='zone_image_navigator_{$gallery_info->srl}' class="slide_gallery_navigator_box">
|
||||
<a href="#" onclick="gallery_view_prev('{$gallery_info->srl}');return false;"><img src="./images/prev.gif" alt="{$lang->cmd_gallery_prev}" title="{$lang->cmd_gallery_prev}" border="0" /></a>
|
||||
<span class="zone_gallery_navigator_status" title="{$lang->cmd_gallery_thumbnail}" id="zone_gallery_navigator_status_{$gallery_info->srl}" onclick="gallery_view_thumbnail('{$gallery_info->srl}');return false;">1/1</span>
|
||||
<a href="#" onclick="gallery_view_next('{$gallery_info->srl}');return false;"><img src="./images/next.gif" alt="{$lang->cmd_gallery_next}" title="{$lang->cmd_gallery_next}" border="0" /></a>
|
||||
<a href="#" onclick="gallery_view_prev('{$gallery_info->srl}');return false;"><img src="./images/prev.gif" alt="{$lang->cmd_gallery_prev}" title="{$lang->cmd_gallery_prev}" border="0" /></a>
|
||||
<span class="zone_gallery_navigator_status" title="{$lang->cmd_gallery_thumbnail}" id="zone_gallery_navigator_status_{$gallery_info->srl}" onclick="gallery_view_thumbnail('{$gallery_info->srl}');return false;">1/1</span>
|
||||
<a href="#" onclick="gallery_view_next('{$gallery_info->srl}');return false;"><img src="./images/next.gif" alt="{$lang->cmd_gallery_next}" title="{$lang->cmd_gallery_next}" border="0" /></a>
|
||||
</div>
|
||||
<div id='zone_thumbnail_{$gallery_info->srl}' class="slide_gallery_thumbnail_image_box" style="display:none"></div>
|
||||
<div id="slide_gallery_loading_text_{$gallery_info->srl}" class="slide_gallery_loading_text">loading images...</div>
|
||||
<img id="slide_gallery_main_image_{$gallery_info->srl}" border="0" style="display:none" alt="slide_gallery" src="./images/blank.gif" />
|
||||
</div>
|
||||
<div id='zone_thumbnail_{$gallery_info->srl}' class="slide_gallery_thumbnail_image_box" style="display:none"></div>
|
||||
<div id="slide_gallery_loading_text_{$gallery_info->srl}" class="slide_gallery_loading_text">loading images...</div>
|
||||
<img id="slide_gallery_main_image_{$gallery_info->srl}" border="0" style="display:none" alt="slide_gallery" src="./images/blank.gif" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">이미지 추가</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 이미지를 추가하거나 속성을 변경할 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">이미지 추가</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 이미지를 추가하거나 속성을 변경할 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,78 +1,79 @@
|
|||
@charset "utf-8";
|
||||
.editor_window {
|
||||
width:500px;
|
||||
text-align:center;
|
||||
width:500px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.header {
|
||||
float:left;
|
||||
width:100px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:100px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.body {
|
||||
float:left;
|
||||
width:350px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:350px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.body label {
|
||||
cursor:pointer;
|
||||
font-size:9pt;
|
||||
cursor:pointer;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.image_align {
|
||||
margin:0px 0px 5px 0px;
|
||||
float:left;
|
||||
width:150px;
|
||||
margin:0px 0px 5px 0px;
|
||||
float:left;
|
||||
width:150px;
|
||||
}
|
||||
|
||||
.image_url {
|
||||
width:350px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:350px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_input {
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:2px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,62 +3,65 @@
|
|||
<!--%import("../lang")-->
|
||||
|
||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
||||
<div class="editor_window">
|
||||
<div class="editor_window">
|
||||
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="header">{$lang->image_url}</div>
|
||||
<div class="body"><input type="text" class="image_url" id="image_url" value="{$manual_url}" onblur="getImageScale();" /></div>
|
||||
<div class="header">{$lang->image_url}</div>
|
||||
<div class="body"><input type="text" class="image_url" id="image_url" value="{$manual_url}" onblur="getImageScale();" /></div>
|
||||
|
||||
<div class="header">{$lang->image_scale}</div>
|
||||
<div class="body">
|
||||
<input type="text" class="editor_input" id="width" value="0" />px
|
||||
<input type="text" class="editor_input" id="height" value="0" />px
|
||||
<input type="button" value="{$lang->cmd_get_scale}" class="editor_button" onclick="getImageScale();return false;" />
|
||||
<div class="header">{$lang->image_scale}</div>
|
||||
<div class="body">
|
||||
<input type="text" class="editor_input" id="width" value="0" />px
|
||||
<input type="text" class="editor_input" id="height" value="0" />px
|
||||
<input type="button" value="{$lang->cmd_get_scale}" class="editor_button" onclick="getImageScale();return false;" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="header">{$lang->image_alt}</div>
|
||||
<div class="body"><input type="text" class="image_url" id="image_alt" value="" /></div>
|
||||
|
||||
<div class="header">{$lang->image_align}</div>
|
||||
<div class="body">
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="" id="align_normal" checked="true"/>
|
||||
<label for="align_normal">
|
||||
<img src="./images/align_normal.gif" alt="{$lang->image_align_normal}" />
|
||||
{$lang->image_align_normal}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="left" id="align_left" />
|
||||
<label for="align_left">
|
||||
<img src="./images/align_left.gif" alt="{$lang->image_align_left}" />
|
||||
{$lang->image_align_left}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="middle" id="align_middle" />
|
||||
<label for="align_middle">
|
||||
<img src="./images/align_middle.gif" alt="{$lang->image_align_middle}" />
|
||||
{$lang->image_align_middle}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="right" id="align_right" />
|
||||
<label for="align_right">
|
||||
<img src="./images/align_right.gif" alt="{$lang->image_align_right}" />
|
||||
{$lang->image_align_right}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->image_border}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="image_border" value="0" />px</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertImage()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="header">{$lang->image_alt}</div>
|
||||
<div class="body"><input type="text" class="image_url" id="image_alt" value="" /></div>
|
||||
|
||||
<div class="header">{$lang->image_align}</div>
|
||||
<div class="body">
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="" id="align_normal" checked="true"/>
|
||||
<label for="align_normal">
|
||||
<img src="./images/align_normal.gif" alt="{$lang->image_align_normal}" />
|
||||
{$lang->image_align_normal}
|
||||
</label>
|
||||
</div>
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="left" id="align_left" />
|
||||
<label for="align_left">
|
||||
<img src="./images/align_left.gif" alt="{$lang->image_align_left}" />
|
||||
{$lang->image_align_left}
|
||||
</label>
|
||||
</div>
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="middle" id="align_middle" />
|
||||
<label for="align_middle">
|
||||
<img src="./images/align_middle.gif" alt="{$lang->image_align_middle}" />
|
||||
{$lang->image_align_middle}
|
||||
</label>
|
||||
</div>
|
||||
<div class="image_align">
|
||||
<input type="radio" name="align" value="right" id="align_right" />
|
||||
<label for="align_right">
|
||||
<img src="./images/align_right.gif" alt="{$lang->image_align_right}" />
|
||||
{$lang->image_align_right}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->image_border}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="image_border" value="0" />px</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertImage()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">멀티미디어 자료 관리</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 wmv,avi,flv등의 멀티미디어 자료를 추가하거나 속성을 수정할 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">멀티미디어 자료 관리</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 wmv,avi,flv등의 멀티미디어 자료를 추가하거나 속성을 수정할 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,72 +1,73 @@
|
|||
@charset "utf-8";
|
||||
.editor_window {
|
||||
width:400px;
|
||||
clear:both;
|
||||
width:400px;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.header {
|
||||
float:left;
|
||||
width:100px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:100px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.body {
|
||||
float:left;
|
||||
width:250px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:250px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.body label {
|
||||
cursor:pointer;
|
||||
font-size:9pt;
|
||||
cursor:pointer;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.multimedia_url {
|
||||
width:240px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
width:240px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.multimedia_size {
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:0px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:0px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,27 +3,27 @@
|
|||
<!--%import("../lang")-->
|
||||
|
||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="header">{$lang->multimedia_url}</div>
|
||||
<div class="body"><input type="text" class="multimedia_url" id="multimedia_url" value="{$manual_url}" /></div>
|
||||
<div class="header">{$lang->multimedia_url}</div>
|
||||
<div class="body"><input type="text" class="multimedia_url" id="multimedia_url" value="{$manual_url}" /></div>
|
||||
|
||||
<div class="header">{$lang->multimedia_caption}</div>
|
||||
<div class="body"><input type="text" class="multimedia_url" id="multimedia_caption" value="" /></div>
|
||||
<div class="header">{$lang->multimedia_caption}</div>
|
||||
<div class="body"><input type="text" class="multimedia_url" id="multimedia_caption" value="" /></div>
|
||||
|
||||
<div class="header">{$lang->multimedia_width}</div>
|
||||
<div class="body"><input type="text" class="multimedia_size" id="multimedia_width" value="640" />px</div>
|
||||
<div class="header">{$lang->multimedia_width}</div>
|
||||
<div class="body"><input type="text" class="multimedia_size" id="multimedia_width" value="640" />px</div>
|
||||
|
||||
<div class="header">{$lang->multimedia_height}</div>
|
||||
<div class="body"><input type="text" class="multimedia_size" id="multimedia_height" value="480" />px</div>
|
||||
<div class="header">{$lang->multimedia_height}</div>
|
||||
<div class="body"><input type="text" class="multimedia_size" id="multimedia_height" value="480" />px</div>
|
||||
|
||||
<div class="header">{$lang->multimedia_auto_start}</div>
|
||||
<div class="body"><input type="checkbox" id="multimedia_auto_start" value="Y" /></div>
|
||||
<div class="header">{$lang->multimedia_auto_start}</div>
|
||||
<div class="body"><input type="checkbox" id="multimedia_auto_start" value="Y" /></div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertMultimedia()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertMultimedia()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">네이버맵 연동</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">네이버에서 제공하는 네이버 지도 open api를 이용하여 에디터에 원하는 곳의 지도를 추가하거나 수정할 수 있습니다.\n네이버 지도 open api키를 발급 받아서 등록을 해주셔야 정상적인 사용이 가능합니다.</description>
|
||||
</author>
|
||||
<extra_vars>
|
||||
<var name="api_key">
|
||||
<title xml:lang="ko">네이버지도 api key</title>
|
||||
<description xml:lang="ko">http://www.naver.com/ 에서 네이버 지도 API key를 발급 받으신 후 입력해주세요.</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
<title xml:lang="ko">네이버맵 연동</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">네이버에서 제공하는 네이버 지도 open api를 이용하여 에디터에 원하는 곳의 지도를 추가하거나 수정할 수 있습니다.\n네이버 지도 open api키를 발급 받아서 등록을 해주셔야 정상적인 사용이 가능합니다.</description>
|
||||
</author>
|
||||
<extra_vars>
|
||||
<var name="api_key">
|
||||
<title xml:lang="ko">네이버지도 api key</title>
|
||||
<description xml:lang="ko">http://www.naver.com/ 에서 네이버 지도 API key를 발급 받으신 후 입력해주세요.</description>
|
||||
</var>
|
||||
</extra_vars>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<!--%import("popup.css")-->
|
||||
<!--%import("../lang")-->
|
||||
<div class="error_window">
|
||||
<div class="error_text">
|
||||
{nl2br($lang->msg_no_apikey)}
|
||||
</div>
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_close}" onclick="window.close();" class="editor_button" />
|
||||
</div>
|
||||
<div class="error_text">
|
||||
{nl2br($lang->msg_no_apikey)}
|
||||
</div>
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_close}" onclick="window.close();" class="editor_button" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,130 +1,131 @@
|
|||
@charset "utf-8";
|
||||
.editor_window {
|
||||
width:700px;
|
||||
clear:both;
|
||||
width:700px;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.error_window {
|
||||
width:700px;
|
||||
width:700px;
|
||||
}
|
||||
|
||||
.error_text {
|
||||
padding:20px;
|
||||
color:#444444;
|
||||
border:10px solid #DDDDDD;
|
||||
font-size:9pt;
|
||||
line-height:200%;
|
||||
padding:20px;
|
||||
color:#444444;
|
||||
border:10px solid #DDDDDD;
|
||||
font-size:9pt;
|
||||
line-height:200%;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.address_box {
|
||||
float:left;
|
||||
width:250px;
|
||||
border:1px solid #EEEEEE;
|
||||
padding:5px;
|
||||
margin:5px;
|
||||
float:left;
|
||||
width:250px;
|
||||
border:1px solid #EEEEEE;
|
||||
padding:5px;
|
||||
margin:5px;
|
||||
}
|
||||
|
||||
|
||||
.input_address {
|
||||
width:200px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:12px;
|
||||
font-size:9pt;
|
||||
width:200px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:12px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.address_button {
|
||||
margin-top:4px;
|
||||
background-color:#AAAAAA;
|
||||
border:1px solid #333333;
|
||||
color:#FFFFFF;
|
||||
height:16px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#AAAAAA;
|
||||
border:1px solid #333333;
|
||||
color:#FFFFFF;
|
||||
height:16px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.about_address {
|
||||
font-size:8pt;
|
||||
color:#AAAAAA;
|
||||
margin-top:3px;
|
||||
font-size:8pt;
|
||||
color:#AAAAAA;
|
||||
margin-top:3px;
|
||||
}
|
||||
|
||||
.address_list_box {
|
||||
border:1px solid #DDDDDD;
|
||||
padding:5px;
|
||||
float:left;
|
||||
width:250px;
|
||||
height:288px;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
color:#AAAAAA;
|
||||
overflow:auto;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:5px;
|
||||
float:left;
|
||||
width:250px;
|
||||
height:288px;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
color:#AAAAAA;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
.address_list_box A {
|
||||
color:#888888;
|
||||
line-height:15px;
|
||||
color:#888888;
|
||||
line-height:15px;
|
||||
}
|
||||
|
||||
.map_scale_box {
|
||||
float:left;
|
||||
width:250px;
|
||||
border:1px solid #EEEEEE;
|
||||
padding:5px;
|
||||
margin:5px;
|
||||
float:left;
|
||||
width:250px;
|
||||
border:1px solid #EEEEEE;
|
||||
padding:5px;
|
||||
margin:5px;
|
||||
}
|
||||
|
||||
.map_scale_header {
|
||||
float:left;
|
||||
font-size:9pt;
|
||||
width:60px;
|
||||
float:left;
|
||||
font-size:9pt;
|
||||
width:60px;
|
||||
}
|
||||
|
||||
.map_scale_body {
|
||||
width:180px;
|
||||
float:left;
|
||||
margin-left:5px;
|
||||
font-size:9pt;
|
||||
width:180px;
|
||||
float:left;
|
||||
margin-left:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.input_map_size {
|
||||
width:30px;
|
||||
border:1px solid #EEEEEE;
|
||||
height:12px;
|
||||
font-size:9pt;
|
||||
width:30px;
|
||||
border:1px solid #EEEEEE;
|
||||
height:12px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.map_display {
|
||||
float:right;
|
||||
width:410px;
|
||||
height:410px;
|
||||
margin:5px 5px 0px 6px;
|
||||
float:right;
|
||||
width:410px;
|
||||
height:410px;
|
||||
margin:5px 5px 0px 6px;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
width:100%;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:0px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
width:100%;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:0px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,32 +3,33 @@
|
|||
<!--%import("../lang")-->
|
||||
|
||||
<form action="./" method="get" onSubmit="search_address(); return false;" id="fo">
|
||||
<input type="hidden" id="map_x" name="x" value="" />
|
||||
<input type="hidden" id="map_y" name="x" value="" />
|
||||
<input type="hidden" id="marker" name="marker_1" value="" />
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<input type="hidden" id="map_x" name="x" value="" />
|
||||
<input type="hidden" id="map_y" name="x" value="" />
|
||||
<input type="hidden" id="marker" name="marker_1" value="" />
|
||||
|
||||
<div class="map_display"><iframe name="display_map" id="display_map" frameBorder="0" style="width:400px;height:400px;border:0px;margin:5px;" src="./?module=editor&component=naver_map&act=procCall&method=displayMap&width=400&height=400"></iframe></div>
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="address_box">
|
||||
<input type="text" class="input_address" id="address" value="" /><input type="submit" value="{$lang->cmd_search}" class="address_button" onclick="search_address();return false;"/>
|
||||
<div class="about_address">{$lang->about_address}</div>
|
||||
<div class="map_display"><iframe name="display_map" id="display_map" frameBorder="0" style="width:400px;height:400px;border:0px;margin:5px;" src="./?module=editor&component=naver_map&act=procCall&method=displayMap&width=400&height=400"></iframe></div>
|
||||
|
||||
<div class="address_box">
|
||||
<input type="text" class="input_address" id="address" value="" /><input type="submit" value="{$lang->cmd_search}" class="address_button" onclick="search_address();return false;"/>
|
||||
<div class="about_address">{$lang->about_address}</div>
|
||||
</div>
|
||||
|
||||
<div class="address_list_box" id="address_list">{$lang->about_address_use}</div>
|
||||
|
||||
<div class="map_scale_box">
|
||||
<div class="map_scale_header">{$lang->map_width}</div>
|
||||
<div class="map_scale_body"><input type="text" class="input_map_size" id="map_width" value="640" />px</div>
|
||||
|
||||
<div class="map_scale_header">{$lang->map_height}</div>
|
||||
<div class="map_scale_body"><input type="text" class="input_map_size" id="map_height" value="480" />px</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertNaverMap()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="address_list_box" id="address_list">{$lang->about_address_use}</div>
|
||||
|
||||
<div class="map_scale_box">
|
||||
<div class="map_scale_header">{$lang->map_width}</div>
|
||||
<div class="map_scale_body"><input type="text" class="input_map_size" id="map_width" value="640" />px</div>
|
||||
|
||||
<div class="map_scale_header">{$lang->map_height}</div>
|
||||
<div class="map_scale_body"><input type="text" class="input_map_size" id="map_height" value="480" />px</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertNaverMap()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">인용구 작성</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">특정 범위를 인용문으로 꾸밀 수 있습니다. 외곽선의 종류나 색상, 굵기를 수정할 수 있으며 열기/닫기 기능을 가진 폴더기능을 만들 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">인용구 작성</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">특정 범위를 인용문으로 꾸밀 수 있습니다. 외곽선의 종류나 색상, 굵기를 수정할 수 있으며 열기/닫기 기능을 가진 폴더기능을 만들 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,131 +1,132 @@
|
|||
@charset "utf-8";
|
||||
.editor_window {
|
||||
width:555px;
|
||||
text-align:center;
|
||||
width:555px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.header {
|
||||
float:left;
|
||||
width:100px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:100px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.body {
|
||||
float:left;
|
||||
width:400px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:400px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
#folder_area {
|
||||
clear:left;
|
||||
height:115px;
|
||||
border:1px dotted #DDDDDD;
|
||||
margin:0px 10px 10px 10px;
|
||||
clear:left;
|
||||
height:115px;
|
||||
border:1px dotted #DDDDDD;
|
||||
margin:0px 10px 10px 10px;
|
||||
}
|
||||
|
||||
.body label {
|
||||
cursor:pointer;
|
||||
font-size:9pt;
|
||||
cursor:pointer;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.editor_input {
|
||||
width:50px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:50px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_input_long {
|
||||
width:380px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:380px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_select {
|
||||
width:80px;
|
||||
height:14px;
|
||||
font-size:9pt;
|
||||
width:80px;
|
||||
height:14px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
clear:both;
|
||||
text-align:center;
|
||||
height:25px;
|
||||
padding-top:3px;
|
||||
background-color:#EEEEEE;
|
||||
clear:both;
|
||||
text-align:center;
|
||||
height:25px;
|
||||
padding-top:3px;
|
||||
background-color:#EEEEEE;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:8pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:8pt;
|
||||
}
|
||||
|
||||
img.color_icon {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
}
|
||||
|
||||
img.color_icon_over {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
img.border_preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#88EE22;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#88EE22;
|
||||
}
|
||||
|
||||
img.border_preview_none_color {
|
||||
width:30px;
|
||||
height:12px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#FFFFFF;
|
||||
width:30px;
|
||||
height:12px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
|
||||
img.bg_preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
|
||||
.editor_color_box {
|
||||
clear:both;
|
||||
height:65px;
|
||||
width:400px;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:2px;
|
||||
margin-bottom:3px;
|
||||
clear:both;
|
||||
height:65px;
|
||||
width:400px;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:2px;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
.editor_color_input {
|
||||
clear:both;
|
||||
clear:both;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,130 +3,130 @@
|
|||
<!--%import("../lang")-->
|
||||
|
||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="header">{$lang->quotation_use_folder}</div>
|
||||
<div class="body"><input type="checkbox" id="quotation_use" value="Y" onclick="toggle_folder(this)" /></div>
|
||||
<div class="header">{$lang->quotation_use_folder}</div>
|
||||
<div class="body"><input type="checkbox" id="quotation_use" value="Y" onclick="toggle_folder(this)" /></div>
|
||||
|
||||
<div id="folder_area" style="display:none">
|
||||
<div class="header">{$lang->quotation_opener}</div>
|
||||
<div class="body"><input type="text" class="editor_input_long" id="quotation_opener" value="{$lang->quotation_cmd_opener}" /></div>
|
||||
<div id="folder_area" style="display:none">
|
||||
<div class="header">{$lang->quotation_opener}</div>
|
||||
<div class="body"><input type="text" class="editor_input_long" id="quotation_opener" value="{$lang->quotation_cmd_opener}" /></div>
|
||||
|
||||
<div class="header">{$lang->quotation_closer}</div>
|
||||
<div class="body"><input type="text" class="editor_input_long" id="quotation_closer" value="{$lang->quotation_cmd_closer}" /></div>
|
||||
<div class="header">{$lang->quotation_closer}</div>
|
||||
<div class="body"><input type="text" class="editor_input_long" id="quotation_closer" value="{$lang->quotation_cmd_closer}" /></div>
|
||||
|
||||
<div class="header">{$lang->folder_text_bold}</div>
|
||||
<div class="body"><input type="checkbox" name="bold" value="Y" id="quotation_bold" /> <label for="quotation_bold">{$lang->about_folder_text_bold}</label></div>
|
||||
<div class="header">{$lang->folder_text_bold}</div>
|
||||
<div class="body"><input type="checkbox" name="bold" value="Y" id="quotation_bold" /> <label for="quotation_bold">{$lang->about_folder_text_bold}</label></div>
|
||||
|
||||
<div class="header">{$lang->folder_text_color}</div>
|
||||
<div class="header">{$lang->folder_text_color}</div>
|
||||
<div class="body">
|
||||
<span>
|
||||
<input type="radio" name="color" value="blue" id="quotation_color_blue" />
|
||||
<label for="quotation_color_blue" class="editor_blue_text">{$lang->folder_text_color_blue}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="red" id="quotation_color_red" />
|
||||
<label for="quotation_color_red" class="editor_red_text">{$lang->folder_text_color_red}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="yellow" id="quotation_color_yellow" />
|
||||
<label for="quotation_color_yellow" class="editor_yellow_text">{$lang->folder_text_color_yellow}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="green" id="quotation_color_green" />
|
||||
<label for="quotation_color_green" class="editor_green_text">{$lang->folder_text_color_green}</label>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->quotation_padding}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="quotation_padding" value="5" />px</div>
|
||||
|
||||
<div class="header">{$lang->quotation_margin}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="quotation_margin" value="5" />px</div>
|
||||
|
||||
<div class="header">{$lang->quotation_border_style}</div>
|
||||
<div class="body">
|
||||
<span>
|
||||
<input type="radio" name="color" value="blue" id="quotation_color_blue" />
|
||||
<label for="quotation_color_blue" class="editor_blue_text">{$lang->folder_text_color_blue}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="red" id="quotation_color_red" />
|
||||
<label for="quotation_color_red" class="editor_red_text">{$lang->folder_text_color_red}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="yellow" id="quotation_color_yellow" />
|
||||
<label for="quotation_color_yellow" class="editor_yellow_text">{$lang->folder_text_color_yellow}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="green" id="quotation_color_green" />
|
||||
<label for="quotation_color_green" class="editor_green_text">{$lang->folder_text_color_green}</label>
|
||||
</span>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="" id="border_style_none" />
|
||||
<label for="border_style_none">
|
||||
<img src="./images/blank.gif" class="border_preview_none_color" alt="blank" />
|
||||
{$lang->quotation_border_style_list[0]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="solid" id="border_style_solid" checked="true" />
|
||||
<label for="border_style_solid">
|
||||
<img src="./images/border_solid.gif" class="border_preview_color" id="border_style_solid_icon" alt="solid" />
|
||||
{$lang->quotation_border_style_list[1]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="dotted" id="border_style_dotted" />
|
||||
<label for="border_style_dotted">
|
||||
<img src="./images/border_dotted.gif" class="border_preview_color" id="border_style_dotted_icon" alt="dotted" />
|
||||
{$lang->quotation_border_style_list[2]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="left_solid" id="border_style_left_solid" />
|
||||
<label for="border_style_left_solid">
|
||||
<img src="./images/border_left_solid.gif" class="border_preview_color" id="border_style_left_solid_icon" alt="left solid"/>
|
||||
{$lang->quotation_border_style_list[3]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="left_dotted" id="border_style_left_dotted" />
|
||||
<label for="border_style_left_dotted">
|
||||
<img src="./images/border_left_dotted.gif" class="border_preview_color" id="border_style_left_dotted_icon" alt="left dotted"/>
|
||||
{$lang->quotation_border_style_list[4]}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->quotation_border_thickness}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="border_thickness" value="1" />px</div>
|
||||
|
||||
<div class="header">{$lang->quotation_border_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/border_solid.gif" alt="blank" class="border_preview_color" id="border_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="border_color_input" size="6" maxlength="6" class="editor_input" value="88EE22" onkeyup="manual_select_color('border',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->quotation_bg_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="bg_color_input" size="6" maxlength="6" class="editor_input" value="FFFFFF" onkeyup="manual_select_color('bg',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertQuotation()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->quotation_padding}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="quotation_padding" value="5" />px</div>
|
||||
|
||||
<div class="header">{$lang->quotation_margin}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="quotation_margin" value="5" />px</div>
|
||||
|
||||
<div class="header">{$lang->quotation_border_style}</div>
|
||||
<div class="body">
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="" id="border_style_none" />
|
||||
<label for="border_style_none">
|
||||
<img src="./images/blank.gif" class="border_preview_none_color" alt="blank" />
|
||||
{$lang->quotation_border_style_list[0]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="solid" id="border_style_solid" checked="true" />
|
||||
<label for="border_style_solid">
|
||||
<img src="./images/border_solid.gif" class="border_preview_color" id="border_style_solid_icon" alt="solid" />
|
||||
{$lang->quotation_border_style_list[1]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="dotted" id="border_style_dotted" />
|
||||
<label for="border_style_dotted">
|
||||
<img src="./images/border_dotted.gif" class="border_preview_color" id="border_style_dotted_icon" alt="dotted" />
|
||||
{$lang->quotation_border_style_list[2]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="left_solid" id="border_style_left_solid" />
|
||||
<label for="border_style_left_solid">
|
||||
<img src="./images/border_left_solid.gif" class="border_preview_color" id="border_style_left_solid_icon" alt="left solid"/>
|
||||
{$lang->quotation_border_style_list[3]}
|
||||
</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="radio" name="border_style" value="left_dotted" id="border_style_left_dotted" />
|
||||
<label for="border_style_left_dotted">
|
||||
<img src="./images/border_left_dotted.gif" class="border_preview_color" id="border_style_left_dotted_icon" alt="left dotted"/>
|
||||
{$lang->quotation_border_style_list[4]}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->quotation_border_thickness}</div>
|
||||
<div class="body"><input type="text" class="editor_input" id="border_thickness" value="1" />px</div>
|
||||
|
||||
<div class="header">{$lang->quotation_border_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/border_solid.gif" alt="blank" class="border_preview_color" id="border_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="border_color_input" size="6" maxlength="6" class="editor_input" value="88EE22" onkeyup="manual_select_color('border',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->quotation_bg_color}</div>
|
||||
<div class="body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="bg_color_input" size="6" maxlength="6" class="editor_input" value="FFFFFF" onkeyup="manual_select_color('bg',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertQuotation()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">표(table) 생성</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 표(table)을 생성하거나 표(table) 또는 칸(td)의 속성을 변경할 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">표(table) 생성</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 표(table)을 생성하거나 표(table) 또는 칸(td)의 속성을 변경할 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,125 +1,126 @@
|
|||
@charset "utf-8";
|
||||
.editor_window {
|
||||
width:530px;
|
||||
text-align:center;
|
||||
width:530px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_option {
|
||||
text-align:center;
|
||||
padding:5px 0px 5px 0px;
|
||||
background-color:#EEEEEE;
|
||||
margin-bottom:5px;
|
||||
text-align:center;
|
||||
padding:5px 0px 5px 0px;
|
||||
background-color:#EEEEEE;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
|
||||
.item_area {
|
||||
clear:left;
|
||||
clear:left;
|
||||
}
|
||||
|
||||
.header {
|
||||
width:85px;
|
||||
float:left;
|
||||
text-align:right;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
overflow:hidden;
|
||||
width:85px;
|
||||
float:left;
|
||||
text-align:right;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.body {
|
||||
overflow:hidden;
|
||||
width:140px;
|
||||
float:left;
|
||||
text-align:left;
|
||||
margin:5px 5px 5px 0px;
|
||||
font-size:9pt;
|
||||
overflow:hidden;
|
||||
width:140px;
|
||||
float:left;
|
||||
text-align:left;
|
||||
margin:5px 5px 5px 0px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.wide_body {
|
||||
width:380px;
|
||||
float:left;
|
||||
clear:right;
|
||||
text-align:left;
|
||||
margin:5px 10px 5px 0px;
|
||||
font-size:9pt;
|
||||
width:380px;
|
||||
float:left;
|
||||
clear:right;
|
||||
text-align:left;
|
||||
margin:5px 10px 5px 0px;
|
||||
font-size:9pt;
|
||||
}
|
||||
.table_input {
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
width:40px;
|
||||
height:13px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
clear:both;
|
||||
text-align:center;
|
||||
height:25px;
|
||||
padding-top:3px;
|
||||
background-color:#EEEEEE;
|
||||
clear:both;
|
||||
text-align:center;
|
||||
height:25px;
|
||||
padding-top:3px;
|
||||
background-color:#EEEEEE;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:8pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:8pt;
|
||||
}
|
||||
|
||||
img.color_icon {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #FFFFFF;
|
||||
}
|
||||
|
||||
img.color_icon_over {
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
width:14px;
|
||||
height:14px;
|
||||
border:1px solid #000000;
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
img.border_preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#000000;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#000000;
|
||||
}
|
||||
|
||||
img.border_preview_none_color {
|
||||
width:30px;
|
||||
height:12px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#FFFFFF;
|
||||
width:30px;
|
||||
height:12px;
|
||||
border:1px solid #EEEEEE;
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
|
||||
img.bg_preview_color {
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
width:30px;
|
||||
height:16px;
|
||||
border:1px solid #000000;
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
|
||||
.editor_color_box {
|
||||
clear:both;
|
||||
height:65px;
|
||||
width:400px;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:2px;
|
||||
margin-bottom:3px;
|
||||
clear:both;
|
||||
height:65px;
|
||||
width:400px;
|
||||
border:1px solid #DDDDDD;
|
||||
padding:2px;
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
.editor_color_input {
|
||||
clear:both;
|
||||
clear:both;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,109 +3,111 @@
|
|||
<!--%import("../lang")-->
|
||||
|
||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
||||
<div class="editor_window">
|
||||
<div class="editor_window">
|
||||
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="editor_option" id="table_option" style="display:none">
|
||||
<input name="attr" type="radio" value="table" id="table_attribute_select" onclick="doSelectOption('table');"/> <label for="table_attribute_select">{$lang->table_attribute}</label>
|
||||
<input name="attr" type="radio" value="cell" id="cell_attribute_select" onclick="doSelectOption('cell');"/> <label for="cell_attribute_select">{$lang->cell_attribute}</label>
|
||||
</div>
|
||||
|
||||
<div id="table_attribute" style="display:none">
|
||||
|
||||
<div class="item_area" id="col_row_area" style="display:none" >
|
||||
<div class="header">{$lang->table_cols_count} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cols_count" value="2" /></div>
|
||||
|
||||
<div class="header">{$lang->table_rows_count} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="rows_count" value="1" /></div>
|
||||
</div>
|
||||
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->table_width} :</div>
|
||||
<div class="wide_body">
|
||||
<input type="text" class="table_input" id="width" value="100" />
|
||||
<input type="radio" name="width_unit" id="width_unit_percent" checked="true" /><label for="width_unit_percent">%</label>
|
||||
<input type="radio" name="width_unit" id="width_unit_pixel" /><label for="width_unit_pixel">px</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->table_cellspacing} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cellspacing" value="0" />px</div>
|
||||
|
||||
<div class="header">{$lang->table_cellpadding} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cellpadding" value="1" />px</div>
|
||||
</div>
|
||||
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->table_border} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="border" value="1" />px</div>
|
||||
|
||||
<div class="header">{$lang->table_inner_border} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="inner_border" value="0" />px</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="cell_attribute" style="display:none">
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->cell_width} :</div>
|
||||
<div class="body">
|
||||
<input type="text" class="table_input" id="cell_width" value="0" />
|
||||
<input type="radio" name="cell_width_unit" id="cell_width_unit_percent" checked="true" /><label for="cell_width_unit_percent">%</label>
|
||||
<input type="radio" name="cell_width_unit" id="cell_width_unit_pixel" /><label for="cell_width_unit_pixel">px</label>
|
||||
<div class="editor_option" id="table_option" style="display:none">
|
||||
<input name="attr" type="radio" value="table" id="table_attribute_select" onclick="doSelectOption('table');"/> <label for="table_attribute_select">{$lang->table_attribute}</label>
|
||||
<input name="attr" type="radio" value="cell" id="cell_attribute_select" onclick="doSelectOption('cell');"/> <label for="cell_attribute_select">{$lang->cell_attribute}</label>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->cell_height} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cell_height" value="0" />px</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="table_attribute" style="display:none">
|
||||
|
||||
<div class="item_area" id="border_color_area" style="display:none">
|
||||
<div class="header">{$lang->table_border_color} :</div>
|
||||
<div class="wide_body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
<div class="item_area" id="col_row_area" style="display:none" >
|
||||
<div class="header">{$lang->table_cols_count} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cols_count" value="2" /></div>
|
||||
|
||||
<div class="header">{$lang->table_rows_count} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="rows_count" value="1" /></div>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/border_solid.gif" alt="blank" class="border_preview_color" id="border_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="border_color_input" size="6" maxlength="6" class="table_input" value="000000" onkeyup="manual_select_color('border',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item_area" id="bg_color_area" style="display:none">
|
||||
<div class="header">{$lang->table_bg_color} :</div>
|
||||
<div class="wide_body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->table_width} :</div>
|
||||
<div class="wide_body">
|
||||
<input type="text" class="table_input" id="width" value="100" />
|
||||
<input type="radio" name="width_unit" id="width_unit_percent" checked="true" /><label for="width_unit_percent">%</label>
|
||||
<input type="radio" name="width_unit" id="width_unit_pixel" /><label for="width_unit_pixel">px</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="bg_color_input" size="6" maxlength="6" class="table_input" value="FFFFFF" onkeyup="manual_select_color('bg',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->table_cellspacing} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cellspacing" value="0" />px</div>
|
||||
|
||||
<div class="header">{$lang->table_cellpadding} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cellpadding" value="1" />px</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertTable()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->table_border} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="border" value="1" />px</div>
|
||||
|
||||
</div>
|
||||
<div class="header">{$lang->table_inner_border} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="inner_border" value="0" />px</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="cell_attribute" style="display:none">
|
||||
<div class="item_area">
|
||||
<div class="header">{$lang->cell_width} :</div>
|
||||
<div class="body">
|
||||
<input type="text" class="table_input" id="cell_width" value="0" />
|
||||
<input type="radio" name="cell_width_unit" id="cell_width_unit_percent" checked="true" /><label for="cell_width_unit_percent">%</label>
|
||||
<input type="radio" name="cell_width_unit" id="cell_width_unit_pixel" /><label for="cell_width_unit_pixel">px</label>
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->cell_height} :</div>
|
||||
<div class="body"><input type="text" class="table_input" id="cell_height" value="0" />px</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item_area" id="border_color_area" style="display:none">
|
||||
<div class="header">{$lang->table_border_color} :</div>
|
||||
<div class="wide_body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/border_solid.gif" alt="blank" class="border_preview_color" id="border_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="border_color_input" size="6" maxlength="6" class="table_input" value="000000" onkeyup="manual_select_color('border',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item_area" id="bg_color_area" style="display:none">
|
||||
<div class="header">{$lang->table_bg_color} :</div>
|
||||
<div class="wide_body">
|
||||
<div class="editor_color_box">
|
||||
<script type="text/javascript">
|
||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
||||
</script>
|
||||
</div>
|
||||
<div class="editor_color_input">
|
||||
<table border="0" cellspacing="0">
|
||||
<tr>
|
||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
||||
<td>#</td>
|
||||
<td><input type="text" id="bg_color_input" size="6" maxlength="6" class="table_input" value="FFFFFF" onkeyup="manual_select_color('bg',this)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertTable()" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<component version="0.1">
|
||||
<title xml:lang="ko">링크 생성</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 링크를 추가하거나 링크의 속성을 변경할 수 있습니다.</description>
|
||||
</author>
|
||||
<title xml:lang="ko">링크 생성</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">에디터에 링크를 추가하거나 링크의 속성을 변경할 수 있습니다.</description>
|
||||
</author>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -1,67 +1,68 @@
|
|||
@charset "utf-8";
|
||||
.editor_window {
|
||||
width:400px;
|
||||
clear:both;
|
||||
width:400px;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
.editor_title {
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
clear:both;
|
||||
height:20px;
|
||||
background-color:#555555;
|
||||
color:#EFEFEF;
|
||||
vertical-align:middle;
|
||||
padding-top:5px;
|
||||
border-bottom:1px solid #000000;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.header {
|
||||
float:left;
|
||||
width:60px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
padding-left:20px;
|
||||
float:left;
|
||||
width:60px;
|
||||
clear:left;
|
||||
text-align:left;
|
||||
font-weight:bold;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
padding-left:20px;
|
||||
}
|
||||
|
||||
.body {
|
||||
float:left;
|
||||
width:290px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
float:left;
|
||||
width:290px;
|
||||
text-align:left;
|
||||
margin:5px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.editor_textarea {
|
||||
width:280px;
|
||||
height:50px;
|
||||
border:1px solid #AAAAAA;
|
||||
font-size:9pt;
|
||||
width:280px;
|
||||
height:50px;
|
||||
border:1px solid #AAAAAA;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.editor_input {
|
||||
width:280px;
|
||||
border:1px solid #AAAAAA;
|
||||
font-size:9pt;
|
||||
height:13px;
|
||||
width:280px;
|
||||
border:1px solid #AAAAAA;
|
||||
font-size:9pt;
|
||||
height:13px;
|
||||
}
|
||||
|
||||
.editor_button_area {
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:0px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
border-top:1px solid #AAAAAA;
|
||||
text-align:center;
|
||||
background-color:#EEEEEE;
|
||||
padding:0px 0px 2px 0px;
|
||||
clear:both;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
margin-top:4px;
|
||||
background-color:#FFFFFF;
|
||||
border:1px solid #AAAAAA;
|
||||
height:18px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,46 +2,45 @@
|
|||
<!--%import("popup.css")-->
|
||||
<!--%import("../lang")-->
|
||||
<form action="./" method="get" id="fo_component" onSubmit="return false">
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
<div class="editor_window">
|
||||
<div class="editor_title">{$component_info->title} ver. {$component_info->version} <a href="#" onclick="winopen('./?module=editor&act=viewComponentInfo&component_name={$component_info->component_name}','ComponentInfo','left=10,top=10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');return false;"><img src="../../../tpl/images/about_component.gif" title="{$lang->about_component}" alt="{$lang->about_component}" class="about_component_icon" border="0" /></a></div>
|
||||
|
||||
<div class="header">{$lang->urllink_title}</div>
|
||||
<div class="body"><textarea name="text" class="editor_textarea"></textarea></div>
|
||||
<div class="header">{$lang->urllink_title}</div>
|
||||
<div class="body"><textarea name="text" class="editor_textarea"></textarea></div>
|
||||
|
||||
<div class="header">{$lang->urllink_url}</div>
|
||||
<div class="body"><input type="text" name="url" class="editor_input" value="{$manual_url}"/></div>
|
||||
<div class="header">{$lang->urllink_url}</div>
|
||||
<div class="body"><input type="text" name="url" class="editor_input" value="{$manual_url}"/></div>
|
||||
|
||||
<div class="header">{$lang->urllink_open_window}</div>
|
||||
<div class="body"><input type="checkbox" name="open_window" value="Y" id="editor_open_window" /> <label for="editor_open_window">{$lang->about_url_link_open_window}</label></div>
|
||||
<div class="header">{$lang->urllink_open_window}</div>
|
||||
<div class="body"><input type="checkbox" name="open_window" value="Y" id="editor_open_window" /> <label for="editor_open_window">{$lang->about_url_link_open_window}</label></div>
|
||||
|
||||
<div class="header">{$lang->urllink_bold}</div>
|
||||
<div class="body"><input type="checkbox" name="bold" value="Y" id="editor_bold" /> <label for="editor_bold">{$lang->about_url_link_bold}</label></div>
|
||||
<div class="header">{$lang->urllink_bold}</div>
|
||||
<div class="body"><input type="checkbox" name="bold" value="Y" id="editor_bold" /> <label for="editor_bold">{$lang->about_url_link_bold}</label></div>
|
||||
|
||||
<div class="header">{$lang->urllink_color}</div>
|
||||
<div class="body">
|
||||
<span>
|
||||
<input type="radio" name="color" value="blue" id="color_blue" />
|
||||
<label for="color_blue" class="editor_blue_text">{$lang->urllink_color_blue}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="red" id="color_red" />
|
||||
<label for="color_red" class="editor_red_text">{$lang->urllink_color_red}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="yellow" id="color_yellow" />
|
||||
<label for="color_yellow" class="editor_yellow_text">{$lang->urllink_color_yellow}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="green" id="color_green" />
|
||||
<label for="color_green" class="editor_green_text">{$lang->urllink_color_green}</label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" class="editor_button" value="{$lang->cmd_insert}" onclick="setText()" />
|
||||
<input type="button" class="editor_button" value="{$lang->cmd_close}" onclick="window.close()" />
|
||||
</div>
|
||||
|
||||
<div class="header">{$lang->urllink_color}</div>
|
||||
<div class="body">
|
||||
<span>
|
||||
<input type="radio" name="color" value="blue" id="color_blue" />
|
||||
<label for="color_blue" class="editor_blue_text">{$lang->urllink_color_blue}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="red" id="color_red" />
|
||||
<label for="color_red" class="editor_red_text">{$lang->urllink_color_red}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="yellow" id="color_yellow" />
|
||||
<label for="color_yellow" class="editor_yellow_text">{$lang->urllink_color_yellow}</label>
|
||||
</span>
|
||||
<span>
|
||||
<input type="radio" name="color" value="green" id="color_green" />
|
||||
<label for="color_green" class="editor_green_text">{$lang->urllink_color_green}</label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="editor_button_area">
|
||||
<input type="button" class="editor_button" value="{$lang->cmd_insert}" onclick="setText()" />
|
||||
<input type="button" class="editor_button" value="{$lang->cmd_close}" onclick="window.close()" />
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module version="0.1">
|
||||
<title xml:lang="ko">위지윅 에디터 </title>
|
||||
<title xml:lang="en">editor</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">위지윅 에디터 출력 및 관리</description>
|
||||
<description xml:lang="en">editor</description>
|
||||
<description xml:lang="ko">위지윅 에디터를 출력하거나 에디터 컴포넌트들을 관리/중계하는 모듈입니다.</description>
|
||||
</author>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -2,16 +2,18 @@
|
|||
<module>
|
||||
<grants />
|
||||
<actions>
|
||||
<action name="adminIndex" type="view" standalone="true" admin_index="true" />
|
||||
<action name="setupComponent" type="view" standalone="true" />
|
||||
<action name="dispPopup" type="view" standalone="true" />
|
||||
<action name="viewComponentInfo" type="view" standalone="true" />
|
||||
<action name="dispEditorPopup" type="view" standalone="true" />
|
||||
<action name="dispEditorComponentInfo" type="view" standalone="true" />
|
||||
|
||||
<action name="procSaveDoc" type="controller" standalone="true" />
|
||||
<action name="procCall" type="controller" standalone="true" />
|
||||
<action name="procEnableComponent" type="controller" standalone="true" />
|
||||
<action name="procDisableComponent" type="controller" standalone="true" />
|
||||
<action name="procMoveListOrder" type="controller" standalone="true" />
|
||||
<action name="procSetupComponent" type="controller" standalone="true" />
|
||||
<action name="dispEditorAdminIndex" type="view" standalone="true" admin_index="true" />
|
||||
<action name="dispEditorAdminSetupComponent" type="view" standalone="true" />
|
||||
|
||||
<action name="procEditorSaveDoc" type="controller" standalone="true" />
|
||||
<action name="procEditorCall" type="controller" standalone="true" />
|
||||
|
||||
<action name="procEditorAdminEnableComponent" type="controller" standalone="true" />
|
||||
<action name="procEditorAdminDisableComponent" type="controller" standalone="true" />
|
||||
<action name="procEditorAdminMoveListOrder" type="controller" standalone="true" />
|
||||
<action name="procEditorAdminSetupComponent" type="controller" standalone="true" />
|
||||
</actions>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -11,8 +11,14 @@
|
|||
* @brief 설치시 추가 작업이 필요할시 구현
|
||||
**/
|
||||
function moduleInstall() {
|
||||
// 에디터 모듈에서 사용할 디렉토리 생성
|
||||
FileHandler::makeDir('./files/cache/editor');
|
||||
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertActionFoward('editor', 'view', 'dispEditorAdminIndex');
|
||||
$oModuleController->insertActionFoward('editor', 'view', 'dispEditorAdminSetupComponent');
|
||||
$oModuleController->insertActionFoward('editor', 'controller', 'procEditorAdminEnableComponent');
|
||||
$oModuleController->insertActionFoward('editor', 'controller', 'procEditorAdminDisableComponent');
|
||||
$oModuleController->insertActionFoward('editor', 'controller', 'procEditorAdminMoveListOrder');
|
||||
$oModuleController->insertActionFoward('editor', 'controller', 'procEditorAdminSetupComponent');
|
||||
|
||||
// 기본 에디터 컴포넌트를 추가
|
||||
$oEditorController = &getController('editor');
|
||||
|
|
@ -26,6 +32,9 @@
|
|||
$oEditorController->insertComponent('quotation',true);
|
||||
$oEditorController->insertComponent('table_maker',true);
|
||||
|
||||
// 에디터 모듈에서 사용할 디렉토리 생성
|
||||
FileHandler::makeDir('./files/cache/editor');
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
/**
|
||||
* @brief 자동 저장
|
||||
**/
|
||||
function procSaveDoc() {
|
||||
function procEditorSaveDoc() {
|
||||
|
||||
$this->deleteSavedDoc();
|
||||
|
||||
|
|
@ -41,6 +41,120 @@
|
|||
$this->setMessage('msg_auto_saved');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트에서 ajax요청시 해당 컴포넌트의 method를 실행
|
||||
**/
|
||||
function procEditorCall() {
|
||||
$component = Context::get('component');
|
||||
$method = Context::get('method');
|
||||
if(!$component) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component));
|
||||
|
||||
$oEditorModel = &getModel('editor');
|
||||
$oComponent = &$oEditorModel->getComponentObject($component);
|
||||
if(!$oComponent->toBool()) return $oComponent;
|
||||
|
||||
if(!method_exists($oComponent, $method)) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component));
|
||||
|
||||
$output = call_user_method($method, $oComponent);
|
||||
if((is_a($output, 'Object') || is_subclass_of($output, 'Object')) && !$output->toBool()) return $output;
|
||||
|
||||
$this->setError($oComponent->getError());
|
||||
$this->setMessage($oComponent->getMessage());
|
||||
|
||||
$vars = $oComponent->getVariables();
|
||||
if(count($vars)) {
|
||||
foreach($vars as $key=>$val) $this->add($key, $val);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 활성화
|
||||
**/
|
||||
function procEditorAdminEnableComponent() {
|
||||
$args->component_name = Context::get('component_name');
|
||||
$args->enabled = 'Y';
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.updateComponent', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 비활성화
|
||||
**/
|
||||
function procEditorAdminDisableComponent() {
|
||||
$args->component_name = Context::get('component_name');
|
||||
$args->enabled = 'N';
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.updateComponent', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 위치 변경
|
||||
**/
|
||||
function procEditorAdminMoveListOrder() {
|
||||
$args->component_name = Context::get('component_name');
|
||||
$mode = Context::get('mode');
|
||||
|
||||
// DB에서 전체 목록 가져옴
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.getComponentList', $args);
|
||||
$db_list = $output->data;
|
||||
foreach($db_list as $key => $val) {
|
||||
if($val->component_name == $args->component_name) break;
|
||||
}
|
||||
|
||||
if($mode=="up") {
|
||||
if($key == 2) return new Object(-1,'msg_component_is_first_order');
|
||||
|
||||
$prev_args->component_name = $db_list[$key-1]->component_name;
|
||||
$prev_args->list_order = $db_list[$key]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $prev_args);
|
||||
|
||||
$cur_args->component_name = $db_list[$key]->component_name;
|
||||
$cur_args->list_order = $db_list[$key-1]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $cur_args);
|
||||
} else {
|
||||
if($key == count($db_list)-1) return new Object(-1,'msg_component_is_last_order');
|
||||
|
||||
$next_args->component_name = $db_list[$key+1]->component_name;
|
||||
$next_args->list_order = $db_list[$key]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $next_args);
|
||||
|
||||
$cur_args->component_name = $db_list[$key]->component_name;
|
||||
$cur_args->list_order = $db_list[$key+1]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $cur_args);
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트 설정
|
||||
**/
|
||||
function procEditorAdminSetupComponent() {
|
||||
$component_name = Context::get('component_name');
|
||||
$extra_vars = Context::getRequestVars();
|
||||
unset($extra_vars->component_name);
|
||||
unset($extra_vars->module);
|
||||
unset($extra_vars->act);
|
||||
|
||||
$args->component_name = $component_name;
|
||||
$args->extra_vars = serialize($extra_vars);
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.updateComponent', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 자동 저장된 글을 삭제
|
||||
* 현재 접속한 사용자를 기준
|
||||
|
|
@ -79,119 +193,5 @@
|
|||
$output = $oDB->executeQuery('editor.insertComponent', $args);
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 활성화
|
||||
**/
|
||||
function procEnableComponent() {
|
||||
$args->component_name = Context::get('component_name');
|
||||
$args->enabled = 'Y';
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.updateComponent', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 비활성화
|
||||
**/
|
||||
function procDisableComponent() {
|
||||
$args->component_name = Context::get('component_name');
|
||||
$args->enabled = 'N';
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.updateComponent', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 위치 변경
|
||||
**/
|
||||
function procMoveListOrder() {
|
||||
$args->component_name = Context::get('component_name');
|
||||
$mode = Context::get('mode');
|
||||
|
||||
// DB에서 전체 목록 가져옴
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.getComponentList', $args);
|
||||
$db_list = $output->data;
|
||||
foreach($db_list as $key => $val) {
|
||||
if($val->component_name == $args->component_name) break;
|
||||
}
|
||||
|
||||
if($mode=="up") {
|
||||
if($key == 2) return new Object(-1,'msg_component_is_first_order');
|
||||
|
||||
$prev_args->component_name = $db_list[$key-1]->component_name;
|
||||
$prev_args->list_order = $db_list[$key]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $prev_args);
|
||||
|
||||
$cur_args->component_name = $db_list[$key]->component_name;
|
||||
$cur_args->list_order = $db_list[$key-1]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $cur_args);
|
||||
} else {
|
||||
if($key == count($db_list)-1) return new Object(-1,'msg_component_is_last_order');
|
||||
|
||||
$next_args->component_name = $db_list[$key+1]->component_name;
|
||||
$next_args->list_order = $db_list[$key]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $next_args);
|
||||
|
||||
$cur_args->component_name = $db_list[$key]->component_name;
|
||||
$cur_args->list_order = $db_list[$key+1]->list_order;
|
||||
$oDB->executeQuery('editor.updateComponent', $cur_args);
|
||||
}
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트 설정
|
||||
**/
|
||||
function procSetupComponent() {
|
||||
$component_name = Context::get('component_name');
|
||||
$extra_vars = Context::getRequestVars();
|
||||
unset($extra_vars->component_name);
|
||||
unset($extra_vars->module);
|
||||
unset($extra_vars->act);
|
||||
|
||||
$args->component_name = $component_name;
|
||||
$args->extra_vars = serialize($extra_vars);
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$output = $oDB->executeQuery('editor.updateComponent', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트에서 ajax요청시 해당 컴포넌트의 method를 실행
|
||||
**/
|
||||
function procCall() {
|
||||
$component = Context::get('component');
|
||||
$method = Context::get('method');
|
||||
if(!$component) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component));
|
||||
|
||||
$oEditorModel = &getModel('editor');
|
||||
$oComponent = &$oEditorModel->getComponentObject($component);
|
||||
if(!$oComponent->toBool()) return $oComponent;
|
||||
|
||||
if(!method_exists($oComponent, $method)) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component));
|
||||
|
||||
$output = call_user_method($method, $oComponent);
|
||||
if((is_a($output, 'Object') || is_subclass_of($output, 'Object')) && !$output->toBool()) return $output;
|
||||
|
||||
$this->setError($oComponent->getError());
|
||||
$this->setMessage($oComponent->getMessage());
|
||||
|
||||
$vars = $oComponent->getVariables();
|
||||
if(count($vars)) {
|
||||
foreach($vars as $key=>$val) $this->add($key, $val);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -13,11 +13,59 @@
|
|||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 팝업 출력을 요청을 받는 action
|
||||
**/
|
||||
function dispEditorPopup() {
|
||||
// css 파일 추가
|
||||
Context::addCssFile($this->module_path."tpl/css/editor.css");
|
||||
|
||||
// 변수 정리
|
||||
$upload_target_srl = Context::get('upload_target_srl');
|
||||
$component = Context::get('component');
|
||||
|
||||
// component 객체를 받음
|
||||
$oEditorModel = &getModel('editor');
|
||||
$oComponent = &$oEditorModel->getComponentObject($component, $upload_target_srl);
|
||||
if(!$oComponent->toBool()) {
|
||||
Context::set('message', sprintf(Context::getLang('msg_component_is_not_founded'), $component));
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('component_not_founded');
|
||||
} else {
|
||||
|
||||
// 컴포넌트의 popup url을 출력하는 method실행후 결과를 받음
|
||||
$popup_content = $oComponent->getPopupContent();
|
||||
Context::set('popup_content', $popup_content);
|
||||
|
||||
// 레이아웃을 popup_layout으로 설정
|
||||
$this->setLayoutFile('popup_layout');
|
||||
|
||||
// 템플릿 지정
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('popup');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴퍼넌트 정보 보기
|
||||
**/
|
||||
function dispEditorComponentInfo() {
|
||||
$component_name = Context::get('component_name');
|
||||
|
||||
$oEditorModel = &getModel('editor');
|
||||
$component = $oEditorModel->getComponent($component_name);
|
||||
Context::set('component', $component);
|
||||
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('view_component');
|
||||
$this->setLayoutFile("popup_layout");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 관리자 설정 페이지
|
||||
* 에디터 컴포넌트의 on/off 및 설정을 담당
|
||||
**/
|
||||
function adminIndex() {
|
||||
function dispEditorAdminIndex() {
|
||||
// 컴포넌트의 종류를 구해옴
|
||||
$oEditorModel = &getModel('editor');
|
||||
$component_list = $oEditorModel->getComponentList(false);
|
||||
|
|
@ -31,7 +79,7 @@
|
|||
/**
|
||||
* @brief 컴퍼넌트 setup
|
||||
**/
|
||||
function setupComponent() {
|
||||
function dispEditorAdminSetupComponent() {
|
||||
$component_name = Context::get('component_name');
|
||||
|
||||
$oEditorModel = &getModel('editor');
|
||||
|
|
@ -43,22 +91,6 @@
|
|||
$this->setLayoutFile("popup_layout");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴퍼넌트 정보 보기
|
||||
**/
|
||||
function viewComponentInfo() {
|
||||
$component_name = Context::get('component_name');
|
||||
|
||||
$oEditorModel = &getModel('editor');
|
||||
$component = $oEditorModel->getComponent($component_name);
|
||||
Context::set('component', $component);
|
||||
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('view_component');
|
||||
$this->setLayoutFile("popup_layout");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 에디터를 return
|
||||
**/
|
||||
|
|
@ -94,37 +126,5 @@
|
|||
return $oTemplate->compile($tpl_path, $tpl_file);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 컴포넌트의 팝업 출력을 요청을 받는 action
|
||||
**/
|
||||
function dispPopup() {
|
||||
// css 파일 추가
|
||||
Context::addCssFile($this->module_path."tpl/css/editor.css");
|
||||
|
||||
// 변수 정리
|
||||
$upload_target_srl = Context::get('upload_target_srl');
|
||||
$component = Context::get('component');
|
||||
|
||||
// component 객체를 받음
|
||||
$oEditorModel = &getModel('editor');
|
||||
$oComponent = &$oEditorModel->getComponentObject($component, $upload_target_srl);
|
||||
if(!$oComponent->toBool()) {
|
||||
Context::set('message', sprintf(Context::getLang('msg_component_is_not_founded'), $component));
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('component_not_founded');
|
||||
} else {
|
||||
|
||||
// 컴포넌트의 popup url을 출력하는 method실행후 결과를 받음
|
||||
$popup_content = $oComponent->getPopupContent();
|
||||
Context::set('popup_content', $popup_content);
|
||||
|
||||
// 레이아웃을 popup_layout으로 설정
|
||||
$this->setLayoutFile('popup_layout');
|
||||
|
||||
// 템플릿 지정
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('popup');
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<query id="deleteSavedDoc" action="delete">
|
||||
<tables>
|
||||
<table name="editor_autosave" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_srl" var="member_srl" />
|
||||
<condition operation="equal" column="ipaddress" var="ipaddress" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="editor_autosave" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_srl" var="member_srl" />
|
||||
<condition operation="equal" column="ipaddress" var="ipaddress" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<query id="getComponent" action="select">
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull"/>
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull"/>
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
<query id="getComponentList" action="select">
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="enabled" var="enabled" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="list_order" order="asc" />
|
||||
</navigation>
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="enabled" var="enabled" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="list_order" order="asc" />
|
||||
</navigation>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<query id="getSavedDocument" action="select">
|
||||
<tables>
|
||||
<table name="editor_autosave" />
|
||||
</tables>
|
||||
<columns />
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
||||
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="editor_autosave" />
|
||||
</tables>
|
||||
<columns />
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
||||
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<query id="insertComponent" action="insert">
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="component_name" var="component_name" notnull="notnull" />
|
||||
<column name="enabled" var="enabled" default="N" />
|
||||
<column name="list_order" var="list_order" default="sequence()" />
|
||||
</columns>
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="component_name" var="component_name" notnull="notnull" />
|
||||
<column name="enabled" var="enabled" default="N" />
|
||||
<column name="list_order" var="list_order" default="sequence()" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<query id="insertSavedDoc" action="insert">
|
||||
<tables>
|
||||
<table name="editor_autosave" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member_srl" var="member_srl" />
|
||||
<column name="ipaddress" var="ipaddress" />
|
||||
<column name="document_srl" var="document_srl" />
|
||||
<column name="title" var="title" />
|
||||
<column name="content" var="content" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
</columns>
|
||||
<tables>
|
||||
<table name="editor_autosave" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member_srl" var="member_srl" />
|
||||
<column name="ipaddress" var="ipaddress" />
|
||||
<column name="document_srl" var="document_srl" />
|
||||
<column name="title" var="title" />
|
||||
<column name="content" var="content" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<query id="isComponentInserted" action="select">
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="count(*)" alias="count" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="count(*)" alias="count" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
<query id="updateComponent" action="update">
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="enabled" var="enabled" />
|
||||
<column name="extra_vars" var="extra_vars" />
|
||||
<column name="list_order" var="list_order"/>
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="editor_components" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="enabled" var="enabled" />
|
||||
<column name="extra_vars" var="extra_vars" />
|
||||
<column name="list_order" var="list_order"/>
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<table name="editor_autosave">
|
||||
<column name="member_srl" type="number" size="11" default="0" index="idx_member_srl" />
|
||||
<column name="ipaddress" type="varchar" size="128" index="idx_ipaddress" />
|
||||
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
|
||||
<column name="title" type="varchar" size="250" />
|
||||
<column name="content" type="bigtext" notnull="notnull" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
<column name="member_srl" type="number" size="11" default="0" index="idx_member_srl" />
|
||||
<column name="ipaddress" type="varchar" size="128" index="idx_ipaddress" />
|
||||
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
|
||||
<column name="title" type="varchar" size="250" />
|
||||
<column name="content" type="bigtext" notnull="notnull" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<table name="editor_components">
|
||||
<column name="component_name" type="varchar" size="250" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="enabled" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="extra_vars" type="text"/>
|
||||
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
|
||||
<column name="component_name" type="varchar" size="250" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="enabled" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="extra_vars" type="text"/>
|
||||
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -2,39 +2,41 @@
|
|||
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>{$lang->component_name}</th>
|
||||
<th>{$lang->component_version}</th>
|
||||
<th>{$lang->component_author}</th>
|
||||
<th>{$lang->component_link}</th>
|
||||
<th>{$lang->component_date}</th>
|
||||
<th>{$lang->cmd_setup}</th>
|
||||
<th>{$lang->use}</th>
|
||||
<th colspan="2">{$lang->cmd_move}</th>
|
||||
<th>{$lang->component_name}</th>
|
||||
<th>{$lang->component_version}</th>
|
||||
<th>{$lang->component_author}</th>
|
||||
<th>{$lang->component_link}</th>
|
||||
<th>{$lang->component_date}</th>
|
||||
<th>{$lang->cmd_setup}</th>
|
||||
<th>{$lang->use}</th>
|
||||
<th colspan="2">{$lang->cmd_move}</th>
|
||||
</tr>
|
||||
|
||||
<!--@foreach($component_list as $component_name => $xml_info)-->
|
||||
<tr>
|
||||
<td rowspan="2">{$xml_info->title}<br />({$component_name})</td>
|
||||
<td rowspan="2">{$xml_info->version}</td>
|
||||
<td><a href="mailto:{$xml_info->author->email_address}">{$xml_info->author->name}</a></td>
|
||||
<td><a href="#" onclick="window.open('{$xml_info->author->link}');return false;">{$xml_info->author->link}</a></td>
|
||||
<td>{$xml_info->author->date}</td>
|
||||
<td>
|
||||
<!--@if($xml_info->extra_vars)-->
|
||||
<a href="#" onclick="doSetupComponent('{$component_name}'); return false;">{$lang->cmd_setup}</a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<!--@if($xml_info->enabled=='Y')-->
|
||||
<a href="#" onclick="doDisableComponent('{$component_name}');return false;">{$lang->notuse}</a>
|
||||
<!--@else-->
|
||||
<a href="#" onclick="doEnableComponent('{$component_name}');return false;">{$lang->use}</a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td><a href="#" onclick="doMoveListOrder('{$component_name}','up'); return false;">{$lang->cmd_move_up}</a></td>
|
||||
<td><a href="#" onclick="doMoveListOrder('{$component_name}','down'); return false;">{$lang->cmd_move_down}</a></td>
|
||||
<td rowspan="2">{$xml_info->title}<br />({$component_name})</td>
|
||||
<td rowspan="2">{$xml_info->version}</td>
|
||||
<td><a href="mailto:{$xml_info->author->email_address}">{$xml_info->author->name}</a></td>
|
||||
<td><a href="#" onclick="window.open('{$xml_info->author->link}');return false;">{$xml_info->author->link}</a></td>
|
||||
<td>{$xml_info->author->date}</td>
|
||||
<td>
|
||||
<!--@if($xml_info->extra_vars)-->
|
||||
<a href="#" onclick="doSetupComponent('{$component_name}'); return false;">{$lang->cmd_setup}</a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td>
|
||||
<!--@if($xml_info->enabled=='Y')-->
|
||||
<a href="#" onclick="doDisableComponent('{$component_name}');return false;">{$lang->notuse}</a>
|
||||
<!--@else-->
|
||||
<a href="#" onclick="doEnableComponent('{$component_name}');return false;">{$lang->use}</a>
|
||||
<!--@end-->
|
||||
</td>
|
||||
<td><a href="#" onclick="doMoveListOrder('{$component_name}','up'); return false;">{$lang->cmd_move_up}</a></td>
|
||||
<td><a href="#" onclick="doMoveListOrder('{$component_name}','down'); return false;">{$lang->cmd_move_down}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="7">{nl2br($xml_info->description)}</td>
|
||||
<td colspan="7">{nl2br($xml_info->description)}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<script type="text/javascript">
|
||||
alert("{$message}");
|
||||
window.close();
|
||||
alert("{$message}");
|
||||
window.close();
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,148 +1,150 @@
|
|||
@charset "utf-8";
|
||||
|
||||
div.editor_content {
|
||||
margin:3px;
|
||||
margin:3px;
|
||||
}
|
||||
|
||||
div.editor_area_1 {
|
||||
}
|
||||
|
||||
div.editor_area_2 {
|
||||
clear:left;
|
||||
clear:left;
|
||||
}
|
||||
|
||||
div.editor_area_about_dbl {
|
||||
clear:left;
|
||||
border:1px dotted #DDDDDD;
|
||||
padding:3px;
|
||||
font-size:9pt;
|
||||
color:#888888;
|
||||
clear:left;
|
||||
border:1px dotted #DDDDDD;
|
||||
padding:3px;
|
||||
font-size:9pt;
|
||||
color:#888888;
|
||||
}
|
||||
|
||||
div.editor_fontbox {
|
||||
margin : 3px 3px 3px 0px;
|
||||
float:left;
|
||||
margin : 3px 3px 3px 0px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
div.editor_fontbox select {
|
||||
width:70px;
|
||||
height:18px;
|
||||
width:70px;
|
||||
height:18px;
|
||||
}
|
||||
|
||||
div.editor_iconbox {
|
||||
margin : 3px 3px 3px 0px;
|
||||
white-space:nowrap;
|
||||
font-size:1pt;
|
||||
float:left;
|
||||
margin : 3px 3px 3px 0px;
|
||||
white-space:nowrap;
|
||||
font-size:1pt;
|
||||
float:left;
|
||||
}
|
||||
|
||||
div.editor_iconbox img {
|
||||
height : 16px;
|
||||
border : 1px solid #EEEEEE;
|
||||
background-color : #FFFFFF;
|
||||
padding:1px;
|
||||
cursor : pointer;
|
||||
margin-right:1px;
|
||||
height : 16px;
|
||||
border : 1px solid #EEEEEE;
|
||||
background-color : #FFFFFF;
|
||||
padding:1px;
|
||||
cursor : pointer;
|
||||
margin-right:1px;
|
||||
}
|
||||
|
||||
div.editor_parabox {
|
||||
margin : 3px 3px 3px 0px;
|
||||
font-size:9pt;
|
||||
text-align:right;
|
||||
display:none;
|
||||
float:right;
|
||||
margin : 3px 3px 3px 0px;
|
||||
font-size:9pt;
|
||||
text-align:right;
|
||||
display:none;
|
||||
float:right;
|
||||
}
|
||||
|
||||
div.editor_iframe_box {
|
||||
clear:left;
|
||||
border:1px solid #EFEFEF;
|
||||
margin:3px 0px 0px 0px;
|
||||
clear:left;
|
||||
border:1px solid #EFEFEF;
|
||||
margin:3px 0px 0px 0px;
|
||||
}
|
||||
|
||||
div.editor_drag_down_area {
|
||||
width:100%;
|
||||
height:15px;
|
||||
background:url(../images/icon_drag_down.gif) no-repeat center;
|
||||
background-color:#EFEFEF;
|
||||
cursor:s-resize;
|
||||
position:relative;
|
||||
margin-top:10px;
|
||||
width:100%;
|
||||
height:15px;
|
||||
background:url(../images/icon_drag_down.gif) no-repeat center;
|
||||
background-color:#EFEFEF;
|
||||
cursor:s-resize;
|
||||
position:relative;
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
.editor_uploader_box {
|
||||
margin:10px 0px 0px 5px;
|
||||
border:0;
|
||||
padding:0px;
|
||||
clear:both;
|
||||
height:130px;
|
||||
margin:10px 0px 0px 5px;
|
||||
border:0;
|
||||
padding:0px;
|
||||
clear:both;
|
||||
height:130px;
|
||||
}
|
||||
|
||||
.editor_preview_uploaded {
|
||||
float:left;
|
||||
width:110px;
|
||||
height:110px;
|
||||
padding:5px;
|
||||
border:1px solid #AAAAAA;
|
||||
margin-right:10px;
|
||||
text-align:center;
|
||||
float:left;
|
||||
width:110px;
|
||||
height:110px;
|
||||
padding:5px;
|
||||
border:1px solid #AAAAAA;
|
||||
margin-right:10px;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.editor_uploader {
|
||||
float:left;
|
||||
width:300px;
|
||||
height:120px;
|
||||
margin-right:10px;
|
||||
padding-right:10px;
|
||||
border-right:1px dotted #AAAAAA;
|
||||
float:left;
|
||||
width:300px;
|
||||
height:120px;
|
||||
margin-right:10px;
|
||||
padding-right:10px;
|
||||
border-right:1px dotted #AAAAAA;
|
||||
}
|
||||
|
||||
.uploaded_file_list {
|
||||
width:100%;
|
||||
height:122px;
|
||||
border:1px solid #AAAAAA;
|
||||
width:100%;
|
||||
height:122px;
|
||||
border:1px solid #AAAAAA;
|
||||
}
|
||||
|
||||
.editor_uploader_input_area {
|
||||
width:150px;
|
||||
float:left;
|
||||
clear:right;
|
||||
width:150px;
|
||||
float:left;
|
||||
clear:right;
|
||||
}
|
||||
|
||||
.editor_uploader_file_input {
|
||||
display:none;
|
||||
height:18px;
|
||||
border:1px solid #AAAAAA;
|
||||
background-color:#FFFFFF;
|
||||
position:relative;
|
||||
display:none;
|
||||
height:18px;
|
||||
border:1px solid #AAAAAA;
|
||||
background-color:#FFFFFF;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.editor_uploader_input {
|
||||
display:block;
|
||||
width:90px;
|
||||
height:18px;
|
||||
border:1px solid #AAAAAA;
|
||||
background-color:#FFFFFF;
|
||||
margin-bottom:10px;
|
||||
display:block;
|
||||
width:90px;
|
||||
height:18px;
|
||||
border:1px solid #AAAAAA;
|
||||
background-color:#FFFFFF;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
|
||||
.component_setup_window {
|
||||
width:800px;
|
||||
width:800px;
|
||||
}
|
||||
|
||||
.component_view_window {
|
||||
width:600px;
|
||||
width:600px;
|
||||
}
|
||||
|
||||
.editor_input {
|
||||
border:1px solid #AAAAAA;
|
||||
height:14px;
|
||||
font-size:9pt;
|
||||
width:200px;
|
||||
border:1px solid #AAAAAA;
|
||||
height:14px;
|
||||
font-size:9pt;
|
||||
width:200px;
|
||||
}
|
||||
|
||||
.editor_button {
|
||||
border:1px solid #AAAAAA;
|
||||
background-color:#FFFFFF;
|
||||
height:17px;
|
||||
font-size:9pt;
|
||||
border:1px solid #AAAAAA;
|
||||
background-color:#FFFFFF;
|
||||
height:17px;
|
||||
font-size:9pt;
|
||||
}
|
||||
|
||||
.about_component_icon {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
<!-- 에디터 활성화 -->
|
||||
<script type="text/javascript">
|
||||
var editor_path = "{$editor_path}";
|
||||
editorInit("{$upload_target_srl}");
|
||||
var editor_path = "{$editor_path}";
|
||||
editorInit("{$upload_target_srl}");
|
||||
</script>
|
||||
|
||||
<!-- 자동저장용 폼 -->
|
||||
|
|
@ -17,103 +17,105 @@
|
|||
|
||||
<!-- 에디터 -->
|
||||
<div class="editor_content">
|
||||
<div class="editor_area_1">
|
||||
|
||||
<div class="editor_area_1">
|
||||
<!-- 폰트 종류와 크기 -->
|
||||
<div class="editor_fontbox">
|
||||
<select onChange="editorChangeFontName(this,'{$upload_target_srl}')" id="editor_font_{$upload_target_srl}">
|
||||
<option value="">{$lang->edit->fontname}</option>
|
||||
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
||||
<option style="font-family:{$obj}" value="{$obj}">{$obj}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select onChange="editorChangeFontSize(this,'{$upload_target_srl}')" id="editor_fontsize_{$upload_target_srl}">
|
||||
<option value="" selected>{$lang->edit->fontsize}</option>
|
||||
<option value="1">8pt</option>
|
||||
<option value="2">10pt</option>
|
||||
<option value="3">12pt</option>
|
||||
<option value="4">14pt</option>
|
||||
<option value="5">18pt</option>
|
||||
<option value="6">24pt</option>
|
||||
<option value="7">36pt</option>
|
||||
</select>
|
||||
<select onChange="editorChangeHeader(this,'{$upload_target_srl}')" id="editor_header_{$upload_target_srl}">
|
||||
<option value="">{$lang->edit->header}</option>
|
||||
<!--@foreach($lang->edit->header_list as $key=>$obj)-->
|
||||
<option value="{$key}">{$obj}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<select onChange="editorChangeFontName(this,'{$upload_target_srl}')" id="editor_font_{$upload_target_srl}">
|
||||
<option value="">{$lang->edit->fontname}</option>
|
||||
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
||||
<option style="font-family:{$obj}" value="{$obj}">{$obj}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
|
||||
<select onChange="editorChangeFontSize(this,'{$upload_target_srl}')" id="editor_fontsize_{$upload_target_srl}">
|
||||
<option value="" selected>{$lang->edit->fontsize}</option>
|
||||
<option value="1">8pt</option>
|
||||
<option value="2">10pt</option>
|
||||
<option value="3">12pt</option>
|
||||
<option value="4">14pt</option>
|
||||
<option value="5">18pt</option>
|
||||
<option value="6">24pt</option>
|
||||
<option value="7">36pt</option>
|
||||
</select>
|
||||
|
||||
<select onChange="editorChangeHeader(this,'{$upload_target_srl}')" id="editor_header_{$upload_target_srl}">
|
||||
<option value="">{$lang->edit->header}</option>
|
||||
<!--@foreach($lang->edit->header_list as $key=>$obj)-->
|
||||
<option value="{$key}">{$obj}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- 에디팅 관련 아이콘 -->
|
||||
<div class="editor_iconbox">
|
||||
<img src="../components/colorpicker_text/icon.gif" title="{$lang->edit->help_fontcolor}" alt="{$lang->edit->help_fontcolor}" class="editor_icon" id="component_{$upload_target_srl}_colorpicker_text" />
|
||||
<img src="../components/colorpicker_bg/icon.gif" title="{$lang->edit->help_fontbgcolor}" alt="{$lang->edit->help_fontbgcolor}" class="editor_icon" id="component_{$upload_target_srl}_colorpicker_bg" />
|
||||
<img src="./images/bold.gif" title="{$lang->edit->help_bold}" alt="{$lang->edit->help_bold}" class="editor_icon" id="component_{$upload_target_srl}_Bold" />
|
||||
<img src="./images/italic.gif" title="{$lang->edit->help_italic}" alt="{$lang->edit->help_italic}" class="editor_icon" id="component_{$upload_target_srl}_Italic" />
|
||||
<img src="./images/underline.gif" title="{$lang->edit->help_underline}" alt="{$lang->edit->help_underline}" class="editor_icon" id="component_{$upload_target_srl}_Underline" />
|
||||
<img src="./images/strike.gif" title="{$lang->edit->help_strike}" alt="{$lang->edit->help_strike}" class="editor_icon" id="component_{$upload_target_srl}_StrikeThrough" />
|
||||
<img src="./images/undo.gif" title="{$lang->edit->help_undo}" alt="{$lang->edit->help_undo}" class="editor_icon" id="component_{$upload_target_srl}_undo" />
|
||||
<img src="./images/redo.gif" title="{$lang->edit->help_redo}" alt="{$lang->edit->help_redo}" class="editor_icon" id="component_{$upload_target_srl}_redo" />
|
||||
<img src="../components/colorpicker_text/icon.gif" title="{$lang->edit->help_fontcolor}" alt="{$lang->edit->help_fontcolor}" class="editor_icon" id="component_{$upload_target_srl}_colorpicker_text" />
|
||||
<img src="../components/colorpicker_bg/icon.gif" title="{$lang->edit->help_fontbgcolor}" alt="{$lang->edit->help_fontbgcolor}" class="editor_icon" id="component_{$upload_target_srl}_colorpicker_bg" />
|
||||
<img src="./images/bold.gif" title="{$lang->edit->help_bold}" alt="{$lang->edit->help_bold}" class="editor_icon" id="component_{$upload_target_srl}_Bold" />
|
||||
<img src="./images/italic.gif" title="{$lang->edit->help_italic}" alt="{$lang->edit->help_italic}" class="editor_icon" id="component_{$upload_target_srl}_Italic" />
|
||||
<img src="./images/underline.gif" title="{$lang->edit->help_underline}" alt="{$lang->edit->help_underline}" class="editor_icon" id="component_{$upload_target_srl}_Underline" />
|
||||
<img src="./images/strike.gif" title="{$lang->edit->help_strike}" alt="{$lang->edit->help_strike}" class="editor_icon" id="component_{$upload_target_srl}_StrikeThrough" />
|
||||
<img src="./images/undo.gif" title="{$lang->edit->help_undo}" alt="{$lang->edit->help_undo}" class="editor_icon" id="component_{$upload_target_srl}_undo" />
|
||||
<img src="./images/redo.gif" title="{$lang->edit->help_redo}" alt="{$lang->edit->help_redo}" class="editor_icon" id="component_{$upload_target_srl}_redo" />
|
||||
</div>
|
||||
|
||||
<div id="editor_paragraph_{$upload_target_srl}" class="editor_iconbox">
|
||||
<img src="./images/align_left.gif" title="{$lang->edit->help_align_left}" alt="{$lang->edit->help_align_left}" id="component_{$upload_target_srl}_justifyleft" />
|
||||
<img src="./images/align_center.gif" title="{$lang->edit->help_align_center}" alt="{$lang->edit->help_align_center}" id="component_{$upload_target_srl}_justifycenter" />
|
||||
<img src="./images/align_right.gif" title="{$lang->edit->help_align_right}" alt="{$lang->edit->help_align_right}" id="component_{$upload_target_srl}_justifyright" />
|
||||
<img src="./images/remove_indent.gif" title="{$lang->edit->help_remove_indent}" alt="{$lang->edit->help_remove_indent}" id="component_{$upload_target_srl}_outdent" />
|
||||
<img src="./images/add_indent.gif" title="{$lang->edit->help_add_indent}" alt="{$lang->edit->help_add_indent}" id="component_{$upload_target_srl}_indent" />
|
||||
<img src="./images/list_number.gif" title="{$lang->edit->help_list_number}" alt="{$lang->edit->help_list_number}" id="component_{$upload_target_srl}_insertorderedlist" />
|
||||
<img src="./images/list_bullet.gif" title="{$lang->edit->help_list_bullet}" alt="{$lang->edit->help_list_bullet}" id="component_{$upload_target_srl}_insertunorderedlist" />
|
||||
<img src="./images/align_left.gif" title="{$lang->edit->help_align_left}" alt="{$lang->edit->help_align_left}" id="component_{$upload_target_srl}_justifyleft" />
|
||||
<img src="./images/align_center.gif" title="{$lang->edit->help_align_center}" alt="{$lang->edit->help_align_center}" id="component_{$upload_target_srl}_justifycenter" />
|
||||
<img src="./images/align_right.gif" title="{$lang->edit->help_align_right}" alt="{$lang->edit->help_align_right}" id="component_{$upload_target_srl}_justifyright" />
|
||||
<img src="./images/remove_indent.gif" title="{$lang->edit->help_remove_indent}" alt="{$lang->edit->help_remove_indent}" id="component_{$upload_target_srl}_outdent" />
|
||||
<img src="./images/add_indent.gif" title="{$lang->edit->help_add_indent}" alt="{$lang->edit->help_add_indent}" id="component_{$upload_target_srl}_indent" />
|
||||
<img src="./images/list_number.gif" title="{$lang->edit->help_list_number}" alt="{$lang->edit->help_list_number}" id="component_{$upload_target_srl}_insertorderedlist" />
|
||||
<img src="./images/list_bullet.gif" title="{$lang->edit->help_list_bullet}" alt="{$lang->edit->help_list_bullet}" id="component_{$upload_target_srl}_insertunorderedlist" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="editor_area_2">
|
||||
<!-- 컴포넌트 -->
|
||||
<div id="editor_component_{$upload_target_srl}" class="editor_iconbox">
|
||||
<!--@foreach($component_list as $component_name => $component)-->
|
||||
<!--@if(substr($component_name,0,11)!="colorpicker")-->
|
||||
<img src="../components/{$component_name}/icon.gif" alt="{$component->title}" title="{$component->title}" class="editor_icon" id="component_{$upload_target_srl}_{$component_name}" />
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_area_about_dbl">
|
||||
{$lang->about_dblclick_in_editor}
|
||||
<div id="for_ie_help_{$upload_target_srl}" style="display:none">{$lang->edit->help_use_paragrapth}</div>
|
||||
</div>
|
||||
|
||||
<!-- iframe -->
|
||||
<div class="editor_iframe_box"><iframe id="editor_iframe_{$upload_target_srl}" frameBorder="0" style="border:0px;width:99%;height:300px;margin:0px;"></iframe><div class="editor_drag_down_area" id="editor_drag_bar_{$upload_target_srl}"></div></div>
|
||||
<div class="editor_autosaved_message" id="editor_autosaved_message">{$lang->msg_auto_saved} </div>
|
||||
<div class="editor_area_2">
|
||||
<!-- 컴포넌트 -->
|
||||
<div id="editor_component_{$upload_target_srl}" class="editor_iconbox">
|
||||
<!--@foreach($component_list as $component_name => $component)-->
|
||||
<!--@if(substr($component_name,0,11)!="colorpicker")-->
|
||||
<img src="../components/{$component_name}/icon.gif" alt="{$component->title}" title="{$component->title}" class="editor_icon" id="component_{$upload_target_srl}_{$component_name}" />
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor_area_about_dbl">
|
||||
{$lang->about_dblclick_in_editor}
|
||||
<div id="for_ie_help_{$upload_target_srl}" style="display:none">{$lang->edit->help_use_paragrapth}</div>
|
||||
</div>
|
||||
|
||||
<!-- iframe -->
|
||||
<div class="editor_iframe_box"><iframe id="editor_iframe_{$upload_target_srl}" frameBorder="0" style="border:0px;width:99%;height:300px;margin:0px;"></iframe><div class="editor_drag_down_area" id="editor_drag_bar_{$upload_target_srl}"></div></div>
|
||||
<div class="editor_autosaved_message" id="editor_autosaved_message">{$lang->msg_auto_saved} </div>
|
||||
</div>
|
||||
|
||||
<!--@if($allow_fileupload)-->
|
||||
<!-- 첨부파일 영역 -->
|
||||
<!--%import("./js/uploader.js")-->
|
||||
<script type="text/javascript">
|
||||
editor_upload_init("{$upload_target_srl}");
|
||||
editor_upload_init("{$upload_target_srl}");
|
||||
</script>
|
||||
|
||||
<div class="editor_uploader_box">
|
||||
|
||||
<input type="hidden" name="upload_target_srl" value="{$upload_target_srl}" />
|
||||
<input type="hidden" name="act" value="procUploadFile" />
|
||||
<input type="hidden" name="upload_target_srl" value="{$upload_target_srl}" />
|
||||
<input type="hidden" name="act" value="procFileUploadFile" />
|
||||
|
||||
<!-- 미리보기 -->
|
||||
<div class="editor_preview_uploaded" id="preview_uploaded_{$upload_target_srl}"><img src="./images/blank.gif" width="100" height="100" alt="preview" /></div>
|
||||
<!-- 미리보기 -->
|
||||
<div class="editor_preview_uploaded" id="preview_uploaded_{$upload_target_srl}"><img src="./images/blank.gif" width="100" height="100" alt="preview" /></div>
|
||||
|
||||
<!-- 파일 업로드 영역 -->
|
||||
<div class="editor_uploader">
|
||||
<select id='uploaded_file_list_{$upload_target_srl}' size='9' class="uploaded_file_list" onclick="editor_preview(this, '{$upload_target_srl}')"></select>
|
||||
</div>
|
||||
<div class="editor_uploader_input_area">
|
||||
<input type="button" value="{$lang->edit->upload_file}" class="editor_uploader_input" onclick="editor_remove_file('{$upload_target_srl}');return false;" />
|
||||
<input type="button" value="{$lang->edit->delete_selected}" class="editor_uploader_input" onclick="editor_remove_file('{$upload_target_srl}');return false;" />
|
||||
<input type="button" value="{$lang->edit->link_file}" class="editor_uploader_input" onclick="editor_insert_file('{$upload_target_srl}');return false;" />
|
||||
<input type="file" size="1" name="file" id="file_uploader_{$upload_target_srl}" class="editor_uploader_file_input" onchange="editor_file_upload(this, '{$upload_target_srl}')" value="{$lang->edit->upload}" />
|
||||
</div>
|
||||
<!-- 파일 업로드 영역 -->
|
||||
<div class="editor_uploader">
|
||||
<select id='uploaded_file_list_{$upload_target_srl}' size='9' class="uploaded_file_list" onclick="editor_preview(this, '{$upload_target_srl}')"></select>
|
||||
</div>
|
||||
<div class="editor_uploader_input_area">
|
||||
<input type="button" value="{$lang->edit->upload_file}" class="editor_uploader_input" onclick="editor_remove_file('{$upload_target_srl}');return false;" />
|
||||
<input type="button" value="{$lang->edit->delete_selected}" class="editor_uploader_input" onclick="editor_remove_file('{$upload_target_srl}');return false;" />
|
||||
<input type="button" value="{$lang->edit->link_file}" class="editor_uploader_input" onclick="editor_insert_file('{$upload_target_srl}');return false;" />
|
||||
<input type="file" size="1" name="file" id="file_uploader_{$upload_target_srl}" class="editor_uploader_file_input" onchange="editor_file_upload(this, '{$upload_target_srl}')" value="{$lang->edit->upload}" />
|
||||
</div>
|
||||
</div>
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<filter name="setup_component" module="editor" act="procSetupComponent" confirm_msg_code="confirm_submit">
|
||||
<form />
|
||||
<parameter />
|
||||
<response>
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
<filter name="setup_component" module="editor" act="procEditorAdminSetupComponent" confirm_msg_code="confirm_submit">
|
||||
<form />
|
||||
<parameter />
|
||||
<response>
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
|
|||
|
|
@ -1,30 +1,36 @@
|
|||
function doEnableComponent(component_name) {
|
||||
var params = new Array();
|
||||
params['component_name'] = component_name;
|
||||
/**
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @version 0.1
|
||||
* @brief 에디터 관리자 페이지용 스크립트
|
||||
**/
|
||||
|
||||
exec_xml('editor', 'procEnableComponent', params, completeUpdate);
|
||||
function doEnableComponent(component_name) {
|
||||
var params = new Array();
|
||||
params['component_name'] = component_name;
|
||||
|
||||
exec_xml('editor', 'procEditorAdminEnableComponent', params, completeUpdate);
|
||||
}
|
||||
|
||||
function doDisableComponent(component_name) {
|
||||
var params = new Array();
|
||||
params['component_name'] = component_name;
|
||||
var params = new Array();
|
||||
params['component_name'] = component_name;
|
||||
|
||||
exec_xml('editor', 'procDisableComponent', params, completeUpdate);
|
||||
exec_xml('editor', 'procEditorAdminDisableComponent', params, completeUpdate);
|
||||
}
|
||||
|
||||
function doMoveListOrder(component_name, mode) {
|
||||
var params = new Array();
|
||||
params['component_name'] = component_name;
|
||||
params['mode'] = mode;
|
||||
var params = new Array();
|
||||
params['component_name'] = component_name;
|
||||
params['mode'] = mode;
|
||||
|
||||
exec_xml('editor', 'procMoveListOrder', params, completeUpdate);
|
||||
exec_xml('editor', 'procEditorAdminMoveListOrder', params, completeUpdate);
|
||||
}
|
||||
|
||||
function completeUpdate(ret_obj) {
|
||||
alert(ret_obj['message']);
|
||||
location.href = location.href;
|
||||
alert(ret_obj['message']);
|
||||
location.href = location.href;
|
||||
}
|
||||
|
||||
function doSetupComponent(component_name) {
|
||||
winopen("./?module=editor&act=setupComponent&component_name="+component_name, "SetupComponent","width=10,height=10,scrollbars=no,resizable=no,toolbars=no");
|
||||
winopen("./?module=editor&act=dispEditorAdminSetupComponent&component_name="+component_name, "SetupComponent","width=10,height=10,scrollbars=no,resizable=no,toolbars=no");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -368,7 +368,7 @@ function editorEventCheck(evt) {
|
|||
// 컴포넌트 팝업 열기
|
||||
function openComponent(component_name, upload_target_srl, manual_url) {
|
||||
editorPrevSrl = upload_target_srl;
|
||||
var popup_url = "./?module=editor&act=dispPopup&upload_target_srl="+upload_target_srl+"&component="+component_name;
|
||||
var popup_url = "./?module=editor&act=dispEditorPopup&upload_target_srl="+upload_target_srl+"&component="+component_name;
|
||||
if(typeof(manual_url)!="undefined" && manual_url) popup_url += "&manual_url="+escape(manual_url);
|
||||
|
||||
winopen(popup_url, 'editorComponent', 'left=10,top=10,width=10,height=10,toolbars=no,scrollbars=no');
|
||||
|
|
@ -396,7 +396,7 @@ function editorSearchComponent(evt) {
|
|||
var upload_target_srl = tobj.getAttribute("upload_target_srl");
|
||||
var plugin = obj.getAttribute("plugin");
|
||||
editorPrevNode = obj;
|
||||
winopen("?module=plugin&act=dispGenerateCodeInPage&selected_plugin="+plugin+"&module_srl="+upload_target_srl,'GenerateCodeInPage','left=10,top10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');
|
||||
winopen("?module=plugin&act=dispPluginGenerateCodeInPage&selected_plugin="+plugin+"&module_srl="+upload_target_srl,'GenerateCodeInPage','left=10,top10,width=10,height=10,resizable=no,scrollbars=no,toolbars=no');
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,67 +8,67 @@ var uploaded_files = new Array();
|
|||
|
||||
// 업로드를 하기 위한 준비 시작
|
||||
function editor_upload_init(upload_target_srl) {
|
||||
xAddEventListener(window,'load',function() {editor_upload_form_set(upload_target_srl);} );
|
||||
xAddEventListener(window,'load',function() {editor_upload_form_set(upload_target_srl);} );
|
||||
}
|
||||
|
||||
// upload_target_srl에 해당하는 form의 action을 iframe으로 변경
|
||||
function editor_upload_form_set(upload_target_srl) {
|
||||
// input type=file의 위치 및 설정 변경
|
||||
var uploader = xGetElementById("file_uploader_"+upload_target_srl);
|
||||
// input type=file의 위치 및 설정 변경
|
||||
var uploader = xGetElementById("file_uploader_"+upload_target_srl);
|
||||
|
||||
if(xIE4Up) {
|
||||
xLeft(uploader, -40);
|
||||
xTop(uploader, -85);
|
||||
uploader.style.filter = "alpha(opacity=0)";
|
||||
} else {
|
||||
xLeft(uploader, -15);
|
||||
xTop(uploader, -85);
|
||||
uploader.style.opacity = 0;
|
||||
}
|
||||
uploader.style.display = "block";
|
||||
|
||||
// 업로드용 iframe을 생성
|
||||
if(!xGetElementById('tmp_upload_iframe')) {
|
||||
if(xIE4Up) {
|
||||
window.document.body.insertAdjacentHTML("afterEnd", "<iframe name='tmp_upload_iframe' style='display:none;width:1px;height:1px;position:absolute;top:-10px;left:-10px'></iframe>");
|
||||
xLeft(uploader, -40);
|
||||
xTop(uploader, -85);
|
||||
uploader.style.filter = "alpha(opacity=0)";
|
||||
} else {
|
||||
var obj_iframe = xCreateElement('IFRAME');
|
||||
obj_iframe.name = obj_iframe.id = 'tmp_upload_iframe';
|
||||
obj_iframe.style.display = 'none';
|
||||
obj_iframe.style.width = '1px';
|
||||
obj_iframe.style.height = '1px';
|
||||
obj_iframe.style.position = 'absolute';
|
||||
obj_iframe.style.top = '-10px';
|
||||
obj_iframe.style.left = '-10px';
|
||||
window.document.body.appendChild(obj_iframe);
|
||||
xLeft(uploader, -15);
|
||||
xTop(uploader, -85);
|
||||
uploader.style.opacity = 0;
|
||||
}
|
||||
}
|
||||
uploader.style.display = "block";
|
||||
|
||||
// form의 action 을 변경
|
||||
var field_obj = xGetElementById("uploaded_file_list_"+upload_target_srl);
|
||||
if(!field_obj) return;
|
||||
var fo_obj = field_obj.parentNode;
|
||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||
fo_obj.target = 'tmp_upload_iframe';
|
||||
// 업로드용 iframe을 생성
|
||||
if(!xGetElementById('tmp_upload_iframe')) {
|
||||
if(xIE4Up) {
|
||||
window.document.body.insertAdjacentHTML("afterEnd", "<iframe name='tmp_upload_iframe' style='display:none;width:1px;height:1px;position:absolute;top:-10px;left:-10px'></iframe>");
|
||||
} else {
|
||||
var obj_iframe = xCreateElement('IFRAME');
|
||||
obj_iframe.name = obj_iframe.id = 'tmp_upload_iframe';
|
||||
obj_iframe.style.display = 'none';
|
||||
obj_iframe.style.width = '1px';
|
||||
obj_iframe.style.height = '1px';
|
||||
obj_iframe.style.position = 'absolute';
|
||||
obj_iframe.style.top = '-10px';
|
||||
obj_iframe.style.left = '-10px';
|
||||
window.document.body.appendChild(obj_iframe);
|
||||
}
|
||||
}
|
||||
|
||||
// upload_target_srl에 해당하는 첨부파일 목록을 로드 (procDeleteFile에 file_srl을 보내주지 않으면 삭제시도는 없이 목록만 갱신할 수 있음)
|
||||
var module = "";
|
||||
if(fo_obj["module"]) module = fo_obj.module.value;
|
||||
var mid = "";
|
||||
if(fo_obj["mid"]) mid = fo_obj.mid.value;
|
||||
var document_srl = "";
|
||||
if(fo_obj["document_srl"]) document_srl = fo_obj.document_srl.value;
|
||||
// form의 action 을 변경
|
||||
var field_obj = xGetElementById("uploaded_file_list_"+upload_target_srl);
|
||||
if(!field_obj) return;
|
||||
var fo_obj = field_obj.parentNode;
|
||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||
fo_obj.target = 'tmp_upload_iframe';
|
||||
|
||||
var url = "./?act=procDeleteFile&upload_target_srl="+upload_target_srl;
|
||||
if(module) url+="&module="+module;
|
||||
if(mid) url+="&mid="+mid;
|
||||
if(document_srl) url+="&document_srl="+document_srl;
|
||||
// upload_target_srl에 해당하는 첨부파일 목록을 로드 (procDeleteFile에 file_srl을 보내주지 않으면 삭제시도는 없이 목록만 갱신할 수 있음)
|
||||
var module = "";
|
||||
if(fo_obj["module"]) module = fo_obj.module.value;
|
||||
var mid = "";
|
||||
if(fo_obj["mid"]) mid = fo_obj.mid.value;
|
||||
var document_srl = "";
|
||||
if(fo_obj["document_srl"]) document_srl = fo_obj.document_srl.value;
|
||||
|
||||
// iframe에 url을 보내버림
|
||||
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
||||
if(!iframe_obj) return;
|
||||
var url = "./?act=procFileDeleteFile&upload_target_srl="+upload_target_srl;
|
||||
if(module) url+="&module="+module;
|
||||
if(mid) url+="&mid="+mid;
|
||||
if(document_srl) url+="&document_srl="+document_srl;
|
||||
|
||||
iframe_obj.contentWindow.document.location.href=url;
|
||||
// iframe에 url을 보내버림
|
||||
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
||||
if(!iframe_obj) return;
|
||||
|
||||
iframe_obj.contentWindow.document.location.href=url;
|
||||
}
|
||||
|
||||
// 파일 업로드
|
||||
|
|
@ -90,122 +90,125 @@ function editor_file_upload(field_obj, upload_target_srl) {
|
|||
|
||||
// 업로드된 파일 목록을 삭제
|
||||
function editor_upload_clear_list(upload_target_srl) {
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
while(obj.options.length) {
|
||||
obj.remove(0);
|
||||
}
|
||||
var preview_obj = xGetElementById('uploaded_file_preview_box_'+upload_target_srl);
|
||||
xInnerHtml(preview_obj,'')
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
while(obj.options.length) {
|
||||
obj.remove(0);
|
||||
}
|
||||
var preview_obj = xGetElementById('uploaded_file_preview_box_'+upload_target_srl);
|
||||
xInnerHtml(preview_obj,'')
|
||||
}
|
||||
|
||||
// 업로드된 파일 정보를 목록에 추가
|
||||
function editor_insert_uploaded_file(upload_target_srl, file_srl, filename, file_size, disp_file_size, uploaded_filename, sid) {
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
var string = filename+' ('+disp_file_size+')';
|
||||
var opt_obj = new Option(string, file_srl, true, true);
|
||||
obj.options[obj.options.length] = opt_obj;
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
var string = filename+' ('+disp_file_size+')';
|
||||
var opt_obj = new Option(string, file_srl, true, true);
|
||||
obj.options[obj.options.length] = opt_obj;
|
||||
|
||||
var file_obj = {file_srl:file_srl, filename:filename, file_size:file_size, uploaded_filename:uploaded_filename, sid:sid}
|
||||
uploaded_files[file_srl] = file_obj;
|
||||
var file_obj = {file_srl:file_srl, filename:filename, file_size:file_size, uploaded_filename:uploaded_filename, sid:sid}
|
||||
uploaded_files[file_srl] = file_obj;
|
||||
|
||||
editor_preview(obj, upload_target_srl);
|
||||
editor_preview(obj, upload_target_srl);
|
||||
}
|
||||
|
||||
// 파일 목록창에서 클릭 되었을 경우 미리 보기
|
||||
function editor_preview(sel_obj, upload_target_srl) {
|
||||
if(sel_obj.options.length<1) return;
|
||||
var file_srl = sel_obj.options[sel_obj.selectedIndex].value;
|
||||
var obj = uploaded_files[file_srl];
|
||||
if(typeof(obj)=='undefined'||!obj) return;
|
||||
var uploaded_filename = obj.uploaded_filename;
|
||||
var preview_obj = xGetElementById('preview_uploaded_'+upload_target_srl);
|
||||
if(sel_obj.options.length<1) return;
|
||||
var file_srl = sel_obj.options[sel_obj.selectedIndex].value;
|
||||
var obj = uploaded_files[file_srl];
|
||||
if(typeof(obj)=='undefined'||!obj) return;
|
||||
var uploaded_filename = obj.uploaded_filename;
|
||||
var preview_obj = xGetElementById('preview_uploaded_'+upload_target_srl);
|
||||
|
||||
if(!uploaded_filename) {
|
||||
xInnerHtml(preview_obj, '');
|
||||
return;
|
||||
}
|
||||
if(!uploaded_filename) {
|
||||
xInnerHtml(preview_obj, '');
|
||||
return;
|
||||
}
|
||||
|
||||
var html = "";
|
||||
var html = "";
|
||||
|
||||
// 플래쉬 동영상의 경우
|
||||
if(/\.flv$/i.test(uploaded_filename)) {
|
||||
html = "<EMBED src=\"./common/tpl/images/flvplayer.swf?autoStart=false&file="+uploaded_filename+"\" width=\"110\" height=\"110\" type=\"application/x-shockwave-flash\"></EMBED>";
|
||||
// 플래쉬 파일의 경우
|
||||
} else if(/\.swf$/i.test(uploaded_filename)) {
|
||||
html = "<EMBED src=\""+uploaded_filename+"\" width=\"110\" height=\"110\" type=\"application/x-shockwave-flash\"></EMBED>";
|
||||
// wmv, avi, mpg, mpeg등의 동영상 파일의 경우
|
||||
} else if(/\.(wmv|avi|mpg|mpeg|asx|asf|mp3)$/i.test(uploaded_filename)) {
|
||||
html = "<EMBED src=\""+uploaded_filename+"\" width=\"110\" height=\"110\" autostart=\"true\" Showcontrols=\"0\"></EMBED>";
|
||||
// 이미지 파일의 경우
|
||||
} else if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
|
||||
html = "<img src=\""+uploaded_filename+"\" border=\"0\" width=\"110\" height=\"110\" />";
|
||||
}
|
||||
xInnerHtml(preview_obj, html);
|
||||
// 플래쉬 동영상의 경우
|
||||
if(/\.flv$/i.test(uploaded_filename)) {
|
||||
html = "<EMBED src=\"./common/tpl/images/flvplayer.swf?autoStart=false&file="+uploaded_filename+"\" width=\"110\" height=\"110\" type=\"application/x-shockwave-flash\"></EMBED>";
|
||||
|
||||
// 플래쉬 파일의 경우
|
||||
} else if(/\.swf$/i.test(uploaded_filename)) {
|
||||
html = "<EMBED src=\""+uploaded_filename+"\" width=\"110\" height=\"110\" type=\"application/x-shockwave-flash\"></EMBED>";
|
||||
|
||||
// wmv, avi, mpg, mpeg등의 동영상 파일의 경우
|
||||
} else if(/\.(wmv|avi|mpg|mpeg|asx|asf|mp3)$/i.test(uploaded_filename)) {
|
||||
html = "<EMBED src=\""+uploaded_filename+"\" width=\"110\" height=\"110\" autostart=\"true\" Showcontrols=\"0\"></EMBED>";
|
||||
|
||||
// 이미지 파일의 경우
|
||||
} else if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
|
||||
html = "<img src=\""+uploaded_filename+"\" border=\"0\" width=\"110\" height=\"110\" />";
|
||||
|
||||
}
|
||||
xInnerHtml(preview_obj, html);
|
||||
}
|
||||
|
||||
// 업로드된 파일 삭제
|
||||
function editor_remove_file(upload_target_srl) {
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
if(obj.options.length<1) return;
|
||||
var file_srl = obj.options[obj.selectedIndex].value;
|
||||
if(!file_srl) return;
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
if(obj.options.length<1) return;
|
||||
var file_srl = obj.options[obj.selectedIndex].value;
|
||||
if(!file_srl) return;
|
||||
|
||||
// 삭제하려는 파일의 정보를 챙김;;
|
||||
var fo_obj = obj;
|
||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||
var mid = fo_obj.mid.value;
|
||||
var upload_target_srl = fo_obj.upload_target_srl.value;
|
||||
var url = "./?mid="+mid+"&act=procDeleteFile&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl;
|
||||
|
||||
// iframe에 url을 보내버림
|
||||
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
||||
if(!iframe_obj) return;
|
||||
|
||||
iframe_obj.contentWindow.document.location.href=url;
|
||||
}
|
||||
|
||||
// 업로드 목록의 선택된 파일을 내용에 추가
|
||||
function editor_insert_file(upload_target_srl) {
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
if(obj.options.length<1) return;
|
||||
var file_srl = obj.options[obj.selectedIndex].value;
|
||||
if(!file_srl) return;
|
||||
var file_obj = uploaded_files[file_srl];
|
||||
var filename = file_obj.filename;
|
||||
var sid = file_obj.sid;
|
||||
var uploaded_filename = file_obj.uploaded_filename;
|
||||
|
||||
// 바로 링크 가능한 파일의 경우 (이미지, 플래쉬, 동영상 등..)
|
||||
if(uploaded_filename) {
|
||||
|
||||
// 이미지 파일의 경우 image_link 컴포넌트 열결
|
||||
if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
|
||||
openComponent("image_link", upload_target_srl, uploaded_filename);
|
||||
|
||||
// 이미지외의 경우는 multimedia_link 컴포넌트 연결
|
||||
} else {
|
||||
openComponent("multimedia_link", upload_target_srl, uploaded_filename);
|
||||
}
|
||||
|
||||
// binary파일의 경우 url_link 컴포넌트 연결
|
||||
} else {
|
||||
// 삭제하려는 파일의 정보를 챙김;;
|
||||
var fo_obj = obj;
|
||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||
var mid = fo_obj.mid.value;
|
||||
var upload_target_srl = fo_obj.upload_target_srl.value;
|
||||
var url = "./?module=file&act=procDownload&file_srl="+file_srl+"&sid="+sid;
|
||||
openComponent("url_link", upload_target_srl, url);
|
||||
}
|
||||
var url = "./?mid="+mid+"&act=procFileDeleteFile&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl;
|
||||
|
||||
// iframe에 url을 보내버림
|
||||
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
||||
if(!iframe_obj) return;
|
||||
|
||||
iframe_obj.contentWindow.document.location.href=url;
|
||||
}
|
||||
|
||||
// 업로드 목록의 선택된 파일을 내용에 추가
|
||||
function editor_insert_file(upload_target_srl) {
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
if(obj.options.length<1) return;
|
||||
var file_srl = obj.options[obj.selectedIndex].value;
|
||||
if(!file_srl) return;
|
||||
var file_obj = uploaded_files[file_srl];
|
||||
var filename = file_obj.filename;
|
||||
var sid = file_obj.sid;
|
||||
var uploaded_filename = file_obj.uploaded_filename;
|
||||
|
||||
// 바로 링크 가능한 파일의 경우 (이미지, 플래쉬, 동영상 등..)
|
||||
if(uploaded_filename) {
|
||||
// 이미지 파일의 경우 image_link 컴포넌트 열결
|
||||
if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
|
||||
openComponent("image_link", upload_target_srl, uploaded_filename);
|
||||
|
||||
// 이미지외의 경우는 multimedia_link 컴포넌트 연결
|
||||
} else {
|
||||
openComponent("multimedia_link", upload_target_srl, uploaded_filename);
|
||||
}
|
||||
|
||||
// binary파일의 경우 url_link 컴포넌트 연결
|
||||
} else {
|
||||
var fo_obj = obj;
|
||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||
var mid = fo_obj.mid.value;
|
||||
var upload_target_srl = fo_obj.upload_target_srl.value;
|
||||
var url = "./?module=file&act=procFileDownload&file_srl="+file_srl+"&sid="+sid;
|
||||
openComponent("url_link", upload_target_srl, url);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 글을 쓰다가 페이지 이동시 첨부파일에 대한 정리
|
||||
**/
|
||||
function editorRemoveAttachFiles(mid, upload_target_srl) {
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
if(obj.options.length<1) return;
|
||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||
if(obj.options.length<1) return;
|
||||
|
||||
var params = new Array();
|
||||
params['upload_target_srl'] = upload_target_srl;
|
||||
exec_xml(mid, 'procClearFile', params, null, null, null);
|
||||
var params = new Array();
|
||||
params['upload_target_srl'] = upload_target_srl;
|
||||
exec_xml(mid, 'procClearFile', params, null, null, null);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,39 +2,41 @@
|
|||
<!--%import("filter/setup_component.xml")-->
|
||||
|
||||
<div class="component_setup_window">
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, setup_component);">
|
||||
<input type="hidden" name="component_name" value="{$component_name}" />
|
||||
<table border="1" width="100%">
|
||||
<tr>
|
||||
<th>{$lang->component_name}</th>
|
||||
<td>{$component->component_name} ver. {$component->version}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_author}</th>
|
||||
<td>{$component->author->name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_link}</th>
|
||||
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">{$lang->component_extra_vars}</th>
|
||||
</tr>
|
||||
<!--@foreach($component->extra_vars as $key => $val)-->
|
||||
<tr>
|
||||
<th rowspan="2">{$val->title}</th>
|
||||
<td><input type="text" name="{$key}" value="{$val->value}" class="editor_input" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$val->description}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" value="{$lang->cmd_apply}" class="editor_button" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, setup_component);">
|
||||
<input type="hidden" name="component_name" value="{$component_name}" />
|
||||
<table border="1" width="100%">
|
||||
<tr>
|
||||
<th>{$lang->component_name}</th>
|
||||
<td>{$component->component_name} ver. {$component->version}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_author}</th>
|
||||
<td>{$component->author->name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_link}</th>
|
||||
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">{$lang->component_extra_vars}</th>
|
||||
</tr>
|
||||
|
||||
<!--@foreach($component->extra_vars as $key => $val)-->
|
||||
<tr>
|
||||
<th rowspan="2">{$val->title}</th>
|
||||
<td><input type="text" name="{$key}" value="{$val->value}" class="editor_input" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$val->description}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" value="{$lang->cmd_apply}" class="editor_button" />
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,27 +2,28 @@
|
|||
|
||||
<div class="component_view_window">
|
||||
<input type="hidden" name="component_name" value="{$component_name}" />
|
||||
|
||||
<table border="1" width="100%">
|
||||
<tr>
|
||||
<th>{$lang->component_name}</th>
|
||||
<td>{$component->title} ver. {$component->version}</td>
|
||||
<th>{$lang->component_name}</th>
|
||||
<td>{$component->title} ver. {$component->version}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_author}</th>
|
||||
<td><a href="mailto:{$component->author->email_address}">{$component->author->name}</a></td>
|
||||
<th>{$lang->component_author}</th>
|
||||
<td><a href="mailto:{$component->author->email_address}">{$component->author->name}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_link}</th>
|
||||
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
||||
<th>{$lang->component_link}</th>
|
||||
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->component_description}</th>
|
||||
<td>{nl2br($component->description)}</td>
|
||||
<th>{$lang->component_description}</th>
|
||||
<td>{nl2br($component->description)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module version="0.1">
|
||||
<title xml:lang="ko">파일</title>
|
||||
<title xml:lang="en">file</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<name xml:lang="en">zero</name>
|
||||
<description xml:lang="ko">파일 관리 모듈</description>
|
||||
<description xml:lang="en">file manager</description>
|
||||
</author>
|
||||
<title xml:lang="ko">첨부파일</title>
|
||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">첨부 파일 관리 모듈</description>
|
||||
</author>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -2,8 +2,9 @@
|
|||
<module>
|
||||
<grants />
|
||||
<actions>
|
||||
<action name="dispList" type="view" admin_index="true" standalone="true" />
|
||||
<action name="procDownload" type="model" standalone="true" />
|
||||
<action name="procDeleteChecked" type="controller" standalone="true" />
|
||||
<action name="dispFileAdminList" type="view" admin_index="true" standalone="true" />
|
||||
|
||||
<action name="procFileDownload" type="model" standalone="true" />
|
||||
<action name="procFileAdminDeleteChecked" type="controller" standalone="true" />
|
||||
</actions>
|
||||
</module>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,12 @@
|
|||
* @brief 설치시 추가 작업이 필요할시 구현
|
||||
**/
|
||||
function moduleInstall() {
|
||||
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertActionFoward('file', 'view', 'dispFileAdminList');
|
||||
$oModuleController->insertActionFoward('file', 'controller', 'dispFileDownload');
|
||||
$oModuleController->insertActionFoward('file', 'controller', 'dispFileAdminDeleteChecked');
|
||||
|
||||
// file 모듈에서 사용할 디렉토리 생성
|
||||
FileHandler::makeDir('./files/attach/images');
|
||||
FileHandler::makeDir('./files/attach/binaries');
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@
|
|||
/**
|
||||
* @brief 관리자 페이지에서 선택된 파일들을 삭제
|
||||
**/
|
||||
function procDeleteChecked() {
|
||||
function procFileAdminDeleteChecked() {
|
||||
// 선택된 글이 없으면 오류 표시
|
||||
$cart = Context::get('cart');
|
||||
if(!$cart) return $this->stop('msg_cart_is_null');
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
/**
|
||||
* @brief 목록 출력 (관리자용)
|
||||
**/
|
||||
function dispList() {
|
||||
function dispFileAdminList() {
|
||||
// 목록을 구하기 위한 옵션
|
||||
$args->page = Context::get('page'); ///< 페이지
|
||||
$args->list_count = 50; ///< 한페이지에 보여줄 글 수
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<query id="deleteFile" action="delete">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<query id="deleteFiles" action="delete">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<query id="deleteModuleFiles" action="delete">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<query id="getFile" action="select">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<query id="getFiles" action="select">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" order="asc" />
|
||||
</navigation>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" order="asc" />
|
||||
</navigation>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<query id="getFilesCount" action="select">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="count(*)" alias="count" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="count(*)" alias="count" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
<query id="insertFile" action="insert">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="file_srl" var="file_srl" notnull="notnull" />
|
||||
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="sid" var="sid" />
|
||||
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="source_filename" var="source_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="file_size" var="file_size" notnull="notnull" default="0" />
|
||||
<column name="direct_download" var="direct_download" notnull="notnull" default="N" />
|
||||
<column name="comment" var="comment" />
|
||||
<column name="downloaded_count" var="downloaded_count" default="0" />
|
||||
<column name="member_srl" var="member_srl" default="0" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
||||
</columns>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="file_srl" var="file_srl" notnull="notnull" />
|
||||
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="sid" var="sid" />
|
||||
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="source_filename" var="source_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="file_size" var="file_size" notnull="notnull" default="0" />
|
||||
<column name="direct_download" var="direct_download" notnull="notnull" default="N" />
|
||||
<column name="comment" var="comment" />
|
||||
<column name="downloaded_count" var="downloaded_count" default="0" />
|
||||
<column name="member_srl" var="member_srl" default="0" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
<query id="updateFile" action="update">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<query id="updateDownloadCount" action="update">
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="download_count" var="download_count" default="plus(1)" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
<tables>
|
||||
<table name="files" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="download_count" var="download_count" default="plus(1)" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
<table name="files">
|
||||
<column name="file_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="upload_target_srl" type="number" size="11" default="0" notnull="notnull" index="idx_upload_target_srl" />
|
||||
<column name="sid" type="varchar" size="60" />
|
||||
<column name="module_srl" type="number" size="11" default="0" notnull="notnull" index="idx_module_srl" />
|
||||
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_member_srl" />
|
||||
<column name="download_count" type="number" size="11" notnull="notnull" default="0" index="idx_download_count" />
|
||||
<column name="direct_download" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="source_filename" type="varchar" size="250" />
|
||||
<column name="uploaded_filename" type="varchar" size="250" />
|
||||
<column name="file_size" type="number" size="11" default="0" notnull="notnull" index="idx_file_size" />
|
||||
<column name="comment" type="varchar" size="250" />
|
||||
<column name="downloaded_count" type="number" size="11" default="0" notnull="notnull" index="idx_downloaded_count" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
|
||||
<column name="file_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="upload_target_srl" type="number" size="11" default="0" notnull="notnull" index="idx_upload_target_srl" />
|
||||
<column name="sid" type="varchar" size="60" />
|
||||
<column name="module_srl" type="number" size="11" default="0" notnull="notnull" index="idx_module_srl" />
|
||||
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_member_srl" />
|
||||
<column name="download_count" type="number" size="11" notnull="notnull" default="0" index="idx_download_count" />
|
||||
<column name="direct_download" type="char" size="1" default="N" notnull="notnull" />
|
||||
<column name="source_filename" type="varchar" size="250" />
|
||||
<column name="uploaded_filename" type="varchar" size="250" />
|
||||
<column name="file_size" type="number" size="11" default="0" notnull="notnull" index="idx_file_size" />
|
||||
<column name="comment" type="varchar" size="250" />
|
||||
<column name="downloaded_count" type="number" size="11" default="0" notnull="notnull" index="idx_downloaded_count" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
|
||||
</table>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue