diff --git a/classes/module/ModuleObject.class.php b/classes/module/ModuleObject.class.php index 0938a0d62..7e92d39cd 100644 --- a/classes/module/ModuleObject.class.php +++ b/classes/module/ModuleObject.class.php @@ -113,15 +113,6 @@ } } - // module.xml 에 있는 권한 정보를 정리 - if($module_info->grants) { - foreach($module_info->grants as $key => $val) { - if(!$xml_info->grant->{$key}) { - $xml_info->grant->{$key}->title = $key; - } - } - } - // 권한 설정 if($xml_info->grant) { diff --git a/common/js/xml_js_filter.js b/common/js/xml_js_filter.js index 07e2d1ef9..8a7571b3a 100644 --- a/common/js/xml_js_filter.js +++ b/common/js/xml_js_filter.js @@ -231,6 +231,8 @@ function XmlJsFilterCheckFieldItem() { var equalto = item[4]; var filter = item[5].split(","); + if(typeof(this.fo_obj[target])=='undefined') continue; + for(var j=0; jprimary_key_name = 'document_srl'; - $option->content_key_name = 'content'; - $option->allow_fileupload = $this->grant->fileupload; - $option->enable_autosave = true; - $option->enable_default_component = true; - $option->enable_component = true; - $option->resizable = true; - $option->height = 400; - $editor = $oEditorModel->getEditor($document_srl, $option); + $editor = $oEditorModel->getModuleEditor('document', $this->module_srl, $document_srl, 'document_srl', 'content'); Context::set('editor', $editor); $this->setTemplateFile('write_form'); @@ -383,19 +375,11 @@ * 따라서 고유값이 없을 경우 고유값을 가져와서 지정해 주어야 함 **/ function getCommentEditor($editor_sequence, $comment_srl=0, $height = 100) { - $oEditorModel = &getModel('editor'); - $option->editor_sequence = $editor_sequence; - $option->primary_key_name = 'comment_srl'; - $option->content_key_name = 'content'; - $option->allow_fileupload = $this->grant->comment_fileupload; - $option->enable_autosave = false; - $option->enable_default_component = true; - $option->enable_component = true; - $option->resizable = true; - $option->height = $height; - $comment_editor = $oEditorModel->getEditor($comment_srl, $option); - return $comment_editor; - } + Context::set('comment_srl', $comment_srl); + $oEditorModel = &getModel('editor'); + $editor = $oEditorModel->getModuleEditor('comment', $this->module_srl, $comment_srl, 'comment_srl', 'content'); + return $editor; + } } ?> diff --git a/modules/blog/conf/module.xml b/modules/blog/conf/module.xml index 59af1a282..cdc567870 100644 --- a/modules/blog/conf/module.xml +++ b/modules/blog/conf/module.xml @@ -19,18 +19,6 @@ write comment コメント作成 - - 파일 첨부 - 附件 - file upload - 添付ファイル - - - 댓글 파일 첨부 - 评论附件 - comment file upload - コメントファイル添付 - 관리 管理 diff --git a/modules/board/board.admin.controller.php b/modules/board/board.admin.controller.php index 6cb5415a7..b6aacb503 100644 --- a/modules/board/board.admin.controller.php +++ b/modules/board/board.admin.controller.php @@ -125,6 +125,43 @@ * @brief 게시판 추가 **/ function procBoardAdminInsertBoard($args = null) { + // module 모듈의 model/controller 객체 생성 + $oModuleController = &getController('module'); + $oModuleModel = &getModel('module'); + + // 만약 module_srl이 , 로 연결되어 있다면 일괄 정보 수정으로 처리 + if(preg_match('/^([0-9,]+)$/',Context::get('module_srl'))) { + // 대상 모듈들을 구해옴 + $modules = $oModuleModel->getModulesInfo(Context::get('module_srl')); + $args = Context::getRequestVars(); + + for($i=0;$iextra_vars); + + $obj->module_category_srl = $args->module_category_srl; + $obj->layout_srl = $args->layout_srl; + $obj->skin = $args->skin; + $obj->description = $args->description; + $obj->header_text = $args->header_text; + $obj->footer_text = $args->footer_text; + $obj->admin_id = $args->admin_id; + + $extra_vars->use_category = $args->use_category=='Y'?'Y':'N'; + $extra_vars->list_count = $args->list_count; + $extra_vars->page_count = $args->page_count; + + $obj->extra_vars = serialize($extra_vars); + + $output = $oModuleController->updateModule($obj); + if(!$output->toBool()) return $output; + } + + return new Object(0,'success_updated'); + } + // 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리 if(!$args) { $args = Context::gets('module_srl','module_category_srl','board_name','layout_srl','skin','browser_title','description','is_default','header_text','footer_text','admin_id'); @@ -158,7 +195,6 @@ // module_srl이 넘어오면 원 모듈이 있는지 확인 if($args->module_srl) { - $oModuleModel = &getModel('module'); $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl); // 만약 원래 모듈이 없으면 새로 입력하기 위한 처리 @@ -168,9 +204,6 @@ // $extra_var를 serialize $args->extra_vars = serialize($extra_var); - // module 모듈의 controller 객체 생성 - $oModuleController = &getController('module'); - // is_default=='Y' 이면 if($args->is_default=='Y') $oModuleController->clearDefaultModule(); @@ -186,7 +219,7 @@ $admin_group_srl = $admin_group->group_srl; $module_srl = $output->get('module_srl'); - $grants = serialize(array('fileupload'=>array($admin_group_srl), 'comment_fileupload'=>array($admin_group_srl), 'manager'=>array($admin_group_srl))); + $grants = serialize(array('manager'=>array($admin_group_srl))); $oModuleController->updateModuleGrant($module_srl, $grants); } diff --git a/modules/board/board.view.php b/modules/board/board.view.php index 62caab547..92d09fba0 100644 --- a/modules/board/board.view.php +++ b/modules/board/board.view.php @@ -211,15 +211,7 @@ // 에디터 모듈의 getEditor를 호출하여 세팅 $oEditorModel = &getModel('editor'); - $option->primary_key_name = 'document_srl'; - $option->content_key_name = 'content'; - $option->allow_fileupload = $this->grant->fileupload; - $option->enable_autosave = true; - $option->enable_default_component = true; - $option->enable_component = true; - $option->resizable = true; - $option->height = 400; - $editor = $oEditorModel->getEditor($document_srl, $option); + $editor = $oEditorModel->getModuleEditor('document', $this->module_srl, $document_srl, 'document_srl', 'content'); Context::set('editor', $editor); // 확장변수처리를 위해 xml_js_filter를 직접 header에 적용 @@ -390,18 +382,9 @@ function setCommentEditor($comment_srl = 0, $height = 100) { Context::set('comment_srl', $comment_srl); - // 에디터 모듈의 getEditor를 호출하여 세팅 $oEditorModel = &getModel('editor'); - $option->primary_key_name = 'comment_srl'; - $option->content_key_name = 'content'; - $option->allow_fileupload = $this->grant->comment_fileupload; - $option->enable_autosave = false; - $option->enable_default_component = true; - $option->enable_component = true; - $option->resizable = true; - $option->height = $height; - $comment_editor = $oEditorModel->getEditor($comment_srl, $option); - Context::set('comment_editor', $comment_editor); + $editor = $oEditorModel->getModuleEditor('comment', $this->module_srl, $comment_srl, 'comment_srl', 'content'); + Context::set('comment_editor', $editor); } /** diff --git a/modules/board/conf/module.xml b/modules/board/conf/module.xml index 176b3b80b..d85fc907e 100644 --- a/modules/board/conf/module.xml +++ b/modules/board/conf/module.xml @@ -25,18 +25,6 @@ コメント作成 write comment - - 파일 첨부 - 附件 - ファイル添付 - file upload - - - 댓글 파일 첨부 - 评论附件 - コメントファイル添付 - comment file upload - 관리 管理 diff --git a/modules/board/skins/cozy_board/comment_form.html b/modules/board/skins/cozy_board/comment_form.html index 51a746261..24a543a43 100644 --- a/modules/board/skins/cozy_board/comment_form.html +++ b/modules/board/skins/cozy_board/comment_form.html @@ -25,7 +25,7 @@
-
fileupload)-->enctype="multipart/form-data" class="boardEditor" id="fo_comment_write" > +
diff --git a/modules/board/skins/cozy_board/view_document.html b/modules/board/skins/cozy_board/view_document.html index 8e9b8222b..6372a6dc2 100644 --- a/modules/board/skins/cozy_board/view_document.html +++ b/modules/board/skins/cozy_board/view_document.html @@ -147,7 +147,7 @@
- fileupload)-->enctype="multipart/form-data" class="boardEditor" id="fo_comment_write" > +
diff --git a/modules/board/skins/cozy_board/write_form.html b/modules/board/skins/cozy_board/write_form.html index 42a9b3177..30e71305e 100644 --- a/modules/board/skins/cozy_board/write_form.html +++ b/modules/board/skins/cozy_board/write_form.html @@ -2,7 +2,7 @@
- fileupload)-->enctype="multipart/form-data" class="boardEditor" id="fo_write"> +
diff --git a/modules/board/skins/xe_board/comment_form.html b/modules/board/skins/xe_board/comment_form.html index efa5344b1..9d646f093 100644 --- a/modules/board/skins/xe_board/comment_form.html +++ b/modules/board/skins/xe_board/comment_form.html @@ -24,7 +24,7 @@
- fileupload)-->enctype="multipart/form-data" class="boardEditor" > +
diff --git a/modules/board/skins/xe_board/css/common.css b/modules/board/skins/xe_board/css/common.css index eadd3469a..52207eb02 100644 --- a/modules/board/skins/xe_board/css/common.css +++ b/modules/board/skins/xe_board/css/common.css @@ -259,6 +259,7 @@ Jeong, Chan Myeong 070601~070630 /* boardWrite */ .boardWrite { width:100%; position:relative;} +.boardWrite fieldset { border:none; } .boardWrite .userNameAndPw { margin-bottom:-1px;} .boardWrite .boardEditor fieldset { width:auto; position:relative;} .boardWrite div.title { border-bottom:1px solid #eff0ed; border-top:1px solid #eff0ed; padding:.5em 0; white-space:nowrap;} diff --git a/modules/board/skins/xe_board/view_document.html b/modules/board/skins/xe_board/view_document.html index c83195c6d..37839475e 100644 --- a/modules/board/skins/xe_board/view_document.html +++ b/modules/board/skins/xe_board/view_document.html @@ -168,7 +168,7 @@
- fileupload)-->enctype="multipart/form-data" class="boardEditor" > +
diff --git a/modules/board/skins/xe_board/write_form.html b/modules/board/skins/xe_board/write_form.html index 0dd71ccf9..db1644bbc 100644 --- a/modules/board/skins/xe_board/write_form.html +++ b/modules/board/skins/xe_board/write_form.html @@ -2,7 +2,7 @@
- fileupload)-->enctype="multipart/form-data" class="boardEditor" id="fo_write"> +
diff --git a/modules/board/tpl/board_insert.html b/modules/board/tpl/board_insert.html index ca4ba177a..7f909ea23 100644 --- a/modules/board/tpl/board_insert.html +++ b/modules/board/tpl/board_insert.html @@ -4,7 +4,7 @@ - + @@ -13,21 +13,23 @@ - - {$lang->mid} - - -

