diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php index 5be8287c1..b61d23363 100644 --- a/classes/display/DisplayHandler.class.php +++ b/classes/display/DisplayHandler.class.php @@ -44,7 +44,7 @@ } $this->content_size = strlen($output); - print $output; + print trim($output); // 디버깅 데이터 출력 $this->_debugOutput(); diff --git a/modules/editor/components/table_maker/icon.gif b/modules/editor/components/table_maker/icon.gif index e4664db83..6ec18f6cc 100644 Binary files a/modules/editor/components/table_maker/icon.gif and b/modules/editor/components/table_maker/icon.gif differ diff --git a/modules/editor/components/table_maker/lang/ko.lang.php b/modules/editor/components/table_maker/lang/ko.lang.php index 324ca3fd4..d2fff8c6f 100644 --- a/modules/editor/components/table_maker/lang/ko.lang.php +++ b/modules/editor/components/table_maker/lang/ko.lang.php @@ -2,40 +2,18 @@ /** * @file /modules/editor/components/emoticon/lang/ko.lang.php * @author zero - * @brief 위지윅에디터(editor) 모듈 > 인용구 (quotation) 컴포넌트의 언어팩 + * @brief 위지윅에디터(editor) 모듈 > 테이블 생성(table_maker) 컴포넌트의 언어팩 **/ - $lang->quotation = "인용구 사용하기"; - $lang->quotation_use_folder = "접기 기능 사용"; - $lang->quotation_opener = "열기 버튼 이름"; - $lang->quotation_closer = "닫기 버튼 이름"; - $lang->quotation_padding = "내부 여백"; - $lang->quotation_margin = "외부 여백"; - $lang->quotation_border_color = "테두리 색"; - $lang->quotation_border_thickness = "테두리 굵기"; + $lang->table = "테이블 추가"; + $lang->table_width = "가로크기"; + $lang->table_cols_count = "가로열 갯수"; + $lang->table_rows_count = "가로열 갯수"; + $lang->table_cellspacing = "셀간 간격"; + $lang->table_cellpadding = "셀내 여백"; + $lang->table_border = "외곽선 굵기"; + $lang->table_inner_border = "구분선 굵기"; - $lang->folder_text_bold = "글자 굵게"; - $lang->about_folder_text_bold = "선택하시면 링크의 글자가 굵게 표시됩니다"; - - $lang->folder_text_color = "링크 색상 "; - $lang->folder_text_color_blue = "파란색"; - $lang->folder_text_color_red = "붉은색"; - $lang->folder_text_color_yellow = "노란색"; - $lang->folder_text_color_green = "녹색"; - - $lang->quotation_border_style = "테두리 종류"; - $lang->quotation_border_style_list = array( - "없음", - "실선", - "점선", - "좌측 실선", - "우측 실선", - ); - - $lang->quotation_bg_color = "배경 색"; - - $lang->quotation_opener = "열기 링크 이름"; - $lang->quotation_opener = "닫기 링크 이름"; - $lang->quotation_cmd_opener = "더 보기..."; - $lang->quotation_cmd_closer = "닫기"; + $lang->table_border_color = "외곽선 색"; + $lang->table_bg_color = "배경 색"; ?> diff --git a/modules/editor/components/table_maker/quotation.class.php b/modules/editor/components/table_maker/quotation.class.php deleted file mode 100644 index b536153f9..000000000 --- a/modules/editor/components/table_maker/quotation.class.php +++ /dev/null @@ -1,109 +0,0 @@ -upload_target_srl = $upload_target_srl; - $this->component_path = $component_path; - } - - /** - * @brief popup window요청시 popup window에 출력할 내용을 추가하면 된다 - **/ - function getPopupContent() { - // 템플릿을 미리 컴파일해서 컴파일된 소스를 return - $tpl_path = $this->component_path.'tpl'; - $tpl_file = 'popup.html'; - - Context::set("tpl_path", $tpl_path); - - require_once("./classes/template/TemplateHandler.class.php"); - $oTemplate = new TemplateHandler(); - return $oTemplate->compile($tpl_path, $tpl_file); - } - - /** - * @brief 에디터 컴포넌트가 별도의 고유 코드를 이용한다면 그 코드를 html로 변경하여 주는 method - * - * 이미지나 멀티미디어, 설문등 고유 코드가 필요한 에디터 컴포넌트는 고유코드를 내용에 추가하고 나서 - * DocumentModule::transContent() 에서 해당 컴포넌트의 transHtml() method를 호출하여 고유코드를 html로 변경 - **/ - function transHTML($xml_obj) { - $use_folder = $xml_obj->attrs->use_folder; - $folder_opener = $xml_obj->attrs->folder_opener; - if(!$folder_opener) $folder_opener = "more..."; - $folder_closer = $xml_obj->attrs->folder_closer; - if(!$folder_closer) $folder_closer= "close..."; - $bold = $xml_obj->attrs->bold; - $color = $xml_obj->attrs->color; - $margin = $xml_obj->attrs->margin; - $padding = $xml_obj->attrs->padding; - $border_style = $xml_obj->attrs->border_style; - $border_thickness = $xml_obj->attrs->border_thickness; - $border_color = $xml_obj->attrs->border_color; - $bg_color = $xml_obj->attrs->bg_color; - - $output = ""; - $style = sprintf('margin:%spx;padding:%spx;background-color:#%s;', $margin, $padding, $bg_color); - switch($border_style) { - case "solid" : - $style .= "border:".$border_thickness."px solid #".$border_color.";"; - break; - case "dotted" : - $style .= "border:".$border_thickness."px dotted #".$border_color.";"; - break; - case "left_solid" : - $style .= "border-left:".$border_thickness."px solid #".$border_color.";"; - break; - case "left_dotted" : - $style .= "border-elft:".$border_thickness."px dotted #".$border_color.";"; - break; - } - - if($use_folder == "Y") { - $folder_id = rand(1000000,9999999); - - if($bold == "Y") $class = "bold"; - switch($color) { - case "red" : - $class .= " editor_red_text"; - break; - case "yellow" : - $class .= " editor_yellow_text"; - break; - case "green" : - $class .= " editor_green_text"; - break; - default : - $class .= " editor_blue_text"; - break; - } - - $style .= "display:none;"; - - $folder_margin = sprintf("%spx %spx %spx %spx", $margin, $margin, 10, $margin); - $output .= sprintf('
%s
', $folder_id, $folder_margin, $class, $folder_id, $folder_opener); - $output .= sprintf('', $folder_id, $folder_margin, $class, $folder_id, $folder_closer); - - $output .= sprintf('
', $style, $folder_id); - debugPrint($output); - } else { - $output .= sprintf('
', $style); - } - return $output; - } - - } -?> diff --git a/modules/editor/components/table_maker/table_maker.class.php b/modules/editor/components/table_maker/table_maker.class.php new file mode 100644 index 000000000..c8b4e9565 --- /dev/null +++ b/modules/editor/components/table_maker/table_maker.class.php @@ -0,0 +1,38 @@ +upload_target_srl = $upload_target_srl; + $this->component_path = $component_path; + } + + /** + * @brief popup window요청시 popup window에 출력할 내용을 추가하면 된다 + **/ + function getPopupContent() { + // 템플릿을 미리 컴파일해서 컴파일된 소스를 return + $tpl_path = $this->component_path.'tpl'; + $tpl_file = 'popup.html'; + + Context::set("tpl_path", $tpl_path); + + require_once("./classes/template/TemplateHandler.class.php"); + $oTemplate = new TemplateHandler(); + return $oTemplate->compile($tpl_path, $tpl_file); + } + + } +?> diff --git a/modules/editor/components/table_maker/tpl/popup.css b/modules/editor/components/table_maker/tpl/popup.css index e4162b759..5da13f91f 100644 --- a/modules/editor/components/table_maker/tpl/popup.css +++ b/modules/editor/components/table_maker/tpl/popup.css @@ -1,5 +1,5 @@ .editor_window { - width:555px; + width:620px; text-align:center; } @@ -16,57 +16,34 @@ text-align:center; } -.header { - float:left; - width:100px; +.item_area { clear:left; - text-align:left; +} + +.header { + width:90px; + float:left; + text-align:right; font-weight:bold; margin:5px; font-size:9pt; - font-size:9pt; } .body { - float:left; - width:400px; - text-align:left; - margin:5px; - font-size:9pt; -} - -#folder_area { - clear:left; - height:115px; - border:1px dotted #DDDDDD; - margin:0px 10px 10px 10px; -} - -.body label { - cursor:pointer; - font-size:9pt; -} - -.editor_input { - width:50px; - height:13px; - font-size:9pt; - border:1px solid #AAAAAA; -} - -.editor_input_long { - width:380px; - height:13px; - font-size:9pt; - border:1px solid #AAAAAA; -} - -.editor_select { width:80px; - height:14px; + float:left; + text-align:left; + margin:5px 10px 5px 5px; font-size:9pt; } +.table_input { + width:40px; + height:13px; + font-size:9pt; + border:1px solid #AAAAAA; +} + .editor_button_area { clear:both; text-align:center; diff --git a/modules/editor/components/table_maker/tpl/popup.html b/modules/editor/components/table_maker/tpl/popup.html index 97feb4a64..7bc3ce494 100644 --- a/modules/editor/components/table_maker/tpl/popup.html +++ b/modules/editor/components/table_maker/tpl/popup.html @@ -4,128 +4,75 @@
-
{$lang->quotation}
+
{$lang->table}
-
{$lang->quotation_use_folder}
-
+
+
{$lang->table_cols_count} :
+
- -
{$lang->folder_text_bold}
-
+
+
{$lang->table_border} :
+
px
-
{$lang->folder_text_color}
-
- - - - - - - - - - - - - - - - +
{$lang->table_inner_border} :
+
px
+
+ +
+
{$lang->table_cellspacing} :
+
px
+ +
{$lang->table_cellpadding} :
+
px
+
+ +
+
{$lang->table_border_color} :
+
+
+ +
+
+ + + + + + +
blank#
+
+
+
+
{$lang->table_bg_color} :
+
+
+ +
+
+ + + + + + +
blank#
-
{$lang->quotation_padding}
-
px
- -
{$lang->quotation_margin}
-
px
- -
{$lang->quotation_border_style}
-
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- -
{$lang->quotation_border_thickness}
-
px
- -
{$lang->quotation_border_color}
-
-
- -
-
- - - - - - -
blank#
-
-
- -
{$lang->quotation_bg_color}
-
-
- -
-
- - - - - - -
blank#
-
-
- +
diff --git a/modules/editor/components/table_maker/tpl/popup.js b/modules/editor/components/table_maker/tpl/popup.js index 74a77ac39..b649a1cff 100644 --- a/modules/editor/components/table_maker/tpl/popup.js +++ b/modules/editor/components/table_maker/tpl/popup.js @@ -3,193 +3,53 @@ * 있으면 가져와서 원하는 곳에 삽입 **/ var selected_node = null; -function getQuotation() { +function getTable() { // 부모 위지윅 에디터에서 선택된 영역이 있는지 확인 if(typeof(opener)=="undefined") return; - var node = opener.editorPrevNode; - if(!node || node.nodeName != "DIV") return; - - selected_node = node; - - var use_folder = node.getAttribute("use_folder"); - var folder_opener = node.getAttribute("folder_opener"); - var folder_closer = node.getAttribute("folder_closer"); - var bold = node.getAttribute("bold"); - var color = node.getAttribute("color"); - var margin = node.getAttribute("margin"); - var padding = node.getAttribute("padding"); - var border_style = node.getAttribute("border_style"); - var border_thickness = node.getAttribute("border_thickness"); - var border_color = node.getAttribute("border_color"); - var bg_color = node.getAttribute("bg_color"); - - if(use_folder=="Y") xGetElementById("quotation_use").checked = true; - else xGetElementById("quotation_use").checked = false; - toggle_folder( xGetElementById("quotation_use") ); - - if(bold=="Y") xGetElementById("quotation_bold").checked = true; - switch(color) { - case "red" : - xGetElementById("quotation_color_red").checked = true; - break; - case "yellow" : - xGetElementById("quotation_color_yellow").checked = true; - break; - case "green" : - xGetElementById("quotation_color_green").checked = true; - break; - default : - xGetElementById("quotation_color_blue").checked = true; - break; - } - - xGetElementById("quotation_opener").value = folder_opener; - xGetElementById("quotation_closer").value = folder_closer; - xGetElementById("quotation_margin").value = margin; - xGetElementById("quotation_padding").value = padding; - - switch(border_style) { - case "solid" : - xGetElementById("border_style_solid").checked = true; - break; - case "dotted" : - xGetElementById("border_style_dotted").checked = true; - break; - case "left_solid" : - xGetElementById("border_style_left_solid").checked = true; - break; - case "left_dotted" : - xGetElementById("border_style_left_dotted").checked = true; - break; - default : - xGetElementById("border_style_none").checked = true; - break; - } - - xGetElementById("border_thickness").value = border_thickness; - - select_color('border', border_color); - select_color('bg', bg_color); } /* 추가 버튼 클릭시 부모창의 위지윅 에디터에 인용구 추가 */ -function insertQuotation() { +function insertTable() { if(typeof(opener)=="undefined") return; - var use_folder = "N"; - if(xGetElementById("quotation_use").checked) use_folder = "Y"; + var cols_count = parseInt(xGetElementById("cols_count").value,10); + if(!cols_count) cols_count = 1; - var folder_opener = xGetElementById("quotation_opener").value; - var folder_closer = xGetElementById("quotation_closer").value; - if(!folder_opener||!folder_closer) use_folder = "N"; + var rows_count = parseInt(xGetElementById("rows_count").value,10); + if(!rows_count) rows_count = 1; - var bold = "N"; - if(xGetElementById("quotation_bold").checked) bold = "Y"; - var color = "blue"; - if(xGetElementById("quotation_color_red").checked) color = "red"; - if(xGetElementById("quotation_color_yellow").checked) color = "yellow"; - if(xGetElementById("quotation_color_green").checked) color = "green"; + var width = parseInt(xGetElementById("width").value,10); - var margin = parseInt(xGetElementById("quotation_margin").value,10); + var border = parseInt(xGetElementById("border").value,10); - var padding = parseInt(xGetElementById("quotation_padding").value,10); + var inner_border = parseInt(xGetElementById("inner_border").value,10); - var border_style = "solid"; - if(xGetElementById("border_style_none").checked) border_style = "none"; - if(xGetElementById("border_style_solid").checked) border_style = "solid"; - if(xGetElementById("border_style_dotted").checked) border_style = "dotted"; - if(xGetElementById("border_style_left_solid").checked) border_style = "left_solid"; - if(xGetElementById("border_style_left_dotted").checked) border_style = "left_dotted"; + var cellspacing = parseInt(xGetElementById("cellspacing").value,10); - var border_thickness = parseInt(xGetElementById("border_thickness").value,10); + var cellpadding = parseInt(xGetElementById("cellpadding").value,10); var border_color = xGetElementById("border_color_input").value; + if(border_color.length!=6) border_color = "000000"; var bg_color = xGetElementById("bg_color_input").value; + if(bg_color.length!=6) bg_color = "FFFFFF"; - var content = ""; - if(selected_node) content = xInnerHtml(selected_node); - else content = opener.editorGetSelectedHtml(opener.editorPrevSrl); + var text = "\n"; - var style = "margin:"+margin+"px; padding:"+padding+"px; background-color:#"+bg_color+";"; - switch(border_style) { - case "solid" : - style += "border:"+border_thickness+"px solid #"+border_color+";"; - break; - case "dotted" : - style += "border:"+border_thickness+"px dotted #"+border_color+";"; - break; - case "left_solid" : - style += "border-left:"+border_thickness+"px solid #"+border_color+";"; - break; - case "left_dotted" : - style += "border-left:"+border_thickness+"px dotted #"+border_color+";"; - break; - } - - if(!content) content = " "; - - var text = "\n
"+content+"
\n
"; - - if(selected_node) { - selected_node.setAttribute("use_folder", use_folder); - selected_node.setAttribute("folder_opener", folder_opener); - selected_node.setAttribute("folder_closer", folder_closer); - selected_node.setAttribute("bold", bold); - selected_node.setAttribute("color", color); - selected_node.setAttribute("margin", margin); - selected_node.setAttribute("padding", padding); - selected_node.setAttribute("border_style", border_style); - selected_node.setAttribute("border_thickness", border_thickness); - selected_node.setAttribute("border_color", border_color); - selected_node.setAttribute("bg_color", bg_color); - selected_node.setAttribute("style", style); - - selected_node.style.margin = margin+"px"; - selected_node.style.padding = padding +"px"; - selected_node.style.backgroundColor = "#"+bg_color; - - selected_node.style.borderStyle = "none"; - selected_node.style.borderWidth = "0px"; - - switch(border_style) { - case "solid" : - selected_node.style.borderStyle = "solid"; - selected_node.style.borderWidth = border_thickness+"px"; - selected_node.style.borderColor = "#"+border_color; - break; - case "dotted" : - selected_node.style.borderStyle = "dotted"; - selected_node.style.borderWidth = border_thickness+"px"; - selected_node.style.borderColor = "#"+border_color; - break; - case "left_solid" : - selected_node.style.borderLeftStyle = "solid"; - selected_node.style.borderLeftWidth = border_thickness+"px"; - selected_node.style.borderLeftColor = "#"+border_color; - break; - case "left_dotted" : - selected_node.style.borderLeftStyle = "dotted"; - selected_node.style.borderLeftWidth = border_thickness+"px"; - selected_node.style.borderCLeftColor = "#"+border_color; - break; - default : - selected_node.style.borderStyle = "solid"; - selected_node.style.borderWidth = "0px"; - selected_node.style.borderColor = "#"+border_color; - break; + for(var row=0; row