diff --git a/common/lang/en.lang.php b/common/lang/en.lang.php index c108d3fc7..2c3955ab6 100644 --- a/common/lang/en.lang.php +++ b/common/lang/en.lang.php @@ -26,6 +26,7 @@ $lang->cmd_cancel = 'Cancel'; $lang->cmd_back = 'Go Back'; $lang->cmd_vote = 'Vote'; + $lang->cmd_copy = 'Copy'; $lang->cmd_move = 'Move'; $lang->cmd_move_up = 'Up'; $lang->cmd_move_down = 'Down'; diff --git a/common/lang/es.lang.php b/common/lang/es.lang.php index ebc6a2928..0d1d5d132 100644 --- a/common/lang/es.lang.php +++ b/common/lang/es.lang.php @@ -26,6 +26,7 @@ $lang->cmd_cancel = 'Cancelar'; $lang->cmd_back = 'Atrás'; $lang->cmd_vote = 'Recomendar'; + $lang->cmd_copy = 'Copia'; $lang->cmd_move = 'Mover'; $lang->cmd_move_up = 'Arriba'; $lang->cmd_move_down = 'Abajo'; diff --git a/common/lang/fr.lang.php b/common/lang/fr.lang.php index 6bbd45d8b..a19486c0d 100644 --- a/common/lang/fr.lang.php +++ b/common/lang/fr.lang.php @@ -26,6 +26,7 @@ $lang->cmd_cancel = 'Decommander'; $lang->cmd_back = 'Retour'; $lang->cmd_vote = 'Voter'; + $lang->cmd_copy = 'Copie'; $lang->cmd_move = 'Deplacer'; $lang->cmd_move_up = 'Relever'; $lang->cmd_move_down = 'Abaisser'; diff --git a/common/lang/jp.lang.php b/common/lang/jp.lang.php index e8259d999..839f363cf 100644 --- a/common/lang/jp.lang.php +++ b/common/lang/jp.lang.php @@ -26,6 +26,7 @@ $lang->cmd_cancel = 'キャンセル'; $lang->cmd_back = '戻る'; $lang->cmd_vote = '推薦'; + $lang->cmd_copy = 'コピー'; $lang->cmd_move = '移動'; $lang->cmd_move_up = '上へ'; $lang->cmd_move_down = '下へ'; diff --git a/common/lang/ko.lang.php b/common/lang/ko.lang.php index 78473b3cf..43d53e49a 100644 --- a/common/lang/ko.lang.php +++ b/common/lang/ko.lang.php @@ -26,6 +26,7 @@ $lang->cmd_cancel = '취소'; $lang->cmd_back = '돌아가기'; $lang->cmd_vote = '추천'; + $lang->cmd_copy = '복사'; $lang->cmd_move = '이동'; $lang->cmd_move_up = '위로'; $lang->cmd_move_down = '아래로'; diff --git a/common/lang/zh-CN.lang.php b/common/lang/zh-CN.lang.php index 2ccdd48a6..7fbccfb25 100644 --- a/common/lang/zh-CN.lang.php +++ b/common/lang/zh-CN.lang.php @@ -26,6 +26,7 @@ $lang->cmd_cancel = '取消'; $lang->cmd_back = '返回'; $lang->cmd_vote = '推荐'; + $lang->cmd_copy = '副本'; $lang->cmd_move = '查看'; $lang->cmd_move_up = '向上'; $lang->cmd_move_down = '向下'; diff --git a/modules/blog/tpl/index.html b/modules/blog/tpl/index.html index 01fc9b995..d768b1ba3 100644 --- a/modules/blog/tpl/index.html +++ b/modules/blog/tpl/index.html @@ -19,6 +19,7 @@ + {$lang->no} @@ -44,6 +45,7 @@ {$lang->admin_id} {$lang->regdate} {$lang->cmd_view} + {$lang->cmd_copy} {$lang->cmd_delete} @@ -66,7 +68,8 @@ {$val->skin} {$val->admin_id}  {zdate($val->regdate,"Y-m-d")} - {$lang->cmd_view} + {$lang->cmd_view} + {$lang->cmd_copy} {$lang->cmd_delete}  diff --git a/modules/board/tpl/index.html b/modules/board/tpl/index.html index cc1669315..d8971fa97 100644 --- a/modules/board/tpl/index.html +++ b/modules/board/tpl/index.html @@ -19,6 +19,7 @@ + {$lang->no} @@ -44,6 +45,7 @@ {$lang->admin_id} {$lang->regdate} {$lang->cmd_view} + {$lang->cmd_copy} {$lang->cmd_delete} @@ -65,6 +67,7 @@ {$val->admin_id}  {zdate($val->regdate,"Y-m-d")} {$lang->cmd_view} + {$lang->cmd_copy} {$lang->cmd_delete} diff --git a/modules/module/conf/module.xml b/modules/module/conf/module.xml index 090efec80..7208be473 100644 --- a/modules/module/conf/module.xml +++ b/modules/module/conf/module.xml @@ -8,7 +8,9 @@ + + diff --git a/modules/module/lang/en.lang.php b/modules/module/lang/en.lang.php index d01596f5e..f63ccf801 100644 --- a/modules/module/lang/en.lang.php +++ b/modules/module/lang/en.lang.php @@ -28,6 +28,7 @@ 'H' => 'Open summary', 'N' => 'Not open', ); + $lang->module_copy = "Copy module"; $lang->cmd_add_shortcut = "Add Shortcut"; $lang->cmd_install = "Install"; diff --git a/modules/module/lang/es.lang.php b/modules/module/lang/es.lang.php index 61b341747..c4ddf9551 100644 --- a/modules/module/lang/es.lang.php +++ b/modules/module/lang/es.lang.php @@ -28,6 +28,7 @@ 'H' => 'Abrir el sumario', 'N' => 'No abrir', ); + $lang->module_copy = "Copy Module"; $lang->cmd_add_shortcut = "añadir acceso directo"; $lang->cmd_install = "Instalar"; diff --git a/modules/module/lang/jp.lang.php b/modules/module/lang/jp.lang.php index 9d7d4aebc..2e27d967d 100644 --- a/modules/module/lang/jp.lang.php +++ b/modules/module/lang/jp.lang.php @@ -28,6 +28,7 @@ 'H' => '要約配信', 'N' => '配信しない', ); + $lang->module_copy = "Copy module"; $lang->cmd_add_shortcut = "ショットカット追加"; $lang->cmd_install = "インストール"; diff --git a/modules/module/lang/ko.lang.php b/modules/module/lang/ko.lang.php index f00e69a6e..ce11e25d8 100644 --- a/modules/module/lang/ko.lang.php +++ b/modules/module/lang/ko.lang.php @@ -28,6 +28,7 @@ 'H' => '요약 공개', 'N' => '공개하지 않음', ); + $lang->module_copy = "모듈 복사"; $lang->cmd_add_shortcut = "바로가기 추가"; $lang->cmd_install = "설치"; diff --git a/modules/module/lang/zh-CN.lang.php b/modules/module/lang/zh-CN.lang.php index 40f1379c0..241a7050f 100644 --- a/modules/module/lang/zh-CN.lang.php +++ b/modules/module/lang/zh-CN.lang.php @@ -28,6 +28,7 @@ 'H' => '公开摘要', 'N' => '不公开', ); + $lang->module_copy = "Copy Module"; $lang->cmd_add_shortcut = "添加到快捷菜单"; $lang->cmd_install = "安装"; diff --git a/modules/module/module.admin.controller.php b/modules/module/module.admin.controller.php index 5ab409b8e..8703818f9 100644 --- a/modules/module/module.admin.controller.php +++ b/modules/module/module.admin.controller.php @@ -62,5 +62,50 @@ return executeQuery('module.deleteModuleCategory', $args); } + /** + * @brief 모듈 복사 + **/ + function procModuleAdminCopyModule() { + // 복사하려는 대상 모듈의 정보를 구함 + $module_srl = Context::get('module_srl'); + if(!$module_srl) return; + + // 새로 생성하려는 모듈들의 이름/브라우저 제목을 구함 + $clones = array(); + $args = Context::getAll(); + for($i=1;$i<=10;$i++) { + $mid = $args->{"mid_".$i}; + $browser_title = $args->{"browser_title_".$i}; + if(!$mid) continue; + if($mid && !$browser_title) $browser_title = $mid; + $clones[$mid] = $browser_title; + } + if(!count($clones)) return; + + // 원 모듈의 정보를 직접 구해옴 + $obj->module_srl = $module_srl; + $output = executeQuery("module.getMidInfo", $obj); + $module_info = $output->data; + unset($module_info->module_srl); + unset($module_info->regdate); + + $oDB = &DB::getInstance(); + $oDB->begin(); + + // 모듈 복사 + foreach($clones as $mid => $browser_title) { + $clone_args = null; + $clone_args = clone($module_info); + $clone_args->module_srl = getNextSequence(); + $clone_args->mid = $mid; + $clone_args->browser_title = $browser_title; + $clone_args->is_default = 'N'; + $output = executeQuery('module.insertModule', $clone_args); + } + + $oDB->commit(); + $this->setMessage('success_registed'); + } + } ?> diff --git a/modules/module/module.admin.view.php b/modules/module/module.admin.view.php index 255e82015..59bebf5ce 100644 --- a/modules/module/module.admin.view.php +++ b/modules/module/module.admin.view.php @@ -78,5 +78,24 @@ } } + /** + * @brief 모듈 복사 기능 + **/ + function dispModuleAdminCopyModule() { + // 복사하려는 대상 모듈을 구함 + $module_srl = Context::get('module_srl'); + + // 해당 모듈의 정보를 구함 + $oModuleModel = &getModel('module'); + $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl); + Context::set('module_info', $module_info); + + // 레이아웃을 팝업으로 지정 + $this->setLayoutFile('popup_layout'); + + // 템플릿 파일 지정 + $this->setTemplateFile('copy_module'); + } + } ?> diff --git a/modules/module/queries/insertModule.xml b/modules/module/queries/insertModule.xml index c813b5bb4..8d3e9c887 100644 --- a/modules/module/queries/insertModule.xml +++ b/modules/module/queries/insertModule.xml @@ -11,6 +11,7 @@ + diff --git a/modules/module/tpl/copy_module.html b/modules/module/tpl/copy_module.html new file mode 100644 index 000000000..1a59dd19b --- /dev/null +++ b/modules/module/tpl/copy_module.html @@ -0,0 +1,87 @@ + + + +
+

{$lang->module_copy}

+
+ +
+ + +
+ + + + + + + + + + + + + + + + +
{$lang->module}{$module_info->module}
{$lang->mid}{$module_info->mid}
{$lang->browser_title}{$module_info->browser_title}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{$lang->mid}{$lang->browser_title}
+ +
+ +
+ + +
+ +
diff --git a/modules/module/tpl/filter/copy_module.xml b/modules/module/tpl/filter/copy_module.xml new file mode 100644 index 000000000..5fdad26f3 --- /dev/null +++ b/modules/module/tpl/filter/copy_module.xml @@ -0,0 +1,9 @@ + +
+ + + + + + +
diff --git a/modules/module/tpl/js/module_admin.js b/modules/module/tpl/js/module_admin.js index 5581e70e0..8c4143694 100644 --- a/modules/module/tpl/js/module_admin.js +++ b/modules/module/tpl/js/module_admin.js @@ -50,3 +50,9 @@ function doUpdateModule(module) { params['module_name'] = module; exec_xml('install','procInstallAdminUpdate',params, completeInstallModule); } + +/* 모듈 복사후 */ +function completeCopyModule() { + if(typeof(opener)!='undefined') opener.location.href = opener.location.href; + window.close(); +} diff --git a/modules/opage/tpl/index.html b/modules/opage/tpl/index.html index 67863fd5d..cd054f988 100644 --- a/modules/opage/tpl/index.html +++ b/modules/opage/tpl/index.html @@ -10,6 +10,15 @@ +++++++++ @@ -17,7 +26,7 @@ - @@ -33,6 +42,7 @@ + @@ -52,7 +62,8 @@ - + + diff --git a/modules/page/tpl/index.html b/modules/page/tpl/index.html index ea054e217..b9d70ad4b 100644 --- a/modules/page/tpl/index.html +++ b/modules/page/tpl/index.html @@ -18,6 +18,7 @@ + @@ -41,6 +42,7 @@ + @@ -60,7 +62,8 @@ - + +
{$lang->no}
{$lang->is_default} {$lang->regdate} {$lang->cmd_view}{$lang->cmd_copy} {$lang->cmd_delete}
{$val->browser_title} {$val->is_default} {zdate($val->regdate,"Y-m-d")}{$lang->cmd_view}{$lang->cmd_view}{$lang->cmd_copy} {$lang->cmd_delete}
{$lang->no}{$lang->is_default} {$lang->regdate} {$lang->cmd_view}{$lang->cmd_copy} {$lang->cmd_delete}
{$val->browser_title}
{$val->is_default} {zdate($val->regdate,"Y-m-d")}{$lang->cmd_view}{$lang->cmd_view}{$lang->cmd_copy} {$lang->cmd_delete}