{$lang->about_mid}

- - - - - {$lang->is_default} - - is_default=='Y')-->checked="checked" id="fld_for_default" class="checkbox" /> - - - + + + {$lang->mid} + + +

{$lang->about_mid}

+ + + + + {$lang->is_default} + + is_default=='Y')-->checked="checked" id="fld_for_default" class="checkbox" /> + + + + {$lang->module_category} @@ -42,6 +44,7 @@ + {$lang->browser_title} @@ -49,6 +52,8 @@

{$lang->about_browser_title}

+ + {$lang->layout} @@ -125,65 +130,68 @@ + - -
- {@ $extra_vars_name = ''} - {@ $extra_vars_type = ''} - {@ $extra_vars_is_required = ''} - {@ $extra_vars_default_value = ''} - {@ $extra_vars_desc = ''} - {@ $extra_vars_search = ''} - - {@ $extra_vars_name = $module_info->extra_vars[$i]->name} - {@ $extra_vars_type = $module_info->extra_vars[$i]->type} - {@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required} - {@ $extra_vars_default_value = $module_info->extra_vars[$i]->default} - {@ $extra_vars_desc = $module_info->extra_vars[$i]->desc} - {@ $extra_vars_search = $module_info->extra_vars[$i]->search} - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
{$lang->extra_vars} {$i}
{$lang->column_name}
{$lang->column_type} - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - -
{$lang->extra_vars} {$i}
{$lang->column_name}
{$lang->column_type} + -
{$lang->is_required}checked="checked" />
{$lang->default_value}

{$lang->about_extra_vars_default_value}

{$lang->description}
{$lang->cmd_search}checked="checked" />
+ +
{$lang->is_required}checked="checked" />
{$lang->default_value}

{$lang->about_extra_vars_default_value}

