From e0e99b1b460cf7831c1e099fd6ebc243c909f8c2 Mon Sep 17 00:00:00 2001 From: zero Date: Wed, 27 Jun 2007 05:28:25 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@1791 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- layouts/zb5_site/conf/info.xml | 30 ++++------- modules/blog/tpl/top_refresh.html | 1 + modules/layout/layout.admin.controller.php | 58 +++++++++++++++++++++- modules/layout/tpl/layout_modify.html | 19 ++++++- modules/layout/tpl/top_refresh.html | 4 ++ 5 files changed, 90 insertions(+), 22 deletions(-) create mode 100644 modules/layout/tpl/top_refresh.html diff --git a/layouts/zb5_site/conf/info.xml b/layouts/zb5_site/conf/info.xml index 7946afeac..2124f0dde 100644 --- a/layouts/zb5_site/conf/info.xml +++ b/layouts/zb5_site/conf/info.xml @@ -1,30 +1,24 @@ - 견본 레이아웃 (PHP 메뉴) - - 제로 + zb5beta 사이트 레이아웃 + + styx - 가장 기본적인 기능으로 이루어진 견본 레이아웃입니다. - main_menu, bottom_menu 2개의 메뉴로 구성되어 있으며 각 메뉴의 출력은 php 코드로 하게 됩니다. - 레이아웃을 만들때 js menu 보다는 복잡하지만 자유도가 높습니다. + zb5beta에서 사용되던 사이트 레이아웃입니다. 컬러셋 원하시는 컬러셋을 선택해주세요. - - 적색 - red - - 청색 + 파란색 blue - - 상단 제목 - 레이아웃의 상단에 표시할 제목을 입력하세요. + + 로고이미지 + 레이아웃의 상단에 표시될 로고이미지를 입력하세요. 홈 페이지 URL @@ -33,12 +27,8 @@ - 주 메뉴 - 2 - - - 하단 메뉴 - 1 + 상단 메뉴 + 3 diff --git a/modules/blog/tpl/top_refresh.html b/modules/blog/tpl/top_refresh.html index 2f4983d1d..1c4d1632d 100644 --- a/modules/blog/tpl/top_refresh.html +++ b/modules/blog/tpl/top_refresh.html @@ -1,3 +1,4 @@ diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 1297a9ccf..1ebc86d2b 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -70,6 +70,59 @@ $oModuleController->updateModuleLayout($args->layout_srl, $menu_srl_list); } } + + // extra_vars의 type이 image일 경우 별도 처리를 해줌 + if($extra_vars) { + foreach($extra_vars as $vars) { + if($vars->type!='image') continue; + + $image_obj = $obj->{$vars->name}; + + // 삭제 요청에 대한 변수를 구함 + $del_var = $obj->{"del_".$vars->name}; + unset($obj->{"del_".$vars->name}); + if($del_var == 'Y') { + @unlink($module_info->{$vars->name}); + continue; + } + + // 업로드 되지 않았다면 이전 데이터를 그대로 사용 + if(!$image_obj['tmp_name']) { + $obj->{$vars->name} = $module_info->{$vars->name}; + continue; + } + + // 정상적으로 업로드된 파일이 아니면 무시 + if(!is_uploaded_file($image_obj['tmp_name'])) { + unset($obj->{$vars->name}); + continue; + } + + // 이미지 파일이 아니어도 무시 + if(!eregi("\.(jpg|jpeg|gif|png)$", $image_obj['name'])) { + unset($obj->{$vars->name}); + continue; + } + + // 경로를 정해서 업로드 + $path = sprintf("./files/attach/images/%s/", $args->layout_srl); + + // 디렉토리 생성 + if(!FileHandler::makeDir($path)) return false; + + $filename = $path.$image_obj['name']; + + // 파일 이동 + if(!move_uploaded_file($image_obj['tmp_name'], $filename)) { + unset($obj->{$vars->name}); + continue; + } + + // 변수를 바꿈 + unset($obj->{$vars->name}); + $obj->{$vars->name} = $filename; + } + } // DB에 입력하기 위한 변수 설정 $args->extra_vars = serialize($extra_vars); @@ -77,7 +130,10 @@ $output = $this->updateLayout($args); if(!$output->toBool()) return $output; - $this->setMessage('success_updated'); + $this->setLayoutPath('./common/tpl'); + $this->setLayoutFile('default_layout.html'); + $this->setTemplatePath($this->module_path.'tpl'); + $this->setTemplateFile("top_refresh.html"); } function updateLayout($args) { diff --git a/modules/layout/tpl/layout_modify.html b/modules/layout/tpl/layout_modify.html index 689d803a5..981d96b5f 100644 --- a/modules/layout/tpl/layout_modify.html +++ b/modules/layout/tpl/layout_modify.html @@ -27,7 +27,10 @@ -
+ + + + @@ -52,6 +55,18 @@ + + + +
+
+ + +
+ + + +