mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 20:12:14 +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"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">글의 배경색 변경</title>
|
<title xml:lang="ko">글의 배경색 변경</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">글의 배경색을 변경합니다.</description>
|
<description xml:lang="ko">글의 배경색을 변경합니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,45 +1,46 @@
|
||||||
|
@charset "utf-8";
|
||||||
.colorpicker {
|
.colorpicker {
|
||||||
width:160px;
|
width:160px;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.preview_color {
|
img.preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon {
|
img.color_icon {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #FFFFFF;
|
border:1px solid #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon_over {
|
img.color_icon_over {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input_area {
|
.input_area {
|
||||||
width:160px;
|
width:160px;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
font-family:tahoma;
|
font-family:tahoma;
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
clear:both;
|
clear:both;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup_input {
|
.popup_input {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:14px;
|
height:14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup_submit {
|
.popup_submit {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
<!--%import("popup.js")-->
|
<!--%import("popup.js")-->
|
||||||
<!--%import("popup.css")-->
|
<!--%import("popup.css")-->
|
||||||
<div class="colorpicker">
|
<div class="colorpicker">
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
printColor("{$tpl_path}/blank.gif");
|
printColor("{$tpl_path}/blank.gif");
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_area">
|
<div class="input_area">
|
||||||
<form action="./" method="get" onsubmit="return applyColor()">
|
<form action="./" method="get" onsubmit="return applyColor()">
|
||||||
<table border="0">
|
<table border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
||||||
<td>#</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="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>
|
<td><input type="submit" value="{$lang->cmd_select}" class="popup_submit"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,40 @@
|
||||||
/* 부모창의 위지윅 에디터의 선택된 영역의 글자색을 변경 */
|
/* 부모창의 위지윅 에디터의 선택된 영역의 글자색을 변경 */
|
||||||
function applyColor() {
|
function applyColor() {
|
||||||
var code = xGetElementById("color_input").value;
|
var code = xGetElementById("color_input").value;
|
||||||
|
|
||||||
if(opener.xIE4Up) opener.editorDo("BackColor","#"+code, opener.editorPrevSrl);
|
if(opener.xIE4Up) opener.editorDo("BackColor","#"+code, opener.editorPrevSrl);
|
||||||
else opener.editorDo("hilitecolor","#"+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) {
|
function select_color(code) {
|
||||||
xGetElementById("color_input").value = code;
|
xGetElementById("color_input").value = code;
|
||||||
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 색상표를 출력 */
|
/* 색상표를 출력 */
|
||||||
function printColor(blank_img_src) {
|
function printColor(blank_img_src) {
|
||||||
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
||||||
var html = "";
|
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 i=0; i<colorTable.length; i+=3) {
|
||||||
for(var j=0; j<colorTable.length; j+=2) {
|
for(var j=0; j<colorTable.length; j+=2) {
|
||||||
for(var k=0; k<colorTable.length; k++) {
|
for(var k=0; k<colorTable.length; k++) {
|
||||||
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
||||||
html += printColorBlock(code, blank_img_src);
|
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 출력 함수 */
|
/* 개별 색상 block 출력 함수 */
|
||||||
|
|
@ -44,6 +44,6 @@ function printColorBlock(code, blank_img_src) {
|
||||||
|
|
||||||
/* 수동 색상 변경시 */
|
/* 수동 색상 변경시 */
|
||||||
function manual_select_color(obj) {
|
function manual_select_color(obj) {
|
||||||
if(obj.value.length!=6) return;
|
if(obj.value.length!=6) return;
|
||||||
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">글자색 변경</title>
|
<title xml:lang="ko">글자색 변경</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">글자색을 변경합니다.</description>
|
<description xml:lang="ko">글자색을 변경합니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,45 +1,47 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
.colorpicker {
|
.colorpicker {
|
||||||
width:160px;
|
width:160px;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.preview_color {
|
img.preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
background-color:#000000;
|
background-color:#000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon {
|
img.color_icon {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #FFFFFF;
|
border:1px solid #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon_over {
|
img.color_icon_over {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input_area {
|
.input_area {
|
||||||
width:160px;
|
width:160px;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
font-family:tahoma;
|
font-family:tahoma;
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
clear:both;
|
clear:both;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup_input {
|
.popup_input {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:14px;
|
height:14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup_submit {
|
.popup_submit {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
<!--%import("popup.js")-->
|
<!--%import("popup.js")-->
|
||||||
<!--%import("popup.css")-->
|
<!--%import("popup.css")-->
|
||||||
<div class="colorpicker">
|
<div class="colorpicker">
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
printColor("{$tpl_path}/blank.gif");
|
printColor("{$tpl_path}/blank.gif");
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
<div class="input_area">
|
<div class="input_area">
|
||||||
<form action="./" method="get" onsubmit="return applyColor()">
|
<form action="./" method="get" onsubmit="return applyColor()">
|
||||||
<table border="0">
|
<table border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
<td><img src="blank.gif" alt="blank" class="preview_color" id="preview_color" /></td>
|
||||||
<td>#</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="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>
|
<td><input type="submit" value="{$lang->cmd_select}" class="popup_submit"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,41 @@
|
||||||
/* 부모창의 위지윅 에디터의 선택된 영역의 글자색을 변경 */
|
/* 부모창의 위지윅 에디터의 선택된 영역의 글자색을 변경 */
|
||||||
function applyColor() {
|
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) {
|
function select_color(code) {
|
||||||
xGetElementById("color_input").value = code;
|
xGetElementById("color_input").value = code;
|
||||||
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
xGetElementById("preview_color").style.backgroundColor = "#"+code;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 색상표를 출력 */
|
/* 색상표를 출력 */
|
||||||
function printColor(blank_img_src) {
|
function printColor(blank_img_src) {
|
||||||
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
var colorTable = new Array('22','44','66','88','AA','CC','EE');
|
||||||
var html = "";
|
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 i=0; i<colorTable.length; i+=3) {
|
||||||
for(var j=0; j<colorTable.length; j+=2) {
|
for(var j=0; j<colorTable.length; j+=2) {
|
||||||
for(var k=0; k<colorTable.length; k++) {
|
for(var k=0; k<colorTable.length; k++) {
|
||||||
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
var code = colorTable[i] + colorTable[j] + colorTable[k];
|
||||||
html += printColorBlock(code, blank_img_src);
|
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 출력 함수 */
|
/* 개별 색상 block 출력 함수 */
|
||||||
|
|
@ -45,6 +45,6 @@ function printColorBlock(code, blank_img_src) {
|
||||||
|
|
||||||
/* 수동 색상 변경시 */
|
/* 수동 색상 변경시 */
|
||||||
function manual_select_color(obj) {
|
function manual_select_color(obj) {
|
||||||
if(obj.value.length!=6) return;
|
if(obj.value.length!=6) return;
|
||||||
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
xGetElementById("preview_color").style.backgroundColor = "#"+obj.value;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">이모티콘 출력</title>
|
<title xml:lang="ko">이모티콘 출력</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">이모티콘을 에디터에 삽입할 수 있습니다.</description>
|
<description xml:lang="ko">이모티콘을 에디터에 삽입할 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,45 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:300px;
|
width:300px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_emoticon {
|
.editor_emoticon {
|
||||||
padding:10px;
|
padding:10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_window img {
|
.editor_window img {
|
||||||
margin:2px;
|
margin:2px;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:2px 0px 2px 0px;
|
padding:2px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">HTML 코드 수정</title>
|
<title xml:lang="ko">HTML 코드 수정</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">에디터에서 HTML 코드를 직접 수정하거나 추가할 수 있습니다.\n보안 문제로 인하여 가능한 끄는 것이 좋습니다.</description>
|
<description xml:lang="ko">에디터에서 HTML 코드를 직접 수정하거나 추가할 수 있습니다.\n보안 문제로 인하여 가능한 끄는 것이 좋습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,46 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:400px;
|
width:400px;
|
||||||
background-color:#F3F3F3;
|
background-color:#F3F3F3;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_textarea {
|
.editor_textarea {
|
||||||
width:385px;
|
width:385px;
|
||||||
height:400px;
|
height:400px;
|
||||||
border:1px solid #888888;
|
border:1px solid #888888;
|
||||||
clear:both;
|
clear:both;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
margin:10px 0px 10px 0px;
|
margin:10px 0px 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:2px 0px 2px 0px;
|
padding:2px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">기본 이미지 갤러리</title>
|
<title xml:lang="ko">기본 이미지 갤러리</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">첨부된 이미지파일을 이용하여 슬라이드/목록형 이미지 갤러리를 만들 수 있습니다.</description>
|
<description xml:lang="ko">첨부된 이미지파일을 이용하여 슬라이드/목록형 이미지 갤러리를 만들 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
<!--%import("list_gallery.js")-->
|
<!--%import("list_gallery.js")-->
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
// 이미지갤러리에 보여줄 이미지 등록
|
// 이미지갤러리에 보여줄 이미지 등록
|
||||||
<!--@foreach($gallery_info->image_list as $image)-->
|
<!--@foreach($gallery_info->image_list as $image)-->
|
||||||
list_gallery_add_image({$gallery_info->srl},'{$image}');
|
list_gallery_add_image({$gallery_info->srl},'{$image}');
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
||||||
xAddEventListener(window,'load',start_list_gallery);
|
xAddEventListener(window,'load',start_list_gallery);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div align="{$gallery_info->gallery_align}">
|
<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 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>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,133 +1,135 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:550px;
|
width:550px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.short_header {
|
.short_header {
|
||||||
float:left;
|
float:left;
|
||||||
width:80px;
|
width:80px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.short_body {
|
.short_body {
|
||||||
float:left;
|
float:left;
|
||||||
width:90px;
|
width:90px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
float:left;
|
float:left;
|
||||||
width:80px;
|
width:80px;
|
||||||
clear:left;
|
clear:left;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
float:left;
|
float:left;
|
||||||
width:350px;
|
width:350px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image_list {
|
.image_list {
|
||||||
width:380px;
|
width:380px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.about_image_list {
|
.about_image_list {
|
||||||
margin-top:10px;
|
margin-top:10px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
color:#AAAAAA;
|
color:#AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_input {
|
.editor_input {
|
||||||
width:40px;
|
width:40px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:2px 0px 2px 0px;
|
padding:2px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_color_box {
|
.editor_color_box {
|
||||||
clear:both;
|
clear:both;
|
||||||
height:65px;
|
height:65px;
|
||||||
width:400px;
|
width:400px;
|
||||||
border:1px solid #DDDDDD;
|
border:1px solid #DDDDDD;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
margin-bottom:3px;
|
margin-bottom:3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_color_input {
|
.editor_color_input {
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.bg_preview_color {
|
img.bg_preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.border_preview_color {
|
img.border_preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
background-color:#000000;
|
background-color:#000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon {
|
img.color_icon {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #FFFFFF;
|
border:1px solid #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon_over {
|
img.color_icon_over {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table_input {
|
.table_input {
|
||||||
width:40px;
|
width:40px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,82 +3,84 @@
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
|
|
||||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
<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="editor_window">
|
||||||
<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="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="body">
|
|
||||||
<select id="gallery_style">
|
<div class="short_header">{$lang->width}</div>
|
||||||
<option value="slide">{$lang->gallery_slide_style}</option>
|
<div class="short_body"><input type="text" class="editor_input" id="width" value="600" />px</div>
|
||||||
<option value="list">{$lang->gallery_list_style}</option>
|
|
||||||
</select>
|
<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>
|
||||||
|
|
||||||
<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>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,42 @@
|
||||||
|
@charset "utf-8";
|
||||||
.slide_gallery_loading_text {
|
.slide_gallery_loading_text {
|
||||||
color:#555555;
|
color:#555555;
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
font-family:tahoma;
|
font-family:tahoma;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:20px 0px 20px 0px;
|
margin:20px 0px 20px 0px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.slide_gallery_navigator_box {
|
.slide_gallery_navigator_box {
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
margin:5px 0px 5px 0px;
|
margin:5px 0px 5px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zone_gallery_navigator_status {
|
.zone_gallery_navigator_status {
|
||||||
color:#444444;
|
color:#444444;
|
||||||
font-family:verdana;
|
font-family:verdana;
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.slide_gallery_navigator_box img {
|
.slide_gallery_navigator_box img {
|
||||||
vertical-align:bottom;
|
vertical-align:bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
.slide_gallery_main_image_box {
|
.slide_gallery_main_image_box {
|
||||||
border:3px solid #EEEEEE;
|
border:3px solid #EEEEEE;
|
||||||
margin:10px;
|
margin:10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.slide_gallery_thumbnail_image_box {
|
.slide_gallery_thumbnail_image_box {
|
||||||
margin:10px;
|
margin:10px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.slide_gallery_thumbnail_image_box img {
|
.slide_gallery_thumbnail_image_box img {
|
||||||
border:1px solid #555555;
|
border:1px solid #555555;
|
||||||
padding:1px;
|
padding:1px;
|
||||||
margin:4px;
|
margin:4px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,24 +2,25 @@
|
||||||
<!--%import("slide_gallery.css")-->
|
<!--%import("slide_gallery.css")-->
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
// 이미지갤러리에 보여줄 이미지 등록
|
// 이미지갤러리에 보여줄 이미지 등록
|
||||||
<!--@foreach($gallery_info->image_list as $image)-->
|
//
|
||||||
slide_gallery_add_image({$gallery_info->srl},'{$image}');
|
<!--@foreach($gallery_info->image_list as $image)-->
|
||||||
<!--@end-->
|
slide_gallery_add_image({$gallery_info->srl},'{$image}');
|
||||||
|
<!--@end-->
|
||||||
|
|
||||||
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
// window.onLoad 이벤트 후에 이미지갤러리 시작
|
||||||
xAddEventListener(window,'load',start_slide_gallery);
|
xAddEventListener(window,'load',start_slide_gallery);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div align="{$gallery_info->gallery_align}">
|
<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">
|
<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>
|
<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>
|
<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_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>
|
||||||
<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>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">이미지 추가</title>
|
<title xml:lang="ko">이미지 추가</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">에디터에 이미지를 추가하거나 속성을 변경할 수 있습니다.</description>
|
<description xml:lang="ko">에디터에 이미지를 추가하거나 속성을 변경할 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,78 +1,79 @@
|
||||||
|
@charset "utf-8";
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:500px;
|
width:500px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
float:left;
|
float:left;
|
||||||
width:100px;
|
width:100px;
|
||||||
clear:left;
|
clear:left;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
float:left;
|
float:left;
|
||||||
width:350px;
|
width:350px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body label {
|
.body label {
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image_align {
|
.image_align {
|
||||||
margin:0px 0px 5px 0px;
|
margin:0px 0px 5px 0px;
|
||||||
float:left;
|
float:left;
|
||||||
width:150px;
|
width:150px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image_url {
|
.image_url {
|
||||||
width:350px;
|
width:350px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_input {
|
.editor_input {
|
||||||
width:40px;
|
width:40px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:2px 0px 2px 0px;
|
padding:2px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,62 +3,65 @@
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
|
|
||||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
<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="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="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="header">{$lang->image_scale}</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<input type="text" class="editor_input" id="width" value="0" />px
|
<input type="text" class="editor_input" id="width" value="0" />px
|
||||||
<input type="text" class="editor_input" id="height" 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;" />
|
<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>
|
||||||
|
|
||||||
|
|
||||||
<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>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">멀티미디어 자료 관리</title>
|
<title xml:lang="ko">멀티미디어 자료 관리</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">에디터에 wmv,avi,flv등의 멀티미디어 자료를 추가하거나 속성을 수정할 수 있습니다.</description>
|
<description xml:lang="ko">에디터에 wmv,avi,flv등의 멀티미디어 자료를 추가하거나 속성을 수정할 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,72 +1,73 @@
|
||||||
|
@charset "utf-8";
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:400px;
|
width:400px;
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
float:left;
|
float:left;
|
||||||
width:100px;
|
width:100px;
|
||||||
clear:left;
|
clear:left;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
float:left;
|
float:left;
|
||||||
width:250px;
|
width:250px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body label {
|
.body label {
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.multimedia_url {
|
.multimedia_url {
|
||||||
width:240px;
|
width:240px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.multimedia_size {
|
.multimedia_size {
|
||||||
width:40px;
|
width:40px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:0px 0px 2px 0px;
|
padding:0px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,27 +3,27 @@
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
|
|
||||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
<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->multimedia_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="body"><input type="text" class="multimedia_url" id="multimedia_url" value="{$manual_url}" /></div>
|
||||||
|
|
||||||
<div class="header">{$lang->multimedia_caption}</div>
|
<div class="header">{$lang->multimedia_caption}</div>
|
||||||
<div class="body"><input type="text" class="multimedia_url" id="multimedia_caption" value="" /></div>
|
<div class="body"><input type="text" class="multimedia_url" id="multimedia_caption" value="" /></div>
|
||||||
|
|
||||||
<div class="header">{$lang->multimedia_width}</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="body"><input type="text" class="multimedia_size" id="multimedia_width" value="640" />px</div>
|
||||||
|
|
||||||
<div class="header">{$lang->multimedia_height}</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="body"><input type="text" class="multimedia_size" id="multimedia_height" value="480" />px</div>
|
||||||
|
|
||||||
<div class="header">{$lang->multimedia_auto_start}</div>
|
<div class="header">{$lang->multimedia_auto_start}</div>
|
||||||
<div class="body"><input type="checkbox" id="multimedia_auto_start" value="Y" /></div>
|
<div class="body"><input type="checkbox" id="multimedia_auto_start" value="Y" /></div>
|
||||||
|
|
||||||
<div class="editor_button_area">
|
<div class="editor_button_area">
|
||||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertMultimedia()" />
|
<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();" />
|
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">네이버맵 연동</title>
|
<title xml:lang="ko">네이버맵 연동</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">네이버에서 제공하는 네이버 지도 open api를 이용하여 에디터에 원하는 곳의 지도를 추가하거나 수정할 수 있습니다.\n네이버 지도 open api키를 발급 받아서 등록을 해주셔야 정상적인 사용이 가능합니다.</description>
|
<description xml:lang="ko">네이버에서 제공하는 네이버 지도 open api를 이용하여 에디터에 원하는 곳의 지도를 추가하거나 수정할 수 있습니다.\n네이버 지도 open api키를 발급 받아서 등록을 해주셔야 정상적인 사용이 가능합니다.</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars>
|
<extra_vars>
|
||||||
<var name="api_key">
|
<var name="api_key">
|
||||||
<title xml:lang="ko">네이버지도 api key</title>
|
<title xml:lang="ko">네이버지도 api key</title>
|
||||||
<description xml:lang="ko">http://www.naver.com/ 에서 네이버 지도 API key를 발급 받으신 후 입력해주세요.</description>
|
<description xml:lang="ko">http://www.naver.com/ 에서 네이버 지도 API key를 발급 받으신 후 입력해주세요.</description>
|
||||||
</var>
|
</var>
|
||||||
</extra_vars>
|
</extra_vars>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<!--%import("popup.css")-->
|
<!--%import("popup.css")-->
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
<div class="error_window">
|
<div class="error_window">
|
||||||
<div class="error_text">
|
<div class="error_text">
|
||||||
{nl2br($lang->msg_no_apikey)}
|
{nl2br($lang->msg_no_apikey)}
|
||||||
</div>
|
</div>
|
||||||
<div class="editor_button_area">
|
<div class="editor_button_area">
|
||||||
<input type="button" value="{$lang->cmd_close}" onclick="window.close();" class="editor_button" />
|
<input type="button" value="{$lang->cmd_close}" onclick="window.close();" class="editor_button" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,130 +1,131 @@
|
||||||
|
@charset "utf-8";
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:700px;
|
width:700px;
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error_window {
|
.error_window {
|
||||||
width:700px;
|
width:700px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error_text {
|
.error_text {
|
||||||
padding:20px;
|
padding:20px;
|
||||||
color:#444444;
|
color:#444444;
|
||||||
border:10px solid #DDDDDD;
|
border:10px solid #DDDDDD;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
line-height:200%;
|
line-height:200%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address_box {
|
.address_box {
|
||||||
float:left;
|
float:left;
|
||||||
width:250px;
|
width:250px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.input_address {
|
.input_address {
|
||||||
width:200px;
|
width:200px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:12px;
|
height:12px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address_button {
|
.address_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#AAAAAA;
|
background-color:#AAAAAA;
|
||||||
border:1px solid #333333;
|
border:1px solid #333333;
|
||||||
color:#FFFFFF;
|
color:#FFFFFF;
|
||||||
height:16px;
|
height:16px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.about_address {
|
.about_address {
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
color:#AAAAAA;
|
color:#AAAAAA;
|
||||||
margin-top:3px;
|
margin-top:3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address_list_box {
|
.address_list_box {
|
||||||
border:1px solid #DDDDDD;
|
border:1px solid #DDDDDD;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
float:left;
|
float:left;
|
||||||
width:250px;
|
width:250px;
|
||||||
height:288px;
|
height:288px;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
color:#AAAAAA;
|
color:#AAAAAA;
|
||||||
overflow:auto;
|
overflow:auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address_list_box A {
|
.address_list_box A {
|
||||||
color:#888888;
|
color:#888888;
|
||||||
line-height:15px;
|
line-height:15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_scale_box {
|
.map_scale_box {
|
||||||
float:left;
|
float:left;
|
||||||
width:250px;
|
width:250px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_scale_header {
|
.map_scale_header {
|
||||||
float:left;
|
float:left;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
width:60px;
|
width:60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_scale_body {
|
.map_scale_body {
|
||||||
width:180px;
|
width:180px;
|
||||||
float:left;
|
float:left;
|
||||||
margin-left:5px;
|
margin-left:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input_map_size {
|
.input_map_size {
|
||||||
width:30px;
|
width:30px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
height:12px;
|
height:12px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.map_display {
|
.map_display {
|
||||||
float:right;
|
float:right;
|
||||||
width:410px;
|
width:410px;
|
||||||
height:410px;
|
height:410px;
|
||||||
margin:5px 5px 0px 6px;
|
margin:5px 5px 0px 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
width:100%;
|
width:100%;
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:0px 0px 2px 0px;
|
padding:0px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,32 +3,33 @@
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
|
|
||||||
<form action="./" method="get" onSubmit="search_address(); return false;" id="fo">
|
<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_x" name="x" value="" />
|
||||||
<input type="hidden" id="map_y" name="x" value="" />
|
<input type="hidden" id="map_y" name="x" value="" />
|
||||||
<input type="hidden" id="marker" name="marker_1" 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>
|
|
||||||
|
|
||||||
<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">
|
<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>
|
||||||
<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="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>
|
||||||
|
|
||||||
<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>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">인용구 작성</title>
|
<title xml:lang="ko">인용구 작성</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">특정 범위를 인용문으로 꾸밀 수 있습니다. 외곽선의 종류나 색상, 굵기를 수정할 수 있으며 열기/닫기 기능을 가진 폴더기능을 만들 수 있습니다.</description>
|
<description xml:lang="ko">특정 범위를 인용문으로 꾸밀 수 있습니다. 외곽선의 종류나 색상, 굵기를 수정할 수 있으며 열기/닫기 기능을 가진 폴더기능을 만들 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,131 +1,132 @@
|
||||||
|
@charset "utf-8";
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:555px;
|
width:555px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
float:left;
|
float:left;
|
||||||
width:100px;
|
width:100px;
|
||||||
clear:left;
|
clear:left;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
float:left;
|
float:left;
|
||||||
width:400px;
|
width:400px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#folder_area {
|
#folder_area {
|
||||||
clear:left;
|
clear:left;
|
||||||
height:115px;
|
height:115px;
|
||||||
border:1px dotted #DDDDDD;
|
border:1px dotted #DDDDDD;
|
||||||
margin:0px 10px 10px 10px;
|
margin:0px 10px 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body label {
|
.body label {
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_input {
|
.editor_input {
|
||||||
width:50px;
|
width:50px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_input_long {
|
.editor_input_long {
|
||||||
width:380px;
|
width:380px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_select {
|
.editor_select {
|
||||||
width:80px;
|
width:80px;
|
||||||
height:14px;
|
height:14px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
clear:both;
|
clear:both;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
height:25px;
|
height:25px;
|
||||||
padding-top:3px;
|
padding-top:3px;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon {
|
img.color_icon {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #FFFFFF;
|
border:1px solid #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon_over {
|
img.color_icon_over {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.border_preview_color {
|
img.border_preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
background-color:#88EE22;
|
background-color:#88EE22;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.border_preview_none_color {
|
img.border_preview_none_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:12px;
|
height:12px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.bg_preview_color {
|
img.bg_preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_color_box {
|
.editor_color_box {
|
||||||
clear:both;
|
clear:both;
|
||||||
height:65px;
|
height:65px;
|
||||||
width:400px;
|
width:400px;
|
||||||
border:1px solid #DDDDDD;
|
border:1px solid #DDDDDD;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
margin-bottom:3px;
|
margin-bottom:3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_color_input {
|
.editor_color_input {
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,130 +3,130 @@
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
|
|
||||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
<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->quotation_use_folder}</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="body"><input type="checkbox" id="quotation_use" value="Y" onclick="toggle_folder(this)" /></div>
|
||||||
|
|
||||||
<div id="folder_area" style="display:none">
|
<div id="folder_area" style="display:none">
|
||||||
<div class="header">{$lang->quotation_opener}</div>
|
<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="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="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="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="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="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">
|
<div class="body">
|
||||||
<span>
|
<div>
|
||||||
<input type="radio" name="color" value="blue" id="quotation_color_blue" />
|
<input type="radio" name="border_style" value="" id="border_style_none" />
|
||||||
<label for="quotation_color_blue" class="editor_blue_text">{$lang->folder_text_color_blue}</label>
|
<label for="border_style_none">
|
||||||
</span>
|
<img src="./images/blank.gif" class="border_preview_none_color" alt="blank" />
|
||||||
<span>
|
{$lang->quotation_border_style_list[0]}
|
||||||
<input type="radio" name="color" value="red" id="quotation_color_red" />
|
</label>
|
||||||
<label for="quotation_color_red" class="editor_red_text">{$lang->folder_text_color_red}</label>
|
</div>
|
||||||
</span>
|
<div>
|
||||||
<span>
|
<input type="radio" name="border_style" value="solid" id="border_style_solid" checked="true" />
|
||||||
<input type="radio" name="color" value="yellow" id="quotation_color_yellow" />
|
<label for="border_style_solid">
|
||||||
<label for="quotation_color_yellow" class="editor_yellow_text">{$lang->folder_text_color_yellow}</label>
|
<img src="./images/border_solid.gif" class="border_preview_color" id="border_style_solid_icon" alt="solid" />
|
||||||
</span>
|
{$lang->quotation_border_style_list[1]}
|
||||||
<span>
|
</label>
|
||||||
<input type="radio" name="color" value="green" id="quotation_color_green" />
|
</div>
|
||||||
<label for="quotation_color_green" class="editor_green_text">{$lang->folder_text_color_green}</label>
|
<div>
|
||||||
</span>
|
<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>
|
</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>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">표(table) 생성</title>
|
<title xml:lang="ko">표(table) 생성</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">에디터에 표(table)을 생성하거나 표(table) 또는 칸(td)의 속성을 변경할 수 있습니다.</description>
|
<description xml:lang="ko">에디터에 표(table)을 생성하거나 표(table) 또는 칸(td)의 속성을 변경할 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,125 +1,126 @@
|
||||||
|
@charset "utf-8";
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:530px;
|
width:530px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_option {
|
.editor_option {
|
||||||
text-align:center;
|
text-align:center;
|
||||||
padding:5px 0px 5px 0px;
|
padding:5px 0px 5px 0px;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
margin-bottom:5px;
|
margin-bottom:5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item_area {
|
.item_area {
|
||||||
clear:left;
|
clear:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
width:85px;
|
width:85px;
|
||||||
float:left;
|
float:left;
|
||||||
text-align:right;
|
text-align:right;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
width:140px;
|
width:140px;
|
||||||
float:left;
|
float:left;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px 5px 5px 0px;
|
margin:5px 5px 5px 0px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wide_body {
|
.wide_body {
|
||||||
width:380px;
|
width:380px;
|
||||||
float:left;
|
float:left;
|
||||||
clear:right;
|
clear:right;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px 10px 5px 0px;
|
margin:5px 10px 5px 0px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
.table_input {
|
.table_input {
|
||||||
width:40px;
|
width:40px;
|
||||||
height:13px;
|
height:13px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
clear:both;
|
clear:both;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
height:25px;
|
height:25px;
|
||||||
padding-top:3px;
|
padding-top:3px;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:8pt;
|
font-size:8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon {
|
img.color_icon {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #FFFFFF;
|
border:1px solid #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.color_icon_over {
|
img.color_icon_over {
|
||||||
width:14px;
|
width:14px;
|
||||||
height:14px;
|
height:14px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.border_preview_color {
|
img.border_preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
background-color:#000000;
|
background-color:#000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.border_preview_none_color {
|
img.border_preview_none_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:12px;
|
height:12px;
|
||||||
border:1px solid #EEEEEE;
|
border:1px solid #EEEEEE;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.bg_preview_color {
|
img.bg_preview_color {
|
||||||
width:30px;
|
width:30px;
|
||||||
height:16px;
|
height:16px;
|
||||||
border:1px solid #000000;
|
border:1px solid #000000;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_color_box {
|
.editor_color_box {
|
||||||
clear:both;
|
clear:both;
|
||||||
height:65px;
|
height:65px;
|
||||||
width:400px;
|
width:400px;
|
||||||
border:1px solid #DDDDDD;
|
border:1px solid #DDDDDD;
|
||||||
padding:2px;
|
padding:2px;
|
||||||
margin-bottom:3px;
|
margin-bottom:3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_color_input {
|
.editor_color_input {
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,109 +3,111 @@
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
|
|
||||||
<form action="./" method="get" onSubmit="return false" id="fo">
|
<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">
|
<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="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>
|
<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>
|
</div>
|
||||||
|
|
||||||
<div class="header">{$lang->cell_height} :</div>
|
<div id="table_attribute" style="display:none">
|
||||||
<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="item_area" id="col_row_area" style="display:none" >
|
||||||
<div class="header">{$lang->table_border_color} :</div>
|
<div class="header">{$lang->table_cols_count} :</div>
|
||||||
<div class="wide_body">
|
<div class="body"><input type="text" class="table_input" id="cols_count" value="2" /></div>
|
||||||
<div class="editor_color_box">
|
|
||||||
<script type="text/javascript">
|
<div class="header">{$lang->table_rows_count} :</div>
|
||||||
printColor("border", "{$tpl_path}/images/blank.gif");
|
<div class="body"><input type="text" class="table_input" id="rows_count" value="1" /></div>
|
||||||
</script>
|
|
||||||
</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="item_area">
|
||||||
<div class="header">{$lang->table_bg_color} :</div>
|
<div class="header">{$lang->table_width} :</div>
|
||||||
<div class="wide_body">
|
<div class="wide_body">
|
||||||
<div class="editor_color_box">
|
<input type="text" class="table_input" id="width" value="100" />
|
||||||
<script type="text/javascript">
|
<input type="radio" name="width_unit" id="width_unit_percent" checked="true" /><label for="width_unit_percent">%</label>
|
||||||
printColor("bg", "{$tpl_path}/images/blank.gif");
|
<input type="radio" name="width_unit" id="width_unit_pixel" /><label for="width_unit_pixel">px</label>
|
||||||
</script>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="editor_color_input">
|
|
||||||
<table border="0" cellspacing="0">
|
<div class="item_area">
|
||||||
<tr>
|
<div class="header">{$lang->table_cellspacing} :</div>
|
||||||
<td><img src="./images/blank.gif" alt="blank" class="bg_preview_color" id="bg_preview_color" /></td>
|
<div class="body"><input type="text" class="table_input" id="cellspacing" value="0" />px</div>
|
||||||
<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>
|
<div class="header">{$lang->table_cellpadding} :</div>
|
||||||
</tr>
|
<div class="body"><input type="text" class="table_input" id="cellpadding" value="1" />px</div>
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="editor_button_area">
|
<div class="item_area">
|
||||||
<input type="button" value="{$lang->cmd_insert}" class="editor_button" onclick="insertTable()" />
|
<div class="header">{$lang->table_border} :</div>
|
||||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();" />
|
<div class="body"><input type="text" class="table_input" id="border" value="1" />px</div>
|
||||||
</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>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component version="0.1">
|
<component version="0.1">
|
||||||
<title xml:lang="ko">링크 생성</title>
|
<title xml:lang="ko">링크 생성</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">에디터에 링크를 추가하거나 링크의 속성을 변경할 수 있습니다.</description>
|
<description xml:lang="ko">에디터에 링크를 추가하거나 링크의 속성을 변경할 수 있습니다.</description>
|
||||||
</author>
|
</author>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
||||||
|
|
@ -1,67 +1,68 @@
|
||||||
|
@charset "utf-8";
|
||||||
.editor_window {
|
.editor_window {
|
||||||
width:400px;
|
width:400px;
|
||||||
clear:both;
|
clear:both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_title {
|
.editor_title {
|
||||||
font-size:10pt;
|
font-size:10pt;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:20px;
|
height:20px;
|
||||||
background-color:#555555;
|
background-color:#555555;
|
||||||
color:#EFEFEF;
|
color:#EFEFEF;
|
||||||
vertical-align:middle;
|
vertical-align:middle;
|
||||||
padding-top:5px;
|
padding-top:5px;
|
||||||
border-bottom:1px solid #000000;
|
border-bottom:1px solid #000000;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
float:left;
|
float:left;
|
||||||
width:60px;
|
width:60px;
|
||||||
clear:left;
|
clear:left;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
padding-left:20px;
|
padding-left:20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.body {
|
.body {
|
||||||
float:left;
|
float:left;
|
||||||
width:290px;
|
width:290px;
|
||||||
text-align:left;
|
text-align:left;
|
||||||
margin:5px;
|
margin:5px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_textarea {
|
.editor_textarea {
|
||||||
width:280px;
|
width:280px;
|
||||||
height:50px;
|
height:50px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_input {
|
.editor_input {
|
||||||
width:280px;
|
width:280px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
height:13px;
|
height:13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button_area {
|
.editor_button_area {
|
||||||
border-top:1px solid #AAAAAA;
|
border-top:1px solid #AAAAAA;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-color:#EEEEEE;
|
background-color:#EEEEEE;
|
||||||
padding:0px 0px 2px 0px;
|
padding:0px 0px 2px 0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:25px;
|
height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
margin-top:4px;
|
margin-top:4px;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:18px;
|
height:18px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,46 +2,45 @@
|
||||||
<!--%import("popup.css")-->
|
<!--%import("popup.css")-->
|
||||||
<!--%import("../lang")-->
|
<!--%import("../lang")-->
|
||||||
<form action="./" method="get" id="fo_component" onSubmit="return false">
|
<form action="./" method="get" id="fo_component" onSubmit="return false">
|
||||||
<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->urllink_title}</div>
|
<div class="header">{$lang->urllink_title}</div>
|
||||||
<div class="body"><textarea name="text" class="editor_textarea"></textarea></div>
|
<div class="body"><textarea name="text" class="editor_textarea"></textarea></div>
|
||||||
|
|
||||||
<div class="header">{$lang->urllink_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="body"><input type="text" name="url" class="editor_input" value="{$manual_url}"/></div>
|
||||||
|
|
||||||
<div class="header">{$lang->urllink_open_window}</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="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="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="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>
|
|
||||||
|
|
||||||
<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>
|
</form>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<module version="0.1">
|
<module version="0.1">
|
||||||
<title xml:lang="ko">위지윅 에디터 </title>
|
<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">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<name xml:lang="en">zero</name>
|
<description xml:lang="ko">위지윅 에디터를 출력하거나 에디터 컴포넌트들을 관리/중계하는 모듈입니다.</description>
|
||||||
<description xml:lang="ko">위지윅 에디터 출력 및 관리</description>
|
|
||||||
<description xml:lang="en">editor</description>
|
|
||||||
</author>
|
</author>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,18 @@
|
||||||
<module>
|
<module>
|
||||||
<grants />
|
<grants />
|
||||||
<actions>
|
<actions>
|
||||||
<action name="adminIndex" type="view" standalone="true" admin_index="true" />
|
<action name="dispEditorPopup" type="view" standalone="true" />
|
||||||
<action name="setupComponent" type="view" standalone="true" />
|
<action name="dispEditorComponentInfo" type="view" standalone="true" />
|
||||||
<action name="dispPopup" type="view" standalone="true" />
|
|
||||||
<action name="viewComponentInfo" type="view" standalone="true" />
|
|
||||||
|
|
||||||
<action name="procSaveDoc" type="controller" standalone="true" />
|
<action name="dispEditorAdminIndex" type="view" standalone="true" admin_index="true" />
|
||||||
<action name="procCall" type="controller" standalone="true" />
|
<action name="dispEditorAdminSetupComponent" type="view" standalone="true" />
|
||||||
<action name="procEnableComponent" type="controller" standalone="true" />
|
|
||||||
<action name="procDisableComponent" type="controller" standalone="true" />
|
<action name="procEditorSaveDoc" type="controller" standalone="true" />
|
||||||
<action name="procMoveListOrder" type="controller" standalone="true" />
|
<action name="procEditorCall" type="controller" standalone="true" />
|
||||||
<action name="procSetupComponent" 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>
|
</actions>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,14 @@
|
||||||
* @brief 설치시 추가 작업이 필요할시 구현
|
* @brief 설치시 추가 작업이 필요할시 구현
|
||||||
**/
|
**/
|
||||||
function moduleInstall() {
|
function moduleInstall() {
|
||||||
// 에디터 모듈에서 사용할 디렉토리 생성
|
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||||
FileHandler::makeDir('./files/cache/editor');
|
$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');
|
$oEditorController = &getController('editor');
|
||||||
|
|
@ -26,6 +32,9 @@
|
||||||
$oEditorController->insertComponent('quotation',true);
|
$oEditorController->insertComponent('quotation',true);
|
||||||
$oEditorController->insertComponent('table_maker',true);
|
$oEditorController->insertComponent('table_maker',true);
|
||||||
|
|
||||||
|
// 에디터 모듈에서 사용할 디렉토리 생성
|
||||||
|
FileHandler::makeDir('./files/cache/editor');
|
||||||
|
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief 자동 저장
|
* @brief 자동 저장
|
||||||
**/
|
**/
|
||||||
function procSaveDoc() {
|
function procEditorSaveDoc() {
|
||||||
|
|
||||||
$this->deleteSavedDoc();
|
$this->deleteSavedDoc();
|
||||||
|
|
||||||
|
|
@ -41,6 +41,120 @@
|
||||||
$this->setMessage('msg_auto_saved');
|
$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 자동 저장된 글을 삭제
|
* @brief 자동 저장된 글을 삭제
|
||||||
* 현재 접속한 사용자를 기준
|
* 현재 접속한 사용자를 기준
|
||||||
|
|
@ -79,119 +193,5 @@
|
||||||
$output = $oDB->executeQuery('editor.insertComponent', $args);
|
$output = $oDB->executeQuery('editor.insertComponent', $args);
|
||||||
return $output;
|
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() {
|
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 관리자 설정 페이지
|
* @brief 관리자 설정 페이지
|
||||||
* 에디터 컴포넌트의 on/off 및 설정을 담당
|
* 에디터 컴포넌트의 on/off 및 설정을 담당
|
||||||
**/
|
**/
|
||||||
function adminIndex() {
|
function dispEditorAdminIndex() {
|
||||||
// 컴포넌트의 종류를 구해옴
|
// 컴포넌트의 종류를 구해옴
|
||||||
$oEditorModel = &getModel('editor');
|
$oEditorModel = &getModel('editor');
|
||||||
$component_list = $oEditorModel->getComponentList(false);
|
$component_list = $oEditorModel->getComponentList(false);
|
||||||
|
|
@ -31,7 +79,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief 컴퍼넌트 setup
|
* @brief 컴퍼넌트 setup
|
||||||
**/
|
**/
|
||||||
function setupComponent() {
|
function dispEditorAdminSetupComponent() {
|
||||||
$component_name = Context::get('component_name');
|
$component_name = Context::get('component_name');
|
||||||
|
|
||||||
$oEditorModel = &getModel('editor');
|
$oEditorModel = &getModel('editor');
|
||||||
|
|
@ -43,22 +91,6 @@
|
||||||
$this->setLayoutFile("popup_layout");
|
$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
|
* @brief 에디터를 return
|
||||||
**/
|
**/
|
||||||
|
|
@ -94,37 +126,5 @@
|
||||||
return $oTemplate->compile($tpl_path, $tpl_file);
|
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">
|
<query id="deleteSavedDoc" action="delete">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_autosave" />
|
<table name="editor_autosave" />
|
||||||
</tables>
|
</tables>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="member_srl" var="member_srl" />
|
<condition operation="equal" column="member_srl" var="member_srl" />
|
||||||
<condition operation="equal" column="ipaddress" var="ipaddress" />
|
<condition operation="equal" column="ipaddress" var="ipaddress" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<query id="getComponent" action="select">
|
<query id="getComponent" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_components" />
|
<table name="editor_components" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="*" />
|
<column name="*" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull"/>
|
<condition operation="equal" column="component_name" var="component_name" notnull="notnull"/>
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
<query id="getComponentList" action="select">
|
<query id="getComponentList" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_components" />
|
<table name="editor_components" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="*" />
|
<column name="*" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="enabled" var="enabled" />
|
<condition operation="equal" column="enabled" var="enabled" />
|
||||||
</conditions>
|
</conditions>
|
||||||
<navigation>
|
<navigation>
|
||||||
<index var="sort_index" default="list_order" order="asc" />
|
<index var="sort_index" default="list_order" order="asc" />
|
||||||
</navigation>
|
</navigation>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<query id="getSavedDocument" action="select">
|
<query id="getSavedDocument" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_autosave" />
|
<table name="editor_autosave" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns />
|
<columns />
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
<condition operation="equal" column="member_srl" var="member_srl" pipe="and" />
|
||||||
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
<condition operation="equal" column="ipaddress" var="ipaddress" pipe="and" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
<query id="insertComponent" action="insert">
|
<query id="insertComponent" action="insert">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_components" />
|
<table name="editor_components" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="component_name" var="component_name" notnull="notnull" />
|
<column name="component_name" var="component_name" notnull="notnull" />
|
||||||
<column name="enabled" var="enabled" default="N" />
|
<column name="enabled" var="enabled" default="N" />
|
||||||
<column name="list_order" var="list_order" default="sequence()" />
|
<column name="list_order" var="list_order" default="sequence()" />
|
||||||
</columns>
|
</columns>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<query id="insertSavedDoc" action="insert">
|
<query id="insertSavedDoc" action="insert">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_autosave" />
|
<table name="editor_autosave" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="member_srl" var="member_srl" />
|
<column name="member_srl" var="member_srl" />
|
||||||
<column name="ipaddress" var="ipaddress" />
|
<column name="ipaddress" var="ipaddress" />
|
||||||
<column name="document_srl" var="document_srl" />
|
<column name="document_srl" var="document_srl" />
|
||||||
<column name="title" var="title" />
|
<column name="title" var="title" />
|
||||||
<column name="content" var="content" />
|
<column name="content" var="content" />
|
||||||
<column name="regdate" var="regdate" default="curdate()" />
|
<column name="regdate" var="regdate" default="curdate()" />
|
||||||
</columns>
|
</columns>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<query id="isComponentInserted" action="select">
|
<query id="isComponentInserted" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_components" />
|
<table name="editor_components" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="count(*)" alias="count" />
|
<column name="count(*)" alias="count" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
<query id="updateComponent" action="update">
|
<query id="updateComponent" action="update">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="editor_components" />
|
<table name="editor_components" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="enabled" var="enabled" />
|
<column name="enabled" var="enabled" />
|
||||||
<column name="extra_vars" var="extra_vars" />
|
<column name="extra_vars" var="extra_vars" />
|
||||||
<column name="list_order" var="list_order"/>
|
<column name="list_order" var="list_order"/>
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
<condition operation="equal" column="component_name" var="component_name" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<table name="editor_autosave">
|
<table name="editor_autosave">
|
||||||
<column name="member_srl" type="number" size="11" default="0" index="idx_member_srl" />
|
<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="ipaddress" type="varchar" size="128" index="idx_ipaddress" />
|
||||||
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
|
<column name="document_srl" type="number" size="11" default="0" notnull="notnull" />
|
||||||
<column name="title" type="varchar" size="250" />
|
<column name="title" type="varchar" size="250" />
|
||||||
<column name="content" type="bigtext" notnull="notnull" />
|
<column name="content" type="bigtext" notnull="notnull" />
|
||||||
<column name="regdate" type="date" index="idx_regdate" />
|
<column name="regdate" type="date" index="idx_regdate" />
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<table name="editor_components">
|
<table name="editor_components">
|
||||||
<column name="component_name" type="varchar" size="250" notnull="notnull" primary_key="primary_key" />
|
<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="enabled" type="char" size="1" default="N" notnull="notnull" />
|
||||||
<column name="extra_vars" type="text"/>
|
<column name="extra_vars" type="text"/>
|
||||||
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
|
<column name="list_order" type="number" size="11" notnull="notnull" index="idx_list_order" />
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -2,39 +2,41 @@
|
||||||
|
|
||||||
<table border="1">
|
<table border="1">
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_name}</th>
|
<th>{$lang->component_name}</th>
|
||||||
<th>{$lang->component_version}</th>
|
<th>{$lang->component_version}</th>
|
||||||
<th>{$lang->component_author}</th>
|
<th>{$lang->component_author}</th>
|
||||||
<th>{$lang->component_link}</th>
|
<th>{$lang->component_link}</th>
|
||||||
<th>{$lang->component_date}</th>
|
<th>{$lang->component_date}</th>
|
||||||
<th>{$lang->cmd_setup}</th>
|
<th>{$lang->cmd_setup}</th>
|
||||||
<th>{$lang->use}</th>
|
<th>{$lang->use}</th>
|
||||||
<th colspan="2">{$lang->cmd_move}</th>
|
<th colspan="2">{$lang->cmd_move}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!--@foreach($component_list as $component_name => $xml_info)-->
|
<!--@foreach($component_list as $component_name => $xml_info)-->
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2">{$xml_info->title}<br />({$component_name})</td>
|
<td rowspan="2">{$xml_info->title}<br />({$component_name})</td>
|
||||||
<td rowspan="2">{$xml_info->version}</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="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><a href="#" onclick="window.open('{$xml_info->author->link}');return false;">{$xml_info->author->link}</a></td>
|
||||||
<td>{$xml_info->author->date}</td>
|
<td>{$xml_info->author->date}</td>
|
||||||
<td>
|
<td>
|
||||||
<!--@if($xml_info->extra_vars)-->
|
<!--@if($xml_info->extra_vars)-->
|
||||||
<a href="#" onclick="doSetupComponent('{$component_name}'); return false;">{$lang->cmd_setup}</a>
|
<a href="#" onclick="doSetupComponent('{$component_name}'); return false;">{$lang->cmd_setup}</a>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<!--@if($xml_info->enabled=='Y')-->
|
<!--@if($xml_info->enabled=='Y')-->
|
||||||
<a href="#" onclick="doDisableComponent('{$component_name}');return false;">{$lang->notuse}</a>
|
<a href="#" onclick="doDisableComponent('{$component_name}');return false;">{$lang->notuse}</a>
|
||||||
<!--@else-->
|
<!--@else-->
|
||||||
<a href="#" onclick="doEnableComponent('{$component_name}');return false;">{$lang->use}</a>
|
<a href="#" onclick="doEnableComponent('{$component_name}');return false;">{$lang->use}</a>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</td>
|
</td>
|
||||||
<td><a href="#" onclick="doMoveListOrder('{$component_name}','up'); return false;">{$lang->cmd_move_up}</a></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><a href="#" onclick="doMoveListOrder('{$component_name}','down'); return false;">{$lang->cmd_move_down}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="7">{nl2br($xml_info->description)}</td>
|
<td colspan="7">{nl2br($xml_info->description)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
alert("{$message}");
|
alert("{$message}");
|
||||||
window.close();
|
window.close();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -1,148 +1,150 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
div.editor_content {
|
div.editor_content {
|
||||||
margin:3px;
|
margin:3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_area_1 {
|
div.editor_area_1 {
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_area_2 {
|
div.editor_area_2 {
|
||||||
clear:left;
|
clear:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_area_about_dbl {
|
div.editor_area_about_dbl {
|
||||||
clear:left;
|
clear:left;
|
||||||
border:1px dotted #DDDDDD;
|
border:1px dotted #DDDDDD;
|
||||||
padding:3px;
|
padding:3px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
color:#888888;
|
color:#888888;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_fontbox {
|
div.editor_fontbox {
|
||||||
margin : 3px 3px 3px 0px;
|
margin : 3px 3px 3px 0px;
|
||||||
float:left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_fontbox select {
|
div.editor_fontbox select {
|
||||||
width:70px;
|
width:70px;
|
||||||
height:18px;
|
height:18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_iconbox {
|
div.editor_iconbox {
|
||||||
margin : 3px 3px 3px 0px;
|
margin : 3px 3px 3px 0px;
|
||||||
white-space:nowrap;
|
white-space:nowrap;
|
||||||
font-size:1pt;
|
font-size:1pt;
|
||||||
float:left;
|
float:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_iconbox img {
|
div.editor_iconbox img {
|
||||||
height : 16px;
|
height : 16px;
|
||||||
border : 1px solid #EEEEEE;
|
border : 1px solid #EEEEEE;
|
||||||
background-color : #FFFFFF;
|
background-color : #FFFFFF;
|
||||||
padding:1px;
|
padding:1px;
|
||||||
cursor : pointer;
|
cursor : pointer;
|
||||||
margin-right:1px;
|
margin-right:1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_parabox {
|
div.editor_parabox {
|
||||||
margin : 3px 3px 3px 0px;
|
margin : 3px 3px 3px 0px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
text-align:right;
|
text-align:right;
|
||||||
display:none;
|
display:none;
|
||||||
float:right;
|
float:right;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_iframe_box {
|
div.editor_iframe_box {
|
||||||
clear:left;
|
clear:left;
|
||||||
border:1px solid #EFEFEF;
|
border:1px solid #EFEFEF;
|
||||||
margin:3px 0px 0px 0px;
|
margin:3px 0px 0px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.editor_drag_down_area {
|
div.editor_drag_down_area {
|
||||||
width:100%;
|
width:100%;
|
||||||
height:15px;
|
height:15px;
|
||||||
background:url(../images/icon_drag_down.gif) no-repeat center;
|
background:url(../images/icon_drag_down.gif) no-repeat center;
|
||||||
background-color:#EFEFEF;
|
background-color:#EFEFEF;
|
||||||
cursor:s-resize;
|
cursor:s-resize;
|
||||||
position:relative;
|
position:relative;
|
||||||
margin-top:10px;
|
margin-top:10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_uploader_box {
|
.editor_uploader_box {
|
||||||
margin:10px 0px 0px 5px;
|
margin:10px 0px 0px 5px;
|
||||||
border:0;
|
border:0;
|
||||||
padding:0px;
|
padding:0px;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:130px;
|
height:130px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_preview_uploaded {
|
.editor_preview_uploaded {
|
||||||
float:left;
|
float:left;
|
||||||
width:110px;
|
width:110px;
|
||||||
height:110px;
|
height:110px;
|
||||||
padding:5px;
|
padding:5px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
margin-right:10px;
|
margin-right:10px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_uploader {
|
.editor_uploader {
|
||||||
float:left;
|
float:left;
|
||||||
width:300px;
|
width:300px;
|
||||||
height:120px;
|
height:120px;
|
||||||
margin-right:10px;
|
margin-right:10px;
|
||||||
padding-right:10px;
|
padding-right:10px;
|
||||||
border-right:1px dotted #AAAAAA;
|
border-right:1px dotted #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uploaded_file_list {
|
.uploaded_file_list {
|
||||||
width:100%;
|
width:100%;
|
||||||
height:122px;
|
height:122px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_uploader_input_area {
|
.editor_uploader_input_area {
|
||||||
width:150px;
|
width:150px;
|
||||||
float:left;
|
float:left;
|
||||||
clear:right;
|
clear:right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_uploader_file_input {
|
.editor_uploader_file_input {
|
||||||
display:none;
|
display:none;
|
||||||
height:18px;
|
height:18px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
position:relative;
|
position:relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_uploader_input {
|
.editor_uploader_input {
|
||||||
display:block;
|
display:block;
|
||||||
width:90px;
|
width:90px;
|
||||||
height:18px;
|
height:18px;
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
margin-bottom:10px;
|
margin-bottom:10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.component_setup_window {
|
.component_setup_window {
|
||||||
width:800px;
|
width:800px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.component_view_window {
|
.component_view_window {
|
||||||
width:600px;
|
width:600px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_input {
|
.editor_input {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
height:14px;
|
height:14px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
width:200px;
|
width:200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editor_button {
|
.editor_button {
|
||||||
border:1px solid #AAAAAA;
|
border:1px solid #AAAAAA;
|
||||||
background-color:#FFFFFF;
|
background-color:#FFFFFF;
|
||||||
height:17px;
|
height:17px;
|
||||||
font-size:9pt;
|
font-size:9pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.about_component_icon {
|
.about_component_icon {
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
<!-- 에디터 활성화 -->
|
<!-- 에디터 활성화 -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var editor_path = "{$editor_path}";
|
var editor_path = "{$editor_path}";
|
||||||
editorInit("{$upload_target_srl}");
|
editorInit("{$upload_target_srl}");
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- 자동저장용 폼 -->
|
<!-- 자동저장용 폼 -->
|
||||||
|
|
@ -17,103 +17,105 @@
|
||||||
|
|
||||||
<!-- 에디터 -->
|
<!-- 에디터 -->
|
||||||
<div class="editor_content">
|
<div class="editor_content">
|
||||||
|
<div class="editor_area_1">
|
||||||
|
|
||||||
<div class="editor_area_1">
|
|
||||||
<!-- 폰트 종류와 크기 -->
|
<!-- 폰트 종류와 크기 -->
|
||||||
<div class="editor_fontbox">
|
<div class="editor_fontbox">
|
||||||
<select onChange="editorChangeFontName(this,'{$upload_target_srl}')" id="editor_font_{$upload_target_srl}">
|
<select onChange="editorChangeFontName(this,'{$upload_target_srl}')" id="editor_font_{$upload_target_srl}">
|
||||||
<option value="">{$lang->edit->fontname}</option>
|
<option value="">{$lang->edit->fontname}</option>
|
||||||
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
<!--@foreach($lang->edit->fontlist as $key=>$obj)-->
|
||||||
<option style="font-family:{$obj}" value="{$obj}">{$obj}</option>
|
<option style="font-family:{$obj}" value="{$obj}">{$obj}</option>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
</select>
|
</select>
|
||||||
<select onChange="editorChangeFontSize(this,'{$upload_target_srl}')" id="editor_fontsize_{$upload_target_srl}">
|
|
||||||
<option value="" selected>{$lang->edit->fontsize}</option>
|
<select onChange="editorChangeFontSize(this,'{$upload_target_srl}')" id="editor_fontsize_{$upload_target_srl}">
|
||||||
<option value="1">8pt</option>
|
<option value="" selected>{$lang->edit->fontsize}</option>
|
||||||
<option value="2">10pt</option>
|
<option value="1">8pt</option>
|
||||||
<option value="3">12pt</option>
|
<option value="2">10pt</option>
|
||||||
<option value="4">14pt</option>
|
<option value="3">12pt</option>
|
||||||
<option value="5">18pt</option>
|
<option value="4">14pt</option>
|
||||||
<option value="6">24pt</option>
|
<option value="5">18pt</option>
|
||||||
<option value="7">36pt</option>
|
<option value="6">24pt</option>
|
||||||
</select>
|
<option value="7">36pt</option>
|
||||||
<select onChange="editorChangeHeader(this,'{$upload_target_srl}')" id="editor_header_{$upload_target_srl}">
|
</select>
|
||||||
<option value="">{$lang->edit->header}</option>
|
|
||||||
<!--@foreach($lang->edit->header_list as $key=>$obj)-->
|
<select onChange="editorChangeHeader(this,'{$upload_target_srl}')" id="editor_header_{$upload_target_srl}">
|
||||||
<option value="{$key}">{$obj}</option>
|
<option value="">{$lang->edit->header}</option>
|
||||||
<!--@end-->
|
<!--@foreach($lang->edit->header_list as $key=>$obj)-->
|
||||||
</select>
|
<option value="{$key}">{$obj}</option>
|
||||||
|
<!--@end-->
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 에디팅 관련 아이콘 -->
|
<!-- 에디팅 관련 아이콘 -->
|
||||||
<div class="editor_iconbox">
|
<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_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="../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/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/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/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/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/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="./images/redo.gif" title="{$lang->edit->help_redo}" alt="{$lang->edit->help_redo}" class="editor_icon" id="component_{$upload_target_srl}_redo" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="editor_paragraph_{$upload_target_srl}" class="editor_iconbox">
|
<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_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_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/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/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/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_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/list_bullet.gif" title="{$lang->edit->help_list_bullet}" alt="{$lang->edit->help_list_bullet}" id="component_{$upload_target_srl}_insertunorderedlist" />
|
||||||
</div>
|
</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>
|
|
||||||
|
|
||||||
<div class="editor_area_about_dbl">
|
<div class="editor_area_2">
|
||||||
{$lang->about_dblclick_in_editor}
|
<!-- 컴포넌트 -->
|
||||||
<div id="for_ie_help_{$upload_target_srl}" style="display:none">{$lang->edit->help_use_paragrapth}</div>
|
<div id="editor_component_{$upload_target_srl}" class="editor_iconbox">
|
||||||
</div>
|
<!--@foreach($component_list as $component_name => $component)-->
|
||||||
|
<!--@if(substr($component_name,0,11)!="colorpicker")-->
|
||||||
<!-- iframe -->
|
<img src="../components/{$component_name}/icon.gif" alt="{$component->title}" title="{$component->title}" class="editor_icon" id="component_{$upload_target_srl}_{$component_name}" />
|
||||||
<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>
|
<!--@end-->
|
||||||
<div class="editor_autosaved_message" id="editor_autosaved_message">{$lang->msg_auto_saved} </div>
|
<!--@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>
|
</div>
|
||||||
|
|
||||||
<!--@if($allow_fileupload)-->
|
<!--@if($allow_fileupload)-->
|
||||||
<!-- 첨부파일 영역 -->
|
<!-- 첨부파일 영역 -->
|
||||||
<!--%import("./js/uploader.js")-->
|
<!--%import("./js/uploader.js")-->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
editor_upload_init("{$upload_target_srl}");
|
editor_upload_init("{$upload_target_srl}");
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="editor_uploader_box">
|
<div class="editor_uploader_box">
|
||||||
|
|
||||||
<input type="hidden" name="upload_target_srl" value="{$upload_target_srl}" />
|
<input type="hidden" name="upload_target_srl" value="{$upload_target_srl}" />
|
||||||
<input type="hidden" name="act" value="procUploadFile" />
|
<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">
|
<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>
|
<select id='uploaded_file_list_{$upload_target_srl}' size='9' class="uploaded_file_list" onclick="editor_preview(this, '{$upload_target_srl}')"></select>
|
||||||
</div>
|
</div>
|
||||||
<div class="editor_uploader_input_area">
|
<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->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->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="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}" />
|
<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>
|
||||||
</div>
|
</div>
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<filter name="setup_component" module="editor" act="procSetupComponent" confirm_msg_code="confirm_submit">
|
<filter name="setup_component" module="editor" act="procEditorAdminSetupComponent" confirm_msg_code="confirm_submit">
|
||||||
<form />
|
<form />
|
||||||
<parameter />
|
<parameter />
|
||||||
<response>
|
<response>
|
||||||
<tag name="error" />
|
<tag name="error" />
|
||||||
<tag name="message" />
|
<tag name="message" />
|
||||||
</response>
|
</response>
|
||||||
</filter>
|
</filter>
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,36 @@
|
||||||
function doEnableComponent(component_name) {
|
/**
|
||||||
var params = new Array();
|
* @author zero (zero@nzeo.com)
|
||||||
params['component_name'] = component_name;
|
* @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) {
|
function doDisableComponent(component_name) {
|
||||||
var params = new Array();
|
var params = new Array();
|
||||||
params['component_name'] = component_name;
|
params['component_name'] = component_name;
|
||||||
|
|
||||||
exec_xml('editor', 'procDisableComponent', params, completeUpdate);
|
exec_xml('editor', 'procEditorAdminDisableComponent', params, completeUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
function doMoveListOrder(component_name, mode) {
|
function doMoveListOrder(component_name, mode) {
|
||||||
var params = new Array();
|
var params = new Array();
|
||||||
params['component_name'] = component_name;
|
params['component_name'] = component_name;
|
||||||
params['mode'] = mode;
|
params['mode'] = mode;
|
||||||
|
|
||||||
exec_xml('editor', 'procMoveListOrder', params, completeUpdate);
|
exec_xml('editor', 'procEditorAdminMoveListOrder', params, completeUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
function completeUpdate(ret_obj) {
|
function completeUpdate(ret_obj) {
|
||||||
alert(ret_obj['message']);
|
alert(ret_obj['message']);
|
||||||
location.href = location.href;
|
location.href = location.href;
|
||||||
}
|
}
|
||||||
|
|
||||||
function doSetupComponent(component_name) {
|
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) {
|
function openComponent(component_name, upload_target_srl, manual_url) {
|
||||||
editorPrevSrl = upload_target_srl;
|
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);
|
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');
|
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 upload_target_srl = tobj.getAttribute("upload_target_srl");
|
||||||
var plugin = obj.getAttribute("plugin");
|
var plugin = obj.getAttribute("plugin");
|
||||||
editorPrevNode = obj;
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,67 +8,67 @@ var uploaded_files = new Array();
|
||||||
|
|
||||||
// 업로드를 하기 위한 준비 시작
|
// 업로드를 하기 위한 준비 시작
|
||||||
function editor_upload_init(upload_target_srl) {
|
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으로 변경
|
// upload_target_srl에 해당하는 form의 action을 iframe으로 변경
|
||||||
function editor_upload_form_set(upload_target_srl) {
|
function editor_upload_form_set(upload_target_srl) {
|
||||||
// input type=file의 위치 및 설정 변경
|
// input type=file의 위치 및 설정 변경
|
||||||
var uploader = xGetElementById("file_uploader_"+upload_target_srl);
|
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) {
|
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 {
|
} else {
|
||||||
var obj_iframe = xCreateElement('IFRAME');
|
xLeft(uploader, -15);
|
||||||
obj_iframe.name = obj_iframe.id = 'tmp_upload_iframe';
|
xTop(uploader, -85);
|
||||||
obj_iframe.style.display = 'none';
|
uploader.style.opacity = 0;
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
}
|
uploader.style.display = "block";
|
||||||
|
|
||||||
// form의 action 을 변경
|
// 업로드용 iframe을 생성
|
||||||
var field_obj = xGetElementById("uploaded_file_list_"+upload_target_srl);
|
if(!xGetElementById('tmp_upload_iframe')) {
|
||||||
if(!field_obj) return;
|
if(xIE4Up) {
|
||||||
var fo_obj = field_obj.parentNode;
|
window.document.body.insertAdjacentHTML("afterEnd", "<iframe name='tmp_upload_iframe' style='display:none;width:1px;height:1px;position:absolute;top:-10px;left:-10px'></iframe>");
|
||||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
} else {
|
||||||
fo_obj.target = 'tmp_upload_iframe';
|
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을 보내주지 않으면 삭제시도는 없이 목록만 갱신할 수 있음)
|
// form의 action 을 변경
|
||||||
var module = "";
|
var field_obj = xGetElementById("uploaded_file_list_"+upload_target_srl);
|
||||||
if(fo_obj["module"]) module = fo_obj.module.value;
|
if(!field_obj) return;
|
||||||
var mid = "";
|
var fo_obj = field_obj.parentNode;
|
||||||
if(fo_obj["mid"]) mid = fo_obj.mid.value;
|
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||||
var document_srl = "";
|
fo_obj.target = 'tmp_upload_iframe';
|
||||||
if(fo_obj["document_srl"]) document_srl = fo_obj.document_srl.value;
|
|
||||||
|
|
||||||
var url = "./?act=procDeleteFile&upload_target_srl="+upload_target_srl;
|
// upload_target_srl에 해당하는 첨부파일 목록을 로드 (procDeleteFile에 file_srl을 보내주지 않으면 삭제시도는 없이 목록만 갱신할 수 있음)
|
||||||
if(module) url+="&module="+module;
|
var module = "";
|
||||||
if(mid) url+="&mid="+mid;
|
if(fo_obj["module"]) module = fo_obj.module.value;
|
||||||
if(document_srl) url+="&document_srl="+document_srl;
|
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 url = "./?act=procFileDeleteFile&upload_target_srl="+upload_target_srl;
|
||||||
var iframe_obj = xGetElementById('tmp_upload_iframe');
|
if(module) url+="&module="+module;
|
||||||
if(!iframe_obj) return;
|
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) {
|
function editor_upload_clear_list(upload_target_srl) {
|
||||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||||
while(obj.options.length) {
|
while(obj.options.length) {
|
||||||
obj.remove(0);
|
obj.remove(0);
|
||||||
}
|
}
|
||||||
var preview_obj = xGetElementById('uploaded_file_preview_box_'+upload_target_srl);
|
var preview_obj = xGetElementById('uploaded_file_preview_box_'+upload_target_srl);
|
||||||
xInnerHtml(preview_obj,'')
|
xInnerHtml(preview_obj,'')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 업로드된 파일 정보를 목록에 추가
|
// 업로드된 파일 정보를 목록에 추가
|
||||||
function editor_insert_uploaded_file(upload_target_srl, file_srl, filename, file_size, disp_file_size, uploaded_filename, sid) {
|
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 obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||||
var string = filename+' ('+disp_file_size+')';
|
var string = filename+' ('+disp_file_size+')';
|
||||||
var opt_obj = new Option(string, file_srl, true, true);
|
var opt_obj = new Option(string, file_srl, true, true);
|
||||||
obj.options[obj.options.length] = opt_obj;
|
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}
|
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;
|
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) {
|
function editor_preview(sel_obj, upload_target_srl) {
|
||||||
if(sel_obj.options.length<1) return;
|
if(sel_obj.options.length<1) return;
|
||||||
var file_srl = sel_obj.options[sel_obj.selectedIndex].value;
|
var file_srl = sel_obj.options[sel_obj.selectedIndex].value;
|
||||||
var obj = uploaded_files[file_srl];
|
var obj = uploaded_files[file_srl];
|
||||||
if(typeof(obj)=='undefined'||!obj) return;
|
if(typeof(obj)=='undefined'||!obj) return;
|
||||||
var uploaded_filename = obj.uploaded_filename;
|
var uploaded_filename = obj.uploaded_filename;
|
||||||
var preview_obj = xGetElementById('preview_uploaded_'+upload_target_srl);
|
var preview_obj = xGetElementById('preview_uploaded_'+upload_target_srl);
|
||||||
|
|
||||||
if(!uploaded_filename) {
|
if(!uploaded_filename) {
|
||||||
xInnerHtml(preview_obj, '');
|
xInnerHtml(preview_obj, '');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var html = "";
|
var html = "";
|
||||||
|
|
||||||
// 플래쉬 동영상의 경우
|
// 플래쉬 동영상의 경우
|
||||||
if(/\.flv$/i.test(uploaded_filename)) {
|
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>";
|
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>";
|
} else if(/\.swf$/i.test(uploaded_filename)) {
|
||||||
// wmv, avi, mpg, mpeg등의 동영상 파일의 경우
|
html = "<EMBED src=\""+uploaded_filename+"\" width=\"110\" height=\"110\" type=\"application/x-shockwave-flash\"></EMBED>";
|
||||||
} 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>";
|
// wmv, avi, mpg, mpeg등의 동영상 파일의 경우
|
||||||
// 이미지 파일의 경우
|
} else if(/\.(wmv|avi|mpg|mpeg|asx|asf|mp3)$/i.test(uploaded_filename)) {
|
||||||
} else if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
|
html = "<EMBED src=\""+uploaded_filename+"\" width=\"110\" height=\"110\" autostart=\"true\" Showcontrols=\"0\"></EMBED>";
|
||||||
html = "<img src=\""+uploaded_filename+"\" border=\"0\" width=\"110\" height=\"110\" />";
|
|
||||||
}
|
// 이미지 파일의 경우
|
||||||
xInnerHtml(preview_obj, html);
|
} 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) {
|
function editor_remove_file(upload_target_srl) {
|
||||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||||
if(obj.options.length<1) return;
|
if(obj.options.length<1) return;
|
||||||
var file_srl = obj.options[obj.selectedIndex].value;
|
var file_srl = obj.options[obj.selectedIndex].value;
|
||||||
if(!file_srl) return;
|
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;
|
var fo_obj = obj;
|
||||||
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
while(fo_obj.nodeName != 'FORM') { fo_obj = fo_obj.parentNode; }
|
||||||
var mid = fo_obj.mid.value;
|
var mid = fo_obj.mid.value;
|
||||||
var upload_target_srl = fo_obj.upload_target_srl.value;
|
var upload_target_srl = fo_obj.upload_target_srl.value;
|
||||||
var url = "./?module=file&act=procDownload&file_srl="+file_srl+"&sid="+sid;
|
var url = "./?mid="+mid+"&act=procFileDeleteFile&upload_target_srl="+upload_target_srl+"&file_srl="+file_srl;
|
||||||
openComponent("url_link", upload_target_srl, url);
|
|
||||||
}
|
// 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) {
|
function editorRemoveAttachFiles(mid, upload_target_srl) {
|
||||||
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
var obj = xGetElementById('uploaded_file_list_'+upload_target_srl);
|
||||||
if(obj.options.length<1) return;
|
if(obj.options.length<1) return;
|
||||||
|
|
||||||
var params = new Array();
|
var params = new Array();
|
||||||
params['upload_target_srl'] = upload_target_srl;
|
params['upload_target_srl'] = upload_target_srl;
|
||||||
exec_xml(mid, 'procClearFile', params, null, null, null);
|
exec_xml(mid, 'procClearFile', params, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,39 +2,41 @@
|
||||||
<!--%import("filter/setup_component.xml")-->
|
<!--%import("filter/setup_component.xml")-->
|
||||||
|
|
||||||
<div class="component_setup_window">
|
<div class="component_setup_window">
|
||||||
<form action="./" method="get" onsubmit="return procFilter(this, setup_component);">
|
<form action="./" method="get" onsubmit="return procFilter(this, setup_component);">
|
||||||
<input type="hidden" name="component_name" value="{$component_name}" />
|
<input type="hidden" name="component_name" value="{$component_name}" />
|
||||||
<table border="1" width="100%">
|
<table border="1" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_name}</th>
|
<th>{$lang->component_name}</th>
|
||||||
<td>{$component->component_name} ver. {$component->version}</td>
|
<td>{$component->component_name} ver. {$component->version}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_author}</th>
|
<th>{$lang->component_author}</th>
|
||||||
<td>{$component->author->name}</td>
|
<td>{$component->author->name}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_link}</th>
|
<th>{$lang->component_link}</th>
|
||||||
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2">{$lang->component_extra_vars}</th>
|
<th colspan="2">{$lang->component_extra_vars}</th>
|
||||||
</tr>
|
</tr>
|
||||||
<!--@foreach($component->extra_vars as $key => $val)-->
|
|
||||||
<tr>
|
<!--@foreach($component->extra_vars as $key => $val)-->
|
||||||
<th rowspan="2">{$val->title}</th>
|
<tr>
|
||||||
<td><input type="text" name="{$key}" value="{$val->value}" class="editor_input" /></td>
|
<th rowspan="2">{$val->title}</th>
|
||||||
</tr>
|
<td><input type="text" name="{$key}" value="{$val->value}" class="editor_input" /></td>
|
||||||
<tr>
|
</tr>
|
||||||
<td>{$val->description}</td>
|
<tr>
|
||||||
</tr>
|
<td>{$val->description}</td>
|
||||||
<!--@end-->
|
</tr>
|
||||||
<tr>
|
<!--@end-->
|
||||||
<td colspan="2">
|
|
||||||
<input type="submit" value="{$lang->cmd_apply}" class="editor_button" />
|
<tr>
|
||||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
<td colspan="2">
|
||||||
</td>
|
<input type="submit" value="{$lang->cmd_apply}" class="editor_button" />
|
||||||
</tr>
|
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
||||||
</table>
|
</td>
|
||||||
</form>
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -2,27 +2,28 @@
|
||||||
|
|
||||||
<div class="component_view_window">
|
<div class="component_view_window">
|
||||||
<input type="hidden" name="component_name" value="{$component_name}" />
|
<input type="hidden" name="component_name" value="{$component_name}" />
|
||||||
|
|
||||||
<table border="1" width="100%">
|
<table border="1" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_name}</th>
|
<th>{$lang->component_name}</th>
|
||||||
<td>{$component->title} ver. {$component->version}</td>
|
<td>{$component->title} ver. {$component->version}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_author}</th>
|
<th>{$lang->component_author}</th>
|
||||||
<td><a href="mailto:{$component->author->email_address}">{$component->author->name}</a></td>
|
<td><a href="mailto:{$component->author->email_address}">{$component->author->name}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_link}</th>
|
<th>{$lang->component_link}</th>
|
||||||
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
<td><a href="#" onclick="winopen('{$component->author->link}');return false;">{$component->author->link}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{$lang->component_description}</th>
|
<th>{$lang->component_description}</th>
|
||||||
<td>{nl2br($component->description)}</td>
|
<td>{nl2br($component->description)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
<input type="button" value="{$lang->cmd_close}" class="editor_button" onclick="window.close();"/>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<module version="0.1">
|
<module version="0.1">
|
||||||
<title xml:lang="ko">파일</title>
|
<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">
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<name xml:lang="ko">제로</name>
|
||||||
<name xml:lang="ko">제로</name>
|
<description xml:lang="ko">첨부 파일 관리 모듈</description>
|
||||||
<name xml:lang="en">zero</name>
|
</author>
|
||||||
<description xml:lang="ko">파일 관리 모듈</description>
|
|
||||||
<description xml:lang="en">file manager</description>
|
|
||||||
</author>
|
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,9 @@
|
||||||
<module>
|
<module>
|
||||||
<grants />
|
<grants />
|
||||||
<actions>
|
<actions>
|
||||||
<action name="dispList" type="view" admin_index="true" standalone="true" />
|
<action name="dispFileAdminList" type="view" admin_index="true" standalone="true" />
|
||||||
<action name="procDownload" type="model" standalone="true" />
|
|
||||||
<action name="procDeleteChecked" type="controller" standalone="true" />
|
<action name="procFileDownload" type="model" standalone="true" />
|
||||||
|
<action name="procFileAdminDeleteChecked" type="controller" standalone="true" />
|
||||||
</actions>
|
</actions>
|
||||||
</module>
|
</module>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,12 @@
|
||||||
* @brief 설치시 추가 작업이 필요할시 구현
|
* @brief 설치시 추가 작업이 필요할시 구현
|
||||||
**/
|
**/
|
||||||
function moduleInstall() {
|
function moduleInstall() {
|
||||||
|
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||||
|
$oModuleController = &getController('module');
|
||||||
|
$oModuleController->insertActionFoward('file', 'view', 'dispFileAdminList');
|
||||||
|
$oModuleController->insertActionFoward('file', 'controller', 'dispFileDownload');
|
||||||
|
$oModuleController->insertActionFoward('file', 'controller', 'dispFileAdminDeleteChecked');
|
||||||
|
|
||||||
// file 모듈에서 사용할 디렉토리 생성
|
// file 모듈에서 사용할 디렉토리 생성
|
||||||
FileHandler::makeDir('./files/attach/images');
|
FileHandler::makeDir('./files/attach/images');
|
||||||
FileHandler::makeDir('./files/attach/binaries');
|
FileHandler::makeDir('./files/attach/binaries');
|
||||||
|
|
|
||||||
|
|
@ -213,7 +213,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief 관리자 페이지에서 선택된 파일들을 삭제
|
* @brief 관리자 페이지에서 선택된 파일들을 삭제
|
||||||
**/
|
**/
|
||||||
function procDeleteChecked() {
|
function procFileAdminDeleteChecked() {
|
||||||
// 선택된 글이 없으면 오류 표시
|
// 선택된 글이 없으면 오류 표시
|
||||||
$cart = Context::get('cart');
|
$cart = Context::get('cart');
|
||||||
if(!$cart) return $this->stop('msg_cart_is_null');
|
if(!$cart) return $this->stop('msg_cart_is_null');
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief 목록 출력 (관리자용)
|
* @brief 목록 출력 (관리자용)
|
||||||
**/
|
**/
|
||||||
function dispList() {
|
function dispFileAdminList() {
|
||||||
// 목록을 구하기 위한 옵션
|
// 목록을 구하기 위한 옵션
|
||||||
$args->page = Context::get('page'); ///< 페이지
|
$args->page = Context::get('page'); ///< 페이지
|
||||||
$args->list_count = 50; ///< 한페이지에 보여줄 글 수
|
$args->list_count = 50; ///< 한페이지에 보여줄 글 수
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<query id="deleteFile" action="delete">
|
<query id="deleteFile" action="delete">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<query id="deleteFiles" action="delete">
|
<query id="deleteFiles" action="delete">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<query id="deleteModuleFiles" action="delete">
|
<query id="deleteModuleFiles" action="delete">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
<query id="getFile" action="select">
|
<query id="getFile" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<query id="getFiles" action="select">
|
<query id="getFiles" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
<navigation>
|
<navigation>
|
||||||
<index var="sort_index" order="asc" />
|
<index var="sort_index" order="asc" />
|
||||||
</navigation>
|
</navigation>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<query id="getFilesCount" action="select">
|
<query id="getFilesCount" action="select">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="count(*)" alias="count" />
|
<column name="count(*)" alias="count" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="upload_target_srl" var="upload_target_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
<query id="insertFile" action="insert">
|
<query id="insertFile" action="insert">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="file_srl" var="file_srl" notnull="notnull" />
|
<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="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
|
||||||
<column name="sid" var="sid" />
|
<column name="sid" var="sid" />
|
||||||
<column name="module_srl" var="module_srl" filter="number" default="0" notnull="notnull" />
|
<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="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="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||||
<column name="file_size" var="file_size" notnull="notnull" default="0" />
|
<column name="file_size" var="file_size" notnull="notnull" default="0" />
|
||||||
<column name="direct_download" var="direct_download" notnull="notnull" default="N" />
|
<column name="direct_download" var="direct_download" notnull="notnull" default="N" />
|
||||||
<column name="comment" var="comment" />
|
<column name="comment" var="comment" />
|
||||||
<column name="downloaded_count" var="downloaded_count" default="0" />
|
<column name="downloaded_count" var="downloaded_count" default="0" />
|
||||||
<column name="member_srl" var="member_srl" default="0" />
|
<column name="member_srl" var="member_srl" default="0" />
|
||||||
<column name="regdate" var="regdate" default="curdate()" />
|
<column name="regdate" var="regdate" default="curdate()" />
|
||||||
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
||||||
</columns>
|
</columns>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
<query id="updateFile" action="update">
|
<query id="updateFile" action="update">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="upload_target_srl" var="upload_target_srl" filter="number" default="0" notnull="notnull" />
|
<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="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="uploaded_filename" var="uploaded_filename" notnull="notnull" minlength="1" maxlength="250" />
|
||||||
<column name="regdate" var="regdate" default="curdate()" />
|
<column name="regdate" var="regdate" default="curdate()" />
|
||||||
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
<column name="ipaddress" var="ipaddress" default="ipaddress()" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<query id="updateDownloadCount" action="update">
|
<query id="updateDownloadCount" action="update">
|
||||||
<tables>
|
<tables>
|
||||||
<table name="files" />
|
<table name="files" />
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<column name="download_count" var="download_count" default="plus(1)" />
|
<column name="download_count" var="download_count" default="plus(1)" />
|
||||||
</columns>
|
</columns>
|
||||||
<conditions>
|
<conditions>
|
||||||
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
<condition operation="equal" column="file_srl" var="file_srl" filter="number" notnull="notnull" />
|
||||||
</conditions>
|
</conditions>
|
||||||
</query>
|
</query>
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<table name="files">
|
<table name="files">
|
||||||
<column name="file_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
<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="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="sid" type="varchar" size="60" />
|
||||||
<column name="module_srl" type="number" size="11" default="0" notnull="notnull" index="idx_module_srl" />
|
<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="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="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="direct_download" type="char" size="1" default="N" notnull="notnull" />
|
||||||
<column name="source_filename" type="varchar" size="250" />
|
<column name="source_filename" type="varchar" size="250" />
|
||||||
<column name="uploaded_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="file_size" type="number" size="11" default="0" notnull="notnull" index="idx_file_size" />
|
||||||
<column name="comment" type="varchar" size="250" />
|
<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="downloaded_count" type="number" size="11" default="0" notnull="notnull" index="idx_downloaded_count" />
|
||||||
<column name="regdate" type="date" index="idx_regdate" />
|
<column name="regdate" type="date" index="idx_regdate" />
|
||||||
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
|
<column name="ipaddress" type="varchar" size="128" notnull="notnull" index="idx_ipaddress"/>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue