diff --git a/modules/blog/blog.controller.php b/modules/blog/blog.controller.php
index 4022da883..31fa1fd5a 100644
--- a/modules/blog/blog.controller.php
+++ b/modules/blog/blog.controller.php
@@ -353,7 +353,7 @@
**/
function procBlogAdminInsertBlog() {
// 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리
- $args = Context::gets('module_srl','module_category_srl','blog_name','skin','browser_title','description','is_default','header_text','footer_text','admin_id');
+ $args = Context::gets('module_srl','module_category_srl','blog_name','skin','browser_title','description','is_default','header_text','footer_text','admin_id','open_rss');
$args->module = 'blog';
$args->mid = $args->blog_name;
unset($args->blog_name);
diff --git a/modules/blog/blog.view.php b/modules/blog/blog.view.php
index 0b374e021..82220a154 100644
--- a/modules/blog/blog.view.php
+++ b/modules/blog/blog.view.php
@@ -103,8 +103,8 @@
Context::set('module_info',$this->module_info);
Context::set('layout_info',$this->module_info);
- // rss url 만듬
- if($this->grant->list) Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBlogRss'));
+ // rss url
+ if($this->module_info->open_rss != 'N') Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBoardRss'));
}
/**
diff --git a/modules/blog/tpl/blog_info.html b/modules/blog/tpl/blog_info.html
index b3d31f160..9f8c24594 100644
--- a/modules/blog/tpl/blog_info.html
+++ b/modules/blog/tpl/blog_info.html
@@ -19,6 +19,10 @@
{$lang->browser_title} |
{htmlspecialchars($module_info->browser_title)} |
+
+ | {$lang->open_rss} |
+ {$lang->open_rss_types[$module_info->open_rss]} |
+
| {$lang->list_count} |
{$module_info->list_count?$module_info->list_count:20} |
diff --git a/modules/blog/tpl/blog_insert.html b/modules/blog/tpl/blog_insert.html
index f4f53d93d..984c5cd0f 100644
--- a/modules/blog/tpl/blog_insert.html
+++ b/modules/blog/tpl/blog_insert.html
@@ -28,6 +28,16 @@
| {$lang->about_mid} |
+
+
+ | {$lang->is_default} |
+ is_default=='Y')-->checked="true"/> |
+
+
+ | {$lang->about_default} |
+
+
+
| {$lang->category} |
@@ -49,6 +59,19 @@
|
| {$lang->about_browser_title} |
+
+ | {$lang->open_rss} |
+
+
+ |
+
+
+ | {$lang->about_open_rss} |
+
| {$lang->skin} |
@@ -77,16 +100,6 @@
| {$lang->about_page_count} |
-
-
- | {$lang->is_default} |
- is_default=='Y')-->checked="true"/> |
-
-
- | {$lang->about_default} |
-
-
-
| {$lang->description} |
|
diff --git a/modules/blog/tpl/filter/insert_blog.xml b/modules/blog/tpl/filter/insert_blog.xml
index 8c23292c4..371a33a62 100644
--- a/modules/blog/tpl/filter/insert_blog.xml
+++ b/modules/blog/tpl/filter/insert_blog.xml
@@ -19,6 +19,7 @@
+
diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php
index b8063167f..bbf40e231 100644
--- a/modules/board/board.controller.php
+++ b/modules/board/board.controller.php
@@ -383,7 +383,7 @@
function procBoardAdminInsertBoard($args = null) {
// 일단 입력된 값들을 모두 받아서 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');
+ $args = Context::gets('module_srl','module_category_srl','board_name','layout_srl','skin','browser_title','description','is_default','header_text','footer_text','admin_id','open_rss');
}
$args->module = 'board';
diff --git a/modules/board/board.view.php b/modules/board/board.view.php
index 69f7c9f87..7312bbaa2 100644
--- a/modules/board/board.view.php
+++ b/modules/board/board.view.php
@@ -77,7 +77,7 @@
$this->setTemplatePath($template_path);
// rss url
- if($this->grant->view) Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBoardRss'));
+ if($this->module_info->open_rss != 'N') Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBoardRss'));
}
/**
diff --git a/modules/board/tpl/board_info.html b/modules/board/tpl/board_info.html
index 508f039c3..258dbfdf1 100644
--- a/modules/board/tpl/board_info.html
+++ b/modules/board/tpl/board_info.html
@@ -33,6 +33,10 @@
{$lang->use_category} |
{$lang->use}{$lang->notuse} |
+
+ | {$lang->open_rss} |
+ {$lang->open_rss_types[$module_info->open_rss]} |
+
| {$lang->list_count} |
{$module_info->list_count?$module_info->list_count:20} |
diff --git a/modules/board/tpl/board_insert.html b/modules/board/tpl/board_insert.html
index ecb8677ce..d2dde8503 100644
--- a/modules/board/tpl/board_insert.html
+++ b/modules/board/tpl/board_insert.html
@@ -28,6 +28,17 @@
| {$lang->about_mid} |
+
+
+
+ | {$lang->is_default} |
+ is_default=='Y')-->checked="true"/> |
+
+
+ | {$lang->about_default} |
+
+
+
| {$lang->category} |
@@ -42,6 +53,7 @@
|
| {$lang->about_category} |
+
| {$lang->browser_title} |
|
@@ -83,6 +95,19 @@
| {$lang->about_use_category} |
+
+ | {$lang->open_rss} |
+
+
+ |
+
+
+ | {$lang->about_open_rss} |
+
| {$lang->list_count} |
|
@@ -98,16 +123,6 @@
{$lang->about_page_count} |
-
-
- | {$lang->is_default} |
- is_default=='Y')-->checked="true"/> |
-
-
- | {$lang->about_default} |
-
-
-
| {$lang->description} |
|
diff --git a/modules/board/tpl/filter/insert_board.xml b/modules/board/tpl/filter/insert_board.xml
index 3655b3fcc..64c88109d 100644
--- a/modules/board/tpl/filter/insert_board.xml
+++ b/modules/board/tpl/filter/insert_board.xml
@@ -20,6 +20,7 @@
+
diff --git a/modules/module/lang/ko.lang.php b/modules/module/lang/ko.lang.php
index d0591d2db..b023e0ea9 100644
--- a/modules/module/lang/ko.lang.php
+++ b/modules/module/lang/ko.lang.php
@@ -22,6 +22,12 @@
$lang->skin_default_info = '스킨 기본정보';
$lang->skin_maker = '스킨제작자';
$lang->skin_maker_homepage = '제작자 홈페이지';
+ $lang->open_rss = 'RSS 공개';
+ $lang->open_rss_types = array(
+ 'Y' => '전문 공개 ',
+ 'H' => '요약 공개',
+ 'N' => '공개하지 않음',
+ );
$lang->cmd_add_shortcut = "바로가기 추가";
$lang->cmd_install = "설치";
@@ -33,6 +39,7 @@
$lang->msg_new_module = "모듈 생성";
$lang->msg_update_module = "모듈 수정";
+ $lang->msg_module_name_exists = "이미 존재하는 모듈이름입니다. 다른 이름을 입력해주세요.";
$lang->msg_category_is_null = '등록된 분류가 없습니다';
$lang->msg_grant_is_null = '등록된 권한 대상이 없습니다';
$lang->msg_no_checked_document = '선택된 게시물이 없습니다';
@@ -53,4 +60,5 @@
$lang->about_page_count = '목록 하단 페이지 이동 하는 링크의 수를 지정하실 수 있습니다. (기본 10개)';
$lang->about_admin_id = '해당 모듈에 대해 최고 권한을 가지는 관리자를 지정할 수 있습니다.
,(콤마)로 다수 아이디 지정이 가능합니다. (관리자페이지 접근은 불가능)';
$lang->about_grant = '특정 권한의 대상을 모두 해제하시면 로그인하지 않은 회원까지 권한을 가질 수 있습니다';
+ $lang->about_open_rss = '현재 모듈에 대한 RSS 공개를 선택하실 수 있습니다. 글 보는 권한과 상관없이 옵션에 따라 RSS가 공개됩니다';
?>
diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php
index 0b42fc39f..0e4f0a43d 100644
--- a/modules/module/module.controller.php
+++ b/modules/module/module.controller.php
@@ -73,6 +73,13 @@
$oDB = &DB::getInstance();
$oDB->begin();
+ // 이미 존재하는 모듈 이름인지 체크
+ $output = executeQuery('module.isExistsModuleName', $args);
+ if(!$output->toBool() || $output->data->count) {
+ $oDB->rollback();
+ return new Object(-1, 'msg_module_name_exists');
+ }
+
// module model 객체 생성
$oModuleModel = &getModel('module');
@@ -101,10 +108,31 @@
* @brief 모듈의 정보를 수정
**/
function updateModule($args) {
+ // begin transaction
+ $oDB = &DB::getInstance();
+ $oDB->begin();
+
+ // 이미 존재하는 모듈 이름인지 체크
+ $output = executeQuery('module.isExistsModuleName', $args);
+ if(!$output->toBool() || $output->data->count) {
+ $oDB->rollback();
+ return new Object(-1, 'msg_module_name_exists');
+ }
+
$output = executeQuery('module.updateModule', $args);
- if(!$output->toBool()) return $output;
+ if(!$output->toBool()) {
+ $oDB->rollback();
+ return $output;
+ }
$output->add('module_srl',$args->module_srl);
+ if(!$output->toBool()) {
+ $oDB->rollback();
+ return $output;
+ }
+
+ $oDB->commit();
+
return $output;
}
diff --git a/modules/module/queries/insertModule.xml b/modules/module/queries/insertModule.xml
index d25c69c38..c813b5bb4 100644
--- a/modules/module/queries/insertModule.xml
+++ b/modules/module/queries/insertModule.xml
@@ -17,6 +17,7 @@
+
diff --git a/modules/module/queries/isExistsModuleName.xml b/modules/module/queries/isExistsModuleName.xml
new file mode 100644
index 000000000..3b11959d0
--- /dev/null
+++ b/modules/module/queries/isExistsModuleName.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/module/queries/updateModule.xml b/modules/module/queries/updateModule.xml
index e77655ee0..1d3d8e4dc 100644
--- a/modules/module/queries/updateModule.xml
+++ b/modules/module/queries/updateModule.xml
@@ -15,6 +15,7 @@
+
diff --git a/modules/module/schemas/modules.xml b/modules/module/schemas/modules.xml
index d8878dde7..ed918546c 100644
--- a/modules/module/schemas/modules.xml
+++ b/modules/module/schemas/modules.xml
@@ -14,6 +14,7 @@
+