{$lang->description}
{$lang->cmd_search}checked="checked" />
+ diff --git a/modules/board/tpl/filter/insert_grant.xml b/modules/board/tpl/filter/insert_grant.xml index 8ac809f0b..7d95b83a6 100644 --- a/modules/board/tpl/filter/insert_grant.xml +++ b/modules/board/tpl/filter/insert_grant.xml @@ -1,6 +1,6 @@ - + diff --git a/modules/board/tpl/grant_list.html b/modules/board/tpl/grant_list.html index 4bdc834f1..d521c8e03 100644 --- a/modules/board/tpl/grant_list.html +++ b/modules/board/tpl/grant_list.html @@ -3,7 +3,7 @@
- + @@ -37,6 +37,7 @@ diff --git a/modules/board/tpl/index.html b/modules/board/tpl/index.html index ba68b57d5..f1bb2552f 100644 --- a/modules/board/tpl/index.html +++ b/modules/board/tpl/index.html @@ -6,9 +6,11 @@ +
+
+@@ -18,6 +20,7 @@ +@@ -27,6 +30,7 @@ +@@ -36,6 +40,7 @@ +@@ -45,6 +50,7 @@ +@@ -54,6 +60,7 @@ +@@ -64,8 +71,8 @@ + @@ -90,6 +96,7 @@ +
{$lang->no} - - {$lang->mid} / {$lang->browser_title} {$lang->regdate}
{$no} {$lang->not_exists} @@ -109,8 +116,14 @@
+ + diff --git a/modules/board/tpl/js/board_admin.js b/modules/board/tpl/js/board_admin.js index 3251dcdb6..03eb161d2 100644 --- a/modules/board/tpl/js/board_admin.js +++ b/modules/board/tpl/js/board_admin.js @@ -86,8 +86,6 @@ function completeInsertGrant(ret_obj) { var module_srl = ret_obj['module_srl']; alert(message); - - location.href = location.href; } /* 카테고리 이동 */ @@ -100,3 +98,20 @@ function doChangeCategory(fo_obj) { return true; } + +/* 일괄 설정 */ +function doCartSetup(act_type) { + var fo_obj = xGetElementById('fo_list'); + var module_srl = new Array(); + if(typeof(fo_obj.cart.length)=='undefined') { + if(fo_obj.cart.checked) module_srl[module_srl.length] = fo_obj.cart.value; + } else { + for(var i=0;igetModuleConfig('editor'); - $config->module_config[$module_srl] = $editor_skin; + // 대상을 구함 + $module_srl = Context::get('target_module_srl'); + + // 여러개의 모듈 일괄 설정일 경우 + if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl); + else $module_srl = array($module_srl); + + $editor_config = null; + + $editor_config->editor_skin = Context::get('editor_skin'); + $editor_config->comment_editor_skin = Context::get('comment_editor_skin'); + + $enable_html_grant = trim(Context::get('enable_html_grant')); + if($enable_html_grant) $editor_config->enable_html_grant = explode('|@|', $enable_html_grant); + else $editor_config->enable_html_grant = array(); + + $enable_comment_html_grant = trim(Context::get('enable_comment_html_grant')); + if($enable_comment_html_grant) $editor_config->enable_comment_html_grant = explode('|@|', $enable_comment_html_grant); + else $editor_config->enable_comment_html_grant = array(); + + $upload_file_grant = trim(Context::get('upload_file_grant')); + if($upload_file_grant) $editor_config->upload_file_grant = explode('|@|', $upload_file_grant); + else $editor_config->upload_file_grant = array(); + + $comment_upload_file_grant = trim(Context::get('comment_upload_file_grant')); + if($comment_upload_file_grant) $editor_config->comment_upload_file_grant = explode('|@|', $comment_upload_file_grant); + else $editor_config->comment_upload_file_grant = array(); + + $enable_default_component_grant = trim(Context::get('enable_default_component_grant')); + if($enable_default_component_grant) $editor_config->enable_default_component_grant = explode('|@|', $enable_default_component_grant); + else $editor_config->enable_default_component_grant = array(); + + $enable_comment_default_component_grant = trim(Context::get('enable_comment_default_component_grant')); + if($enable_comment_default_component_grant) $editor_config->enable_comment_default_component_grant = explode('|@|', $enable_comment_default_component_grant); + else $editor_config->enable_comment_default_component_grant = array(); + + $enable_component_grant = trim(Context::get('enable_component_grant')); + if($enable_component_grant) $editor_config->enable_component_grant = explode('|@|', $enable_component_grant); + else $editor_config->enable_component_grant = array(); + + $enable_comment_component_grant = trim(Context::get('enable_comment_component_grant')); + if($enable_comment_component_grant) $editor_config->enable_comment_component_grant = explode('|@|', $enable_comment_component_grant); + else $editor_config->enable_comment_component_grant = array(); + + $editor_config->editor_height = (int)Context::get('editor_height'); + + $editor_config->comment_editor_height = (int)Context::get('comment_editor_height'); + + $editor_config->enable_height_resizable = Context::get('enable_height_resizable'); + + $editor_config->enable_comment_height_resizable = Context::get('enable_comment_height_resizable'); + + $editor_config->enable_autosave = Context::get('enable_autosave'); + + if($editor_config->enable_height_resizable != 'Y') $editor_config->enable_height_resizable = 'N'; + if($editor_config->enable_comment_height_resizable != 'Y') $editor_config->enable_comment_height_resizable = 'N'; + if($editor_config->enable_autosave != 'Y') $editor_config->enable_autosave = 'N'; + + for($i=0;$imodule_config[$srl] = $editor_config; + } // module Controller 객체 생성하여 입력 $oModuleController = &getController('module'); $output = $oModuleController->insertModuleConfig('editor',$config); - return $output; + + $this->setError(-1); + $this->setMessage('success_updated'); } /** diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php index 521c3f3c6..a31b3f614 100644 --- a/modules/editor/editor.model.php +++ b/modules/editor/editor.model.php @@ -25,14 +25,32 @@ * @brief 모듈별 에디터 설정을 return **/ function getEditorConfig($module_srl) { - // 선택된 모듈의 trackback설정을 가져옴 - $oModuleModel = &getModel('module'); - $config = $oModuleModel->getModuleConfig('editor'); + if(!$GLOBLAS['__editor_module_config__']) { + // 선택된 모듈의 trackback설정을 가져옴 + $oModuleModel = &getModel('module'); + $GLOBLAS['__editor_module_config__'] = $oModuleModel->getModuleConfig('editor'); + } - $editor_skin = $config->module_config[$module_srl]; - if(!$editor_skin) $editor_skin = "default"; + $editor_config = $GLOBLAS['__editor_module_config__']->module_config[$module_srl]; - return $editor_skin; + if(!is_object($editor_config)) $editor_config = null; + + if(!is_array($editor_config->enable_html_grant)) $editor_config->enable_html_grant = array(); + if(!is_array($editor_config->enable_comment_html_grant)) $editor_config->enable_comment_html_grant = array(); + if(!is_array($editor_config->upload_file_grant)) $editor_config->upload_file_grant = array(); + if(!is_array($editor_config->comment_upload_file_grant)) $editor_config->comment_upload_file_grant = array(); + if(!is_array($editor_config->enable_default_component_grant)) $editor_config->enable_default_component_grant = array(); + if(!is_array($editor_config->enable_comment_default_component_grant)) $editor_config->enable_comment_default_component_grant = array(); + if(!is_array($editor_config->enable_component_grant)) $editor_config->enable_component_grant = array(); + if(!is_array($editor_config->enable_comment_component_grant)) $editor_config->enable_comment_component_grant= array(); + + if(!$editor_config->editor_height) $editor_config->editor_height = 500; + if(!$editor_config->comment_editor_height) $editor_config->comment_editor_height = 200; + if($editor_config->enable_height_resizable!='N') $editor_config->enable_height_resizable= "Y"; + if($editor_config->enable_comment_height_resizable!='Y') $editor_config->enable_comment_height_resizable= "N"; + if($editor_config->enable_autosave!='N') $editor_config->enable_autosave = "Y"; + + return $editor_config; } /** @@ -73,11 +91,8 @@ else $editor_height = $option->height; // 스킨 설정 - if(!$option->skin) { - $module_srl = Context::get('module_srl'); - $skin = $this->getEditorConfig($module_srl); - - } else $skin = $option->skin; + $skin = $option->skin; + if(!$skin) $skin = 'default'; /** * 자동백업 기능 체크 (글 수정일 경우는 사용하지 않음) @@ -179,6 +194,112 @@ return $oTemplate->compile($tpl_path, $tpl_file); } + /** + * @brief 모듈별 설정이 반영된 에디터 template을 return + * getEditor() 와 동일한 결과물을 return하지만 getModuleEditor()는 각 모듈별 추가 설정을 통해 직접 제어되는 설정을 이용하여 에디터를 생성함 + * + * document/ comment 2가지 종류를 이용함. + * 굳이 나눈 이유는 하나의 모듈에서 2개 종류의 에디터 사용을 위해서인데 게시판이나 블로그등 원글과 그에 연관된 글(댓글)을 위한 용도임. + **/ + function getModuleEditor($type = 'document', $module_srl, $upload_target_srl, $primary_key_name, $content_key_name) { + // 지정된 모듈의 에디터 설정을 구해옴 + $editor_config = $this->getEditorConfig($module_srl); + + // type에 따른 설정 정리 + if($type == 'document') { + $config->editor_skin = $editor_config->editor_skin; + $config->upload_file_grant = $editor_config->upload_file_grant; + $config->enable_default_component_grant = $editor_config->enable_default_component_grant; + $config->enable_component_grant = $editor_config->enable_component_grant; + $config->enable_html_grant = $editor_config->enable_html_grant; + $config->editor_height = $editor_config->editor_height; + $config->enable_height_resizable = $editor_config->enable_height_resizable; + $config->enable_autosave = $editor_config->enable_autosave; + } else { + $config->editor_skin = $editor_config->comment_editor_skin; + $config->upload_file_grant = $editor_config->comment_upload_file_grant; + $config->enable_default_component_grant = $editor_config->enable_comment_default_component_grant; + $config->enable_component_grant = $editor_config->enable_comment_component_grant; + $config->enable_html_grant = $editor_config->enable_comment_html_grant; + $config->editor_height = $editor_config->comment_editor_height; + $config->enable_height_resizable = $editor_config->enable_comment_height_resizable; + $config->enable_autosave = 'N'; + } + + // 권한 체크를 위한 현재 로그인 사용자의 그룹 설정 체크 + if(Context::get('is_logged')) { + $logged_info = Context::get('logged_info'); + $group_list = $logged_info->group_list; + } else { + $group_list = array(); + } + + // 에디터 옵션 변수를 미리 설정 + $option->skin = $config->editor_skin; + + // 파일 업로드 권한 체크 + $option->allow_fileupload = false; + if(count($config->upload_file_grant)) { + foreach($group_list as $group_srl => $group_info) { + if(in_array($group_srl, $config->upload_file_grant)) { + $option->allow_fileupload = true; + break; + } + } + } else $option->allow_fileupload = true; + + // 기본 컴포넌트 사용 권한 + $option->enable_default_component = false; + if(count($config->enable_default_component_grant)) { + foreach($group_list as $group_srl => $group_info) { + if(in_array($group_srl, $config->enable_default_component_grant)) { + $option->enable_default_component = true; + break; + } + } + } else $option->enable_default_component = true; + + // 확장 컴포넌트 사용 권한 + $option->enable_component = false; + if(count($config->enable_component_grant)) { + foreach($group_list as $group_srl => $group_info) { + if(in_array($group_srl, $config->enable_component_grant)) { + $option->enable_component = true; + break; + } + } + } else $option->enable_component = true; + + // HTML 편집 권한 + $enable_html = false; + if(count($config->enable_html_grant)) { + foreach($group_list as $group_srl => $group_info) { + if(in_array($group_srl, $config->enable_html_grant)) { + $enable_html = true; + break; + } + } + } else $enable_html = true; + + if($enable_html) $option->disable_html = false; + else $option->disable_html = true; + + // 높이 설정 + $option->height = $config->editor_height; + + // 높이 조절 옵션 설정 + $option->resizable = $config->enable_height_resizable=='Y'?true:false; + + // 자동 저장 유무 옵션 설정 + $option->enable_autosave = $config->enable_autosave=='Y'?true:false; + + // 기타 설정 + $option->primary_key_name = $primary_key_name; + $option->content_key_name = $content_key_name; + + return $this->getEditor($upload_target_srl, $option); + } + /** * @brief 자동저장되어 있는 정보를 가져옴 **/ diff --git a/modules/editor/editor.view.php b/modules/editor/editor.view.php index 180c73d13..290d6a105 100644 --- a/modules/editor/editor.view.php +++ b/modules/editor/editor.view.php @@ -66,23 +66,29 @@ **/ function triggerDispEditorAdditionSetup(&$obj) { $current_module_srl = Context::get('module_srl'); + $current_module_srls = Context::get('module_srls'); - if(!$current_module_srl) { + if(!$current_module_srl && !$current_module_srls) { // 선택된 모듈의 정보를 가져옴 $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; + if(!$current_module_srl) return new Object(); } - if(!$current_module_srl) return new Object(); - // 에디터 설정을 구함 $oEditorModel = &getModel('editor'); - $editor_skin = $oEditorModel->getEditorConfig($current_module_srl); - Context::set('editor_skin', $editor_skin); + $editor_config = $oEditorModel->getEditorConfig($current_module_srl); + Context::set('editor_config', $editor_config); // 에디터 스킨 목록을 구함 $editor_skin_list = FileHandler::readDir('./modules/editor/skins'); Context::set('editor_skin_list', $editor_skin_list); + + + // 그룹 목록을 구함 + $oMemberModel = &getModel('member'); + $group_list = $oMemberModel->getGroups(); + Context::set('group_list', $group_list); // 템플릿 파일 지정 $oTemplate = &TemplateHandler::getInstance(); diff --git a/modules/editor/lang/en.lang.php b/modules/editor/lang/en.lang.php index 4149f8eb4..bb7484731 100644 --- a/modules/editor/lang/en.lang.php +++ b/modules/editor/lang/en.lang.php @@ -28,6 +28,24 @@ $lang->cmd_disable = "Inactive"; $lang->cmd_enable = "Active"; + $lang->editor_skin = '에디터 스킨'; + $lang->upload_file_grant = '파일 첨부 권한'; + $lang->enable_default_component_grant = '기본 컴포넌트 사용 권한'; + $lang->enable_component_grant = '컴포넌트 사용 권한'; + $lang->enable_html_grant = 'HTML편집 권한'; + $lang->enable_autosave = '자동저장 사용'; + $lang->height_resizable = '높이 조절 가능'; + $lang->editor_height = '에디터 높이'; + + $lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다'; + $lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)'; + $lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다'; + $lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다'; + $lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.'; + $lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다'; + $lang->edit->fontname = 'Font'; $lang->edit->fontsize = 'Size'; $lang->edit->use_paragraph = 'Paragraph Function'; diff --git a/modules/editor/lang/es.lang.php b/modules/editor/lang/es.lang.php index 52c9278d4..0dd591e59 100644 --- a/modules/editor/lang/es.lang.php +++ b/modules/editor/lang/es.lang.php @@ -28,6 +28,24 @@ $lang->cmd_disable = "Desactivado"; $lang->cmd_enable = "activado"; + $lang->editor_skin = '에디터 스킨'; + $lang->upload_file_grant = '파일 첨부 권한'; + $lang->enable_default_component_grant = '기본 컴포넌트 사용 권한'; + $lang->enable_component_grant = '컴포넌트 사용 권한'; + $lang->enable_html_grant = 'HTML편집 권한'; + $lang->enable_autosave = '자동저장 사용'; + $lang->height_resizable = '높이 조절 가능'; + $lang->editor_height = '에디터 높이'; + + $lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다'; + $lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)'; + $lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다'; + $lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다'; + $lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.'; + $lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다'; + $lang->edit->fontname = 'Fuente'; $lang->edit->fontsize = 'Tamaño'; $lang->edit->use_paragraph = 'Párrafo'; diff --git a/modules/editor/lang/jp.lang.php b/modules/editor/lang/jp.lang.php index 0b6b757fc..c524f33cd 100644 --- a/modules/editor/lang/jp.lang.php +++ b/modules/editor/lang/jp.lang.php @@ -28,6 +28,24 @@ $lang->cmd_disable = "未使用"; $lang->cmd_enable = "使用"; + $lang->editor_skin = '에디터 스킨'; + $lang->upload_file_grant = '파일 첨부 권한'; + $lang->enable_default_component_grant = '기본 컴포넌트 사용 권한'; + $lang->enable_component_grant = '컴포넌트 사용 권한'; + $lang->enable_html_grant = 'HTML편집 권한'; + $lang->enable_autosave = '자동저장 사용'; + $lang->height_resizable = '높이 조절 가능'; + $lang->editor_height = '에디터 높이'; + + $lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다'; + $lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)'; + $lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다'; + $lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다'; + $lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.'; + $lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다'; + $lang->edit->fontname = 'フォント'; $lang->edit->fontsize = 'フォントサイズ'; $lang->edit->use_paragraph = '段落機能'; diff --git a/modules/editor/lang/ko.lang.php b/modules/editor/lang/ko.lang.php index d2e4abf60..867bd1270 100644 --- a/modules/editor/lang/ko.lang.php +++ b/modules/editor/lang/ko.lang.php @@ -28,6 +28,24 @@ $lang->cmd_disable = "비활성"; $lang->cmd_enable = "활성"; + $lang->editor_skin = '에디터 스킨'; + $lang->upload_file_grant = '파일 첨부 권한'; + $lang->enable_default_component_grant = '기본 컴포넌트 사용 권한'; + $lang->enable_component_grant = '컴포넌트 사용 권한'; + $lang->enable_html_grant = 'HTML편집 권한'; + $lang->enable_autosave = '자동저장 사용'; + $lang->height_resizable = '높이 조절 가능'; + $lang->editor_height = '에디터 높이'; + + $lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다'; + $lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)'; + $lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다'; + $lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다'; + $lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.'; + $lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다'; + $lang->edit->fontname = '글꼴'; $lang->edit->fontsize = '크기'; $lang->edit->use_paragraph = '문단기능'; diff --git a/modules/editor/lang/ru.lang.php b/modules/editor/lang/ru.lang.php index de2e07056..009f5b040 100644 --- a/modules/editor/lang/ru.lang.php +++ b/modules/editor/lang/ru.lang.php @@ -28,6 +28,24 @@ $lang->cmd_disable = "Неавтивно"; $lang->cmd_enable = "Активно"; + $lang->editor_skin = '에디터 스킨'; + $lang->upload_file_grant = '파일 첨부 권한'; + $lang->enable_default_component_grant = '기본 컴포넌트 사용 권한'; + $lang->enable_component_grant = '컴포넌트 사용 권한'; + $lang->enable_html_grant = 'HTML편집 권한'; + $lang->enable_autosave = '자동저장 사용'; + $lang->height_resizable = '높이 조절 가능'; + $lang->editor_height = '에디터 높이'; + + $lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다'; + $lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)'; + $lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다'; + $lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다'; + $lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.'; + $lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다'; + $lang->edit->fontname = 'Шрифт'; $lang->edit->fontsize = 'Размер'; $lang->edit->use_paragraph = 'Функции параграфа'; diff --git a/modules/editor/lang/zh-CN.lang.php b/modules/editor/lang/zh-CN.lang.php index 42fd27473..813aa8273 100644 --- a/modules/editor/lang/zh-CN.lang.php +++ b/modules/editor/lang/zh-CN.lang.php @@ -28,6 +28,24 @@ $lang->cmd_disable = "非激活"; $lang->cmd_enable = "激活"; + $lang->editor_skin = '에디터 스킨'; + $lang->upload_file_grant = '파일 첨부 권한'; + $lang->enable_default_component_grant = '기본 컴포넌트 사용 권한'; + $lang->enable_component_grant = '컴포넌트 사용 권한'; + $lang->enable_html_grant = 'HTML편집 권한'; + $lang->enable_autosave = '자동저장 사용'; + $lang->height_resizable = '높이 조절 가능'; + $lang->editor_height = '에디터 높이'; + + $lang->about_editor_skin = '에디터 스킨을 선택하실 수 있습니다'; + $lang->about_upload_file_grant = '파일을 첨부할 수 있는 권한을 지정하실 수 있습니다 (모두 해제시 아무나 첨부 가능합니다)'; + $lang->about_default_component_grant = '에디터에서 사용되는 기본 컴포넌트를 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_component_grant = '기본 컴포넌트외의 확장 컴포넌트 기능을 사용할 수 있는 권한을 지정할 수 있습니다. (모두 해제시 아무나 사용 가능합니다)'; + $lang->about_editor_height = '에디터의 기본 높이를 지정하실 수 있습니다'; + $lang->about_editor_height_resizable = '에디터의 높이를 직접 변경할 수 있도록 허용합니다'; + $lang->about_enable_html_grant = 'HTML편집 권한을 부여할 수 있습니다.'; + $lang->about_enable_autosave = '글작성시 자동 저장 기능을 활성화 시킬 수 있습니다'; + $lang->edit->fontname = '字体'; $lang->edit->fontsize = '大小'; $lang->edit->use_paragraph = '段落功能'; diff --git a/modules/editor/skins/default/css/editor.css b/modules/editor/skins/default/css/editor.css index eea971f93..e876106a2 100644 --- a/modules/editor/skins/default/css/editor.css +++ b/modules/editor/skins/default/css/editor.css @@ -27,9 +27,9 @@ .xeEditor .textAreaDragIndicator { text-align:center; background:url(../images/lineTextAreaDrag.gif) repeat-x left center; padding:5px 0 5px 0; } .xeEditor .textAreaDragIndicatorBar { background:url(../images/buttonTextAreaDrag.gif) no-repeat center; cursor:move;height:14px;} -.xeEditor .editor_info { clear:both; padding:5px 20px 0 10px; overflow:hidden;} +.xeEditor .editor_info { clear:both; padding:5px 10px 0 10px; overflow:hidden;} .xeEditor .editor_info .editor_option { float:left; color:#888888; } -.xeEditor .editor_info .editor_autosaved_message { color:#888888; float:right; } +.xeEditor .editor_info .editor_autosaved_message { display:none; color:#888888; float:right; } .xeEditor .inputTypeTextArea { background:#fbfbfb; padding:1em; width:94%;} .xeEditor #textAreaDrag {} diff --git a/modules/editor/skins/default/editor.html b/modules/editor/skins/default/editor.html index 93e00e0f7..ea0895f07 100644 --- a/modules/editor/skins/default/editor.html +++ b/modules/editor/skins/default/editor.html @@ -138,7 +138,7 @@
-
 
+
diff --git a/modules/editor/skins/msword2007/css/editor.css b/modules/editor/skins/msword2007/css/editor.css index cc7b3a0d3..957307288 100644 --- a/modules/editor/skins/msword2007/css/editor.css +++ b/modules/editor/skins/msword2007/css/editor.css @@ -36,7 +36,7 @@ .xeEditor .editor_info { clear:both; padding:5px 10px 5px 10px; overflow:hidden;} .xeEditor .editor_info .editor_option { float:left; color:#888888; } -.xeEditor .editor_info .editor_autosaved_message { color:#888888; float:right; } +.xeEditor .editor_info .editor_autosaved_message { color:#888888; float:right; display:none;} .xeEditor .inputTypeTextArea { background:#fbfbfb; padding:1em; width:94%;} .xeEditor #textAreaDrag {} diff --git a/modules/editor/skins/msword2007/editor.html b/modules/editor/skins/msword2007/editor.html index 89681296f..e4bc2105e 100644 --- a/modules/editor/skins/msword2007/editor.html +++ b/modules/editor/skins/msword2007/editor.html @@ -121,19 +121,27 @@ +
+
+ +
 
+
+
+
+ diff --git a/modules/editor/skins/xquared/css/default.css b/modules/editor/skins/xquared/css/default.css index 1b9545fad..ad38de910 100644 --- a/modules/editor/skins/xquared/css/default.css +++ b/modules/editor/skins/xquared/css/default.css @@ -1,6 +1,6 @@ @charset "utf-8"; -.xeEditor .editor_info .editor_autosaved_message { color:#888888; text-align:right; } -.xeEditor .optionDE { width:100%; clear:both; overflow:hidden; background:#f8f8f8; border-bottom:1px solid #e1e1e1; height:29px;} +.xeEditor .editor_info .editor_autosaved_message { display:none; color:#888888; text-align:right; } +.xeEditor .optionDE { width:100%; clear:both; overflow:hidden; background:#f8f8f8; height:29px;} .xeEditor .optionDE .buttonGroup { white-space:nowrap; position:relative; display:block; float:left; height:21px; overflow:hidden; padding-left:2px;} .xeEditor .optionDE img { float:left; display:block; margin-right:.5em; cursor:pointer;} .xeEditor .optionD { padding:.5em 0 .5em .8em; overflow:hidden; float:left; border-right:1px solid #e0e0e0;} diff --git a/modules/editor/skins/xquared/css/xq_contents.css b/modules/editor/skins/xquared/css/xq_contents.css index 887f8e673..65e68904a 100644 --- a/modules/editor/skins/xquared/css/xq_contents.css +++ b/modules/editor/skins/xquared/css/xq_contents.css @@ -119,4 +119,4 @@ .xed table.datatable td { border-bottom: 1px solid #000; border-right: 1px solid #000; -} \ No newline at end of file +} diff --git a/modules/editor/skins/xquared/css/xq_ui.css b/modules/editor/skins/xquared/css/xq_ui.css index 4b7012974..abcc1f373 100644 --- a/modules/editor/skins/xquared/css/xq_ui.css +++ b/modules/editor/skins/xquared/css/xq_ui.css @@ -230,4 +230,4 @@ .xqQuickSearch li.selected { background-color: #ffd; -} \ No newline at end of file +} diff --git a/modules/editor/skins/xquared/editor.html b/modules/editor/skins/xquared/editor.html index 97205fdc3..7629ae000 100644 --- a/modules/editor/skins/xquared/editor.html +++ b/modules/editor/skins/xquared/editor.html @@ -44,7 +44,6 @@
-
 
@@ -55,7 +54,9 @@ +
+ diff --git a/modules/editor/tpl/editor_module_config.html b/modules/editor/tpl/editor_module_config.html index 41e9eaa71..6f9248698 100644 --- a/modules/editor/tpl/editor_module_config.html +++ b/modules/editor/tpl/editor_module_config.html @@ -1,23 +1,135 @@
- + - + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/editor/tpl/js/editor.js b/modules/editor/tpl/js/editor.js index 0166b29f0..abb5cdb9e 100755 --- a/modules/editor/tpl/js/editor.js +++ b/modules/editor/tpl/js/editor.js @@ -121,7 +121,7 @@ function editorStart(editor_sequence, primary_key, content_key, editor_height) { //''+ //''+ ''+ ''+ content+ diff --git a/modules/editor/tpl/js/editor_common.js b/modules/editor/tpl/js/editor_common.js index 690a9164c..5dd8d6c93 100644 --- a/modules/editor/tpl/js/editor_common.js +++ b/modules/editor/tpl/js/editor_common.js @@ -66,6 +66,7 @@ function _editorAutoSave() { editorAutoSaveObj.content = content; var obj = xGetElementById("editor_autosaved_message_"+editor_sequence); + obj.style.display = 'block'; var oDate = new Date(); html = oDate.getHours()+':'+oDate.getMinutes()+' '+auto_saved_msg; xInnerHtml(obj, html); diff --git a/modules/file/file.admin.controller.php b/modules/file/file.admin.controller.php index 3fe4b00a9..48c1709e9 100644 --- a/modules/file/file.admin.controller.php +++ b/modules/file/file.admin.controller.php @@ -77,6 +77,11 @@ function procFileAdminInsertModuleConfig() { // 필요한 변수를 받아옴 $module_srl = Context::get('target_module_srl'); + + // 여러개의 모듈 일괄 설정일 경우 + if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl); + else $module_srl = array($module_srl); + $download_grant = trim(Context::get('download_grant')); // 설정 정보를 받아옴 (module model 객체를 이용) @@ -89,12 +94,19 @@ $module_file_config->allowed_filetypes = Context::get('allowed_filetypes'); if($download_grant) $module_file_config->download_grant = explode('|@|',$download_grant); else $module_file_config->download_grant = array(); - $config->module_config[$module_srl] = $module_file_config; + + for($i=0;$imodule_config[$srl] = $module_file_config; + } // module Controller 객체 생성하여 입력 $oModuleController = &getController('module'); $output = $oModuleController->insertModuleConfig('file',$config); - return $output; + + $this->setError(-1); + $this->setMessage('success_updated'); } } ?> diff --git a/modules/file/file.view.php b/modules/file/file.view.php index 1408a2be0..7a4cb88f6 100644 --- a/modules/file/file.view.php +++ b/modules/file/file.view.php @@ -22,15 +22,15 @@ **/ function triggerDispFileAdditionSetup(&$obj) { $current_module_srl = Context::get('module_srl'); + $current_module_srls = Context::get('module_srls'); - if(!$current_module_srl) { + if(!$current_module_srl && !$current_module_srls) { // 선택된 모듈의 정보를 가져옴 $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; + if(!$current_module_srl) return new Object(); } - if(!$current_module_srl) return new Object(); - // 선택된 모듈의 file설정을 가져옴 $oFileModel = &getModel('file'); $file_config = $oFileModel->getFileModuleConfig($current_module_srl); diff --git a/modules/file/tpl/file_module_config.html b/modules/file/tpl/file_module_config.html index 56b84429c..499b9bf9c 100644 --- a/modules/file/tpl/file_module_config.html +++ b/modules/file/tpl/file_module_config.html @@ -1,7 +1,7 @@ - +
{$lang->editor}
{$lang->editor} {$lang->document} + {$lang->comment} +
{$lang->editor_skin} + + +
{$lang->about_editor_skin}
{$lang->enable_html_grant} + + enable_html_grant))-->checked="checked"/>
+ +
+ + enable_comment_html_grant))-->checked="checked"/>
+ +
{$lang->about_enable_html_grant}
{$lang->upload_file_grant} + + upload_file_grant))-->checked="checked"/>
+ +
+ + comment_upload_file_grant))-->checked="checked"/>
+ +
{$lang->about_upload_file_grant}
{$lang->enable_default_component_grant} + + enable_default_component_grant))-->checked="checked"/>
+ +
+ + enable_comment_default_component_grant))-->checked="checked"/>
+ +
{$lang->about_default_component_grant}
{$lang->enable_component_grant} + + enable_component_grant))-->checked="checked"/>
+ +
+ + enable_comment_component_grant))-->checked="checked"/>
+ +
{$lang->about_component_grant}
{$lang->editor_height} + px + + px +
{$lang->about_editor_height}
{$lang->height_resizable} + enable_height_resizable=='Y')-->checked="checked"/> + + enable_comment_height_resizable=='Y')-->checked="checked"/> +
{$lang->about_editor_height_resizable}
{$lang->enable_autosave}enable_autosave=='Y')-->checked="checked"/>
{$lang->about_enable_autosave}
diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 03f9e1eee..735055c0d 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -110,6 +110,7 @@ $option->enable_default_component = true; $option->enable_component = false; $option->resizable = false; + $option->disable_html = true; $option->height = 200; $editor = $oEditorModel->getEditor($member_info->member_srl, $option); Context::set('editor', $editor); @@ -381,6 +382,7 @@ $option->enable_default_component = false; $option->enable_component = false; $option->resizable = false; + $option->disable_html = true; $option->height = 300; $editor = $oEditorModel->getEditor($logged_info->member_srl, $option); Context::set('editor', $editor); diff --git a/modules/module/module.model.php b/modules/module/module.model.php index d5c99c849..efffba32d 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -60,6 +60,17 @@ return $module_info; } + /** + * @brief 여러개의 module_srl에 해당하는 모듈의 정보를 구함 + **/ + function getModulesInfo($module_srls) { + // 데이터를 가져옴 + $args->module_srls = $module_srls; + $output = executeQueryArray('module.getModulesInfo', $args); + if(!$output->toBool()) return; + return $output->data; + } + /** * @brief DB에서 가져온 원 모듈 정보에서 grant, extraVar등의 정리 **/ diff --git a/modules/module/queries/updateModuleGrant.xml b/modules/module/queries/updateModuleGrant.xml index bc6a42b1c..5751b600b 100644 --- a/modules/module/queries/updateModuleGrant.xml +++ b/modules/module/queries/updateModuleGrant.xml @@ -6,6 +6,6 @@ - + diff --git a/modules/point/point.admin.controller.php b/modules/point/point.admin.controller.php index c82c0d3cb..4ef8cb560 100644 --- a/modules/point/point.admin.controller.php +++ b/modules/point/point.admin.controller.php @@ -113,20 +113,30 @@ $module_srl = Context::get('target_module_srl'); if(!$module_srl) return new Object(-1, 'msg_invalid_request'); + // 여러개의 모듈 일괄 설정일 경우 + if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl); + else $module_srl = array($module_srl); + // 설정 정보 가져오기 $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('point'); - $config->module_point[$module_srl]['insert_document'] = (int)Context::get('insert_document'); - $config->module_point[$module_srl]['insert_comment'] = (int)Context::get('insert_comment'); - $config->module_point[$module_srl]['upload_file'] = (int)Context::get('upload_file'); - $config->module_point[$module_srl]['download_file'] = (int)Context::get('download_file'); - $config->module_point[$module_srl]['read_document'] = (int)Context::get('read_document'); + // 설정 저장 + for($i=0;$imodule_point[$srl]['insert_document'] = (int)Context::get('insert_document'); + $config->module_point[$srl]['insert_comment'] = (int)Context::get('insert_comment'); + $config->module_point[$srl]['upload_file'] = (int)Context::get('upload_file'); + $config->module_point[$srl]['download_file'] = (int)Context::get('download_file'); + $config->module_point[$srl]['read_document'] = (int)Context::get('read_document'); + } $oModuleController = &getController('module'); $oModuleController->insertModuleConfig('point', $config); - return new Object(0, 'success_registed'); + $this->setError(-1); + $this->setMessage('success_updated'); } /** diff --git a/modules/point/point.view.php b/modules/point/point.view.php index a30f98c18..9c47076bb 100644 --- a/modules/point/point.view.php +++ b/modules/point/point.view.php @@ -22,15 +22,15 @@ **/ function triggerDispPointAdditionSetup(&$obj) { $current_module_srl = Context::get('module_srl'); + $current_module_srls = Context::get('module_srls'); - if(!$current_module_srl) { + if(!$current_module_srl && !$current_module_srls) { // 선택된 모듈의 정보를 가져옴 $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; + if(!$current_module_srl) return new Object(); } - if(!$current_module_srl) return new Object(); - // 설정 정보 가져오기 $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('point'); diff --git a/modules/point/tpl/point_module_config.html b/modules/point/tpl/point_module_config.html index 4a9c4897f..176ceb914 100644 --- a/modules/point/tpl/point_module_config.html +++ b/modules/point/tpl/point_module_config.html @@ -1,9 +1,11 @@ - +
+ + diff --git a/modules/rss/rss.admin.controller.php b/modules/rss/rss.admin.controller.php index 6426fe89c..0f3335e71 100644 --- a/modules/rss/rss.admin.controller.php +++ b/modules/rss/rss.admin.controller.php @@ -20,17 +20,27 @@ * @brief RSS 모듈별 설정 **/ function procRssAdminInsertModuleConfig() { - // 필요한 변수를 받아옴 + // 대상을 구함 $module_srl = Context::get('target_module_srl'); + + // 여러개의 모듈 일괄 설정일 경우 + if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl); + else $module_srl = array($module_srl); + $open_rss = Context::get('open_rss'); if(!$module_srl || !$open_rss) return new Object(-1, 'msg_invalid_request'); if(!in_array($open_rss, array('Y','H','N'))) $open_rss = 'N'; // 설정 저장 - $output = $this->setRssModuleConfig($module_srl, $open_rss); + for($i=0;$isetRssModuleConfig($srl, $open_rss); + } - $this->setMessage('success_registed'); + $this->setError(-1); + $this->setMessage('success_updated'); } /** diff --git a/modules/rss/rss.view.php b/modules/rss/rss.view.php index fca159005..681b76d70 100644 --- a/modules/rss/rss.view.php +++ b/modules/rss/rss.view.php @@ -154,15 +154,15 @@ **/ function triggerDispRssAdditionSetup(&$obj) { $current_module_srl = Context::get('module_srl'); + $current_module_srls = Context::get('module_srls'); - if(!$current_module_srl) { + if(!$current_module_srl && !$current_module_srls) { // 선택된 모듈의 정보를 가져옴 $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; + if(!$current_module_srl) return new Object(); } - if(!$current_module_srl) return new Object(); - // 선택된 모듈의 rss설정을 가져옴 $oRssModel = &getModel('rss'); $rss_config = $oRssModel->getRssModuleConfig($current_module_srl); diff --git a/modules/rss/tpl/rss_module_config.html b/modules/rss/tpl/rss_module_config.html index d8dc840de..40146d5b0 100644 --- a/modules/rss/tpl/rss_module_config.html +++ b/modules/rss/tpl/rss_module_config.html @@ -1,7 +1,7 @@ - +
{$lang->point}
{$lang->point_insert_document}
diff --git a/modules/trackback/tpl/trackback_module_config.html b/modules/trackback/tpl/trackback_module_config.html index 172867e4e..c097d9bec 100644 --- a/modules/trackback/tpl/trackback_module_config.html +++ b/modules/trackback/tpl/trackback_module_config.html @@ -1,7 +1,7 @@ - +
diff --git a/modules/trackback/trackback.admin.controller.php b/modules/trackback/trackback.admin.controller.php index 18d3e3ae5..912e3a73e 100644 --- a/modules/trackback/trackback.admin.controller.php +++ b/modules/trackback/trackback.admin.controller.php @@ -60,15 +60,24 @@ function procTrackbackAdminInsertModuleConfig() { // 필요한 변수를 받아옴 $module_srl = Context::get('target_module_srl'); + if(preg_match('/^([0-9,]+)$/',$module_srl)) $module_srl = explode(',',$module_srl); + else $module_srl = array($module_srl); + $enable_trackback = Context::get('enable_trackback'); if(!in_array($enable_trackback, array('Y','N'))) $enable_trackback = 'N'; if(!$module_srl || !$enable_trackback) return new Object(-1, 'msg_invalid_request'); // 설정 저장 - $output = $this->setTrackbackModuleConfig($module_srl, $enable_trackback); + // 설정 저장 + for($i=0;$isetTrackbackModuleConfig($srl, $enable_trackback); + } - $this->setMessage('success_registed'); + $this->setError(-1); + $this->setMessage('success_updated'); } /** diff --git a/modules/trackback/trackback.view.php b/modules/trackback/trackback.view.php index bf14dd401..3737c1e32 100644 --- a/modules/trackback/trackback.view.php +++ b/modules/trackback/trackback.view.php @@ -45,15 +45,15 @@ **/ function triggerDispTrackbackAdditionSetup(&$obj) { $current_module_srl = Context::get('module_srl'); + $current_module_srls = Context::get('module_srls'); - if(!$current_module_srl) { + if(!$current_module_srl && !$current_module_srls) { // 선택된 모듈의 정보를 가져옴 $current_module_info = Context::get('current_module_info'); $current_module_srl = $current_module_info->module_srl; + if(!$current_module_srl) return new Object(); } - if(!$current_module_srl) return new Object(); - // 선택된 모듈의 trackback설정을 가져옴 $oTrackbackModel = &getModel('trackback'); $trackback_config = $oTrackbackModel->getTrackbackModuleConfig($current_module_srl);