git-svn-id: http://xe-core.googlecode.com/svn/trunk@1254 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-04-20 01:23:49 +00:00
parent 4d61c7a666
commit 1d28f14c5f
8 changed files with 110 additions and 14 deletions

View file

@ -325,11 +325,13 @@
// 기본 값외의 것들을 정리 // 기본 값외의 것들을 정리
$extra_var = delObjectVars(Context::getRequestVars(), $args); $extra_var = delObjectVars(Context::getRequestVars(), $args);
unset($extra_var->mo);
unset($extra_var->act); unset($extra_var->act);
unset($extra_var->page); unset($extra_var->page);
unset($extra_var->blog_name); unset($extra_var->blog_name);
$oDB = &DB::getInstance();
$oDB->begin();
// module_srl이 넘어오면 원 모듈이 있는지 확인 // module_srl이 넘어오면 원 모듈이 있는지 확인
if($args->module_srl) { if($args->module_srl) {
$oModuleModel = &getModel('module'); $oModuleModel = &getModel('module');
@ -350,8 +352,12 @@
// module_srl의 값에 따라 insert/update // module_srl의 값에 따라 insert/update
if(!$args->module_srl) { if(!$args->module_srl) {
// 블로그 등록
$output = $oModuleController->insertModule($args); $output = $oModuleController->insertModule($args);
$msg_code = 'success_registed'; if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// 글작성, 파일첨부, 댓글 파일첨부, 관리에 대한 권한 지정 // 글작성, 파일첨부, 댓글 파일첨부, 관리에 대한 권한 지정
if($output->toBool()) { if($output->toBool()) {
@ -362,14 +368,52 @@
$module_srl = $output->get('module_srl'); $module_srl = $output->get('module_srl');
$grants = serialize(array('write_document'=>array($admin_group_srl), 'fileupload'=>array($admin_group_srl), 'comment_fileupload'=>array($admin_group_srl), 'manager'=>array($admin_group_srl))); $grants = serialize(array('write_document'=>array($admin_group_srl), 'fileupload'=>array($admin_group_srl), 'comment_fileupload'=>array($admin_group_srl), 'manager'=>array($admin_group_srl)));
$oModuleController->updateModuleGrant($module_srl, $grants); $output = $oModuleController->updateModuleGrant($module_srl, $grants);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
} }
// 레이아웃 등록
$layout_args->layout_srl = $layout_args->module_srl = $module_srl;
$layout_args->layout = 'blog';
$layout_args->title = sprintf('%s (%s)',$args->browser_title, $args->mid);
$layout_args->layout_path = sprintf('./modules/blog/skin/%s/layout.html', $args->skin);
$oLayoutController = &getController('layout');
$output = $oLayoutController->insertLayout($layout_args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
$msg_code = 'success_registed';
} else { } else {
// 블로그 데이터 수정
$output = $oModuleController->updateModule($args); $output = $oModuleController->updateModule($args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// 레이아웃 수정
$layout_args->layout_srl = $layout_args->module_srl = $module_srl;
$layout_args->title = $args->browser_title;
$layout_args->extra_vars = $args->extra_vars;
$layout_args->layout_path = sprintf('./modules/blog/skin/%s/layout.html', $args->skin);
$oLayoutController = &getController('layout');
$output = $oLayoutController->updateLayout($layout_args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
$msg_code = 'success_updated'; $msg_code = 'success_updated';
} }
if(!$output->toBool()) return $output; $oDB->commit();
$this->add('page',Context::get('page')); $this->add('page',Context::get('page'));
$this->add('module_srl',$output->get('module_srl')); $this->add('module_srl',$output->get('module_srl'));
@ -382,10 +426,28 @@
function procBlogAdminDeleteBlog() { function procBlogAdminDeleteBlog() {
$module_srl = Context::get('module_srl'); $module_srl = Context::get('module_srl');
$oDB = &DB::getInstance();
$oDB->begin();
// 원본을 구해온다 // 원본을 구해온다
$oModuleController = &getController('module'); $oModuleController = &getController('module');
$output = $oModuleController->deleteModule($module_srl); $output = $oModuleController->deleteModule($module_srl);
if(!$output->toBool()) return $output; if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// 레이아웃 삭제
$layout_args->layout_srl = $layout_args->module_srl = $module_srl;
$oLayoutController = &getController('layout');
$output = $oLayoutController->deleteLayout($layout_args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
$oDB->commit();
$this->add('module','blog'); $this->add('module','blog');
$this->add('page',Context::get('page')); $this->add('page',Context::get('page'));

View file

@ -22,12 +22,17 @@
$args->layout = Context::get('layout'); $args->layout = Context::get('layout');
$args->title = Context::get('title'); $args->title = Context::get('title');
$output = executeQuery("layout.insertLayout", $args); $output = $this->insertLayout($args);
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
$this->add('layout_srl', $args->layout_srl); $this->add('layout_srl', $args->layout_srl);
} }
function insertLayout($args) {
$output = executeQuery("layout.insertLayout", $args);
return $output;
}
/** /**
* @brief 레이아웃 정보 변경 * @brief 레이아웃 정보 변경
* 생성된 레이아웃의 제목과 확장변수(extra_vars) 적용한다 * 생성된 레이아웃의 제목과 확장변수(extra_vars) 적용한다
@ -70,13 +75,17 @@
// DB에 입력하기 위한 변수 설정 // DB에 입력하기 위한 변수 설정
$args->extra_vars = serialize($extra_vars); $args->extra_vars = serialize($extra_vars);
$output = $this->updateLayout($args);
$output = executeQuery('layout.updateLayout', $args);
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
$this->setMessage('success_updated'); $this->setMessage('success_updated');
} }
function updateLayout($args) {
$output = executeQuery('layout.updateLayout', $args);
return $output;
}
/** /**
* @brief 레이아웃 삭제 * @brief 레이아웃 삭제
* 삭제시 메뉴 xml 캐시 파일도 삭제 * 삭제시 메뉴 xml 캐시 파일도 삭제
@ -95,11 +104,16 @@
// 레이아웃 삭제 // 레이아웃 삭제
$args->layout_srl = $layout_srl; $args->layout_srl = $layout_srl;
$output = executeQuery("layout.deleteLayout", $args);
$output = $this->deleteLayout($args);
if(!$output->toBool()) return $output; if(!$output->toBool()) return $output;
$this->setMessage('success_deleted'); $this->setMessage('success_deleted');
} }
function deleteLayout($args) {
$output = executeQuery("layout.deleteLayout", $args);
return $output;
}
} }
?> ?>

View file

@ -6,6 +6,8 @@
<column name="layout_srl" var="layout_srl" filter="number" notnull="notnull" /> <column name="layout_srl" var="layout_srl" filter="number" notnull="notnull" />
<column name="layout" var="layout" notnull="notnull" /> <column name="layout" var="layout" notnull="notnull" />
<column name="title" var="title" notnull="notnull" /> <column name="title" var="title" notnull="notnull" />
<column name="module_srl" var="module_srl" />
<column name="layout_path" var="layout_path" />
<column name="regdate" var="regdate" default="curdate()" /> <column name="regdate" var="regdate" default="curdate()" />
</columns> </columns>
</query> </query>

View file

@ -5,6 +5,7 @@
<columns> <columns>
<column name="title" var="title" notnull="notnull" /> <column name="title" var="title" notnull="notnull" />
<column name="extra_vars" var="extra_vars" /> <column name="extra_vars" var="extra_vars" />
<column name="layout_path" var="layout_path" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="layout_srl" var="layout_srl" filter="number" notnull="notnull" /> <condition operation="equal" column="layout_srl" var="layout_srl" filter="number" notnull="notnull" />

View file

@ -3,5 +3,7 @@
<column name="layout" type="varchar" size="250" /> <column name="layout" type="varchar" size="250" />
<column name="title" type="varchar" size="250" /> <column name="title" type="varchar" size="250" />
<column name="extra_vars" type="text" /> <column name="extra_vars" type="text" />
<column name="layout_path" type="varchar" size="250" />
<column name="module_srl" type="number" size="12" default="0" index="idx_module_srl" />
<column name="regdate" type="date" index="idx_regdate" /> <column name="regdate" type="date" index="idx_regdate" />
</table> </table>

View file

@ -25,10 +25,25 @@
<!--@foreach($layout_list as $no => $val)--> <!--@foreach($layout_list as $no => $val)-->
<tr> <tr>
<td>{$no+1}</td> <td>{$no+1}</td>
<td>{$val->layout}</td> <td>
<td><a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminModify','layout_srl',$val->layout_srl)}';return false;">{htmlspecialchars($val->title)}</a></td> {$val->layout}
<!--@if($val->module_srl)-->
(module)
<!--@end-->
</td>
<td>
<!--@if(!$val->module_srl)-->
<a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminModify','layout_srl',$val->layout_srl)}';return false;">{htmlspecialchars($val->title)}</a>
<!--@else-->
{htmlspecialchars($val->title)}
<!--@end-->
</td>
<td>{zdate($val->regdate,"Y-m-d")}</td> <td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="#" onclick="doDeleteLayout('{$val->layout_srl}');return false;">{$lang->cmd_delete}</a></td> <td>
<!--@if(!$val->module_srl)-->
<a href="#" onclick="doDeleteLayout('{$val->layout_srl}');return false;">{$lang->cmd_delete}</a>
<!--@end-->
</td>
</tr> </tr>
<!--@end--> <!--@end-->

View file

@ -8,7 +8,7 @@
<column name="mid" var="mid" notnull="notnull" minlength="1" maxlength="40" /> <column name="mid" var="mid" notnull="notnull" minlength="1" maxlength="40" />
<column name="skin" var="skin" minlength="1" maxlength="250" /> <column name="skin" var="skin" minlength="1" maxlength="250" />
<column name="browser_title" var="browser_title" notnull="notnull" minlength="1" maxlength="250" /> <column name="browser_title" var="browser_title" notnull="notnull" minlength="1" maxlength="250" />
<column name="layout_srl" var="layout_srl" notnull="notnull" /> <column name="layout_srl" var="layout_srl" />
<column name="description" var="description" /> <column name="description" var="description" />
<column name="content" var="content" /> <column name="content" var="content" />
<column name="module" var="module" notnull="notnull" maxlength="80"/> <column name="module" var="module" notnull="notnull" maxlength="80"/>

View file

@ -7,7 +7,7 @@
<column name="module_category_srl" var="module_category_srl" /> <column name="module_category_srl" var="module_category_srl" />
<column name="skin" var="skin" minlength="1" maxlength="250" /> <column name="skin" var="skin" minlength="1" maxlength="250" />
<column name="browser_title" var="browser_title" notnull="notnull" minlength="1" maxlength="250" /> <column name="browser_title" var="browser_title" notnull="notnull" minlength="1" maxlength="250" />
<column name="layout_srl" var="layout_srl" notnull="notnull" /> <column name="layout_srl" var="layout_srl" />
<column name="description" var="description" /> <column name="description" var="description" />
<column name="content" var="content" /> <column name="content" var="content" />
<column name="module" var="module" notnull="notnull" maxlength="80"/> <column name="module" var="module" notnull="notnull" maxlength="80"/>