diff --git a/modules/blog/blog.admin.controller.php b/modules/blog/blog.admin.controller.php
deleted file mode 100644
index fc37b7fda..000000000
--- a/modules/blog/blog.admin.controller.php
+++ /dev/null
@@ -1,468 +0,0 @@
-xml_info->grant;
-
- if(count($grant_list)) {
- foreach($grant_list as $key => $val) {
- $group_srls = Context::get($key);
- if($group_srls) $arr_grant[$key] = explode('|@|',$group_srls);
- }
- $grants = serialize($arr_grant);
- }
-
- $oModuleController = &getController('module');
- $oModuleController->updateModuleGrant($module_srl, $grants);
-
- $this->add('module_srl',Context::get('module_srl'));
- $this->setMessage('success_registed');
- }
-
- /**
- * @brief 스킨 정보 업데이트
- **/
- function procBlogAdminUpdateSkinInfo() {
- // module_srl에 해당하는 정보들을 가져오기
- $module_srl = Context::get('module_srl');
-
- $oModuleModel = &getModel('module');
- $oModuleController = &getController('module');
-
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
- $skin = $module_info->skin;
-
- // 스킨의 정보르 구해옴 (extra_vars를 체크하기 위해서)
- $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
-
- // 입력받은 변수들을 체크 (mo, act, module_srl, page등 기본적인 변수들 없앰)
- $obj = Context::getRequestVars();
- unset($obj->act);
- unset($obj->module_srl);
- unset($obj->page);
-
- // 원 skin_info에서 extra_vars의 type이 image일 경우 별도 처리를 해줌
- if($skin_info->extra_vars) {
- foreach($skin_info->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(!preg_match("/\.(jpg|jpeg|gif|png)$/i", $image_obj['name'])) {
- unset($obj->{$vars->name});
- continue;
- }
-
- // 경로를 정해서 업로드
- $path = sprintf("./files/attach/images/%s/", $module_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;
- }
- }
-
- // 메뉴 관리
- $menus = get_object_vars($skin_info->menu);
- if(count($menus)) {
- foreach($menus as $menu_id => $val) {
- $menu_srl = Context::get($menu_id);
- if($menu_srl) {
- $obj->menu->{$menu_id} = $menu_srl;
- $obj->{$menu_id} = $menu_srl;
- $menu_srl_list[] = $menu_srl;
- }
- }
-
- // 정해진 메뉴가 있으면 모듈 및 메뉴에 대한 레이아웃 연동
- /*
- if(count($menu_srl_list)) {
- // 해당 메뉴와 레이아웃 값을 매핑
- $oMenuAdminController = &getAdminController('menu');
- $oMenuAdminController->updateMenuLayout($module_srl, $menu_srl_list);
-
- // 해당 메뉴에 속한 mid의 layout값을 모두 변경
- $oModuleController->updateModuleLayout($module_srl, $menu_srl_list);
- }
- */
- }
-
- // serialize하여 저장
- $oDocumentModel = &getModel('document');
- $obj->category_xml_file = $oDocumentModel->getCategoryXmlFile($module_srl);
- $obj->mid = $module_info->mid;
- $skin_vars = serialize($obj);
-
- $oModuleController->updateModuleSkinVars($module_srl, $skin_vars);
-
- // 레이아웃 확장변수 수정
- $layout_args->mid = $obj->mid;
- $layout_args->extra_vars = $skin_vars;
- $layout_args->layout_srl = $module_srl;
- $oLayoutAdminController = &getAdminController('layout');
- $output = $oLayoutAdminController->updateLayout($layout_args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- $this->setLayoutPath('./common/tpl');
- $this->setLayoutFile('default_layout.html');
- $this->setTemplatePath($this->module_path.'tpl');
- $this->setTemplateFile("top_refresh.html");
- }
-
- /**
- * @brief 블로그 추가
- **/
- 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->module = 'blog';
- $args->mid = $args->blog_name;
- unset($args->blog_name);
- if($args->is_default!='Y') $args->is_default = 'N';
-
- // 기본 값외의 것들을 정리
- $extra_var = delObjectVars(Context::getRequestVars(), $args);
- unset($extra_var->act);
- unset($extra_var->page);
- unset($extra_var->blog_name);
-
- // 확장변수(20개로 제한된 고정 변수) 체크
- $user_defined_extra_vars = array();
- foreach($extra_var as $key => $val) {
- if(substr($key,0,11)!='extra_vars_') continue;
- preg_match('/^extra_vars_([0-9]+)_(.*)$/i', $key, $matches);
- if(!$matches[1] || !$matches[2]) continue;
-
- $user_defined_extra_vars[$matches[1]]->{$matches[2]} = $val;
- unset($extra_var->{$key});
- }
- for($i=1;$i<=20;$i++) if(!$user_defined_extra_vars[$i]->name) unset($user_defined_extra_vars[$i]);
- $extra_var->extra_vars = $user_defined_extra_vars;
-
- $oDB = &DB::getInstance();
- $oDB->begin();
-
- // module_srl이 넘어오면 원 모듈이 있는지 확인
- if($args->module_srl) {
- $oModuleModel = &getModel('module');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl);
-
- // 만약 원래 모듈이 없으면 새로 입력하기 위한 처리
- if($module_info->module_srl != $args->module_srl) unset($args->module_srl);
- }
-
- // $extra_var를 serialize
- $args->extra_vars = serialize($extra_var);
-
- // module 모듈의 controller 객체 생성
- $oModuleController = &getController('module');
-
- // is_default=='Y' 이면
- if($args->is_default=='Y') $oModuleController->clearDefaultModule();
-
- // module_srl의 값에 따라 insert/update
- if(!$args->module_srl) {
- // 블로그 등록
- $output = $oModuleController->insertModule($args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- // 글작성, 파일첨부, 댓글 파일첨부, 관리에 대한 권한 지정
- if($output->toBool()) {
- $oMemberModel = &getModel('member');
- $admin_group = $oMemberModel->getAdminGroup();
- $admin_group_srl = $admin_group->group_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)));
-
- $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/skins/%s/layout.html', $args->skin);
-
- $oLayoutController = &getAdminController('layout');
- $output = $oLayoutController->insertLayout($layout_args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- // 기본 카테고리 등록
- $category_args->module_srl = $args->module_srl;
- $category_args->category_srl = getNextSequence();
- $category_args->title = 'Story';
- $category_args->expand = 'N';
- $this->procBlogAdminInsertCategory($category_args);
-
- $msg_code = 'success_registed';
- } else {
- // 블로그 데이터 수정
- $output = $oModuleController->updateModule($args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- // 레이아웃 수정
- $layout_args->mid = $args->mid;
- $layout_args->layout_srl = $layout_args->module_srl = $module_srl = $output->get('module_srl');
- $layout_args->title = $args->browser_title;
- $layout_args->layout_path = sprintf('./modules/blog/skins/%s/layout.html', $args->skin);
-
- $oLayoutAdminController = &getAdminController('layout');
- $output = $oLayoutAdminController->updateLayout($layout_args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- $msg_code = 'success_updated';
- }
-
- $oDB->commit();
-
- $this->add('page',Context::get('page'));
- $this->add('module_srl',$output->get('module_srl'));
- $this->setMessage($msg_code);
- }
-
- /**
- * @brief 카테고리 추가
- **/
- function procBlogAdminInsertCategory($args = null) {
- // 입력할 변수 정리
- if(!$args) $args = Context::gets('module_srl','category_srl','parent_srl','title','expand','group_srls');
-
- if($args->expand !="Y") $args->expand = "N";
- $args->group_srls = str_replace('|@|',',',$args->group_srls);
- $args->parent_srl = (int)$args->parent_srl;
-
- $oDocumentController = &getController('document');
- $oDocumentModel = &getModel('document');
-
- $oDB = &DB::getInstance();
- $oDB->begin();
-
- // 이미 존재하는지를 확인
- if($args->category_srl) {
- $category_info = $oDocumentModel->getCategory($args->category_srl);
- if($category_info->category_srl != $args->category_srl) $args->category_srl = null;
- }
-
- // 존재하게 되면 update를 해준다
- if($args->category_srl) {
- $output = $oDocumentController->updateCategory($args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- // 존재하지 않으면 insert를 해준다
- } else {
- $output = $oDocumentController->insertCategory($args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
- }
-
- // XML 파일을 갱신하고 위치을 넘겨 받음
- $xml_file = $oDocumentController->makeCategoryFile($args->module_srl);
-
- $oDB->commit();
-
- $this->add('xml_file', $xml_file);
- $this->add('module_srl', $args->module_srl);
- $this->add('category_srl', $args->category_srl);
- $this->add('parent_srl', $args->parent_srl);
- }
-
-
- /**
- * @brief 블로그 삭제
- **/
- function procBlogAdminDeleteBlog() {
- $module_srl = Context::get('module_srl');
-
- $oDB = &DB::getInstance();
- $oDB->begin();
-
- // 블로그 모듈 삭제
- $oModuleController = &getController('module');
- $output = $oModuleController->deleteModule($module_srl);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- // 레이아웃 삭제
- $layout_args->layout_srl = $layout_args->module_srl = $module_srl;
- $oLayoutAdminController = &getAdminController('layout');
- $output = $oLayoutAdminController->deleteLayout($layout_args);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- $oDB->commit();
-
- $this->add('module','blog');
- $this->add('page',Context::get('page'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 카테고리 삭제
- **/
- function procBlogAdminDeleteCategory() {
- // 변수 정리
- $args = Context::gets('module_srl','category_srl');
-
- $oDB = &DB::getInstance();
- $oDB->begin();
-
- $oDocumentModel = &getModel('document');
-
- // 원정보를 가져옴
- $category_info = $oDocumentModel->getCategory($args->category_srl);
- if($category_info->parent_srl) $parent_srl = $category_info->parent_srl;
-
- // 자식 노드가 있는지 체크하여 있으면 삭제 못한다는 에러 출력
- if($oDocumentModel->getCategoryChlidCount($args->category_srl)) return new Object(-1, 'msg_cannot_delete_for_child');
-
- // DB에서 삭제
- $oDocumentController = &getController('document');
- $output = $oDocumentController->deleteCategory($args->category_srl);
- if(!$output->toBool()) {
- $oDB->rollback();
- return $output;
- }
-
- // XML 파일을 갱신하고 위치을 넘겨 받음
- $xml_file = $oDocumentController->makeCategoryFile($args->module_srl);
-
- $oDB->commit();
-
- $this->add('xml_file', $xml_file);
- $this->add('category_srl', $parent_srl);
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 카테고리 이동
- **/
- function procBlogAdminMoveCategory() {
- $source_category_srl = Context::get('source_category_srl');
- $target_category_srl = Context::get('target_category_srl');
-
- $oDocumentModel = &getModel('document');
- $oDocumentController = &getController('document');
-
- $target_category = $oDocumentModel->getCategory($target_category_srl);
- $source_category = $oDocumentModel->getCategory($source_category_srl);
-
- // source_category에 target_category_srl의 parent_srl, list_order 값을 입력
- $source_args->category_srl = $source_category_srl;
- $source_args->parent_srl = $target_category->parent_srl;
- $source_args->list_order = $target_category->list_order;
- $output = $oDocumentController->updateCategory($source_args);
- if(!$output->toBool()) return $output;
-
- // target_category의 list_order값을 +1해 준다
- $target_args->category_srl = $target_category_srl;
- $target_args->parent_srl = $source_category->parent_srl;
- $target_args->list_order = $source_category->list_order;
- $output = $oDocumentController->updateCategory($target_args);
- if(!$output->toBool()) return $output;
-
- // xml파일 재생성
- $xml_file = $oDocumentController->makeCategoryFile($source_category->module_srl);
-
- // return 변수 설정
- $this->add('xml_file', $xml_file);
- $this->add('source_category_srl', $source_category_srl);
- }
-
- /**
- * @brief xml 파일을 갱신
- * 관리자페이지에서 메뉴 구성 후 간혹 xml파일이 재생성 안되는 경우가 있는데\n
- * 이럴 경우 관리자의 수동 갱신 기능을 구현해줌\n
- * 개발 중간의 문제인 것 같고 현재는 문제가 생기지 않으나 굳이 없앨 필요 없는 기능
- **/
- function procBlogAdminMakeXmlFile() {
- // 입력값을 체크
- $module_srl = Context::get('module_srl');
-
- // xml파일 재생성
- $oDocumentController = &getController('document');
- $xml_file = $oDocumentController->makeCategoryFile($module_srl);
-
- // return 값 설정
- $this->add('xml_file',$xml_file);
- }
- }
-?>
diff --git a/modules/blog/blog.admin.model.php b/modules/blog/blog.admin.model.php
deleted file mode 100644
index 791a7bcb8..000000000
--- a/modules/blog/blog.admin.model.php
+++ /dev/null
@@ -1,65 +0,0 @@
-getGroups();
- Context::set('group_list', $group_list);
-
- $oDocumentModel = &getModel('document');
-
- // parent_srl이 있고 category_srl 이 없으면 하부 메뉴 추가임
- if(!$category_srl && $parent_srl) {
- // 상위 메뉴의 정보를 가져옴
- $parent_info = $oDocumentModel->getCategory($parent_srl);
-
- // 추가하려는 메뉴의 기본 변수 설정
- $category_info->category_srl = getNextSequence();
- $category_info->parent_srl = $parent_srl;
- $category_info->parent_category_title = $parent_info->title;
-
- // root에 메뉴 추가하거나 기존 메뉴의 수정일 경우
- } else {
- // category_srl 이 있으면 해당 메뉴의 정보를 가져온다
- if($category_srl) $category_info = $oDocumentModel->getCategory($category_srl);
-
- // 찾아진 값이 없다면 신규 메뉴 추가로 보고 category_srl값만 구해줌
- if(!$category_info->category_srl) {
- $category_info->category_srl = getNextSequence();
- }
- }
-
- Context::set('category_info', $category_info);
-
- // template 파일을 직접 컴파일한후 tpl변수에 담아서 return한다.
- $oTemplate = &TemplateHandler::getInstance();
- $tpl = $oTemplate->compile($this->module_path.'tpl', 'category_info');
-
- // return 할 변수 설정
- $this->add('tpl', $tpl);
- }
-
- }
-?>
diff --git a/modules/blog/blog.admin.view.php b/modules/blog/blog.admin.view.php
deleted file mode 100644
index 42947375f..000000000
--- a/modules/blog/blog.admin.view.php
+++ /dev/null
@@ -1,227 +0,0 @@
-module_srl) {
- $module_srl = $this->module_srl;
- Context::set('module_srl', $module_srl);
- }
-
- // module model 객체 생성
- $oModuleModel = &getModel('module');
-
- // module_srl이 넘어오면 해당 모듈의 정보를 미리 구해 놓음
- if($module_srl) {
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
- if($module_info->module_srl == $module_srl) {
- $this->module_info = $module_info;
- Context::set('module_info',$module_info);
- }
- }
-
- // 모듈 카테고리 목록을 구함
- $module_category = $oModuleModel->getModuleCategories();
- Context::set('module_category', $module_category);
-
- // 만약 블로그 서비스 페이지에서 관리자 기능 호출시 요청된 블로그의 정보와 레이아웃 가져옴
- if($this->mid) {
- $oView = &getView('blog');
- $oView->setModuleInfo($this->module_info, $this->xml_info);
- $oView->init();
- }
-
- // 템플릿 경로 지정 (blog의 경우 tpl에 관리자용 템플릿 모아놓음)
- $this->setTemplatePath($this->module_path."tpl");
- }
-
- /**
- * @brief 블로그 관리 목록 보여줌
- **/
- function dispBlogAdminContent() {
- // 등록된 blog 모듈을 불러와 세팅
- $args->sort_index = "module_srl";
- $args->page = Context::get('page');
- $args->list_count = 40;
- $args->page_count = 10;
- $args->s_module_category_srl = Context::get('module_category_srl');
- $output = executeQuery('blog.getBlogList', $args);
-
- // 템플릿에 쓰기 위해서 context::set
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('blog_list', $output->data);
- Context::set('page_navigation', $output->page_navigation);
-
- // 템플릿 파일 지정
- $this->setTemplateFile('index');
- }
-
- /**
- * @brief 선택된 블로그의 정보 출력
- **/
- function dispBlogAdminBlogInfo() {
-
- // module_srl 값이 없다면 그냥 index 페이지를 보여줌
- if(!Context::get('module_srl')) return $this->dispBlogAdminContent();
-
- // 레이아웃이 정해져 있다면 레이아웃 정보를 추가해줌(layout_title, layout)
- if($this->module_info->layout_srl) {
- $oLayoutModel = &getModel('layout');
- $layout_info = $oLayoutModel->getLayout($this->module_info->layout_srl);
- $this->module_info->layout = $layout_info->layout;
- $this->module_info->layout_title = $layout_info->layout_title;
- }
-
- // 정해진 스킨이 있으면 해당 스킨의 정보를 구함
- if($this->module_info->skin) {
- $oModuleModel = &getModel('module');
- $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $this->module_info->skin);
- $this->module_info->skin_title = $skin_info->title;
- }
-
- // 템플릿 파일 지정
- $this->setTemplateFile('blog_info');
- }
-
- /**
- * @brief 블로그 추가 폼 출력
- **/
- function dispBlogAdminInsertBlog() {
-
- // 스킨 목록을 구해옴
- $oModuleModel = &getModel('module');
- $skin_list = $oModuleModel->getSkins($this->module_path);
- Context::set('skin_list',$skin_list);
-
- // 템플릿 파일 지정
- $this->setTemplateFile('blog_insert');
- }
-
- /**
- * @brief 블로그 추가 설정 보여줌
- * 추가설정은 서비스형 모듈들에서 다른 모듈과의 연계를 위해서 설정하는 페이지임
- **/
- function dispBlogAdminBlogAdditionSetup() {
- // content는 다른 모듈에서 call by reference로 받아오기에 미리 변수 선언만 해 놓음
- $content = '';
-
- // 추가 설정을 위한 트리거 호출
- // 블로그 모듈이지만 차후 다른 모듈에서의 사용도 고려하여 trigger 이름을 공용으로 사용할 수 있도록 하였음
- $output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'before', $content);
- $output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'after', $content);
- Context::set('setup_content', $content);
-
- // 템플릿 파일 지정
- $this->setTemplateFile('addition_setup');
- }
-
- /**
- * @brief 블로그 삭제 화면 출력
- **/
- function dispBlogAdminDeleteBlog() {
-
- if(!Context::get('module_srl')) return $this->dispBlogAdminContent();
-
- $module_info = Context::get('module_info');
-
- $oDocumentModel = &getModel('document');
- $document_count = $oDocumentModel->getDocumentCount($module_info->module_srl);
- $module_info->document_count = $document_count;
-
- Context::set('module_info',$module_info);
-
- // 템플릿 파일 지정
- $this->setTemplateFile('blog_delete');
- }
-
- /**
- * @brief 스킨 정보 보여줌
- **/
- function dispBlogAdminSkinInfo() {
-
- // 현재 선택된 모듈의 스킨의 정보 xml 파일을 읽음
- $module_info = Context::get('module_info');
- $skin = $module_info->skin;
-
- $oModuleModel = &getModel('module');
- $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
-
- // skin_info에 extra_vars 값을 지정
- if(count($skin_info->extra_vars)) {
- foreach($skin_info->extra_vars as $key => $val) {
- $name = $val->name;
- $type = $val->type;
- $value = $module_info->{$name};
- if($type=="checkbox"&&!$value) $value = array();
- $skin_info->extra_vars[$key]->value= $value;
- }
- }
-
- // skin_info에 menu값을 지정
- if(count($skin_info->menu)) {
- foreach($skin_info->menu as $key => $val) {
- if($module_info->{$key}) $skin_info->menu->{$key}->menu_srl = $module_info->{$key};
- }
- }
-
- // 메뉴를 가져옴
- $oMenuAdminModel = &getAdminModel('menu');
- $menu_list = $oMenuAdminModel->getMenus();
- Context::set('menu_list', $menu_list);
-
- Context::set('skin_info', $skin_info);
- $this->setTemplateFile('skin_info');
- }
-
- /**
- * @brief 카테고리의 정보 출력
- **/
- function dispBlogAdminCategoryInfo() {
- // module_srl을 구함
- $module_srl = $this->module_info->module_srl;
-
- // 카테고리 정보를 가져옴
- $oDocumentModel = &getModel('document');
- $category_xml_file = $oDocumentModel->getCategoryXmlFile($module_srl);
-
- Context::set('category_xml_file', $category_xml_file);
- Context::addJsFile('./common/js/tree_menu.js');
-
- Context::set('layout','none');
- $this->setTemplateFile('category_list');
- }
-
- /**
- * @brief 권한 목록 출력
- **/
- function dispBlogAdminGrantInfo() {
- // module_srl을 구함
- $module_srl = Context::get('module_srl');
-
- // module.xml에서 권한 관련 목록을 구해옴
- $grant_list = $this->xml_info->grant;
- Context::set('grant_list', $grant_list);
-
- // 권한 그룹의 목록을 가져온다
- $oMemberModel = &getModel('member');
- $group_list = $oMemberModel->getGroups();
- Context::set('group_list', $group_list);
-
- $this->setTemplateFile('grant_list');
- }
- }
-?>
diff --git a/modules/blog/blog.class.php b/modules/blog/blog.class.php
deleted file mode 100644
index 4af48a94d..000000000
--- a/modules/blog/blog.class.php
+++ /dev/null
@@ -1,90 +0,0 @@
-insertActionForward('blog', 'view', 'dispBlogAdminContent');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminBlogInfo');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminBlogAdditionSetup');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminInsertBlog');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminDeleteBlog');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminSkinInfo');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminCategoryInfo');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminMenuInfo');
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminGrantInfo');
- $oModuleController->insertActionForward('blog', 'controller', 'procBlogAdminUpdateSkinInfo');
-
- return new Object();
- }
-
- /**
- * @brief 설치가 이상이 없는지 체크하는 method
- **/
- function checkUpdate() {
- $oModuleModel = &getModel('module');
-
- /**
- * 2007. 10. 17 : 게시판 모듈설정에 추가 설정 액션 설정
- **/
- if(!$oModuleModel->getActionForward('dispBlogAdminBlogAdditionSetup')) return true;
-
- return false;
- }
-
- /**
- * @brief 업데이트 실행
- **/
- function moduleUpdate() {
- $oModuleModel = &getModel('module');
- $oModuleController = &getController('module');
-
- /**
- * 2007. 10. 17 : 게시판 모듈설정에 추가 설정 액션 설정
- **/
- if(!$oModuleModel->getActionForward('dispBlogAdminBlogAdditionSetup'))
- $oModuleController->insertActionForward('blog', 'view', 'dispBlogAdminBlogAdditionSetup');
-
- return new Object(0, 'success_updated');
- }
-
- /**
- * @brief 캐시 파일 재생성
- **/
- function recompileCache() {
- // 블로그 모듈의 캐시 파일 모두 삭제
- FileHandler::removeDir("./files/cache/blog_category");
-
- $oModuleModel = &getModel('module');
- $oDocumentController = &getController('document');
-
- // 블로그 모듈 목록을 모두 구함
- $args->module = 'blog';
- $output = executeQueryArray("module.getMidList", $args);
- $list = $output->data;
- if(!count($list)) return;
-
- // 블로그 모듈에서 사용되는 모든 메뉴 목록을 재 생성
- foreach($list as $blog_item) {
- $module_srl = $blog_item->module_srl;
- $oDocumentController->makeCategoryFile($module_srl);
- }
-
- }
- }
-?>
diff --git a/modules/blog/blog.controller.php b/modules/blog/blog.controller.php
deleted file mode 100644
index 0002ae302..000000000
--- a/modules/blog/blog.controller.php
+++ /dev/null
@@ -1,221 +0,0 @@
-grant->write_document) return new Object(-1, 'msg_not_permitted');
-
- // 글작성시 필요한 변수를 세팅
- $obj = Context::getRequestVars();
- $obj->module_srl = $this->module_srl;
- if($obj->is_notice!='Y'||!$this->grant->manager) $obj->is_notice = 'N';
-
- // document module의 model 객체 생성
- $oDocumentModel = &getModel('document');
-
- // document module의 controller 객체 생성
- $oDocumentController = &getController('document');
-
- // 이미 존재하는 글인지 체크
- $oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
-
- // 이미 존재하는 경우 수정
- if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl) {
- $output = $oDocumentController->updateDocument($oDocument, $obj);
- $msg_code = 'success_updated';
-
- // 그렇지 않으면 신규 등록
- } else {
- $output = $oDocumentController->insertDocument($obj);
- $msg_code = 'success_registed';
- $obj->document_srl = $output->get('document_srl');
- }
-
- // 오류 발생시 멈춤
- if(!$output->toBool()) return $output;
-
- // 트랙백이 있으면 트랙백 발송
- $trackback_url = Context::get('trackback_url');
- $trackback_charset = Context::get('trackback_charset');
- if($trackback_url) {
- $oTrackbackController = &getController('trackback');
- $oTrackbackController->sendTrackback($obj, $trackback_url, $trackback_charset);
- }
-
- // 결과를 리턴
- $this->add('mid', Context::get('mid'));
- $this->add('document_srl', $output->get('document_srl'));
-
- // 성공 메세지 등록
- $this->setMessage($msg_code);
- }
-
- /**
- * @brief 문서 삭제
- **/
- function procBlogDeleteDocument() {
- // 문서 번호 확인
- $document_srl = Context::get('document_srl');
-
- // 문서 번호가 없다면 오류 발생
- if(!$document_srl) return $this->doError('msg_invalid_document');
-
- // document module model 객체 생성
- $oDocumentController = &getController('document');
-
- // 삭제 시도
- $output = $oDocumentController->deleteDocument($document_srl, $this->grant->manager);
- if(!$output->toBool()) return $output;
-
- // 성공 메세지 등록
- $this->add('mid', Context::get('mid'));
- $this->add('page', $output->get('page'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 코멘트 추가
- **/
- function procBlogInsertComment() {
- // 권한 체크
- if(!$this->grant->write_comment) return new Object(-1, 'msg_not_permitted');
-
- // 댓글 입력에 필요한 데이터 추출
- $obj = Context::gets('document_srl','comment_srl','parent_srl','content','password','nick_name','nick_name','member_srl','email_address','homepage','is_secret','notify_message');
- $obj->module_srl = $this->module_srl;
-
- // comment 모듈의 model 객체 생성
- $oCommentModel = &getModel('comment');
-
- // comment 모듈의 controller 객체 생성
- $oCommentController = &getController('comment');
-
- /**
- * 존재하는 댓글인지를 확인하여 존재 하지 않는 댓글이라면 신규로 등록하기 위해서 comment_srl의 sequence값을 받는다
- **/
- if(!$obj->comment_srl) {
- $obj->comment_srl = getNextSequence();
- } else {
- $comment = $oCommentModel->getComment($obj->comment_srl, $this->grant->manager);
- }
-
- // comment_srl이 없을 경우 신규 입력
- if($comment->comment_srl != $obj->comment_srl) {
-
- // parent_srl이 있으면 답변으로
- if($obj->parent_srl) {
- $parent_comment = $oCommentModel->getComment($obj->parent_srl);
- if(!$parent_comment->comment_srl) return new Object(-1, 'msg_invalid_request');
-
- $output = $oCommentController->insertComment($obj);
-
- // 없으면 신규
- } else {
- $output = $oCommentController->insertComment($obj);
- }
-
- // comment_srl이 있으면 수정으로
- } else {
- $obj->parent_srl = $comment->parent_srl;
- $output = $oCommentController->updateComment($obj, $this->grant->manager);
- $comment_srl = $obj->comment_srl;
- }
-
- if(!$output->toBool()) return $output;
-
- $this->add('mid', Context::get('mid'));
- $this->add('document_srl', $obj->document_srl);
- $this->add('comment_srl', $obj->comment_srl);
-
- $this->setMessage('success_registed');
- }
-
- /**
- * @brief 코멘트 삭제
- **/
- function procBlogDeleteComment() {
- // 댓글 번호 확인
- $comment_srl = Context::get('comment_srl');
- if(!$comment_srl) return $this->doError('msg_invalid_request');
-
- // comment 모듈의 controller 객체 생성
- $oCommentController = &getController('comment');
-
- $output = $oCommentController->deleteComment($comment_srl, $this->grant->manager);
- if(!$output->toBool()) return $output;
-
- $this->add('mid', Context::get('mid'));
- $this->add('page', Context::get('page'));
- $this->add('document_srl', $output->get('document_srl'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 엮인글 삭제
- **/
- function procBlogDeleteTrackback() {
- $trackback_srl = Context::get('trackback_srl');
-
- // trackback module의 controller 객체 생성
- $oTrackbackController = &getController('trackback');
- $output = $oTrackbackController->deleteTrackback($trackback_srl, $this->grant->manager);
- if(!$output->toBool()) return $output;
-
- $this->add('mid', Context::get('mid'));
- $this->add('page', Context::get('page'));
- $this->add('document_srl', $output->get('document_srl'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 문서와 댓글의 비밀번호를 확인
- **/
- function procBlogVerificationPassword() {
- // 비밀번호와 문서 번호를 받음
- $password = Context::get('password');
- $document_srl = Context::get('document_srl');
- $comment_srl = Context::get('comment_srl');
-
- $oMemberModel = &getModel('member');
-
- // comment_srl이 있을 경우 댓글이 대상
- if($comment_srl) {
- // 문서번호에 해당하는 글이 있는지 확인
- $oCommentModel = &getModel('comment');
- $oComment = $oCommentModel->getComment($comment_srl);
- if(!$oComment->isExists()) return new Object(-1, 'msg_invalid_request');
-
- // 문서의 비밀번호와 입력한 비밀번호의 비교
- if(!$oMemberModel->isValidPassword($oComment->get('password'),$password)) return new Object(-1, 'msg_invalid_password');
-
- $oComment->setGrant();
- } else {
- // 문서번호에 해당하는 글이 있는지 확인
- $oDocumentModel = &getModel('document');
- $oDocument = $oDocumentModel->getDocument($document_srl);
- if(!$oDocument->isExists()) return new Object(-1, 'msg_invalid_request');
-
- // 문서의 비밀번호와 입력한 비밀번호의 비교
- if(!$oMemberModel->isValidPassword($oDocument->get('password'),$password)) return new Object(-1, 'msg_invalid_password');
-
- $oDocument->setGrant();
- }
- }
-
- }
-?>
diff --git a/modules/blog/blog.model.php b/modules/blog/blog.model.php
deleted file mode 100644
index 7bed8b2a9..000000000
--- a/modules/blog/blog.model.php
+++ /dev/null
@@ -1,17 +0,0 @@
-
diff --git a/modules/blog/blog.view.php b/modules/blog/blog.view.php
deleted file mode 100644
index cc911e5fa..000000000
--- a/modules/blog/blog.view.php
+++ /dev/null
@@ -1,385 +0,0 @@
-module_srl) Context::set('module_srl',$this->module_srl);
-
- // 기본 모듈 정보들 설정
- $this->list_count = $this->module_info->list_count?$this->module_info->list_count:1;
- $this->page_count = $this->module_info->page_count?$this->module_info->page_count:10;
-
- // 카테고리 목록을 가져오고 선택된 카테고리의 값을 설정
- $oDocumentModel = &getModel('document');
- $this->category_list = $oDocumentModel->getCategoryList($this->module_srl);
- Context::set('category_list', $this->category_list);
-
- // 스킨 경로 구함
- $template_path = sprintf("%sskins/%s/",$this->module_path, $this->module_info->skin);
- $this->setTemplatePath($template_path);
-
- // 레이아웃의 정보를 속이기 위해서 layout_srl을 현 블로그의 module_srl로 입력
- $this->module_info->layout_srl = $this->module_info->module_srl;
-
- /**
- * 블로그는 자체 레이아웃을 관리하기에 이와 관련된 세팅을 해줌
- **/
- // 레이아웃 경로와 파일 지정 (블로그는 자체 레이아웃을 가지고 있음)
- $this->setLayoutPath($template_path);
- $this->setLayoutFile("layout");
-
- // 수정된 레이아웃 파일이 있으면 지정
- $edited_layout = sprintf('./files/cache/layout/%d.html', $this->module_info->module_srl);
- if(file_exists($edited_layout)) $this->setEditedLayoutFile($edited_layout);
-
- // 카테고리 xml 파일 위치 지정
- $this->module_info->category_xml_file = getUrl().$oDocumentModel->getCategoryXmlFile($this->module_info->module_srl);
- $this->module_info->category_php_file = $oDocumentModel->getCategoryPhpFile($this->module_info->module_srl);
-
- // 메뉴 등록시 메뉴 정보를 구해옴
- if($this->module_info->menu) {
- foreach($this->module_info->menu as $menu_id => $menu_srl) {
- $menu_php_file = sprintf("./files/cache/menu/%s.php", $menu_srl);
- if(file_exists($menu_php_file)) @include($menu_php_file);
- Context::set($menu_id, $menu);
- }
- }
-
- // layout_info 변수 설정
- Context::set('layout_info',$this->module_info);
-
- // 모듈정보 세팅
- Context::set('module_info',$this->module_info);
- }
-
- /**
- * @brief 목록 및 선택된 글 출력
- **/
- function dispBlogContent() {
- // 권한 체크
- if(!$this->grant->list) return $this->dispBlogMessage('msg_not_permitted');
-
- // 모듈정보를 확인하여 확장변수에서도 검색이 설정되어 있는지 확인
- for($i=1;$i<=20;$i++) {
- $ex_name = $this->module_info->extra_vars[$i]->name;
- $ex_search = $this->module_info->extra_vars[$i]->search;
- if($ex_name && $ex_search == 'Y') {
- $search_option['extra_vars'.$i] = $ex_name;
- }
- }
- Context::set('search_option', $search_option);
-
- // 목록 구현에 필요한 변수들을 가져온다
- $document_srl = Context::get('document_srl');
- $page = Context::get('page');
-
- // document 객체를 생성. 기본 데이터 구조의 경우 document모듈만 쓰면 만사 해결.. -_-;
- $oDocumentModel = &getModel('document');
-
- $oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
-
- // document_srl이 있다면 해당 글만 출력
- if($this->grant->list && $document_srl) {
-
- // 글을 구함
- $oDocument->setDocument($document_srl);
-
- // 찾아지지 않았다면 초기화
- if(!$oDocument->isExists()) {
- unset($document_srl);
- Context::set('document_srl','',true);
- } else {
-
- // 브라우저 타이틀 설정
- Context::addBrowserTitle($oDocument->getTitleText());
-
- // 댓글에디터 설정
- if($this->grant->write_comment && $oDocument->allowComment() && !$oDocument->isLocked()) $comment_editor[$oDocument->document_srl] = $this->getCommentEditor($oDocument->document_srl, 0, 100);
-
- // 조회수 증가
- $oDocument->updateReadedCount();
-
- // 카테고리 설정
- Context::set('category', $oDocument->get('category_srl'));
-
- // comment editor 생성/ 세팅
- $comment_editor[$oDocument->document_srl] = $this->getCommentEditor($oDocument->document_srl, 0, 100);
- Context::set('comment_editor', $comment_editor);
- }
- }
-
- Context::set('oDocument', $oDocument);
-
- // document_srl이 없다면 정해진데로 목록을 구함
- if(!$oDocument->isExists()) {
- // 목록을 구하기 위한 옵션
- $args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
- $args->page = $page; ///< 페이지
- $args->list_count = $this->list_count; ///< 한페이지에 보여줄 글 수
- $args->page_count = $this->page_count; ///< 페이지 네비게이션에 나타날 페이지의 수
-
- // 검색 옵션
- $args->search_target = trim(Context::get('search_target')); ///< 검색대상
- $args->search_keyword = trim(Context::get('search_keyword')); ///< 검색어
-
- // 키워드 검색이 아닌 검색일 경우 목록의 수를 40개로 고정
- if($args->search_target && $args->search_keyword) $args->list_count = 40;
-
- // 키워드 검색의 경우 제목,내용으로 검색 대상 고정
- if($args->search_keyword && !$args->search_target) $args->search_target = "title_content";
-
- // 블로그 카테고리
- $args->category_srl = (int)Context::get('category');
-
- $args->sort_index = 'list_order'; ///< 소팅 값
-
- // 목록 구함, document->getDocumentList 에서 걍 알아서 다 해버리는 구조
- $output = $oDocumentModel->getDocumentList($args, true);
-
- // 템플릿에 쓰기 위해서 document_model::getDocumentList() 의 return object에 있는 값들을 세팅
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('document_list', $output->data);
- Context::set('page_navigation', $output->page_navigation);
-
- // 문서 갯수만큼 comment editor 생성
- if(count($output->data)) {
- foreach($output->data as $obj) {
- $comment_editor[$obj->document_srl] = $this->getCommentEditor($obj->document_srl, 0, 100);
- }
- }
-
- // 에디터 세팅
- Context::set('comment_editor', $comment_editor);
-
- // 템플릿에서 사용할 검색옵션 세팅
- $count_search_option = count($this->search_option);
- for($i=0;$i<$count_search_option;$i++) {
- $search_option[$this->search_option[$i]] = Context::getLang($this->search_option[$i]);
- }
- Context::set('search_option', $search_option);
- }
-
- // 블로그의 코멘트는 ajax로 호출되기에 미리 css, js파일을 import
- //Context::addJsFile('./modules/editor/tpl/js/editor.js');
- //Context::addCSSFile('./modules/editor/tpl/css/editor.css');
-
- $this->setTemplateFile('list');
- }
-
- /**
- * @brief 글 작성 화면 출력
- **/
- function dispBlogWrite() {
- // 권한 체크
- if(!$this->grant->write_document) return $this->dispBlogMessage('msg_not_permitted');
-
- // GET parameter에서 document_srl을 가져옴
- $document_srl = Context::get('document_srl');
-
- // document 모듈 객체 생성
- $oDocumentModel = &getModel('document');
- $oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
-
- // 지정된 글이 없다면 (신규) 새로운 번호를 만든다
- if(!$oDocument->isExists()) {
- $document_srl = getNextSequence();
- Context::set('document_srl','');
- }
-
- // 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
- if($oDocument->isExists()&&!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
-
- Context::set('document_srl',$document_srl);
- Context::set('oDocument', $oDocument);
-
- // 에디터 모듈의 getEditor를 호출하여 세팅
- $oEditorModel = &getModel('editor');
- $editor = $oEditorModel->getModuleEditor('document', $this->module_srl, $document_srl, 'document_srl', 'content');
- Context::set('editor', $editor);
-
- $this->setTemplateFile('write_form');
- }
-
- /**
- * @brief 문서 삭제 화면 출력
- **/
- function dispBlogDelete() {
- // 권한 체크
- if(!$this->grant->write_document) return $this->dispBlogMessage('msg_not_permitted');
-
- // 삭제할 문서번호를 가져온다
- $document_srl = Context::get('document_srl');
-
- // 지정된 글이 있는지 확인
- if($document_srl) {
- $oDocumentModel = &getModel('document');
- $oDocument = $oDocumentModel->getDocument($document_srl);
- }
-
- // 삭제하려는 글이 없으면 에러
- if(!$oDocument->isExists()) return $this->dispBlogContent();
-
- // 권한이 없는 경우 비밀번호 입력화면으로
- if(!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
-
- Context::set('oDocument',$oDocument);
-
- $this->setTemplateFile('delete_form');
- }
-
- /**
- * @brief 댓글의 답글 화면 출력
- **/
- function dispBlogReplyComment() {
- // 권한 체크
- if(!$this->grant->write_comment) return $this->dispBlogMessage('msg_not_permitted');
-
- // 목록 구현에 필요한 변수들을 가져온다
- $document_srl = Context::get('document_srl');
- $parent_srl = Context::get('comment_srl');
-
- // 지정된 원 댓글이 없다면 오류
- if(!$parent_srl) return new Object(-1, 'msg_invalid_request');
-
- // 해당 댓글를 찾아본다
- $oCommentModel = &getModel('comment');
- $oSourceComment = $oCommentModel->getComment($parent_srl, $this->grant->manager);
-
- // 댓글이 없다면 오류
- if(!$oSourceComment->isExists()) return $this->dispBlogMessage('msg_invalid_request');
-
- // 대상 댓글을 생성
- $oComment = $oCommentModel->getComment();
- $oComment->add('parent_srl', $parent_srl);
- $oComment->add('document_srl', $oSourceComment->get('document_srl'));
-
- // 필요한 정보들 세팅
- Context::set('oSourceComment',$oSourceComment);
- Context::set('oComment',$oComment);
-
- // 댓글 에디터 세팅
- Context::set('editor', $this->getCommentEditor($document_srl, 0, 400));
-
- $this->setTemplateFile('comment_form');
- }
-
- /**
- * @brief 댓글 수정 폼 출력
- **/
- function dispBlogModifyComment() {
- // 권한 체크
- if(!$this->grant->write_comment) return $this->dispBlogMessage('msg_not_permitted');
-
- // 목록 구현에 필요한 변수들을 가져온다
- $document_srl = Context::get('document_srl');
- $comment_srl = Context::get('comment_srl');
-
- // 지정된 댓글이 없다면 오류
- if(!$comment_srl) return new Object(-1, 'msg_invalid_request');
-
- // 해당 댓글를 찾아본다
- $oCommentModel = &getModel('comment');
- $oComment = $oCommentModel->getComment($comment_srl, $this->grant->manager);
-
- // 댓글이 없다면 오류
- if(!$oComment->isExists()) return $this->dispBlogMessage('msg_invalid_request');
-
- // 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
- if(!$oComment->isGranted()) return $this->setTemplateFile('input_password_form');
-
- // 필요한 정보들 세팅
- Context::set('oSourceComment', $oCommentModel->getComment());
- Context::set('oComment', $oComment);
-
- // 댓글 에디터 세팅
- Context::set('editor', $this->getCommentEditor($document_srl, $comment_srl, 400));
-
- $this->setTemplateFile('comment_form');
- }
-
- /**
- * @brief 댓글 삭제 화면 출력
- **/
- function dispBlogDeleteComment() {
- // 권한 체크
- if(!$this->grant->write_comment) return $this->dispBlogMessage('msg_not_permitted');
-
- // 삭제할 댓글번호를 가져온다
- $comment_srl = Context::get('comment_srl');
-
- // 삭제하려는 댓글이 있는지 확인
- if($comment_srl) {
- $oCommentModel = &getModel('comment');
- $oComment = $oCommentModel->getComment($comment_srl, $this->grant->manager);
- }
-
- // 삭제하려는 글이 없으면 에러
- if(!$oComment->isExists()) return $this->dispBlogContent();
-
- Context::set('document_srl',$comment->document_srl);
-
- // 권한이 없는 경우 비밀번호 입력화면으로
- if(!$oComment->isGranted()) return $this->setTemplateFile('input_password_form');
-
- Context::set('oComment',$oComment);
-
- $this->setTemplateFile('delete_comment_form');
- }
-
- /**
- * @brief 엮인글 삭제 화면 출력
- **/
- function dispBlogDeleteTrackback() {
- // 삭제할 댓글번호를 가져온다
- $trackback_srl = Context::get('trackback_srl');
-
- // 삭제하려는 댓글가 있는지 확인
- $oTrackbackModel = &getModel('trackback');
- $output = $oTrackbackModel->getTrackback($trackback_srl);
- $trackback = $output->data;
-
- // 삭제하려는 글이 없으면 에러
- if(!$trackback) return $this->dispBlogContent();
-
- Context::set('trackback',$trackback);
-
- $this->setTemplateFile('delete_trackback_form');
- }
-
- /**
- * @brief 메세지 출력
- **/
- function dispBlogMessage($msg_code) {
- $msg = Context::getLang($msg_code);
- if(!$msg) $msg = $msg_code;
- Context::set('message', $msg);
- $this->setTemplateFile('message');
- }
-
- /**
- * @brief 댓글의 editor 를 세팅
- * 댓글의 경우 수정하는 경우가 아니라면 고유값이 없음.\n
- * 따라서 고유값이 없을 경우 고유값을 가져와서 지정해 주어야 함
- **/
- function getCommentEditor($editor_sequence, $comment_srl=0, $height = 100) {
- 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/info.xml b/modules/blog/conf/info.xml
deleted file mode 100644
index 96c5394f4..000000000
--- a/modules/blog/conf/info.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
- 블로그
- ブログ
- Blog
- Blog
- 博客
- Блог
-
- 제로
- Zero
- zero
- zero
- zero
- zero
-
- 블로그의 기능을 담당하는 모듈.
- 게시판과 비슷하지만 보여지는 view가 다르고 블로그에 적합한 method가 추가되었음.
- 레이아웃과 기본 메뉴를 직접 담당
-
-
- ブログの機能を担当するモジュール
- 掲示板と似ているが、内容の表示が異なり、ブログに適切なメソッドが追加されている。
- レイアウトと基本メニューを直接担当します。
-
-
- This module contains the blog functions.
- It's similar to the bbs module, but it has diffent views and more suitable methods for blog has been included.
- This module manages layout and basic menu itself.
-
-
- Este módulo contiene funciones de blog.
- Esto es similar al módulo de tablero, sin embargo la vista que se muestra es diferente e incluye metodos apropiados para blog.
- El diseño y el menú básico es manejado por si mismo.
-
-
- 是负责博客功能的模块。
- 虽然类似版面,但其显示模式不同,且还添加了适合博客的method。
- 内置布局和基本的菜单。
-
-
- Этот модуль содержит функции блога.
- Он похож на модуль BBS, но имеет другой вид и более подходящие методы для блога.
- Этот модуль управляет лейвутом и базовым меню самостоятельно.
-
-
-
diff --git a/modules/blog/conf/module.xml b/modules/blog/conf/module.xml
deleted file mode 100644
index cdc567870..000000000
--- a/modules/blog/conf/module.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
- 목록
- 目录
- list
- リスト
-
-
- 글 작성
- 发表新主题
- write document
- 書き込む
-
-
- 댓글 작성
- 发表评论
- write comment
- コメント作成
-
-
- 관리
- 管理
- manager
- 管理
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/lang/en.lang.php b/modules/blog/lang/en.lang.php
deleted file mode 100644
index bf04035ee..000000000
--- a/modules/blog/lang/en.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
-cmd_blog_list = 'Blog List';
- $lang->cmd_module_config = 'Common blog setting';
- $lang->cmd_view_info = 'Blog Info';
- $lang->cmd_manage_menu = 'Menu management';
- $lang->cmd_make_child = 'Add child category';
- $lang->cmd_enable_move_category = "Change category position (Drag the top menu after selection)";
- $lang->cmd_remake_cache = 'Rebuild cache file';
- $lang->cmd_layout_setup = 'Configure layout';
- $lang->cmd_layout_edit = 'Edit layout';
-
- // Item
- $lang->parent_category_title = 'Parent category';
- $lang->category_title = 'Category';
- $lang->expand = 'Expand';
- $lang->category_group_srls = 'Accessable Group';
- $lang->search_result = 'Search result';
-
- // blah blah..
- $lang->about_category_title = 'Please input category name';
- $lang->about_expand = 'By selecting this option, it will be always expanded';
- $lang->about_category_group_srls = 'Only the selected group will be able to see current categories. (Manually open xml file to expose)';
- $lang->about_layout_setup = 'You can manually modify blog layout code. Insert or manage the widget code anywhere you want';
- $lang->about_blog_category = 'You can make blog categories.
When blog category is broken, try rebuilding the cache file manually.';
- $lang->about_blog = "This is a blog module that can create and manage blog.\nAfter creating a blog, please decorate your blog by category and skin management because this blog module uses layout that is included in the blog skin.\nIf you want to connect other boards inside the blog, use the menu module to create a menu and then connect it with the skin manager";
-?>
diff --git a/modules/blog/lang/es.lang.php b/modules/blog/lang/es.lang.php
deleted file mode 100644
index 42efddc1e..000000000
--- a/modules/blog/lang/es.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
-cmd_blog_list = 'Lista de blogs';
- $lang->cmd_module_config = 'Configuración común de blog ';
- $lang->cmd_view_info = 'Información de blog';
- $lang->cmd_manage_menu = 'Manejo del menú';
- $lang->cmd_make_child = 'Agregar sub categoría';
- $lang->cmd_enable_move_category = "Cambiar la posición de la categoría. (arrastrar y soltar luego de haber selecionado)";
- $lang->cmd_remake_cache = 'Rehacer archivo caché';
- $lang->cmd_layout_setup = 'Configuración del diseño';
- $lang->cmd_layout_edit = 'Editar el diseño';
-
- // Artículos
- $lang->parent_category_title = 'Categoría Superior';
- $lang->category_title = 'Nombre de la categoría';
- $lang->expand = 'Expandir';
- $lang->category_group_srls = 'Limitar el grupo';
- $lang->search_result = 'Resultado de la búsqueda';
-
- // bla bla...
- $lang->about_category_title = 'Ingresar el nombre de la categoría.';
- $lang->about_expand = 'Si seleccionas esta opción, siempre estará expandido.';
- $lang->about_category_group_srls = 'Solo se verán los grupos seleccionados en la actual categoría. (Abrir manualmente en archivo xml para la exposición)';
- $lang->about_layout_setup = 'Puede modificar manualmente el código del diseño de blog. Insertar o modificar el código de widget.';
- $lang->about_blog_category = 'Puede crear las categorias de blog.
Cuando no funciona la categoría de blog, rehacer el archivo caché manualmente para solucionar.';
- $lang->about_blog = "Este is el módulo para crear y manejar blog.\nLuego de crear un blog, por favor decora tu blog por categoría y manejo de tema por que este módulo de blog usa el diseño que está incluido en el tema de blog.\nSi desea conectar otros tableros en su blog, usa el menú de módulo para crear un menú y luego conecta con el manejo de temas.";
-?>
diff --git a/modules/blog/lang/jp.lang.php b/modules/blog/lang/jp.lang.php
deleted file mode 100644
index 2cb5bd03f..000000000
--- a/modules/blog/lang/jp.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
-cmd_blog_list = 'ブログリスト';
- $lang->cmd_module_config = 'ブログ共通設定';
- $lang->cmd_view_info = 'ブログ情報';
- $lang->cmd_manage_menu = 'メニュー管理';
- $lang->cmd_make_child = '下位カテゴリ追加';
- $lang->cmd_enable_move_category = "カテゴリ位置変更(選択後上のメニューをドラッグして下さい)";
- $lang->cmd_remake_cache = 'キャッシュファイル再生性';
- $lang->cmd_layout_setup = 'レイアウト設定';
- $lang->cmd_layout_edit = 'レイアウト編集';
-
- // 項目
- $lang->parent_category_title = '上位カテゴリ名';
- $lang->category_title = 'カテゴリ名';
- $lang->expand = '拡張表示';
- $lang->category_group_srls = 'グループ制限';
- $lang->search_result = '検索結果';
-
- // その他
- $lang->about_category_title = 'カテゴリ名を入力して下さい。';
- $lang->about_expand = 'チェックすると常に展開された状態になります。';
- $lang->about_category_group_srls = '選択したグループのみ現在のカテゴリが見えるようになります(XMLファイルを直接閲覧すると表示されます)。';
- $lang->about_layout_setup = 'ブログのレイアウトのコードを直接修正します。ウィジェットコードを好きなところに入力、又は管理して下さい。';
- $lang->about_blog_category = 'ブログのカテゴリを作成します。
ブログのカテゴリが誤作動する場合、「キャッシュファイルの再生性」を手動で行うことで解決できます。';
- $lang->about_blog = "ブログの作成、および管理できるブログモジュールです。\nブログモジュールはブログスキンに含まれているレイアウトを利用するので生成後必ずカテゴリ、およびスキン管理を用いてブログを編集して下さい。\nブログ内に他の掲示板を連動させたい場合は「メニュモジュール」でメニューを作成した後、「スキン管理」で行ってください。";
-?>
diff --git a/modules/blog/lang/ko.lang.php b/modules/blog/lang/ko.lang.php
deleted file mode 100644
index 160caaa92..000000000
--- a/modules/blog/lang/ko.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
-cmd_blog_list = '블로그 목록';
- $lang->cmd_module_config = '블로그 공통 설정';
- $lang->cmd_view_info = '블로그 정보';
- $lang->cmd_manage_menu = '메뉴관리';
- $lang->cmd_make_child = '하위 카테고리 추가';
- $lang->cmd_enable_move_category = "카테고리 위치 변경 (선택후 위 메뉴를 드래그하세요)";
- $lang->cmd_remake_cache = '캐시파일 재생성';
- $lang->cmd_layout_setup = '레이아웃 설정';
- $lang->cmd_layout_edit = '레이아웃 편집';
-
- // 항목
- $lang->parent_category_title = '상위 카테고리명';
- $lang->category_title = '분류명';
- $lang->expand = '펼침';
- $lang->category_group_srls = '그룹제한';
- $lang->search_result = '검색결과';
-
- // 주절 주절..
- $lang->about_category_title = '카테고리 이름을 입력해주세요';
- $lang->about_expand = '선택하시면 늘 펼쳐진 상태로 있게 합니다';
- $lang->about_category_group_srls = '선택하신 그룹만 현재 카테고리가 보이게 됩니다. (xml파일을 직접 열람하면 노출이 됩니다)';
- $lang->about_layout_setup = '블로그의 레이아웃 코드를 직접 수정할 수 있습니다. 위젯 코드를 원하는 곳에 삽입하시거나 관리하세요';
- $lang->about_blog_category = '블로그 분류를 만드실 수 있습니다.
블로그 분류가 오동작을 할 경우 캐시파일 재생성을 수동으로 해주시면 해결이 될 수 있습니다.';
- $lang->about_blog = "블로그를 만드시고 관리할 수 있는 블로그 모듈입니다.\n블로그 모듈은 블로그 스킨에 포함된 레이아웃을 이용하니 생성후 꼭 분류 및 스킨 관리를 통해서 블로그를 꾸미시기 바랍니다.\n블로그내에 다른 게시판을 연결하시고 싶을때에는 메뉴모듈로 메뉴를 만들고 나서 스킨관리에 연결해 주시면 됩니다";
-?>
diff --git a/modules/blog/lang/ru.lang.php b/modules/blog/lang/ru.lang.php
deleted file mode 100644
index ee7395564..000000000
--- a/modules/blog/lang/ru.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
- | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
- * @brief Russian basic language pack for Zeroboard XE
- **/
-
- // Слова, использованные в кнопке
- $lang->cmd_blog_list = 'Список блогов';
- $lang->cmd_module_config = 'Общие настройки блога';
- $lang->cmd_view_info = 'Иформация блога';
- $lang->cmd_manage_menu = 'Управление меню';
- $lang->cmd_make_child = 'Добавить дочернюю категорию';
- $lang->cmd_enable_move_category = "Изменить позицию категории (Перетащите верхнее меню после выделения)";
- $lang->cmd_remake_cache = 'Перепостроить файл кеша';
- $lang->cmd_layout_setup = 'Конфигурировать лейаут';
- $lang->cmd_layout_edit = 'Редактировать лейаут';
-
- // Объект
- $lang->parent_category_title = 'Родительская категория';
- $lang->category_title = 'Категория';
- $lang->expand = 'Расширить';
- $lang->category_group_srls = 'Доступные группы';
- $lang->search_result = 'Результат поиска';
-
- // blah blah.. или чушь всякая... ;)
- $lang->about_category_title = 'Пожалуйста, введите название категории';
- $lang->about_expand = 'Если эта опция выбрана, расширение будут применено всегда';
- $lang->about_category_group_srls = 'Только выбранная группа будет способна видеть ткущие категории. (Вручную откройте xml файл, чтобы сделать видимыми)';
- $lang->about_layout_setup = 'Вы можете вручную изменять лейаут код блога. Вставляйте или управляйте кодом виджетов везде, где хотите';
- $lang->about_blog_category = 'Вы можете сделать категории блога.
Когда категория блога испорчена, попробуйте перепостроить файл кеша вручную.';
- $lang->about_blog = "Это модуть блогов, который может создавать и управлять блогом.\nПосле создания блога, пожалуйста, украсьте Ваш блог посредством менеджера категорий и скинов, поскольку этот модуль блогов использует лейаут включенный в скин блога.\nЕсли Вы хотите подключить другие форумы внутри блога, используйте модуль меню для создания меню и, затем, подключите его к менеджеру скинов";
-?>
diff --git a/modules/blog/lang/zh-CN.lang.php b/modules/blog/lang/zh-CN.lang.php
deleted file mode 100644
index 8e93a1f12..000000000
--- a/modules/blog/lang/zh-CN.lang.php
+++ /dev/null
@@ -1,33 +0,0 @@
-cmd_blog_list = '博客目录';
- $lang->cmd_module_config = '博客共同设定';
- $lang->cmd_view_info = '博客信息';
- $lang->cmd_manage_menu = '菜单管理';
- $lang->cmd_make_child = '添加下级分类';
- $lang->cmd_enable_move_category = "更改分类顺序 (选择后拖动菜单)";
- $lang->cmd_remake_cache = '重新生成缓冲文件';
- $lang->cmd_layout_setup = '布局设置';
- $lang->cmd_layout_edit = '编辑布局';
-
- // 项目
- $lang->parent_category_title = '上级分类名';
- $lang->category_title = '分类名';
- $lang->expand = '展开';
- $lang->category_group_srls = '用户组';
- $lang->search_result = '搜索结果';
-
- // 信息、提示..
- $lang->about_category_title = '请输入分类名。';
- $lang->about_expand = '选择此项将维持展开状态。';
- $lang->about_category_group_srls = '被选的用户组才可以查看此分类。';
- $lang->about_layout_setup = '可直接编辑博客布局代码。可以把控件代码插入到您喜欢的位置。';
- $lang->about_blog_category = '可以添加/删除博客分类
博客分类有异常情况时,可以尝试重新生成缓冲文件。';
- $lang->about_blog = "可生成,管理博客的模块。\n博客模块将利用博客皮肤里包含的布局,因此生成博客后尽早布置为适。\n在博客内,想使用其他版面时,可以先在菜单模块当中生成菜单后,在博客皮肤管理中连接即可。";
-?>
diff --git a/modules/blog/queries/deleteCategories.xml b/modules/blog/queries/deleteCategories.xml
deleted file mode 100644
index 0b5ffd063..000000000
--- a/modules/blog/queries/deleteCategories.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/deleteCategory.xml b/modules/blog/queries/deleteCategory.xml
deleted file mode 100644
index 79b75d5c2..000000000
--- a/modules/blog/queries/deleteCategory.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/getAllBlog.xml b/modules/blog/queries/getAllBlog.xml
deleted file mode 100644
index b56e6f6b3..000000000
--- a/modules/blog/queries/getAllBlog.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/getBlogCategories.xml b/modules/blog/queries/getBlogCategories.xml
deleted file mode 100644
index d732b5ca9..000000000
--- a/modules/blog/queries/getBlogCategories.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/getBlogList.xml b/modules/blog/queries/getBlogList.xml
deleted file mode 100644
index d6dd2e60e..000000000
--- a/modules/blog/queries/getBlogList.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/getCategory.xml b/modules/blog/queries/getCategory.xml
deleted file mode 100644
index ac2827142..000000000
--- a/modules/blog/queries/getCategory.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/getCategoryInfo.xml b/modules/blog/queries/getCategoryInfo.xml
deleted file mode 100644
index 3ebe79059..000000000
--- a/modules/blog/queries/getCategoryInfo.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/getChildCategoryCount.xml b/modules/blog/queries/getChildCategoryCount.xml
deleted file mode 100644
index b82d7c15a..000000000
--- a/modules/blog/queries/getChildCategoryCount.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/insertCategory.xml b/modules/blog/queries/insertCategory.xml
deleted file mode 100644
index 9205cdad8..000000000
--- a/modules/blog/queries/insertCategory.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/updateCategory.xml b/modules/blog/queries/updateCategory.xml
deleted file mode 100644
index f8ea145f2..000000000
--- a/modules/blog/queries/updateCategory.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/queries/updateCategoryParent.xml b/modules/blog/queries/updateCategoryParent.xml
deleted file mode 100644
index 3c34004ad..000000000
--- a/modules/blog/queries/updateCategoryParent.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/schemas/blog_category.xml b/modules/blog/schemas/blog_category.xml
deleted file mode 100644
index ca3165dc4..000000000
--- a/modules/blog/schemas/blog_category.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/modules/blog/skins/xe_blog/comment.html b/modules/blog/skins/xe_blog/comment.html
deleted file mode 100644
index 2f05b39ca..000000000
--- a/modules/blog/skins/xe_blog/comment.html
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- {@ $_comment_list = $oDocument->getComments() }
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/comment_form.html b/modules/blog/skins/xe_blog/comment_form.html
deleted file mode 100644
index 840b09f3e..000000000
--- a/modules/blog/skins/xe_blog/comment_form.html
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
- {$oSourceComment->getRegdate("Y.m.d H:i")}
-
- ({$oSourceComment->get('ipaddress')})
-
-
-
-
-
- {$oSourceComment->getContent(false)}
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/css/blog_tree_menu.css b/modules/blog/skins/xe_blog/css/blog_tree_menu.css
deleted file mode 100644
index 2bf3e4a1f..000000000
--- a/modules/blog/skins/xe_blog/css/blog_tree_menu.css
+++ /dev/null
@@ -1,88 +0,0 @@
-
-#blog_category .title_box { position:relative; border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; _height:20px; }
-
-#blog_category .category_list { padding:.8em 0 .8em 0; }
-
-#blog_category .node_item a { color:#6b6b6b; }
-
-#blog_category .selected { font-weight:bold; cursor:default; font-size:1em; color:#54564b; }
-
-#blog_category .unselected { cursor:pointer; font-size:1em; color:#54564b; }
-
-#blog_category .document_count {
- margin-left:5px;
- color:#AAAAAA;
- font-size:.8em;
-}
-
-#blog_category .page {
- cursor:pointer;
- background:url(../images/common/iconList.gif) no-repeat left;
-}
-
-#blog_category .folder_open {
- cursor:pointer;
- background:url(../images/common/iconFolderClose.gif) no-repeat left;
-}
-
-#blog_category .folder_close {
- cursor:pointer;
- background:url(../images/common/iconFolderClose.gif) no-repeat left;
-}
-
-#blog_category .item_open {
- display:block;
- padding-left:18px;
-}
-
-#blog_category .item_close {
- display:none;
- padding-left:18px;
-}
-
-#blog_category .line_null {
- padding-left:13px;
-}
-
-#blog_category .line_open {
- display:block;
- padding-left:18px;
- /*background:url(../images/tree_menu/line.gif) repeat-y left;*/
-}
-
-#blog_category .line_close {
- display:none;
- padding-left:18px;
- /*background:url(../images/tree_menu/line.gif) repeat-y left;*/
-}
-
-#blog_category .plus {
- padding-left:18px;
- /*background:url(../images/tree_menu/plus.gif) repeat-y left;*/
-}
-
-#blog_category .plus_bottom {
- padding-left:18px;
- /*background:url(../images/tree_menu/plusbottom.gif) no-repeat left;*/
-}
-
-#blog_category .minus {
- padding-left:18px;
- /*background:url(../images/tree_menu/minus.gif) repeat-y left;*/
-}
-
-#blog_category .minus_bottom {
- padding-left:18px;
- /*background:url(../images/tree_menu/minusbottom.gif) no-repeat left;*/
-}
-
-#blog_category .join {
- padding-left:18px;
- /*background:url(../images/tree_menu/join.gif) repeat-y left;*/
-}
-
-#blog_category .join_bottom {
- padding-left:18px;
- /*background:url(../images/tree_menu/joinbottom.gif) no-repeat left;*/
-}
-
diff --git a/modules/blog/skins/xe_blog/css/common.css b/modules/blog/skins/xe_blog/css/common.css
deleted file mode 100644
index d1d225514..000000000
--- a/modules/blog/skins/xe_blog/css/common.css
+++ /dev/null
@@ -1,293 +0,0 @@
-@charset "utf-8";
-
-/*
-NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
-Jeong, Chan Myeong 070601~070630
-*/
-
-/**
- * Header
- **/
-
-/* blog Title */
-.blogHeader { border:1px solid #e1e1dd; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) repeat-x left bottom; overflow:hidden; _width:100%;}
-.blogHeader h3 { float:left; font-size:1.2em; padding:1em 2em .7em 1.2em; background:#ffffff url(../images/common/lineH3.gif) no-repeat right bottom;}
-
-/* blog Description */
-.blogDescription { color:#AEAEAE; border:1px solid #DDDDDD; overflow:hidden; padding:1em; margin-top:1em;}
-
-/* blog Information */
-.blogInformation { width:100%; clear:both; margin:1em 0 .5em 0; overflow:hidden; color:#666666;}
-.articleNum { float:left; padding:0 0 0 15px; }
-
-/* gallery sub menu */
-.blogSubMenu { margin:0 0 .5em 0; padding:1em 0 .5em .5em; border-bottom:1px solid #e0e1db;}
-.blogSubMenu a { text-decoration:none; color:#666666; vertical-align:bottom; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat right 5px; padding-left:10px; padding-right:10px; _padding-top:5px; position:relative; top:5px; }
-.blogSubMenu img.sort { vertical-align:middle; }
-
-/* list */
-.blogList { width:100%; border:1px solid #e0e1db; border-top:none;}
-.blogListNoTopBorder { border:none; }
-.blogList th { color:#3e3f3e; font-weight:normal; border-top:1px solid #e0e1db; border-bottom:1px solid #ffffff; padding-top:5px; white-space:nowrap; height:33px; overflow:hidden;}
-.blogList th.no_line { background-position:-3px bottom; }
-.blogList th a { color:#3e3f3e; text-decoration:none; }
-.blogList th.num { border-left:1px solid #ffffff; }
-.blogList th.checkbox { text-align:center; }
-.blogList th.title { text-align:center; padding-left:1em; }
-.blogList th.topic { text-align:left; padding-left:1em; }
-.blogList th.category { text-align:left; padding-left:1em; }
-.blogList th.category select { vertical-align:middle; width:200px; height:20px;}
-.blogList th.reading, th.recommend , th.date { white-space:nowrap;}
-.blogList th .sort { padding:0 .2em; vertical-align:middle;}
-
-.blogList tr.notice { background:#f8f8f8; }
-.blogList tr.notice .num { font-weight:bold;}
-.blogList tr.bg1 { background:#ffffff}
-.blogList tr.bg2 { background:#fbfbfb;}
-.blogList td { border-top:1px solid #eff0ed; padding:.5em;}
-.blogList td.num { font:.8em tahoma; color:#999999; padding:.5em 1em; text-align:center;}
-.blogList td.checkbox { font:.8em tahoma; color:#999999; text-align:center;}
-.blogList tr.notice td.num { padding:.5em; white-space:nowrap;}
-.blogList tr.notice td.notice { font-size:.9em; color:#999999; font-weight:bold; text-align:center;}
-.blogList td.thumb img { border:1px solid #E0E1DB; padding:3px; }
-
-.blogList td.title {padding-left:1em; }
-.blogList td.title strong.category { font-size:1em; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat right 3px; padding-right:.5em; margin-right:.5em;}
-.blogList td.title.bold { font-size:1.2em; font-weight:bold;}
-.blogList td.title.bold a { position:relative; top:.3em;}
-.blogList td.title * { vertical-align:middle;}
-.blogList td.title,
-.blogList td.title a { color:#444444; text-decoration:none;}
-.blogList td.title a:visited { color:#777777;}
-
-.blogList td.topic { padding-left:1em; color:#888888; }
-.blogList td.topic strong a { font-size:1.2em; font-weight:bold; text-decoration:none; color:#444444; }
-.blogList td.topic strong a:visited { color:#777777; }
-.blogList td.topic .category { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 3px; padding-left:.5em; margin-left:.5em; color:#AAAAAA; }
-.blogList td.topic div.author { margin-top:.5em; color:#BBBBBB; font-size:0.8em; }
-.blogList td.topic div.author strong { font-size:1.2em; font-weight:normal; color:#666666; }
-.blogList td.commentCount { font:bold .8em Tahoma; color:#888888; text-align:center; }
-
-.blogList td.latestPost { color:#888888; }
-.blogList td.latestPost div.author { margin-top:.5em; color:#BBBBBB; font-size:0.8em; }
-.blogList td.latestPost div.author strong { font-size:1.2em; font-weight:normal; color:#666666; }
-.blogList td.latestPost div.date { font-size:0.8em; margin-top:.5em; }
-.blogList td.latestPost div.date strong { font-family:Tahoma; font-weight:normal; color:#666666; }
-
-.blogListNoTopBorder td { border-top:none; border-bottom:1px solid #eff0ed; padding:.5em;}
-
-.blogList td.webzineTitle { padding-left:1em; color:#777777;}
-.blogList td.webzineTitle strong.category { font-size:1em; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat right 3px; padding-right:.5em; margin-right:.5em;}
-.blogList td.webzineTitle.bold { font-size:1.2em; font-weight:bold;}
-.blogList td.webzineTitle * { vertical-align:middle;}
-.blogList td.webzineTitle,
-.blogList td.webzineTitle a { color:#444444; text-decoration:none;}
-.blogList td.webzineTitle a:visited { color:#777777;}
-
-.blogList td.summary { border-top:none; vertical-align:top; color:#666666; line-height:1.25em; padding-left:1em;}
-.blogList td.summary a { color:#666666; text-decoration:none; line-height:inherit;}
-.blogList td.summary a:visited { color:#999999;}
-
-.blogList td .replyAndTrackback img.trackback { margin-bottom:-.1em;}
-.blogList td .replyAndTrackback strong { font:bold 1em Tahoma;}
-.blogList td .replyAndTrackback { font:.8em Tahoma; }
-.blogList td.author { color:#333333; font-size:.95em; padding-left:1em;}
-.blogList td.author a { font-size:1em; color:#333333;}
-.blogList td.reading { font:.8em Tahoma; color:#999999; text-align:center;}
-.blogList td.recommend { font:bold .8em Tahoma; text-align:center;}
-.blogList td.date { font:.8em Tahoma; color:#999999; text-align:center; white-space:nowrap;}
-.blogList td input { _margin:-3px;}
-
-.buttonTypeGo { border:none; cursor:pointer; width:24px; height:20px; _position:relative; _top:3px; font:.75em Tahoma; text-align:center;}
-*:first-child+html .buttonTypeGo { position:relative; top:3px; }
-
-.thumbnailBox { margin-top:1em; clear:both; overflow:hidden; border-bottom:1px solid #e0e1db; }
-.thumbnailBox div.cell { display:block; float:left; overflow:hidden; margin-bottom:1em; margin-right:1em;}
-.thumbnailBox div.cell img.thumb { padding:2px; border:1px solid #e0e1db; display:block; margin-bottom:1em; margin-left:auto;margin-right:auto;}
-.thumbnailBox div.title { color:#3B96C0; margin-bottom:.2em; overflow:hidden; white-space:nowrap; text-align:center;}
-.thumbnailBox div.title a { color:#3B96C0; text-decoration:none;}
-.thumbnailBox div.nameAndDate { font-size:.9em; color:#999999; margin-bottom:.2em; text-align:center;}
-.thumbnailBox div.nameAndDate a { color:#999999;}
-.thumbnailBox div.nameAndDate .author { margin-left:auto; margin-right:right; }
-.thumbnailBox div.nameAndDate .author div { display:inline; vertical-align:middle;}
-.thumbnailBox div.nameAndDate .date { font:.8em Tahoma; color:#999999;}
-.thumbnailBox div.readAndRecommend { font-size:.9em; color:#666666; text-align:center;}
-.thumbnailBox div.readAndRecommend .num { font:.8em Tahoma;}
-.thumbnailBox div.readAndRecommend .vr { color:#dddddd;}
-.thumbnailBox div.readAndRecommend strong.num { font:bold .8em Tahoma; color:#ff6600;}
-
-/* list button */
-.leftButtonBox { float: left; margin-top:1em;}
-.rightButtonBox { float: right; margin-top:1em;}
-
-/* pageNavigation */
-.pageNavigation { display:block; margin-top:1em; text-align:center; font:bold 11px Tahoma; margin-top:1.5em;}
-.pageNavigation a { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#666666; display:inline-block; padding:1px 7px 2px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
-.pageNavigation .current { position:relative; margin-left:-4px; font:bold 11px Tahoma; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; text-decoration:none; line-height:1em; }
-.pageNavigation a:hover { background:#F7F7F7; text-decoration:none; }
-.pageNavigation a:visited { color:#999999; }
-.pageNavigation a.goToFirst, .pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;}
-.pageNavigation a.goToFirst img, .pageNavigation a.goToLast img { display:inline-block; padding:2px 0; position:relative; top:2px; _top:1px;}
-
-/* Search Form */
-.blogSearch { margin-left:auto; margin-right:auto; clear:both; text-align:center;}
-.blogSearch select { height:20px; }
-.blogSearch input { height:18px; }
-
-/* blogRead */
-.blogRead { padding:0; margin:0; }
-.blogRead .originalContent { padding:1.5em .5em .5em .5em;}
-.blogRead .readHeader { padding:0 0 .5em 0; margin-bottom:1em; overflow:hidden;}
-
-.blogRead .blogTitle{ clear:both; }
-.blogRead .blogTitle h4 { font-size:1.4em; display:inline; }
-
-.blogRead .dateAndCategory { float:left; overflow:hidden; white-space:nowrap; font-size:.9em; color:#888888; padding-top:1em; padding-left:.2em; }
-.blogRead .dateAndCategory a { text-decoration:underline; color:#666666; }
-
-.blogRead .userInfo { white-space:nowrap; float:left; color:#3074a5; padding-top:1em; padding-left:.2em; font-size:.9em; margin-left:1em; }
-.blogRead .userInfo a { font-size:.9em; color:#3074a5; text-decoration:none; }
-.blogRead .userInfo .ipaddress { font-size:.9em; color:#AAAAAA; }
-
-.blogRead .readedAndVoted { float:right; overflow:hidden; white-space:nowrap; font-size:.9em; color:#888888; padding-top:1em; padding-left:.2em; }
-
-.blogRead ul.uri { overflow:hidden; margin:0 0 2em .3em; }
-.blogRead ul.uri li { font-size:8pt; color:#c5c7c0; }
-
-.blogRead .contentBody { width:100%; overflow:hidden; }
-.blogRead .readBody { padding:0 .3em; color:#555555; overflow:hidden; margin-bottom:2em; clear:both; margin-top:2em;}
-.blogRead .readBody p { margin:1em 0; line-height:1.5em;}
-.blogRead .readBody .alignLeft { float:left; margin:0 1em 1em 0; }
-.blogRead .readBody .alignRight { float:right; margin:0 0 1em 1em; }
-.blogRead .readBody .valignCenter { vertical-align:middle;}
-.blogRead .readBody .clearBoth { display:block; margin:0 0 1em 0;}
-.blogRead .readFooter { padding:0 .3em;}
-.blogRead .readFooter .tag { margin-bottom:1em;}
-.blogRead .readFooter .tag h5 { display:inline; font-size:1em; margin-right:.5em;}
-.blogRead .readFooter .tag ul,
-.blogRead .readFooter .tag li { display:inline;}
-.blogRead .readFooter .tag a { color:#444444;}
-.blogRead .readFooter .tag .tagIcon { vertical-align:middle;}
-.blogRead .readFooter .fileAttached { border:1px solid #eaeae7; overflow:hidden; background:#fbfbfb;}
-.blogRead .readFooter .fileAttached h5 { font-weight:normal; color:#999999; float:left; font-size:1em; margin:.5em .5em 0 .5em; line-height:1.5em;}
-.blogRead .readFooter .fileAttached ul { float:left; margin-top:.5em; padding-bottom:1em; }
-.blogRead .readFooter .fileAttached li { display:inline; margin-right:.75em; line-height:1.5em;}
-.blogRead .readFooter .fileAttached li a { text-decoration:none; font-size:.9em; padding:.1em 0 .1em 1.5em; white-space:nowrap; color:#444444; }
-.blogRead .readFooter .fileAttached li a:visited { color:#777777;}
-.blogRead .buttonBox { float:right; height:40px; margin-right:1em;}
-
-.blogRead .replyAndTrackbackBox { overflow:hidden; height:40px; float:left;}
-.blogRead .replyAndTrackback li { margin-top:10px; _margin-top:8px; margin-left:1em; padding-left:1.4em; float:left; list-style:none;}
-.blogRead .replyAndTrackback li.reply { background:url(../images/common/iconReply.gif) no-repeat left top;}
-.blogRead .replyAndTrackback li.reply a { _position:relative; _top:-.6em;}
-.blogRead .replyAndTrackback li.trackback { background:url(../images/common/iconTrackback.gif) no-repeat left top;}
-.blogRead .replyAndTrackback li.trackback a { _position:relative; _top:0em;}
-.blogRead .replyAndTrackback a { color:#333333; white-space:nowrap; text-decoration:none;}
-.blogRead .replyAndTrackback a#toggleReply { background:url(../images/common/buttonToggleReply.gif) no-repeat right top;}
-.blogRead .replyAndTrackback a#toggleTrackback { background:url(../images/common/buttonToggleReply.gif) no-repeat right -13px;}
-.blogRead .replyAndTrackback .listButton { position:relative; right: 10px; top:-7px; _top:-6px; float:right;}
-
-/* extraVars list */
-.extraVarsList { width:100%; border:1px solid #e0e1db; clear:both; margin-bottom:1em; margin-top:1em; border-bottom:none;}
-.extraVarsList tr.notice { background:#f8f8f8;}
-.extraVarsList tr.notice .num { font-size:.9em; font-weight:bold;}
-.extraVarsList tr.bg1 { background:#ffffff}
-.extraVarsList tr.bg2 { background:#fbfbfb;}
-.extraVarsList th { color:#3e3f3e; font-weight:bold; padding:.8em .5em .5em .5em; border-bottom:1px solid #e0e1db; border-right:1px solid #e0e1db;}
-.extraVarsList td { border-bottom:1px solid #e0e1db; padding:.5em .5em .5em 1em; white-space:nowrap; overflow:hidden;}
-
-.trackbackBox { padding:.6em .6em; color:#666666; border-top:1px dotted #e0e1db;;margin-top:.5em;}
-.trackbackBox .trackbackItem { padding:.6em .8em .6em .6em; line-height:1.25em; border-bottom:1px dotted #EEEEEE; list-style:none;}
-.trackbackBox p { display:inline; margin-bottom:1em;}
-.trackbackBox a { color:#666666; text-decoration:none;}
-.trackbackBox div { clear:both; }
-.trackbackBox address { display:block; padding:0 .3em 0 0; }
-.trackbackBox address a { font-size:.9em; color:#3074a5; margin-right:.3em; float:left;}
-.trackbackBox address .date { font:.8em Tahoma; color:#cccccc; float:right;}
-
-.replyBox { padding:.6em .6em; color:#666666; border-top:1px dotted #e0e1db; margin-top:.5em;}
-.replyBox .replyItem { padding:.6em .8em .6em .6em; line-height:1.25em; clear:both; border-bottom:1px dotted #EEEEEE; list-style:none;}
-.replyBox p { display:inline; margin-bottom:1em;}
-.replyBox .author { float:left; padding:0 .3em 0 0; font-size:.9em; color:#3074a5; margin:0 .3em .5em 0;}
-.replyBox .author a { color:#3074a5; margin-right:.3em; text-decoration:none; }
-.replyBox .voted { float:left; font-size:.9em; color:#AAAAAA; margin:0 .3em .5em 1em;}
-.replyBox .date { float:right; font:.8em Tahoma; color:#cccccc; margin:.3em 0 .5em 0;}
-
-.replyBox .replyOption { float:right; white-space:nowrap; margin-left:.2em;}
-.replyBox .replyOption img { vertical-align:middle;}
-
-.replyBox .replyContent { clear:left; }
-.replyBox .replyContent p { display:block; }
-.replyBox .replyContent ul li { padding:0; border:none; line-height:1.25em; list-style:disc;}
-.replyBox .replyContent ol li { padding:0; border:none; line-height:1.25em; list-style:decimal;}
-.replyBox .reply { background-color:#FAFAFA;}
-.replyBox .replyIndent { background:url(../images/common/iconReplyArrow.gif) no-repeat .0em .3em; padding-left:1.3em;}
-
-.replyBox .fileAttached { _width:99%; border:1px solid #eaeae7; overflow:hidden; background:#fbfbfb; margin-top:.3em; list-style:none;}
-.replyBox .fileAttached ul { float:left; padding:.3em 1em .2em 0; margin-left:.5em; _margin-left:.25em;}
-.replyBox .fileAttached li a { font-size:.9em; white-space:nowrap; position:relative; color:#444444; }
-.replyBox .fileAttached li a:visited { color:#777777;}
-
-.commentButton { margin-top:.5em; }
-
-/* blogEditor */
-.blogEditor { padding:.5em 0 1em 0; width:100%; overflow:hidden;}
-.blogEditor.reply { padding:.5em 1em 1em 1em; width:auto; overflow:hidden;}
-.blogEditor legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
-.blogEditor fieldset { _width:100%; border:1px solid #eaeae7; border-top:none;}
-.blogEditor .userNameAndPw { position:relative; background:#fbfbfb; border-top:1px solid #eaeae7; border-bottom:1px solid #e1e1e1; padding:.5em 1em; white-space:nowrap;}
-.blogEditor .userNameAndPw * { vertical-align:middle;}
-.blogEditor .userNameAndPw label { margin-right:.2em; color:#666760;}
-.blogEditor .userNameAndPw input { color:#aaaaaa;}
-.blogEditor .userNameAndPw .userName { width:6em; margin-right:.8em;}
-.blogEditor .userNameAndPw .userPw { width:5em;}
-.blogEditor .userNameAndPw .emailAddress { width:6em;}
-.blogEditor .userNameAndPw .homePage { width:6em;}
-.blogEditor .userNameAndPw .checkSecret { position:absolute; right:2em; top:.7em;}
-.blogEditor .borderTop { border-top:1px solid #eaeae7; }
-
-/* blogWrite */
-.blogWrite { width:100%; position:relative;}
-.blogWrite .userNameAndPw { margin-bottom:-1px;}
-.blogWrite .blogEditor fieldset { width:auto; position:relative;}
-.blogWrite div.title { border-bottom:1px solid #eff0ed; border-top:1px solid #eff0ed; padding:.5em 0 .5em 1em; white-space:nowrap;}
-.blogWrite div.title label.title { display:block; float:left; font-weight:bold; padding:.4em 0 0 1.5em; width:8em; white-space:nowrap;}
-.blogWrite div.title input#title { width:60%;}
-.blogWrite .option { border-bottom:1px solid #e1e1e1; padding:.5em 0 .5em 1em; overflow:hidden; _height:20px; }
-.blogWrite .option dt { display:block; float:left; font-weight:bold; padding:.3em 0 0 1.5em; width:8em; white-space:nowrap;}
-.blogWrite .option dd { float:left; margin-right:1em; padding-top:.2em; _padding-top:.1em;}
-.blogWrite .option dd * { vertical-align:middle;}
-.blogWrite .option dd select { width:7em; font-size:.95em;height:20px;}
-.blogWrite .inputTypeText { background:#fbfbfb;}
-.blogWrite .trackbackURI { clear:both; border-top:1px solid #eff0ed; padding:4px 0 .8em 0;}
-.blogWrite .trackbackURI label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
-.blogWrite .trackbackURI .inputTypeText { width:50%;}
-.blogWrite .tag { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
-.blogWrite .tag label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
-.blogWrite .tag .inputTypeText { width:50%;}
-.blogWrite .tag .help { vertical-align:middle;}
-.blogWrite .tag .info { padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/common/iconArrowD8.gif) no-repeat left center;}
-.blogWrite .extra_vars { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
-.blogWrite .extra_vars label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
-.blogWrite .extra_vars .info { clear:both; padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/common/iconArrowD8.gif) no-repeat left center;}
-.blogWrite .extra_vars ul li { float:left; margin-right:1em; }
-
-.smallBox { border:1px solid #e0e1db; margin-left:auto; margin-right:auto; }
-.smallBox.w268 { width:268px;}
-.smallBox .header { position:relative; _width:100%; background:#ffffff url(../images/normal/bgH3.gif) no-repeat left bottom; overflow:hidden;}
-.smallBox .header h3 { clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #fe3614; }
-.smallBox .complex { padding:1.5em 2em 2em 2em;}
-.smallBox .inputPassword { position:relative; border:none; padding:2em 2em 1.5em 2em;}
-.smallBox .inputPassword .inputTypeText { float:left; margin-right:.5em; width:8em;}
-.smallBox .inputPassword legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
-
-
-/* 게시물의 팝업 메뉴 */
-.comment_popup_menu, .document_popup_menu { text-align:right; margin-top:3em; clear:both; display:block; background:url(../images/common/document_menu.gif) no-repeat right top; padding-right:16px; height:18px; }
-.comment_popup_menu span, .document_popup_menu span { cursor:pointer; display:inline; background:none; padding:0 0 0 0; margin:0 0 0 0; }
-
-/* widget common css */
-.blog_widget_ h2 { border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; _height:20px; font-size:1em; color:#54564b; }
-.blog_widget_ .items { padding:10px; overflow:hidden;}
-.blog_widget_ .items li { font-size:.9em; display:block; color:#a4a4a4; margin-right:.1em; line-height:150%; overflow:hidden; white-space:nowrap; list-style:none; width:100%; padding:3px 0 3px 0;}
-.blog_widget_ .items li a { color:#a4a4a4; margin-right:1em; }
diff --git a/modules/blog/skins/xe_blog/css/cyan.css b/modules/blog/skins/xe_blog/css/cyan.css
deleted file mode 100644
index 93887b1e8..000000000
--- a/modules/blog/skins/xe_blog/css/cyan.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "utf-8";
-
-/* blog Title */
-.blogHeader { position:relative; _width:100%; border-top:1px solid #d1d9db; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) no-repeat right bottom; overflow:hidden;}
-.blogHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d1d9db; border-bottom:3px solid #2895c0; background:url(../images/common/lineH3.gif) no-repeat right bottom;}
-
-#blog_category { position:relative; border:1px solid #e0e1db; background:url(../images/cyan/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
-.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/cyan/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
-#bodyWrap #header #globalNavigation li.on a { color:#2895c0;}
-
-#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/cyan/blogHeaderVr.gif) no-repeat right center;}
-#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/cyan/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
-
-/* account Navigation */
-#blogAccountNavigation li.join a { background:url(../images/cyan/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-#blogAccountNavigation li.myInfo a { background:url(../images/cyan/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-
-/* blog Information */
-.articleNum { float:left; background:url(../images/cyan/iconArticle.gif) no-repeat left top; }
-.articleNum strong { font:bold 11px Tahoma; color:#2895c0;}
-
-/* style.list */
-.blogList th { background:#ffffff url(../images/cyan/lineBlogListTh.gif) no-repeat left bottom; }
-.blogList td.recommend { color:#2895c0; }
-.blogList td .replyAndTrackback { color:#2895c0; }
-.buttonTypeGo { background:url(../images/cyan/buttonTypeInput24.gif) no-repeat; }
-
-/* pageNavigation */
-.pageNavigation .current { color:#2895c0; border-right:1px solid #CCCCCC; }
-
-/* blogRead */
-blogRead .readFooter .fileAttached li a { background:url(../images/cyan/iconFile.gif) no-repeat left top;}
-
-/* replyAndTrackback */
-.replyAndTrackback { background:url(../images/cyan/bgBlogListTh.gif) repeat-x left 0px; }
-.replyAndTrackback a strong { color:#2895c0;}
-.replyBox .fileAttached li { border:0px; display:inline; margin-right:.75em; line-height:1.5em; padding:.1em 0 .1em 1.5em; background:url(../images/cyan/iconFile.gif) no-repeat left;}
-
-/* widget common css */
-.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/cyan/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
diff --git a/modules/blog/skins/xe_blog/css/green.css b/modules/blog/skins/xe_blog/css/green.css
deleted file mode 100644
index 7b5d25aab..000000000
--- a/modules/blog/skins/xe_blog/css/green.css
+++ /dev/null
@@ -1,41 +0,0 @@
-@charset "utf-8";
-
-/* blog Title */
-.blogHeader { position:relative; _width:100%; border-top:1px solid #d1d9db; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) no-repeat right bottom; overflow:hidden;}
-.blogHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d0dbd1; border-bottom:3px solid #38b549; background:url(../images/common/lineH3.gif) no-repeat right bottom;}
-
-#blog_category { position:relative; border:1px solid #e0e1db; background:url(../images/green/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
-.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/green/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
-#bodyWrap #header #globalNavigation li.on a { color:#38b549;}
-
-#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/green/blogHeaderVr.gif) no-repeat right center;}
-#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/green/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
-
-
-/* account Navigation */
-#blogAccountNavigation li.join a { background:url(../images/green/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-#blogAccountNavigation li.myInfo a { background:url(../images/green/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-
-/* blog Information */
-.articleNum { float:left; background:url(../images/green/iconArticle.gif) no-repeat left top; }
-.articleNum strong { font:bold 11px Tahoma; color:#ff6600;}
-
-/* style.list */
-.blogList th { background:#ffffff url(../images/green/lineBlogListTh.gif) no-repeat left bottom; }
-.blogList td.recommend { color:#38b549; }
-.blogList td .replyAndTrackback { color:#38b549; }
-.buttonTypeGo { background:url(../images/green/buttonTypeInput24.gif) no-repeat; }
-
-/* pageNavigation */
-.pageNavigation .current { color:#38b549; border-right:1px solid #CCCCCC; }
-
-/* blogRead */
-.blogRead .readFooter .fileAttached li a { background:url(../images/green/iconFile.gif) no-repeat left top;}
-
-/* replyAndTrackback */
-.replyAndTrackback { background:url(../images/green/bgBlogListTh.gif) repeat-x left 0px; }
-.replyAndTrackback a strong { color:#38b549;}
-.replyBox .fileAttached li { border:0px; display:inline; margin-right:.75em; line-height:1.5em; padding:.1em 0 .1em 1.5em; background:url(../images/green/iconFile.gif) no-repeat left;}
-
-/* widget common css */
-.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/green/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
diff --git a/modules/blog/skins/xe_blog/css/layout.css b/modules/blog/skins/xe_blog/css/layout.css
deleted file mode 100644
index ba917b378..000000000
--- a/modules/blog/skins/xe_blog/css/layout.css
+++ /dev/null
@@ -1,81 +0,0 @@
-@et "utf-8";
-
-/*
-NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
-Jeong, Chan Myeong 070601~070630
-*/
-
-li { list-style:none; }
-a { text-decoration:none; }
-
-/* Blog Layout - Common */
-#bodyWrap { position:relative; width:860px; margin:0 auto; background-color:#FFFFFF; padding-top:1px; top:30px;}
-
-/* Blog Layout - Content Body */
-#contentBody { overflow:hidden; padding-bottom:2em; _width:100%;}
-
-/* Blog Layout - ColumnLeft */
-#columnLeft { float:left; width:182px; margin:0px 8px 0px 0px; padding-left:10px;}
-
-/* Blog Layout - ColumnRight */
-#columnRight {}
-
-/* Blog Layout - Content */
-#content { float:left; width:650px; overflow:hidden; padding-right:10px; _width:648px; }
-
-#bodyWrap #accountNavigation { float:right; margin:1em 1em 0 0; padding-bottom:.5em; overflow:hidden;}
-#bodyWrap #accountNavigation li a { display:block; float:left; padding:0 .75em; color:#888888; white-space:nowrap;}
-
-/* account Navigation */
-#blogAccountNavigation { float:right; margin:1em; }
-#blogAccountNavigation li { float:left; margin-left:7px; list-style:none; padding-top:3px;}
-#blogAccountNavigation li a { font-size:12px; white-space:nowrap; color:#666666; text-decoration:none;}
-#blogAccountNavigation li.setup a { background:url(../images/common/iconSetup.gif) no-repeat left top; padding-left:14px; }
-#blogAccountNavigation li.admin a { background:url(../images/common/iconAdmin.gif) no-repeat left top; padding-left:12px; }
-#blogAccountNavigation li.listType { margin-left:5px; }
-#blogAccountNavigation li.loginAndLogout { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 5px; padding-left:8px; _padding-top:5px;}
-#blogAccountNavigation li.write a { background:url(../images/common/iconWrite.gif) no-repeat left center; padding-left:14px;}
-*:first-child+html #blogAccountNavigation li.loginAndLogout { padding-top:5px; }
-
-/* Blog header Child*/
-#bodyWrap #header h1 { font-size:2em; padding:.8em 0 .2em 30px; letter-spacing:-.05em;}
-#bodyWrap #header h1 a { font-family:Tahoma; color:#53554a;}
-#bodyWrap #header #tagLine { padding:0 0 0 30px; color:#7e7f77;}
-
-#bodyWrap #header #globalNavigation { float:right; padding:1em 1em 1em 0; overflow:hidden;}
-#bodyWrap #header #globalNavigation li { float:left; margin-left:-1px; background:url(../images/common/blogHeaderVr.gif) no-repeat left center;}
-#bodyWrap #header #globalNavigation li a { display:block; float:left; padding:0 .75em; font-weight:bold; font-family:Tahoma; color:#54564b; white-space:nowrap;}
-
-/* Column Left & Right Common Child */
-.boxTypeA { position:relative; border:1px solid #e0e1db; margin-bottom:.7em;}
-.boxTypeB h2 { position:relative; border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; _height:20px; font-size:1em; color:#54564b; font-family:Tahoma;}
-*:first-child+html .boxTypeB h2 { height:20px;}
-.boxTypeB .toggleMask {position:absolute; top:8px; right:5px; cursor:pointer; width:13px; height:13px; overflow:hidden;}
-.boxTypeB .showHide { position:relative;}
-.boxTypeB .optionList { position:absolute; top:8px; right:0; overflow:hidden;}
-.boxTypeB .optionList li { float:left; padding:0 .5em; margin-left:-1px; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left center;}
-.boxTypeB .optionList li a { color:#a4a4a4; font-size:.9em;}
-.boxTypeB .optionList li.on a { color:#000000;}
-.boxTypeB .showAll { color:#000000; font-size:.9em; white-space:nowrap; display:inline-block; position:relative; left:1.2em; padding-right:.6em; background:url(../images/common/iconArrow00.gif) no-repeat right center;}
-
-/* Profile */
-div#profile { padding:10px; overflow:hidden; background-color:#FFFFFF; }
-div#profile img.profile { width:160px; display:block; margin-bottom:1.2em;}
-div#profile dl#hello {}
-div#profile dl#hello dt { color:#333333; margin-bottom:.2em;}
-div#profile dl#hello dt a { color:#333333;}
-div#profile dl#hello dd { color:#777777; margin-bottom:1em;}
-div#profile ul#admin { overflow:hidden; height:1.2em;}
-
-div#blog_category { background-color:#FFFFFF; }
-
-/* Search Box */
-div#searchBox { margin-bottom:.7em; overflow:hidden; width:100%;}
-div#searchBox fieldset { border:none;}
-div#searchBox fieldset legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
-div#searchBox .imgBtn {vertical-align:middle; _position:relative; top:-4px; }
-*:first-child+html div#searchBox .imgBtn { position:relative; top:-4px; }
-
-/* powered by zbxe */
-#poweredbyzbxe { text-align:center; margin-top:2em; }
-#poweredbyzbxe img { width:138px; height:35px; border:0;}
diff --git a/modules/blog/skins/xe_blog/css/purple.css b/modules/blog/skins/xe_blog/css/purple.css
deleted file mode 100644
index 34388a176..000000000
--- a/modules/blog/skins/xe_blog/css/purple.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "utf-8";
-
-/* blog Title */
-.blogHeader { position:relative; _width:100%; border-top:1px solid #d1d9db; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) no-repeat right bottom; overflow:hidden;}
-.blogHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d1d9db; border-bottom:3px solid #ac19a9; background:url(../images/common/lineH3.gif) no-repeat right bottom;}
-
-#blog_category { position:relative; border:1px solid #e0e1db; background:url(../images/purple/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
-.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/purple/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
-#bodyWrap #header #globalNavigation li.on a { color:#b1ae00;}
-
-#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/purple/blogHeaderVr.gif) no-repeat right center;}
-#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/purple/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
-
-/* account Navigation */
-#blogAccountNavigation li.join a { background:url(../images/purple/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-#blogAccountNavigation li.myInfo a { background:url(../images/purple/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-
-/* blog Information */
-.articleNum { float:left; background:url(../images/purple/iconArticle.gif) no-repeat left top; }
-.articleNum strong { font:bold 11px Tahoma; color:#b1ae00;}
-
-/* style.list */
-.blogList th { background:#ffffff url(../images/purple/lineBlogListTh.gif) no-repeat left bottom; }
-.blogList td.recommend { color:#b1ae00; }
-.blogList td .replyAndTrackback { color:#b1ae00; }
-.buttonTypeGo { background:url(../images/purple/buttonTypeInput24.gif) no-repeat; }
-
-/* pageNavigation */
-.pageNavigation .current { color:#b1ae00; border-right:1px solid #CCCCCC; }
-
-/* blogRead */
-.blogRead .readFooter .fileAttached li a { background:url(../images/purple/iconFile.gif) no-repeat left top;}
-
-/* replyAndTrackback */
-.replyAndTrackback { background:url(../images/purple/bgBlogListTh.gif) repeat-x left 0px; }
-.replyAndTrackback a strong { color:#b1ae00;}
-.replyBox .fileAttached li { border:0px; display:inline; margin-right:.75em; line-height:1.5em; padding:.1em 0 .1em 1.5em; background:url(../images/purple/iconFile.gif) no-repeat left;}
-
-/* widget common css */
-.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/purple/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
diff --git a/modules/blog/skins/xe_blog/css/red.css b/modules/blog/skins/xe_blog/css/red.css
deleted file mode 100644
index 1737da23e..000000000
--- a/modules/blog/skins/xe_blog/css/red.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "utf-8";
-
-/* blog Title */
-.blogHeader { position:relative; _width:100%; border-top:1px solid #d1d9db; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) no-repeat right bottom; overflow:hidden;}
-.blogHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d1d9db; border-bottom:3px solid #ed135a; background:url(../images/common/lineH3.gif) no-repeat right bottom;}
-
-#blog_category { position:relative; border:1px solid #e0e1db; background:url(../images/red/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
-.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/red/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
-#bodyWrap #header #globalNavigation li.on a { color:#fe3614;}
-
-#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/red/blogHeaderVr.gif) no-repeat right center;}
-#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/red/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
-
-/* account Navigation */
-#blogAccountNavigation li.join a { background:url(../images/red/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-#blogAccountNavigation li.myInfo a { background:url(../images/red/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-
-/* blog Information */
-.articleNum { float:left; background:url(../images/red/iconArticle.gif) no-repeat left top; }
-.articleNum strong { font:bold 11px Tahoma; color:#ff6600;}
-
-/* style.list */
-.blogList th { background:#ffffff url(../images/red/lineBlogListTh.gif) no-repeat left bottom; }
-.blogList td.recommend { color:#ff6600; }
-.blogList td .replyAndTrackback { color:#ff6600; }
-.buttonTypeGo { background:url(../images/red/buttonTypeInput24.gif) no-repeat; }
-
-/* pageNavigation */
-.pageNavigation .current { color:#ff6600; border-right:1px solid #CCCCCC; }
-
-/* blogRead */
-.blogRead .readFooter .fileAttached li a { background:url(../images/red/iconFile.gif) no-repeat left top;}
-
-/* replyAndTrackback */
-.replyAndTrackback { background:url(../images/red/bgBlogListTh.gif) repeat-x left 0px; }
-.replyAndTrackback a strong { color:#ff6600;}
-.replyBox .fileAttached li { border:0px; display:inline; margin-right:.75em; line-height:1.5em; padding:.1em 0 .1em 1.5em; background:url(../images/red/iconFile.gif) no-repeat left;}
-
-/* widget common css */
-.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/red/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
diff --git a/modules/blog/skins/xe_blog/css/white.css b/modules/blog/skins/xe_blog/css/white.css
deleted file mode 100644
index f0e834389..000000000
--- a/modules/blog/skins/xe_blog/css/white.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@charset "utf-8";
-
-/* blog Title */
-.blogHeader { position:relative; _width:100%; border:1px solid #e1e1dd; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) repeat-x left bottom; overflow:hidden;}
-.blogHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-bottom:3px solid #fe3614; background:#ffffff url(../images/common/lineH3.gif) no-repeat right bottom;}
-
-#blog_category { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
-.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
-#bodyWrap #header #globalNavigation li.on a { color:#fe3614;}
-
-#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/white/blogHeaderVr.gif) no-repeat right center;}
-#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/white/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
-
-/* account Navigation */
-#blogAccountNavigation li.join a { background:url(../images/white/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-#blogAccountNavigation li.myInfo a { background:url(../images/white/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
-
-/* blog Information */
-.articleNum { float:left; background:url(../images/white/iconArticle.gif) no-repeat left top; }
-.articleNum strong { font:bold 11px Tahoma; color:#ff6600;}
-
-/* style.list */
-.blogList th { background:#ffffff url(../images/white/lineBlogListTh.gif) no-repeat left bottom; }
-.blogList td.recommend { color:#ff6600; }
-.blogList td .replyAndTrackback { color:#ff6600; }
-.buttonTypeGo { background:url(../images/white/buttonTypeInput24.gif) no-repeat; }
-
-/* pageNavigation */
-.pageNavigation .current { color:#ff6600; border-right:1px solid #CCCCCC; }
-
-/* blogRead */
-.blogRead .readFooter .fileAttached li a { background:url(../images/white/iconFile.gif) no-repeat left top;}
-
-/* replyAndTrackback */
-.replyAndTrackback { background:url(../images/white/bgBlogListTh.gif) repeat-x left 0px; }
-.replyAndTrackback a strong { color:#ff6600;}
-.replyBox .fileAttached li { border:0px; display:inline; margin-right:.75em; line-height:1.5em; padding:.1em 0 .1em 1.5em; background:url(../images/white/iconFile.gif) no-repeat left;}
-
-/* widget common css */
-.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }
diff --git a/modules/blog/skins/xe_blog/delete_comment_form.html b/modules/blog/skins/xe_blog/delete_comment_form.html
deleted file mode 100644
index d2d0ba4e2..000000000
--- a/modules/blog/skins/xe_blog/delete_comment_form.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/delete_form.html b/modules/blog/skins/xe_blog/delete_form.html
deleted file mode 100644
index 1ca638c93..000000000
--- a/modules/blog/skins/xe_blog/delete_form.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/delete_trackback_form.html b/modules/blog/skins/xe_blog/delete_trackback_form.html
deleted file mode 100644
index f907b6793..000000000
--- a/modules/blog/skins/xe_blog/delete_trackback_form.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/extra_var_form.html b/modules/blog/skins/xe_blog/extra_var_form.html
deleted file mode 100644
index 564cec9d9..000000000
--- a/modules/blog/skins/xe_blog/extra_var_form.html
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
- {@ $val->default = explode(',',$val->default) }
-
-
-
-{@ $val->column_name = "extra_vars".$key}
-
-
-{@ $val->value = $oDocument->getExtraValue($key)}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {zdate($val->value,"Y-m-d")}
- {$lang->cmd_open_calendar}
-
-
-
-{$val->desc}
-
diff --git a/modules/blog/skins/xe_blog/extra_var_value.html b/modules/blog/skins/xe_blog/extra_var_value.html
deleted file mode 100644
index fd889bab2..000000000
--- a/modules/blog/skins/xe_blog/extra_var_value.html
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-{@ $val->column_name = "extra_vars".$key}
-
-
-{@ $val->value = $oDocument->getExtraValue($key)}
-
-
-
- {htmlspecialchars($val->value)}
-
-
-
-
- {$val->value}
-
-
-
-
-
-
-
- {$val->value}
-
-
-
-
-
-
- {htmlspecialchars($val->value[0])}
- -
- {htmlspecialchars($val->value[1])}
- -
- {htmlspecialchars($val->value[2])}
-
-
-
-
- {nl2br(htmlspecialchars($val->value))}
-
-
-
-
- {@ $val->value = array($val->value) }
-
- {@ $_tmp_value[] = htmlspecialchars($v)}
-
- {implode(",",$_tmp_value)}
-
-
-
-
- {htmlspecialchars($val->value)}
-
-
-
-
- {zdate($val->value,"Y-m-d")}
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/filter/delete_comment.xml b/modules/blog/skins/xe_blog/filter/delete_comment.xml
deleted file mode 100644
index 86ca3fb71..000000000
--- a/modules/blog/skins/xe_blog/filter/delete_comment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/filter/delete_document.xml b/modules/blog/skins/xe_blog/filter/delete_document.xml
deleted file mode 100644
index 263ca7e86..000000000
--- a/modules/blog/skins/xe_blog/filter/delete_document.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/filter/delete_trackback.xml b/modules/blog/skins/xe_blog/filter/delete_trackback.xml
deleted file mode 100644
index 1d8841ba3..000000000
--- a/modules/blog/skins/xe_blog/filter/delete_trackback.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/filter/input_password.xml b/modules/blog/skins/xe_blog/filter/input_password.xml
deleted file mode 100644
index f2d1c0c42..000000000
--- a/modules/blog/skins/xe_blog/filter/input_password.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/filter/insert.xml b/modules/blog/skins/xe_blog/filter/insert.xml
deleted file mode 100644
index 254dad45d..000000000
--- a/modules/blog/skins/xe_blog/filter/insert.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/filter/insert_comment.xml b/modules/blog/skins/xe_blog/filter/insert_comment.xml
deleted file mode 100644
index 7dd555f50..000000000
--- a/modules/blog/skins/xe_blog/filter/insert_comment.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/footer.html b/modules/blog/skins/xe_blog/footer.html
deleted file mode 100644
index e69de29bb..000000000
diff --git a/modules/blog/skins/xe_blog/header.html b/modules/blog/skins/xe_blog/header.html
deleted file mode 100644
index e69de29bb..000000000
diff --git a/modules/blog/skins/xe_blog/images/common/bgBlogEditorOption.gif b/modules/blog/skins/xe_blog/images/common/bgBlogEditorOption.gif
deleted file mode 100644
index 559588af6..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/bgBlogEditorOption.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/bgEditorFileList.gif b/modules/blog/skins/xe_blog/images/common/bgEditorFileList.gif
deleted file mode 100644
index e5050341c..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/bgEditorFileList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/bgH3.gif b/modules/blog/skins/xe_blog/images/common/bgH3.gif
deleted file mode 100644
index 0d07bb456..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/bgH3.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/blank.gif b/modules/blog/skins/xe_blog/images/common/blank.gif
deleted file mode 100644
index 35d42e808..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/blank.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/blogHeaderVr.gif b/modules/blog/skins/xe_blog/images/common/blogHeaderVr.gif
deleted file mode 100644
index 9480e8106..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/blogHeaderVr.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/bottomGotoFirst.gif b/modules/blog/skins/xe_blog/images/common/bottomGotoFirst.gif
deleted file mode 100644
index e0297fecb..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/bottomGotoFirst.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/bottomGotoLast.gif b/modules/blog/skins/xe_blog/images/common/bottomGotoLast.gif
deleted file mode 100644
index 0a7141d0d..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/bottomGotoLast.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/bullet_3x3_d8d8d8.gif b/modules/blog/skins/xe_blog/images/common/bullet_3x3_d8d8d8.gif
deleted file mode 100644
index c1f245227..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/bullet_3x3_d8d8d8.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonAscending.gif b/modules/blog/skins/xe_blog/images/common/buttonAscending.gif
deleted file mode 100644
index b405cc323..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonAscending.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonClose.gif b/modules/blog/skins/xe_blog/images/common/buttonClose.gif
deleted file mode 100644
index 12cd8aaa9..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonClose.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonDeleteX.gif b/modules/blog/skins/xe_blog/images/common/buttonDeleteX.gif
deleted file mode 100644
index c066e49be..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonDeleteX.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonDescending.gif b/modules/blog/skins/xe_blog/images/common/buttonDescending.gif
deleted file mode 100644
index 2dc5575ff..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonDescending.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonHelp.gif b/modules/blog/skins/xe_blog/images/common/buttonHelp.gif
deleted file mode 100644
index d330e801f..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonHelp.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonTextAreaDrag.gif b/modules/blog/skins/xe_blog/images/common/buttonTextAreaDrag.gif
deleted file mode 100644
index 148e9ee10..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonTextAreaDrag.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonToggleReply.gif b/modules/blog/skins/xe_blog/images/common/buttonToggleReply.gif
deleted file mode 100644
index ba3609980..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonToggleReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/buttonTypeInput24.gif b/modules/blog/skins/xe_blog/images/common/buttonTypeInput24.gif
deleted file mode 100644
index 0dcfc0e3d..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/buttonTypeInput24.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/document_menu.gif b/modules/blog/skins/xe_blog/images/common/document_menu.gif
deleted file mode 100644
index 548e48ec7..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/document_menu.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/find_button.gif b/modules/blog/skins/xe_blog/images/common/find_button.gif
deleted file mode 100644
index 7520ec3f4..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/find_button.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconAdmin.gif b/modules/blog/skins/xe_blog/images/common/iconAdmin.gif
deleted file mode 100644
index 4a581a524..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconAdmin.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconArrowD8.gif b/modules/blog/skins/xe_blog/images/common/iconArrowD8.gif
deleted file mode 100644
index fe3143edc..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconArrowD8.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconCheck.gif b/modules/blog/skins/xe_blog/images/common/iconCheck.gif
deleted file mode 100644
index 2fa7ce694..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconCheck.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconFolderClose.gif b/modules/blog/skins/xe_blog/images/common/iconFolderClose.gif
deleted file mode 100644
index 3a780968d..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconFolderClose.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconH3.gif b/modules/blog/skins/xe_blog/images/common/iconH3.gif
deleted file mode 100644
index 8ea0cec82..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconH3.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconList.gif b/modules/blog/skins/xe_blog/images/common/iconList.gif
deleted file mode 100644
index 2e67636f5..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconNotice.gif b/modules/blog/skins/xe_blog/images/common/iconNotice.gif
deleted file mode 100644
index d32027496..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconNotice.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconReply.gif b/modules/blog/skins/xe_blog/images/common/iconReply.gif
deleted file mode 100644
index a6d4ea112..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconReplyArrow.gif b/modules/blog/skins/xe_blog/images/common/iconReplyArrow.gif
deleted file mode 100644
index d1a21a040..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconReplyArrow.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconRss.gif b/modules/blog/skins/xe_blog/images/common/iconRss.gif
deleted file mode 100644
index eec2d5ead..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconRss.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconSetup.gif b/modules/blog/skins/xe_blog/images/common/iconSetup.gif
deleted file mode 100644
index 33b41da11..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconSetup.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconTag.gif b/modules/blog/skins/xe_blog/images/common/iconTag.gif
deleted file mode 100644
index ecfdb5585..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconTag.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconTrackback.gif b/modules/blog/skins/xe_blog/images/common/iconTrackback.gif
deleted file mode 100644
index 1c83bcadd..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconTrackback.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/iconWrite.gif b/modules/blog/skins/xe_blog/images/common/iconWrite.gif
deleted file mode 100644
index f18cb5e9e..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/iconWrite.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/lineH3.gif b/modules/blog/skins/xe_blog/images/common/lineH3.gif
deleted file mode 100644
index fe42fe378..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/lineH3.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/lineTextAreaDrag.gif b/modules/blog/skins/xe_blog/images/common/lineTextAreaDrag.gif
deleted file mode 100644
index 3df035047..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/lineTextAreaDrag.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/line_1x10_e0e0e0.gif b/modules/blog/skins/xe_blog/images/common/line_1x10_e0e0e0.gif
deleted file mode 100644
index 6a848dd58..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/line_1x10_e0e0e0.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/poweredbyzbxe.png b/modules/blog/skins/xe_blog/images/common/poweredbyzbxe.png
deleted file mode 100644
index e15f5af89..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/poweredbyzbxe.png and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/typeGallery.gif b/modules/blog/skins/xe_blog/images/common/typeGallery.gif
deleted file mode 100644
index 8479abbbd..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/typeGallery.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/typeList.gif b/modules/blog/skins/xe_blog/images/common/typeList.gif
deleted file mode 100644
index f031faa8c..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/typeList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/common/typeWebzine.gif b/modules/blog/skins/xe_blog/images/common/typeWebzine.gif
deleted file mode 100644
index 09fcaac9b..000000000
Binary files a/modules/blog/skins/xe_blog/images/common/typeWebzine.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/bgBlogListTh.gif b/modules/blog/skins/xe_blog/images/cyan/bgBlogListTh.gif
deleted file mode 100644
index aebba7b59..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/bgBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/bgBoxTypeB.gif b/modules/blog/skins/xe_blog/images/cyan/bgBoxTypeB.gif
deleted file mode 100644
index 99a877045..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/bgBoxTypeB.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/blogHeaderLine.gif b/modules/blog/skins/xe_blog/images/cyan/blogHeaderLine.gif
deleted file mode 100644
index 33699610d..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/blogHeaderLine.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/blogHeaderVr.gif b/modules/blog/skins/xe_blog/images/cyan/blogHeaderVr.gif
deleted file mode 100644
index 9480e8106..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/blogHeaderVr.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/buttonModifyE.gif b/modules/blog/skins/xe_blog/images/cyan/buttonModifyE.gif
deleted file mode 100644
index a1d4340d3..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/buttonModifyE.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/buttonReply.gif b/modules/blog/skins/xe_blog/images/cyan/buttonReply.gif
deleted file mode 100644
index 1baede5d0..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/buttonReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/buttonTypeInput24.gif b/modules/blog/skins/xe_blog/images/cyan/buttonTypeInput24.gif
deleted file mode 100644
index 7a341a96b..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/buttonTypeInput24.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/iconArticle.gif b/modules/blog/skins/xe_blog/images/cyan/iconArticle.gif
deleted file mode 100644
index bce58cfe8..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/iconArticle.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/iconFile.gif b/modules/blog/skins/xe_blog/images/cyan/iconFile.gif
deleted file mode 100644
index 83ad10665..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/iconFile.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/iconList.gif b/modules/blog/skins/xe_blog/images/cyan/iconList.gif
deleted file mode 100644
index d41737669..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/iconList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/iconMyInfo.gif b/modules/blog/skins/xe_blog/images/cyan/iconMyInfo.gif
deleted file mode 100644
index 1ba5a947e..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/iconMyInfo.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/iconWrite.gif b/modules/blog/skins/xe_blog/images/cyan/iconWrite.gif
deleted file mode 100644
index 9319f7e9b..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/iconWrite.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/cyan/lineBlogListTh.gif b/modules/blog/skins/xe_blog/images/cyan/lineBlogListTh.gif
deleted file mode 100644
index b26bf737c..000000000
Binary files a/modules/blog/skins/xe_blog/images/cyan/lineBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/bgBlogListTh.gif b/modules/blog/skins/xe_blog/images/green/bgBlogListTh.gif
deleted file mode 100644
index ae25c2d82..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/bgBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/bgBoxTypeB.gif b/modules/blog/skins/xe_blog/images/green/bgBoxTypeB.gif
deleted file mode 100644
index 1cdca75c2..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/bgBoxTypeB.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/blogHeaderLine.gif b/modules/blog/skins/xe_blog/images/green/blogHeaderLine.gif
deleted file mode 100644
index fb52802d8..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/blogHeaderLine.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/blogHeaderVr.gif b/modules/blog/skins/xe_blog/images/green/blogHeaderVr.gif
deleted file mode 100644
index 9480e8106..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/blogHeaderVr.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/buttonModifyE.gif b/modules/blog/skins/xe_blog/images/green/buttonModifyE.gif
deleted file mode 100644
index 6a4ade1a5..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/buttonModifyE.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/buttonReply.gif b/modules/blog/skins/xe_blog/images/green/buttonReply.gif
deleted file mode 100644
index e142d4263..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/buttonReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/buttonTypeInput24.gif b/modules/blog/skins/xe_blog/images/green/buttonTypeInput24.gif
deleted file mode 100644
index 3e01072b9..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/buttonTypeInput24.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/iconArticle.gif b/modules/blog/skins/xe_blog/images/green/iconArticle.gif
deleted file mode 100644
index a27236ef2..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/iconArticle.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/iconFile.gif b/modules/blog/skins/xe_blog/images/green/iconFile.gif
deleted file mode 100644
index 2040f4fcb..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/iconFile.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/iconList.gif b/modules/blog/skins/xe_blog/images/green/iconList.gif
deleted file mode 100644
index 2e67636f5..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/iconList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/iconMyInfo.gif b/modules/blog/skins/xe_blog/images/green/iconMyInfo.gif
deleted file mode 100644
index b67f29733..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/iconMyInfo.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/iconWrite.gif b/modules/blog/skins/xe_blog/images/green/iconWrite.gif
deleted file mode 100644
index 2c9832e36..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/iconWrite.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/green/lineBlogListTh.gif b/modules/blog/skins/xe_blog/images/green/lineBlogListTh.gif
deleted file mode 100644
index 282297cf8..000000000
Binary files a/modules/blog/skins/xe_blog/images/green/lineBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/bgBlogListTh.gif b/modules/blog/skins/xe_blog/images/purple/bgBlogListTh.gif
deleted file mode 100644
index ae25c2d82..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/bgBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/bgBoxTypeB.gif b/modules/blog/skins/xe_blog/images/purple/bgBoxTypeB.gif
deleted file mode 100644
index 9e130ae44..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/bgBoxTypeB.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/blogHeaderLine.gif b/modules/blog/skins/xe_blog/images/purple/blogHeaderLine.gif
deleted file mode 100644
index 4d1c70f6a..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/blogHeaderLine.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/blogHeaderVr.gif b/modules/blog/skins/xe_blog/images/purple/blogHeaderVr.gif
deleted file mode 100644
index 9480e8106..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/blogHeaderVr.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/buttonModifyE.gif b/modules/blog/skins/xe_blog/images/purple/buttonModifyE.gif
deleted file mode 100644
index a1d4340d3..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/buttonModifyE.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/buttonReply.gif b/modules/blog/skins/xe_blog/images/purple/buttonReply.gif
deleted file mode 100644
index 600534865..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/buttonReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/buttonTypeInput24.gif b/modules/blog/skins/xe_blog/images/purple/buttonTypeInput24.gif
deleted file mode 100644
index 0dcfc0e3d..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/buttonTypeInput24.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/iconArticle.gif b/modules/blog/skins/xe_blog/images/purple/iconArticle.gif
deleted file mode 100644
index 59c1c8019..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/iconArticle.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/iconFile.gif b/modules/blog/skins/xe_blog/images/purple/iconFile.gif
deleted file mode 100644
index c39a49aa0..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/iconFile.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/iconList.gif b/modules/blog/skins/xe_blog/images/purple/iconList.gif
deleted file mode 100644
index 2e67636f5..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/iconList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/iconMyInfo.gif b/modules/blog/skins/xe_blog/images/purple/iconMyInfo.gif
deleted file mode 100644
index af4545bfa..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/iconMyInfo.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/iconWrite.gif b/modules/blog/skins/xe_blog/images/purple/iconWrite.gif
deleted file mode 100644
index f18cb5e9e..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/iconWrite.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/purple/lineBlogListTh.gif b/modules/blog/skins/xe_blog/images/purple/lineBlogListTh.gif
deleted file mode 100644
index 6c74832c3..000000000
Binary files a/modules/blog/skins/xe_blog/images/purple/lineBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/bgBlogListTh.gif b/modules/blog/skins/xe_blog/images/red/bgBlogListTh.gif
deleted file mode 100644
index ae25c2d82..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/bgBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/bgBoxTypeB.gif b/modules/blog/skins/xe_blog/images/red/bgBoxTypeB.gif
deleted file mode 100644
index 01406b48a..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/bgBoxTypeB.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/bgBoxTypeB.gif.1 b/modules/blog/skins/xe_blog/images/red/bgBoxTypeB.gif.1
deleted file mode 100644
index 01406b48a..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/bgBoxTypeB.gif.1 and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/blogHeaderLine.gif b/modules/blog/skins/xe_blog/images/red/blogHeaderLine.gif
deleted file mode 100644
index 6fc563f06..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/blogHeaderLine.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/blogHeaderVr.gif b/modules/blog/skins/xe_blog/images/red/blogHeaderVr.gif
deleted file mode 100644
index 9480e8106..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/blogHeaderVr.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/buttonModifyE.gif b/modules/blog/skins/xe_blog/images/red/buttonModifyE.gif
deleted file mode 100644
index 974552d54..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/buttonModifyE.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/buttonReply.gif b/modules/blog/skins/xe_blog/images/red/buttonReply.gif
deleted file mode 100644
index b9472e1bc..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/buttonReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/buttonTypeInput24.gif b/modules/blog/skins/xe_blog/images/red/buttonTypeInput24.gif
deleted file mode 100644
index 2ae80ed23..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/buttonTypeInput24.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/iconArticle.gif b/modules/blog/skins/xe_blog/images/red/iconArticle.gif
deleted file mode 100644
index 5cd05be62..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/iconArticle.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/iconFile.gif b/modules/blog/skins/xe_blog/images/red/iconFile.gif
deleted file mode 100644
index ee0dd83c7..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/iconFile.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/iconList.gif b/modules/blog/skins/xe_blog/images/red/iconList.gif
deleted file mode 100644
index 2e67636f5..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/iconList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/iconMyInfo.gif b/modules/blog/skins/xe_blog/images/red/iconMyInfo.gif
deleted file mode 100644
index b48e1fcd2..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/iconMyInfo.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/iconWrite.gif b/modules/blog/skins/xe_blog/images/red/iconWrite.gif
deleted file mode 100644
index 2caff746f..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/iconWrite.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/red/lineBlogListTh.gif b/modules/blog/skins/xe_blog/images/red/lineBlogListTh.gif
deleted file mode 100644
index ee37cb8df..000000000
Binary files a/modules/blog/skins/xe_blog/images/red/lineBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/folder.gif b/modules/blog/skins/xe_blog/images/tree_menu/folder.gif
deleted file mode 100644
index eb129763d..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/folder.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/join.gif b/modules/blog/skins/xe_blog/images/tree_menu/join.gif
deleted file mode 100644
index 46162d1f8..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/join.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/joinbottom.gif b/modules/blog/skins/xe_blog/images/tree_menu/joinbottom.gif
deleted file mode 100644
index 48b81c80a..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/joinbottom.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/line.gif b/modules/blog/skins/xe_blog/images/tree_menu/line.gif
deleted file mode 100644
index 96321884d..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/line.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/minus.gif b/modules/blog/skins/xe_blog/images/tree_menu/minus.gif
deleted file mode 100644
index 2e8a1123d..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/minus.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/minusbottom.gif b/modules/blog/skins/xe_blog/images/tree_menu/minusbottom.gif
deleted file mode 100644
index dc3198be2..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/minusbottom.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/page.gif b/modules/blog/skins/xe_blog/images/tree_menu/page.gif
deleted file mode 100644
index 42d7318c5..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/page.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/page_folder.gif b/modules/blog/skins/xe_blog/images/tree_menu/page_folder.gif
deleted file mode 100644
index e6d880347..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/page_folder.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/plus.gif b/modules/blog/skins/xe_blog/images/tree_menu/plus.gif
deleted file mode 100755
index c064c11f1..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/plus.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/tree_menu/plusbottom.gif b/modules/blog/skins/xe_blog/images/tree_menu/plusbottom.gif
deleted file mode 100644
index b5671d891..000000000
Binary files a/modules/blog/skins/xe_blog/images/tree_menu/plusbottom.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/bgBlogListTh.gif b/modules/blog/skins/xe_blog/images/white/bgBlogListTh.gif
deleted file mode 100644
index ae25c2d82..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/bgBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/bgBoxTypeB.gif b/modules/blog/skins/xe_blog/images/white/bgBoxTypeB.gif
deleted file mode 100644
index 09f7dd59c..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/bgBoxTypeB.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/blogHeaderLine.gif b/modules/blog/skins/xe_blog/images/white/blogHeaderLine.gif
deleted file mode 100644
index b28509e7e..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/blogHeaderLine.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/blogHeaderVr.gif b/modules/blog/skins/xe_blog/images/white/blogHeaderVr.gif
deleted file mode 100644
index 9480e8106..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/blogHeaderVr.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/buttonModifyE.gif b/modules/blog/skins/xe_blog/images/white/buttonModifyE.gif
deleted file mode 100644
index 1cde1b60f..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/buttonModifyE.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/buttonReply.gif b/modules/blog/skins/xe_blog/images/white/buttonReply.gif
deleted file mode 100644
index 600534865..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/buttonReply.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/buttonTypeInput24.gif b/modules/blog/skins/xe_blog/images/white/buttonTypeInput24.gif
deleted file mode 100644
index 0dcfc0e3d..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/buttonTypeInput24.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/iconArticle.gif b/modules/blog/skins/xe_blog/images/white/iconArticle.gif
deleted file mode 100644
index 59c1c8019..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/iconArticle.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/iconFile.gif b/modules/blog/skins/xe_blog/images/white/iconFile.gif
deleted file mode 100644
index c39a49aa0..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/iconFile.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/iconList.gif b/modules/blog/skins/xe_blog/images/white/iconList.gif
deleted file mode 100644
index 1c83bcadd..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/iconList.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/iconMyInfo.gif b/modules/blog/skins/xe_blog/images/white/iconMyInfo.gif
deleted file mode 100644
index af4545bfa..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/iconMyInfo.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/iconWrite.gif b/modules/blog/skins/xe_blog/images/white/iconWrite.gif
deleted file mode 100644
index f18cb5e9e..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/iconWrite.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/images/white/lineBlogListTh.gif b/modules/blog/skins/xe_blog/images/white/lineBlogListTh.gif
deleted file mode 100644
index 6d891d82c..000000000
Binary files a/modules/blog/skins/xe_blog/images/white/lineBlogListTh.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/input_password_form.html b/modules/blog/skins/xe_blog/input_password_form.html
deleted file mode 100644
index 0f935eb92..000000000
--- a/modules/blog/skins/xe_blog/input_password_form.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/js/blog.js b/modules/blog/skins/xe_blog/js/blog.js
deleted file mode 100644
index 2fd8db522..000000000
--- a/modules/blog/skins/xe_blog/js/blog.js
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * @file modules/blog/js/blog.js
- * @author zero (zero@nzeo.com)
- * @brief blog 모듈의 javascript
- **/
-
-/* 글쓰기 작성후 */
-function completeDocumentInserted(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var document_srl = ret_obj['document_srl'];
- var category_srl = ret_obj['category_srl'];
-
- alert(message);
-
- var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
- if(category_srl) url = url.setQuery('category',category_srl);
- location.href = url;
-}
-
-/* 글 삭제 */
-function completeDeleteDocument(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var page = ret_obj['page'];
-
- var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('document_srl','');
- if(page) url = url.setQuery('page',page);
-
- alert(message);
-
- location.href = url;
-}
-
-/* 검색 실행 */
-function completeSearch(fo_obj, params) {
- fo_obj.submit();
-}
-
-// 현재 페이지 reload
-function completeReload(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
-
- location.href = location.href;
-}
-
-/* 댓글쓰기 submit */
-function doCommentSubmit() {
- var fo_obj = xGetElementById('fo_comment_write');
- procFilter(fo_obj, insert);
-}
-
-/* 댓글 글쓰기 작성후 */
-function completeInsertComment(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var comment_srl = ret_obj['comment_srl'];
-
- alert(message);
- var url = current_url.setQuery('comment_srl','').setQuery('act','').setQuery('rnd',comment_srl);
- if(comment_srl) url += '#comment_'+comment_srl;
- location.href = url;
-}
-
-/* 댓글 삭제 */
-function completeDeleteComment(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var document_srl = ret_obj['document_srl'];
- var page = ret_obj['page'];
-
- var url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
- if(page) url = url.setQuery('page',page);
-
- alert(message);
-
- location.href = url;
-}
-
-/* 트랙백 삭제 */
-function completeDeleteTrackback(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var document_srl = ret_obj['document_srl'];
- var page = ret_obj['page'];
-
- var url = "./?mid="+mid+'&document_srl='+document_srl;
- if(page) url += "&page="+page;
-
- alert(message);
-
- location.href = url;
-}
-
-/* 카테고리 이동 */
-function doChangeCategory(sel_obj, url) {
- var category_srl = sel_obj.options[sel_obj.selectedIndex].value;
- if(!category_srl) location.href=url;
- else location.href=url+'&category='+category_srl;
-}
diff --git a/modules/blog/skins/xe_blog/js/blog_tree_menu.js b/modules/blog/skins/xe_blog/js/blog_tree_menu.js
deleted file mode 100644
index a62be3f79..000000000
--- a/modules/blog/skins/xe_blog/js/blog_tree_menu.js
+++ /dev/null
@@ -1,277 +0,0 @@
-/**
- * @file blog_tree_menu.js
- * @author zero (zero@nzeo.com)
- * @brief xml파일을 읽어서 트리 메뉴를 그려줌
- *
- * common/tpl/tree_menu.js 를 서비스용으로만 사용하기 위해서 수정한 것.
- * 관리 기능이 없고 css 적용이 가능
- **/
-
-// 폴더를 모두 열고/닫기 위한 변수 설정
-var blog_tree_menu_folder_list = new Array();
-
-// 노드의 정보를 가지고 있을 변수
-var blog_node_info_list = new Array();
-
-// 카테고리의 node_srl로 문서 갯수를 리턴하는 함수
-function getDocumentCount(node_srl) {
- return parseInt(category_document_count[node_srl],10);
-}
-
-// 트리메뉴의 정보를 담고 있는 xml파일을 읽고 drawTreeMenu()를 호출하는 함수
-function blogLoadTreeMenu(xml_url, title, index_url) {
- // 일단 그릴 곳을 찾아서 사전 작업을 함 (그릴 곳이 없다면 아예 시도를 안함)
- var zone = xGetElementById("blog_category");
- if(typeof(zone)=="undefined") return;
-
- // 제목이 없으면 제목을 category로 지정
- if(typeof(title)=="undefined" || !title) title = "Category";
-
- // index url이 없으면 현재 # 으로 대체
- if(!index_url) index_url= "#";
-
- // xml_handler를 이용해서 직접 메뉴 xml파일를 읽음
- if(!xml_url) return;
- var oXml = new xml_handler();
- oXml.reset();
- oXml.xml_path = xml_url;
-
- var param = {"title":title, "index_url":index_url}
-
- // 요청후 drawTreeMenu()함수를 호출 (xml_handler.js에서 request method를 직접 이용)
- oXml.request(blogDrawTreeMenu, oXml, null, null, null, param);
-}
-
-// 트리메뉴 XML정보를 이용해서 정해진 zone에 출력
-var blog_menu_selected = false;
-function blogDrawTreeMenu(oXml, callback_func, resopnse_tags, null_func, param) {
- var title = param.title;
- var index_url = param.index_url;
-
- var zone = xGetElementById("blog_category");
- var html = "";
- var document_count = 0;
-
- // 받아온 xml내용을 이용하여 트리 메뉴 그림
- var xmlDoc = oXml.getResponseXml();
- if(!xmlDoc) {
- xInnerHtml(zone, html);
- return null;
- }
-
- // node 태그에 해당하는 값들을 가져와서 html을 작성
- var node_list = xmlDoc.getElementsByTagName("node");
- if(node_list.length>0) {
- var root = xmlDoc.getElementsByTagName("root")[0];
- var output = blogDrawNode(root,0);
- html += output.html;
- document_count += parseInt(output.document_count,10);
- }
-
- // 제목 지정
- var title_class = "selected";
- if(blog_menu_selected) title_class = "unselected";
- var title_html = ''+title+' ';
- if(document_count) title_html += '('+document_count+')';
- html = title_html+'
'+html+'
';
-
- // 출력하려는 zone이 없다면 load후에 출력하도록 함
- if(!zone) {
- xAddEventListener(window, 'load', function() { blogDrawTeeMenu(html); });
-
- // 출력하려는 zone을 찾아졌다면 바로 출력
- } else {
- xInnerHtml(zone, html);
- }
-
- return null;
-}
-
-// 페이지 랜더링 중에 메뉴의 html이 완성되었을때 window.onload event 후에 그리기 재시도를 하게 될 함수
-function blogDrawTeeMenu(html) {
- xInnerHtml("blog_category", html);
-}
-
-// root부터 시작해서 recursive하게 노드를 표혐
-function blogDrawNode(parent_node, depth) {
- var output = {html:"", expand:"N", document_count:0}
-
- for (var i=0; i< parent_node.childNodes.length; i++) {
- var html = "";
- var selected = false;
-
- // nodeName이 node가 아니면 패스~
- var node = parent_node.childNodes.item(i);
- if(node.nodeName!="node") continue;
-
- // node의 기본 변수들 체크
- var node_srl = node.getAttribute("node_srl");
- var text = node.getAttribute("text");
- var url = node.getAttribute("url");
- var expand = node.getAttribute("expand");
- var document_count = parseInt(node.getAttribute("document_count"),10);
- if(!text) continue;
-
- // 자식 노드가 있는지 확인
- var hasChild = false;
- if(node.hasChildNodes()) hasChild = true;
-
- // nextSibling가 있는지 확인
- var hasNextSibling = false;
- if(i==parent_node.childNodes.length-1) hasNextSibling = true;
-
- // 후에 사용하기 위해 blog_node_info_list에 node_srl을 값으로 하여 node object 추가
- blog_node_info_list[node_srl] = node;
-
- // zone_id 값을 세팅
- var zone_id = "blog_category_"+node_srl;
- blog_tree_menu_folder_list[blog_tree_menu_folder_list.length] = zone_id;
-
- var current_category = current_url.getQuery('category');
- if(current_category == node_srl) {
- selected = true;
- blog_menu_selected = true;
- }
-
- // blog_selected_node이 node_srl과 같으면 펼침으로 처리
- if(selected) expand = "Y";
-
- // 아이콘 설정
- var line_class = null;
- var folder_class = null;
-
- // 자식 노드가 있을 경우 자식 노드의 html을 구해옴
- var child_output = null;
- var child_html = "";
-
- if(hasChild) {
- // 자식 노드의 zone id를 세팅
- var child_zone_id = zone_id+"_child";
- blog_tree_menu_folder_list[blog_tree_menu_folder_list.length] = child_zone_id;
-
- // html을 받아옴
- child_output = blogDrawNode(node, depth+1);
- var chtml = child_output.html;
- var cexpand = child_output.expand;
- if(cexpand == "Y") expand = "Y";
- document_count += parseInt(child_output.document_count,10);
-
- // 무조건 펼침이 아닐 경우
- if(expand!="Y") {
- var line_class = "line_close";
- if(hasNextSibling) line_class = "item_close";
- //if(depth==0) line_class = "line_null";
- child_html += ''+chtml+'
';
-
- // 무조건 펼침일 경우
- } else {
- var line_class = "line_open";
- if(hasNextSibling) line_class = "item_open";
- //if(depth==0) line_class = "line_null";
- child_html += ''+chtml+'
';
- }
- }
-
- // 자식 노드가 있는지 확인하여 있으면 아이콘을 바꿈
- if(hasChild) {
-
- // 무조건 펼침이 아닐 경우
- if(expand != "Y") {
- if(!hasNextSibling) {
- line_class = "minus";
- folder_class = "folder_close";
- } else {
- line_class = "minus_bottom";
- folder_class = "folder_close";
- }
- // 무조건 펼침일 경우
- } else {
- if(!hasNextSibling) {
- line_class = "plus";
- folder_class = "folder_open";
- } else {
- line_class = "plus_bottom";
- folder_class = "folder_open";
- }
- }
-
- // 자식 노드가 없을 경우
- } else {
- if(hasNextSibling) {
- line_class = "join_bottom";
- folder_class = "page";
- } else {
- line_class = "join";
- folder_class = "page";
- }
- }
-
- if(depth==0) line_class = 'line_null';
-
-
- // html 작성
- var click_str = ' class="'+folder_class+'"' ;
- if(hasChild) click_str += ' onclick="blogToggleFolder(\''+zone_id+'\');return false;" ';
-
- var text_class = "unselected";
- if(selected) text_class = "selected";
-
- var document_count_text = "";
- if(document_count) document_count_text = '('+document_count+')';
-
- // 왼쪽 폴더/페이지와 텍스트 위치를 맞추기 위해;;; table태그 일단 사용. 차후 바꾸자..
- html += ''+
- '
';
-
- if(hasChild && child_html) html += child_html;
-
- html += '
';
-
- output.html += html;
-
- if(expand=="Y") output.expand = "Y";
-
- output.document_count += parseInt(document_count,10);
- }
- return output;
-}
-
-// 노드의 폴더 아이콘 클릭시
-function blogToggleFolder(zone_id) {
- // 아이콘을 클릭한 대상을 찾아봄
- var child_zone = xGetElementById(zone_id+"_child");
- if(!child_zone) return;
-
- var line_obj = xGetElementById(zone_id+'_line');
- var folder_obj = xGetElementById(zone_id+'_folder');
-
-
- // 대상의 자식 노드들이 숨겨져 있다면 열고 아니면 닫기
- if(folder_obj.className == "folder_open") {
- child_zone.style.display = "none";
-
- if(!line_obj.className.search('null')) {
- if(line_obj.className.indexOf('bottom')>0) line_obj.className = 'plus_bottom';
- else line_obj.className = 'plus';
- }
-
- folder_obj.className = 'folder_close'
- } else {
- child_zone.style.display = "block";
-
- if(!line_obj.className.search('null')) {
- if(line_obj.className.indexOf('bottom')>0) line_obj.className = 'minus_bottom';
- else line_obj.className = 'minus';
- }
-
- folder_obj.className = 'folder_open';
- }
-}
-
-// 노드 클릭시
-function blogSelectNode(url) {
- location.href = url;
-}
diff --git a/modules/blog/skins/xe_blog/layout.html b/modules/blog/skins/xe_blog/layout.html
deleted file mode 100644
index d71edd67d..000000000
--- a/modules/blog/skins/xe_blog/layout.html
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {@$layout_info->colorset = "white"}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {$layout_info->header_text}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-
-
-
- - {$layout_info->profile}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-

-
-
-
-

-
-
-
-
-
-
{$content}
-
-
-
-
-
-
-{$layout_info->footer_text}
diff --git a/modules/blog/skins/xe_blog/list.html b/modules/blog/skins/xe_blog/list.html
deleted file mode 100644
index dd99e17d4..000000000
--- a/modules/blog/skins/xe_blog/list.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-
{$page_no}
-
-
{$page_no}
-
-
-

-
-
-
diff --git a/modules/blog/skins/xe_blog/message.html b/modules/blog/skins/xe_blog/message.html
deleted file mode 100644
index 00bf01814..000000000
--- a/modules/blog/skins/xe_blog/message.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- {$message}
-
-
-
- {$lang->cmd_login}
-
-
-
diff --git a/modules/blog/skins/xe_blog/screenshot/cyan.gif b/modules/blog/skins/xe_blog/screenshot/cyan.gif
deleted file mode 100644
index 570dd2cec..000000000
Binary files a/modules/blog/skins/xe_blog/screenshot/cyan.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/screenshot/green.gif b/modules/blog/skins/xe_blog/screenshot/green.gif
deleted file mode 100644
index df96888e7..000000000
Binary files a/modules/blog/skins/xe_blog/screenshot/green.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/screenshot/purple.gif b/modules/blog/skins/xe_blog/screenshot/purple.gif
deleted file mode 100644
index ccc3237d1..000000000
Binary files a/modules/blog/skins/xe_blog/screenshot/purple.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/screenshot/red.gif b/modules/blog/skins/xe_blog/screenshot/red.gif
deleted file mode 100644
index a7a98c99f..000000000
Binary files a/modules/blog/skins/xe_blog/screenshot/red.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/screenshot/white.gif b/modules/blog/skins/xe_blog/screenshot/white.gif
deleted file mode 100644
index 6bc4d89cc..000000000
Binary files a/modules/blog/skins/xe_blog/screenshot/white.gif and /dev/null differ
diff --git a/modules/blog/skins/xe_blog/skin.xml b/modules/blog/skins/xe_blog/skin.xml
deleted file mode 100644
index cea2939e9..000000000
--- a/modules/blog/skins/xe_blog/skin.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
- 제로보드XE 블로그 기본 스킨
- ZBXEブログのデフォルトスキン
- Zeroboard XE博客默认皮肤
- Default Skin of Zeroboard XE blog
-
- zero
- zero
- zero
- zero
-
- 제로보드XE 블로그 기본 스킨입니다.
- 디자인 : 서기정 (http://blog.naver.com/addcozy)
- HTML/CSS : 정찬명 (http://naradesign.net)
-
-
- ゼロボードXEブログの基本スキンです。
- デザイン:ソギジョン (http://blog.naver.com/addcozy)
- HTML/CSS:ジョンチャンミョン (http://naradesign.net)
-
-
- Zeroboard XE博客默认皮肤。
- 设计 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
- HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
-
-
- This is default skin of Zeroboard XE blog.
- Design : Ki-Jeong Seo (http://blog.naver.com/addcozy)
- HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
-
-
-
-
- 하얀색(기본)
- 白色(基本)
- 白色(默认)
- White (default)
-
-
- 청록색
- 青緑
- 青绿色
- Cyan
-
-
- 초록색
- 緑
- 绿色
- Green
-
-
- 빨간색
- 赤
- 红色
- Red
-
-
- 보라색
- 紫
- 紫色
- Purple
-
-
-
-
- 상단 제목
- 上段タイトル
- 博客标题
- Top Title
- 레이아웃의 상단에 표시할 제목을 입력하세요.
- レイアウト上段に表示させるタイトルを入力してください。
- 请输入博客主标题。
- Please input title which will be displayed on top of layout.
-
-
- 부제
- サブタイトル
- 副标题
- Subtitle
- 레이아웃의 상단에 큰 제목 아래 부제목을 입력하세요.
- レイアウトの上段にメインタイトルの下のサブタイトルを入力してください。
- 请输入副标题。
- Please input subtitle which will be displayed under the top title.
-
-
- 로고이미지
- ロゴイメージ
- LOGO图片
- Logo Image
- 레이아웃의 상단에 표시될 로고이미지를 입력하세요.
- レイアウトの上段に表示されるロゴイメージを入力してください。
- 上传博客LOGO图片。
- Please input logo image which will be displayed on top of layout.
-
-
- 프로필 이미지
- プロフィールイメージ
- 博客个性图片
- Profile Image
- 프로필 이미지를 입력해 주세요 (가로 사이즈는 160px이 가장 보기 좋습니다)
- プロフィールイメージを入力してください(横幅は「160px」が一番適しています)。
- 请输入博客个性图片(推荐宽度160px)。
- Please input profile image (It is recommended to set width as 160px)
-
-
- 배경 이미지
- 背景イメージ
- 背景图片
- Background Image
- 배경 이미지를 사용하시려면 등록해주세요.
- 背景イメージを使う場合は、登録してください。
- 要想使用背景图片请在这里上传。
- Please input if you want to use background image.
-
-
- 프로필
- プロフィール
- 简介
- Profile
- 간단한 프로필을 입력해주세요
- 簡単なプロフィールを入力してください。
- 请输入简单介绍。
- Please input your simple profile
-
-
- 카테고리명
- カテゴリ名
- 分类名
- Category
- 카테고리의 이름을 입력해주세요.
- カテゴリ名を入力してください。
- 请输入分类名。
- Please input the name of category.
-
-
- 글쓴이 표시
- 投稿者表示
- 显示作者
- Display Author
- 다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.
- 多数の人が一緒に運営している場合、投稿者の名前を表示させることができます。
- 多人共同管理博客时可以显示日志发布者。
- It can display authors' name when the blog is being administrated by many administrators.
- off
- on
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/style.list.html b/modules/blog/skins/xe_blog/style.list.html
deleted file mode 100644
index c3f86a92d..000000000
--- a/modules/blog/skins/xe_blog/style.list.html
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
{$lang->document_count} {number_format($total_count)}
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/trackback.html b/modules/blog/skins/xe_blog/trackback.html
deleted file mode 100644
index 52581974e..000000000
--- a/modules/blog/skins/xe_blog/trackback.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/view_document.html b/modules/blog/skins/xe_blog/view_document.html
deleted file mode 100644
index 8d6558c1c..000000000
--- a/modules/blog/skins/xe_blog/view_document.html
+++ /dev/null
@@ -1,190 +0,0 @@
-
-
-
-
-
-
- - {$lang->document_url} : {$oDocument->getPermanentUrl()}
-
- - {$lang->trackback_url} : {$oDocument->getTrackbackUrl()}
-
-
-
-
-
-
-
-
-
-
-
-
{$lang->msg_is_secret}
-
-
- {$oDocument->getContent()}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/skins/xe_blog/write_form.html b/modules/blog/skins/xe_blog/write_form.html
deleted file mode 100644
index dc8836973..000000000
--- a/modules/blog/skins/xe_blog/write_form.html
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
diff --git a/modules/blog/tpl/addition_setup.html b/modules/blog/tpl/addition_setup.html
deleted file mode 100644
index 944e5adb1..000000000
--- a/modules/blog/tpl/addition_setup.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-{$setup_content}
diff --git a/modules/blog/tpl/blog_delete.html b/modules/blog/tpl/blog_delete.html
deleted file mode 100644
index 2b0807218..000000000
--- a/modules/blog/tpl/blog_delete.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/blog/tpl/blog_info.html b/modules/blog/tpl/blog_info.html
deleted file mode 100644
index bd2c49fec..000000000
--- a/modules/blog/tpl/blog_info.html
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
- | {$lang->module_category} |
-
-
- {$lang->not_exists}
-
- {$module_category[$module_info->module_category_srl]->title}
-
- |
-
-
- | {$lang->skin} |
- {$module_info->skin_title} ({$module_info->skin}) |
-
-
- | {$lang->browser_title} |
- {htmlspecialchars($module_info->browser_title)} |
-
-
- | {$lang->list_count} |
- {$module_info->list_count?$module_info->list_count:20} |
-
-
- | {$lang->page_count} |
- {$module_info->page_count?$module_info->page_count:10} |
-
-
- | {$lang->description} |
- {nl2br(htmlspecialchars($module_info->description))} |
-
-
- | {$lang->header_text} |
- {htmlspecialchars($module_info->header_text)} |
-
-
- | {$lang->footer_text} |
- {htmlspecialchars($module_info->footer_text)} |
-
-
- | {$lang->admin_id} |
- {implode(",",$module_info->admin_id)} |
-
-
- |
- {$lang->cmd_modify}
-
- {$lang->cmd_blog_list}
-
- |
-
-
-
-
-
- {@ $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=='Y'?'Y':'N'}
- {@ $extra_vars_default_value = $module_info->extra_vars[$i]->default?$module_info->extra_vars[$i]->default:' '}
- {@ $extra_vars_desc = $module_info->extra_vars[$i]->desc?$module_info->extra_vars[$i]->desc:' '}
- {@ $extra_vars_search = $module_info->extra_vars[$i]->search=='Y'?'Y':'N'}
-
-
-
-
-
- {$lang->extra_vars} {$i}
-
- | {$lang->column_name} |
- {$extra_vars_name} |
-
-
- | {$lang->column_type} |
- {$extra_vars_type} |
-
-
- | {$lang->is_required} |
- {$extra_vars_is_required} |
-
-
- | {$lang->default_value} |
- {$extra_vars_default_value} |
-
-
- | {$lang->description} |
- {$extra_vars_desc} |
-
-
- | {$lang->cmd_search} |
- {$extra_vars_search} |
-
-
-
-
diff --git a/modules/blog/tpl/blog_insert.html b/modules/blog/tpl/blog_insert.html
deleted file mode 100644
index 4048d5223..000000000
--- a/modules/blog/tpl/blog_insert.html
+++ /dev/null
@@ -1,172 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/category_info.html b/modules/blog/tpl/category_info.html
deleted file mode 100644
index d9e92e1e8..000000000
--- a/modules/blog/tpl/category_info.html
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
diff --git a/modules/blog/tpl/category_list.html b/modules/blog/tpl/category_list.html
deleted file mode 100644
index 1b4203b92..000000000
--- a/modules/blog/tpl/category_list.html
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
- {$lang->blog} {$lang->cmd_management}
- {nl2br($lang->about_blog_category)}
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/css/blog.css b/modules/blog/tpl/css/blog.css
deleted file mode 100644
index 613a74b4a..000000000
--- a/modules/blog/tpl/css/blog.css
+++ /dev/null
@@ -1,11 +0,0 @@
-@charset "utf-8";
-
-body { margin:10px; }
-
-.menuListZone { table-layout:fixed; }
-.menuListZone td { vertical-align:top; }
-.menuListZone td.category_zone { padding-right:10px; }
-
-#category_list { padding:.5em 0 .5em 0; margin-bottom:2em; width:250px; overflow:hidden; float:left; position:absolute; left:10px;}
-#category_info { margin-left:10px; width:560px; _width:540px; float:left; position:absolute; right:10px;}
-*:first-child+html #category_info { width:550px; }
diff --git a/modules/blog/tpl/filter/delete_blog.xml b/modules/blog/tpl/filter/delete_blog.xml
deleted file mode 100644
index 1244441eb..000000000
--- a/modules/blog/tpl/filter/delete_blog.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/filter/delete_category.xml b/modules/blog/tpl/filter/delete_category.xml
deleted file mode 100644
index 05093325a..000000000
--- a/modules/blog/tpl/filter/delete_category.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/filter/insert_blog.xml b/modules/blog/tpl/filter/insert_blog.xml
deleted file mode 100644
index cae7c16e2..000000000
--- a/modules/blog/tpl/filter/insert_blog.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/filter/insert_category.xml b/modules/blog/tpl/filter/insert_category.xml
deleted file mode 100644
index 1e896f29a..000000000
--- a/modules/blog/tpl/filter/insert_category.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/filter/insert_grant.xml b/modules/blog/tpl/filter/insert_grant.xml
deleted file mode 100644
index ee69ea24a..000000000
--- a/modules/blog/tpl/filter/insert_grant.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/filter/manage_checked_document.xml b/modules/blog/tpl/filter/manage_checked_document.xml
deleted file mode 100644
index de9e65f32..000000000
--- a/modules/blog/tpl/filter/manage_checked_document.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/filter/move_category.xml b/modules/blog/tpl/filter/move_category.xml
deleted file mode 100644
index d324a1a59..000000000
--- a/modules/blog/tpl/filter/move_category.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/grant_list.html b/modules/blog/tpl/grant_list.html
deleted file mode 100644
index d578beb99..000000000
--- a/modules/blog/tpl/grant_list.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
diff --git a/modules/blog/tpl/header.html b/modules/blog/tpl/header.html
deleted file mode 100644
index dbf21e153..000000000
--- a/modules/blog/tpl/header.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-{@
- $blog_menu_list = array(
- 'dispBlogAdminBlogInfo'=>$lang->cmd_view_info,
- 'dispBlogAdminBlogAdditionSetup'=>$lang->cmd_addition_setup,
- 'dispBlogAdminCategoryInfo'=>$lang->cmd_manage_category,
- 'dispBlogAdminGrantInfo'=>$lang->cmd_manage_grant,
- 'dispBlogAdminSkinInfo'=>$lang->cmd_manage_skin,
- 'dispLayoutAdminEdit'=>$lang->cmd_layout_edit,
- );
-}
-
-{$lang->blog} {$lang->cmd_management}
-
-{nl2br($lang->about_blog)}
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/blog/tpl/index.html b/modules/blog/tpl/index.html
deleted file mode 100644
index 1b7e4893d..000000000
--- a/modules/blog/tpl/index.html
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
- Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}
-
-
-
-
-
-
-
-
-
-
-

-
-
-
{$page_no}
-
-
{$page_no}
-
-
-

-
diff --git a/modules/blog/tpl/js/blog_admin.js b/modules/blog/tpl/js/blog_admin.js
deleted file mode 100644
index 5bca5e37e..000000000
--- a/modules/blog/tpl/js/blog_admin.js
+++ /dev/null
@@ -1,283 +0,0 @@
-/**
- * @file modules/blog/js/blog_admin.js
- * @author zero (zero@nzeo.com)
- * @brief blog 모듈의 관리자용 javascript
- **/
-
-/* 모듈 생성 후 */
-function completeInsertBlog(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
-
- var page = ret_obj['page'];
-
- alert(message);
-
- var url = current_url.setQuery('act','dispBlogAdminBlogInfo');
- location.href = url;
-}
-
-/* 모듈 삭제 후 */
-function completeDeleteBlog(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var page = ret_obj['page'];
- alert(message);
-
- var url = current_url.setQuery('act','dispBlogAdminContent').setQuery('module_srl','');
- if(page) url = url.setQuery('page',page);
- location.href = url;
-}
-
-/* 카테고리 관련 작업들 */
-function doUpdateCategory(category_srl, mode, message) {
- if(typeof(message)!='undefined'&&!confirm(message)) return;
-
- var fo_obj = xGetElementById('fo_category_info');
- fo_obj.category_srl.value = category_srl;
- fo_obj.mode.value = mode;
-
- procFilter(fo_obj, update_category);
-}
-
-/* 카테고리 정보 수정 후 */
-function completeUpdateCategory(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var module_srl = ret_obj['module_srl'];
- var page = ret_obj['page'];
- alert(message);
-
- var url = current_url.setQuery('module_srl',module_srl).setQuery('act','dispBlogAdminCategoryInfo');
- if(page) url.setQuery('page',page);
- location.href = url;
-}
-
-/* 권한 관련 */
-function doSelectAll(obj, key) {
- var fo_obj = obj.parentNode;
- while(fo_obj.nodeName != 'FORM') {
- fo_obj = fo_obj.parentNode;
- }
-
- for(var i=0;i200) {
- obj.style.marginTop = ( xScrollTop() - 210 )+'px';
- } else {
- obj.style.marginTop = '0px';
- }
-
- var tpl = ret_obj['tpl'];
- xInnerHtml(obj, tpl);
- obj.style.display = 'block';
-
- var fo_obj = xGetElementById("fo_category");
- fo_obj.category_title.focus();
-
- /*
- var x = _xPos + 50;
- var y = _yPos - xHeight(obj)/2+ xScrollTop();
- xLeft(obj, x);
- xTop(obj, y);
- xRemoveEventListener(document,'mousedown',checkMousePosition);
-
- if(xGetElementById('cBody') && xHeight('cBody')< y+xHeight(obj)+50) {
- xHeight('cBody', y + xHeight(obj) + 50);
- }
-
- if(typeof('fixAdminLayoutFooter')=="function") fixAdminLayoutFooter();
- */
-}
-
-/* 카테고리 아이템 입력후 */
-function completeInsertCategory(ret_obj) {
- var xml_file = ret_obj['xml_file'];
- var category_srl = ret_obj['category_srl'];
- var module_srl = ret_obj['module_srl'];
- var parent_srl = ret_obj['parent_srl'];
-
- if(!xml_file) return;
-
- loadTreeMenu(xml_file, 'category', 'zone_category', category_title, '',doGetCategoryInfo, category_srl, doMoveTree);
-
- if(!category_srl) {
- xInnerHtml("category_info", "");
- } else {
- var params = {node_srl:category_srl, parent_srl:parent_srl}
- doGetCategoryInfo(null, params)
- }
-
- if(typeof('fixAdminLayoutFooter')=="function") fixAdminLayoutFooter();
-}
-
-
-/* 카테고리를 드래그하여 이동한 후 실행할 함수 , 이동하는 category_srl과 대상 category_srl을 받음 */
-function doMoveTree(category_id, source_category_srl, target_category_srl) {
- source_category_srl = source_category_srl.replace(/menu_category_/,'');
- target_category_srl = target_category_srl.replace(/menu_category_/,'');
- var p_fo_obj = xGetElementById("fo_category");
-
- var fo_obj = xGetElementById("fo_move_category");
- fo_obj.source_category_srl.value = source_category_srl;
- fo_obj.target_category_srl.value = target_category_srl;
- fo_obj.module_srl.value = p_fo_obj.module_srl.value;
-
- // 이동 취소를 선택하였을 경우 다시 그림;;
- if(!procFilter(fo_obj, move_category)) {
- var params = new Array();
- params["xml_file"] = xGetElementById('fo_category').xml_file.value;
- params["source_category_srl"] = source_category_srl;
- completeMoveCategory(params);
- }
-}
-
-function completeMoveCategory(ret_obj) {
- var source_category_srl = ret_obj['source_category_srl'];
- var xml_file = ret_obj['xml_file'];
-
- loadTreeMenu(xml_file, 'category', "zone_category", category_title, '', doGetCategoryInfo, source_category_srl, doMoveTree);
-}
-
-/* 카테고리 목록 갱신 */
-function doReloadTreeCategory(module_srl) {
- var params = new Array();
- params["module_srl"] = module_srl;
-
- // 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
- var response_tags = new Array('error','message', 'xml_file');
- exec_xml('blog', 'procBlogAdminMakeXmlFile', params, completeInsertCategory, response_tags, params);
-}
-
-/* 카테고리 삭제 */
-function doDeleteCategory(category_srl) {
- var fo_obj = xGetElementById("fo_category");
- if(!fo_obj) return;
-
- procFilter(fo_obj, delete_category);
-}
-
-/* 카테고리 아이템 삭제 후 */
-function completeDeleteCategory(ret_obj) {
- var module_srl = ret_obj['module_srl'];
- var category_srl = ret_obj['category_srl'];
- var xml_file = ret_obj['xml_file'];
- alert(ret_obj['message']);
-
- loadTreeMenu(xml_file, 'category', 'zone_category', category_title, '', doGetCategoryInfo, category_srl, doMoveTree);
-
- var obj = xGetElementById('category_info');
- xInnerHtml(obj, "");
- obj.style.display = 'none';
-}
-
diff --git a/modules/blog/tpl/js/blog_tree_menu.js b/modules/blog/tpl/js/blog_tree_menu.js
deleted file mode 100644
index cdd13e42f..000000000
--- a/modules/blog/tpl/js/blog_tree_menu.js
+++ /dev/null
@@ -1,584 +0,0 @@
-/**
- * @file blog_tree_menu.js
- * @author zero (zero@nzeo.com)
- * @brief xml파일을 읽어서 트리 메뉴를 그려줌
- *
- * common/tpl/tree_menu.js 를 서비스용으로만 사용하기 위해서 수정한 것.
- * 관리 기능이 없고 css 적용이 가능
- **/
-
-// 폴더를 모두 열고/닫기 위한 변수 설정
-var blog_tree_menu_folder_list = new Array();
-
-// 노드의 정보를 가지고 있을 변수
-var blog_node_info_list = new Array();
-
-// 트리메뉴의 정보를 담고 있는 xml파일을 읽고 drawTreeMenu()를 호출하는 함수
-function blogLoadTreeMenu(xml_url, title, index_url) {
- // 일단 그릴 곳을 찾아서 사전 작업을 함 (그릴 곳이 없다면 아예 시도를 안함)
- var zone = xGetElementById("blog_category");
- if(typeof(zone)=="undefined") return;
-
- // 노드 정보들을 담을 변수 세팅
- blog_node_info_list = new Array();
-
- // 제목이 없으면 제목을 category로 지정
- if(typeof(title)=="undefined" || !title) title = "category";
-
- // index url이 없으면 현재 # 으로 대체
- if(!index_url) index_url= "#";
-
- // xml_handler를 이용해서 직접 메뉴 xml파일를 읽음
- if(!xml_url) return;
- var oXml = new xml_handler();
- oXml.reset();
- oXml.xml_path = url;
-
- // menu_id, zone_id는 계속 달고 다녀야함
- var param = {"title":title, "index_url":index_url}
-
- // 요청후 drawTreeMenu()함수를 호출 (xml_handler.js에서 request method를 직접 이용)
- oXml.request(blogDrawTreeMenu, oXml, null, null, null, param);
-}
-
-// 트리메뉴 XML정보를 이용해서 정해진 zone에 출력
-function blogDrawTreeMenu(oXml, callback_func, resopnse_tags, null_func, param) {
- var title = param.title;
- var index_url = param.index_url;
-
- var zone = xGetElementById("blog_category");
- var html = "";
-
- // 제목 지정
- html = ''+title+'
';
-
- var xmlDoc = oXml.getResponseXml();
- if(!xmlDoc) {
- xInnerHtml(zone, html);
- return null;
- }
-
- blog_tree_menu_folder_list[menu_id] = new Array();
-
- // node 태그에 해당하는 값들을 가져와서 html을 작성
- var node_list = xmlDoc.getElementsByTagName("node");
- if(node_list.length>0) {
- var root = xmlDoc.getElementsByTagName("root")[0];
- var output = drawNode(root, menu_id);
- html += output.html;
- }
-
- // 출력하려는 zone이 없다면 load후에 출력하도록 함
- if(!zone) {
- xAddEventListener(window, 'load', function() { drawTeeMenu(zone_id, menu_id, html); });
-
- // 출력하려는 zone을 찾아졌다면 바로 출력
- } else {
- xInnerHtml(zone, html);
- if(manual_select_node_srl) manualSelectNode(menu_id, manual_select_node_srl);
- }
-
- return null;
-}
-
-// 페이지 랜더링 중에 메뉴의 html이 완성되었을때 window.onload event 후에 그리기 재시도를 하게 될 함수
-function drawTeeMenu(zone_id, menu_id, html) {
- xInnerHtml(zone_id, html);
- if(manual_select_node_srl) manualSelectNode(menu_id, manual_select_node_srl);
-}
-
-// root부터 시작해서 recursive하게 노드를 표혐
-function drawNode(parent_node, menu_id) {
- var output = {html:"", expand:"N"}
-
- for (var i=0; i< parent_node.childNodes.length; i++) {
- var html = "";
-
- // nodeName이 node가 아니면 패스~
- var node = parent_node.childNodes.item(i);
- if(node.nodeName!="node") continue;
-
- // node의 기본 변수들 체크
- var node_srl = node.getAttribute("node_srl");
- var text = node.getAttribute("text");
- var url = node.getAttribute("url");
- var expand = node.getAttribute("expand");
-
- if(!text) continue;
-
- // 자식 노드가 있는지 확인
- var hasChild = false;
- if(node.hasChildNodes()) hasChild = true;
-
- // nextSibling가 있는지 확인
- var hasNextSibling = false;
- if(i==parent_node.childNodes.length-1) hasNextSibling = true;
-
- // 후에 사용하기 위해 blog_node_info_list에 node_srl을 값으로 하여 node object 추가
- blog_node_info_list[menu_id][node_srl] = node;
-
- // zone_id 값을 세팅
- var zone_id = "menu_"+menu_id+"_"+node_srl;
- blog_tree_menu_folder_list[menu_id][blog_tree_menu_folder_list[menu_id].length] = zone_id;
-
- // url을 확인하여 현재의 url과 동일하다고 판단되면 manual_select_node_srl 에 값을 추가 (관리자페이지일 경우는 무시함)
- if(node_callback_func[menu_id] == moveTreeMenu && url && current_url.getQuery('category')==node_srl) manual_select_node_srl = node_srl;
-
- // manual_select_node_srl이 node_srl과 같으면 펼침으로 처리
- if(manual_select_node_srl == node_srl) expand = "Y";
-
- // 아이콘 설정
- var line_icon = null;
- var folder_icon = null;
-
- // 자식 노드가 있을 경우 자식 노드의 html을 구해옴
- var child_output = null;
- var child_html = "";
- if(hasChild) {
- // 자식 노드의 zone id를 세팅
- var child_zone_id = zone_id+"_child";
- blog_tree_menu_folder_list[menu_id][blog_tree_menu_folder_list[menu_id].length] = child_zone_id;
-
- // html을 받아옴
- child_output = drawNode(node, menu_id);
- var chtml = child_output.html;
- var cexpand = child_output.expand;
- if(cexpand == "Y") expand = "Y";
-
- // 무조건 펼침이 아닐 경우
- if(expand!="Y") {
- if(!hasNextSibling) child_html += ''+chtml+'
';
- else child_html += ''+chtml+'
';
- // 무조건 펼침일 경우
- } else {
- if(!hasNextSibling) child_html += ''+chtml+'
';
- else child_html += ''+chtml+'
';
- }
- }
-
- // 자식 노드가 있는지 확인하여 있으면 아이콘을 바꿈
- if(hasChild) {
- // 무조건 펼침이 아닐 경우
- if(expand != "Y") {
- if(!hasNextSibling) {
- line_icon = "minus";
- folder_icon = "page";
- } else {
- line_icon = "minusbottom";
- folder_icon = "page";
- }
- // 무조건 펼침일 경우
- } else {
- if(!hasNextSibling) {
- line_icon = "plus";
- folder_icon = "page";
- } else {
- line_icon = "plusbottom";
- folder_icon = "page";
- }
- }
-
- // 자식 노드가 없을 경우
- } else {
- if(hasNextSibling) {
- line_icon = "joinbottom";
- folder_icon = "page";
- } else {
- line_icon = "join";
- folder_icon = "page";
- }
- }
-
-
- // html 작성
- html += '';
-
- if(hasChild) html+= '
';
- else html+= '';
-
- html += '
';
-
- var chk_enable = xGetElementById(menu_id+"_enable_move");
- if(chk_enable) {
- html += '';
- } else {
- html += '';
- }
-
- html += text+'';
-
- html += child_html;
-
- html += ' ';
-
- output.html += html;
-
- if(expand=="Y") output.expand = "Y";
- }
- return output;
-}
-
-// 관리자 모드일 경우 *_enable_move 의 값에 따라 메뉴 이동을 시키거나 정보를 보여주도록 변경
-function doNodeFunc(obj, menu_id, node_srl, zone_id) {
- var chk_enable = xGetElementById(menu_id+"_enable_move");
- if(!chk_enable || chk_enable.checked!=true || !obj) {
- selectNode(menu_id,node_srl,zone_id);
- return;
- }
-
- deSelectNode();
- tree_drag_enable(obj,tree_drag_start,tree_drag,tree_drag_end);
-}
-
-// 수동으로 메뉴를 선택하도록 함
-function manualSelectNode(menu_id, node_srl) {
- var zone_id = "menu_"+menu_id+"_"+node_srl;
- selectNode(menu_id,node_srl,zone_id,false);
- return;
-}
-
-// 노드의 폴더 아이콘 클릭시
-function toggleFolder(zone_id) {
- // 아이콘을 클릭한 대상을 찾아봄
- var child_zone = xGetElementById(zone_id+"_child");
- if(!child_zone) return;
-
- // 대상의 아이콘들 찾음
- var line_icon = xGetElementById(zone_id+'_line_icon');
- var folder_icon = xGetElementById(zone_id+'_folder_icon');
-
- // 대상의 자식 노드들이 숨겨져 있다면 열고 아니면 닫기
- if(child_zone.style.display == "block") {
- child_zone.style.display = "none";
- if(line_icon.src.indexOf('bottom')>0) line_icon.src = tree_minus_bottom_icon.src;
- else line_icon.src = tree_minus_icon.src;
-
- folder_icon.src = tree_folder_icon.src;
- } else {
- if(line_icon.src.indexOf('bottom')>0) line_icon.src = tree_plus_bottom_icon.src;
- else line_icon.src = tree_plus_icon.src;
- folder_icon.src = tree_open_folder_icon.src;
- child_zone.style.display = "block";
- }
-}
-
-// 노드의 글자 선택시
-var prev_selected_node = null;
-function selectNode(menu_id, node_srl, zone_id, move_url) {
- // 선택된 노드를 찾아봄
- var node_zone = xGetElementById(zone_id+'_node');
- if(!node_zone) return;
-
- // 이전에 선택된 노드가 있었다면 원래데로 돌림
- if(prev_selected_node) {
- var prev_zone = xGetElementById(prev_selected_node.id);
- if(prev_zone) {
- prev_zone.style.backgroundColor = "#ffffff";
- prev_zone.style.fontWeight = "normal";
- prev_zone.style.color = "#000000";
- }
- }
-
- // 선택된 노드의 글자를 변경
- prev_selected_node = node_zone;
- node_zone.style.backgroundColor = "#0e078f";
- node_zone.style.fontWeight = "bold";
- node_zone.style.color = "#FFFFFF";
-
- // 함수 실행
- if(typeof(move_url)=="undefined"||move_url==true) {
- var func = node_callback_func[menu_id];
- func(menu_id, blog_node_info_list[menu_id][node_srl]);
- //toggleFolder(zone_id);
- }
-}
-
-// 선택된 노드의 표시를 없앰
-function deSelectNode() {
- // 이전에 선택된 노드가 있었다면 원래데로 돌림
- if(!prev_selected_node) return;
- prev_selected_node.style.backgroundColor = "#ffffff";
- prev_selected_node.style.fontWeight = "normal";
- prev_selected_node.style.color = "#000000";
-}
-
-
-// 모두 닫기
-function closeAllTreeMenu(menu_id) {
- for(var i in blog_tree_menu_folder_list[menu_id]) {
- var zone_id = blog_tree_menu_folder_list[menu_id][i];
- var zone = xGetElementById(zone_id);
- if(!zone) continue;
- var child_zone = xGetElementById(zone_id+"_child");
- if(!child_zone) continue;
-
- child_zone.style.display = "block";
- toggleFolder(zone_id);
- }
-}
-
-// 모두 열기
-function openAllTreeMenu(menu_id) {
- for(var i in blog_tree_menu_folder_list[menu_id]) {
- var zone_id = blog_tree_menu_folder_list[menu_id][i];
- var zone = xGetElementById(zone_id);
- if(!zone) continue;
- var child_zone = xGetElementById(zone_id+"_child");
- if(!child_zone) continue;
-
- child_zone.style.display = "none";
- toggleFolder(zone_id);
- }
-}
-
-// 메뉴 클릭시 기본으로 동작할 함수 (사용자 임의 함수로 대체될 수 있음)
-function moveTreeMenu(menu_id, node) {
- // url과 open_window값을 구함
- var node_srl = node.getAttribute("node_srl");
- var url = node.getAttribute("url");
- var open_window = node.getAttribute("open_window");
- var hasChild = false;
- if(node.hasChildNodes()) hasChild = true;
-
- // url이 없고 child가 있으면 해당 폴더 토글한다
- if(!url && hasChild) {
- var zone_id = "menu_"+menu_id+"_"+node_srl;
- toggleFolder(zone_id);
- return;
- }
-
- // url이 있으면 url을 분석한다 (제로보드 특화된 부분. url이 http나 ftp등으로 시작하면 그냥 해당 url 열기)
- if(url) {
- // http, ftp등의 연결이 아닌 경우 제로보드용으로 처리
- if(url.indexOf('://')==-1) url = "./?"+url;
-
- // open_window에 따라서 처리
- if(open_window != "Y") location.href=url;
- else {
- var win = window.open(url);
- win.focus();
- }
- }
-}
-
-// 메뉴 드래그 중이라는 상황을 간직할 변수
-var tree_drag_manager = {obj:null, isDrag:false}
-var tree_tmp_object = new Array();
-var tree_disappear = 0;
-
-/**
- * 메뉴 드래깅을 위한 함수들
- **/
-// 드래깅시 보여줄 임시 object를 생성하는 함수
-function tree_create_tmp_object(obj) {
- var tmp_obj = tree_tmp_object[obj.id];
- if(tmp_obj) return tmp_obj;
-
- tmp_obj = xCreateElement('DIV');
- tmp_obj.id = obj.id + '_tmp';
- tmp_obj.style.display = 'none';
- tmp_obj.style.position = 'absolute';
- tmp_obj.style.backgroundColor = obj.style.backgroundColor;
- tmp_obj.style.fontSize = obj.style.fontSize;
- tmp_obj.style.fontFamlily = obj.style.fontFamlily;
- tmp_obj.style.color = "#5277ff";
- tmp_obj.style.opacity = 1;
- tmp_obj.style.filter = 'alpha(opacity=100)';
-
- document.body.appendChild(tmp_obj);
- tree_tmp_object[obj.id] = tmp_obj;
- return tmp_obj;
-}
-
-// 기생성된 임시 object를 찾아서 return, 없으면 만들어서 return
-function tree_get_tmp_object(obj) {
- var tmp_obj = tree_tmp_object[obj.id];
- if(!tmp_obj) tmp_obj = tree_create_tmp_object(obj);
- return tmp_obj;
-}
-
-// 메뉴에 마우스 클릭이 일어난 시점에 드래그를 위한 제일 첫 동작 (해당 object에 각종 함수나 상태변수 설정)
-function tree_drag_enable(child_obj, funcDragStart, funcDrag, funcDragEnd) {
- // 클릭이 일어난 메뉴의 상위 object를 찾음
- var obj = child_obj.parentNode.parentNode;
-
- // 상위 object에 드래그 가능하다는 상태와 각 드래그 관련 함수를 설정
- obj.draggable = true;
- obj.drag_start = funcDragStart;
- obj.drag = funcDrag;
- obj.drag_end = funcDragEnd;
- obj.target_id = null;
-
- // 드래그 가능하지 않다면 드래그 가능하도록 상태 지정하고 mousemove이벤트 등록
- if (!tree_drag_manager.isDrag) {
- tree_drag_manager.isDrag = true;
- xAddEventListener(document, 'mousemove', tree_drag_mouse_move, false);
- }
-
- // mousedown이벤트 값을 지정
- xAddEventListener(obj, 'mousedown', tree_mouse_down, false);
-}
-
-// 드래그를 시작할때 호출되는 함수 (이동되는 형태를 보여주기 위한 작업을 함)
-function tree_drag_start(tobj, px, py) {
- var obj = tree_get_tmp_object(tobj);
-
- xInnerHtml(obj, xInnerHtml(tobj));
-
- tobj.source_color = tobj.style.color;
- tobj.style.color = "#BBBBBB";
-
- xLeft(obj, xPageX(tobj));
- xTop(obj, xPageY(tobj));
- xWidth(obj, xWidth(tobj));
- xHeight(obj, xHeight(tobj));
-
- xDisplay(obj, 'block');
-}
-
-// 드래그 시작후 마우스를 이동할때 발생되는 이벤트에 의해 실행되는 함수
-function tree_drag(tobj, dx, dy) {
- var obj = tree_get_tmp_object(tobj);
- xLeft(obj, parseInt(xPageX(obj),10) + parseInt(dx,10));
- xTop(obj, parseInt(xPageY(obj),10) + parseInt(dy,10));
-
- var menu_id = tobj.id.replace(/menu_/,'');
- menu_id = menu_id.replace(/_([0-9]+)$/,'');
- if(!menu_id) return;
-
- for(var node_srl in blog_node_info_list[menu_id]) {
- var zone_id = "menu_"+menu_id+"_"+node_srl;
- var target_obj = xGetElementById(zone_id);
-
- var hh = parseInt(xHeight(target_obj),10);
- var h = parseInt(parseInt(xHeight(target_obj),10)/2,10);
-
- var l = xPageX(target_obj);
- var t = xPageY(target_obj);
- var ll = parseInt(l,10) + parseInt(xWidth(target_obj),10);
- var tt = parseInt(t,10) + hh;
-
- if( tobj != target_obj && tobj.xDPX >= l && tobj.xDPX <= ll) {
- if(tobj.xDPY >= t && tobj.xDPY < tt-h) {
- try {
- target_obj.parentNode.insertBefore(tobj, target_obj);
- tobj.target_id = target_obj.id;
- } catch(e) {
- }
- }
- }
- }
-}
-
-// 드래그 종료 (이동되는 object가 이동할 곳에 서서히 이동되는 것처럼 보이는 효과)
-function tree_drag_end(tobj, px, py) {
- var obj = tree_get_tmp_object(tobj);
- tree_disappear = tree_disapear_object(obj, tobj);
- tree_drag_disable(tobj.id);
-}
-
-// 스르르 사라지게 함;;
-function tree_disapear_object(obj, tobj) {
- var it = 150;
- var ib = 15;
-
- var x = parseInt(xPageX(obj),10);
- var y = parseInt(xPageY(obj),10);
- var ldt = (x - parseInt(xPageX(tobj),10)) / ib;
- var tdt = (y - parseInt(xPageY(tobj),10)) / ib;
-
- return setInterval(function() {
- if(ib < 1) {
- clearInterval(tree_disappear);
- xInnerHtml(tobj,xInnerHtml(obj));
- xInnerHtml(obj,'');
- xDisplay(obj, 'none');
- return;
- }
- ib -= 5;
- x-=ldt;
- y-=tdt;
- xLeft(obj, x);
- xTop(obj, y);
- }, it/ib);
-}
-
-// 마우스다운 이벤트 발생시 호출됨
-function tree_mouse_down(e) {
- var evt = new xEvent(e);
- var obj = evt.target;
-
- while(obj && !obj.draggable) {
- obj = xParent(obj, true);
- }
-
- if(obj) {
- xPreventDefault(e);
- obj.xDPX = evt.pageX;
- obj.xDPY = evt.pageY;
- tree_drag_manager.obj = obj;
- xAddEventListener(document, 'mouseup', tree_mouse_up, false);
- if (obj.drag_start) obj.drag_start(obj, evt.pageX, evt.pageY);
- }
-}
-
-// 마우스 버튼을 놓았을때 동작될 함수 (각종 이벤트 해제 및 변수 설정 초기화)
-function tree_mouse_up(e) {
- if (tree_drag_manager.obj) {
- xPreventDefault(e);
- xRemoveEventListener(document, 'mouseup', tree_mouse_up, false);
-
- if (tree_drag_manager.obj.drag_end) {
- var evt = new xEvent(e);
- tree_drag_manager.obj.drag_end(tree_drag_manager.obj, evt.pageX, evt.pageY);
- }
-
- tree_drag_manager.obj = null;
- tree_drag_manager.isDrag = false;
- }
-}
-
-// 드래그할때의 object이동등을 담당
-function tree_drag_mouse_move(e) {
- var evt = new xEvent(e);
-
- if (tree_drag_manager.obj) {
- xPreventDefault(e);
-
- var obj = tree_drag_manager.obj;
- var dx = evt.pageX - obj.xDPX;
- var dy = evt.pageY - obj.xDPY;
-
- obj.xDPX = evt.pageX;
- obj.xDPY = evt.pageY;
-
- if (obj.drag) {
- obj.drag(obj, dx, dy);
- } else {
- xMoveTo(obj, xLeft(obj) + dx, xTop(obj) + dy);
- }
- }
-}
-
-// 해당 object 에 더 이상 drag가 되지 않도록 설정
-function tree_drag_disable(id) {
- if (!tree_drag_manager) return;
- var obj = xGetElementById(id);
- obj.draggable = false;
- obj.drag_start = null;
- obj.drag = null;
- obj.drag_end = null;
- obj.style.color = obj.source_color;
-
- xRemoveEventListener(obj, 'mousedown', tree_mouse_down, false);
-
- if(obj.id && obj.target_id && obj.id!=obj.target_id) {
- var menu_id = obj.id.replace(/menu_/,'');
- menu_id = menu_id.replace(/_([0-9]+)$/,'');
- if(menu_id) {
- var callback_move_func = node_move_callback_func[menu_id];
- if(callback_move_func) callback_move_func(menu_id, obj.id, obj.target_id);
- }
- }
- obj.target_id = null;
-}
diff --git a/modules/blog/tpl/layout_setup.html b/modules/blog/tpl/layout_setup.html
deleted file mode 100644
index 6c38dd166..000000000
--- a/modules/blog/tpl/layout_setup.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
diff --git a/modules/blog/tpl/skin_info.html b/modules/blog/tpl/skin_info.html
deleted file mode 100644
index 850769d9d..000000000
--- a/modules/blog/tpl/skin_info.html
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
diff --git a/modules/blog/tpl/top_refresh.html b/modules/blog/tpl/top_refresh.html
deleted file mode 100644
index 1c4d1632d..000000000
--- a/modules/blog/tpl/top_refresh.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/modules/guestbook/conf/info.xml b/modules/guestbook/conf/info.xml
deleted file mode 100644
index 0c5b3f87d..000000000
--- a/modules/guestbook/conf/info.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- 방명록
- ゲストブック
- Guest Book
- Tablero de visitas
- 留言本
- Гостевая книга
-
- 제로
- Zero
- zero
- zero
- zero
- 모듈 제작을 위해 sample로 제작된 모듈입니다.
- モジュール作成のためのサンプルで作成されたモジュールです。
- This is a sample module for creating modules.
- Este is un módulo de muestra para crear módulos.
- 留言本sample模块。
- Это модуль-пример для создания модулей.
-
-
diff --git a/modules/guestbook/conf/module.xml b/modules/guestbook/conf/module.xml
deleted file mode 100644
index d37266566..000000000
--- a/modules/guestbook/conf/module.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
- 글 작성
- 留言
- 書き込み作成
-
-
- 댓글 작성
- 发表评论
- コメント作成
-
-
- 관리
- 管理
- 管理
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/guestbook.admin.controller.php b/modules/guestbook/guestbook.admin.controller.php
deleted file mode 100644
index c2e935401..000000000
--- a/modules/guestbook/guestbook.admin.controller.php
+++ /dev/null
@@ -1,247 +0,0 @@
-module = 'guestbook';
-
- // mid값을 직접 받지 않고 guestbook_name으로 받는 이유는 mid는 특별히 약속된 변수명이라 오동작이 발생할 수 있어서 다른 이름으로 전달을 받은후 다시 바꾸어준다.
- $args->mid = $args->guestbook_name;
- unset($args->guestbook_name);
-
- // is_default일 경우 별다른 요청이 없는 index페이지의 경우 바로 호출이 되는데 이 값을 설정을 하게 된다.
- if($args->is_default!='Y') $args->is_default = 'N';
-
- // 기본 값외의 것들을 정리
- $extra_var = delObjectVars(Context::getRequestVars(), $args);
- unset($extra_var->act);
- unset($extra_var->page);
- unset($extra_var->guestbook_name);
-
- // module_srl이 넘어오면 원 모듈이 있는지 확인
- if($args->module_srl) {
- $oModuleModel = &getModel('module');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($args->module_srl);
-
- // 만약 원래 모듈이 없으면 새로 입력하기 위한 처리
- if($module_info->module_srl != $args->module_srl) unset($args->module_srl);
- }
-
- // $extra_var를 serialize
- $args->extra_vars = serialize($extra_var);
-
- // module 모듈의 controller 객체 생성
- $oModuleController = &getController('module');
-
- // is_default=='Y' 이면
- if($args->is_default=='Y') $oModuleController->clearDefaultModule();
-
- /**
- * module_srl값이 없다면 신규 등록으로 처리를 한다.
- **/
- if(!$args->module_srl) {
- // module controller를 이용하여 모듈을 생성한다.
- $output = $oModuleController->insertModule($args);
- $msg_code = 'success_registed';
-
- // 권한의 경우 기본으로 설정을 해주는 것이 좋으며 방명록 모듈의 경우 manager권한을 관리 그룹으로 설정을 한다.
- if($output->toBool()) {
- // 관리그룹을 member model객체에서 구할 수 있다.
- $oMemberModel = &getModel('member');
- $admin_group = $oMemberModel->getAdminGroup();
- $admin_group_srl = $admin_group->group_srl;
-
- $module_srl = $output->get('module_srl');
- $grants = serialize(array('manager'=>array($admin_group_srl)));
-
- // module controller의 module 권한 설정 method를 이용하여 기본 권한을 적용한다.
- $oModuleController->updateModuleGrant($module_srl, $grants);
- }
- /**
- * module_srl이 있다면 모듈의 정보를 수정한다
- **/
- } else {
- $output = $oModuleController->updateModule($args);
- $msg_code = 'success_updated';
- }
-
- // 결과값에 오류가 있을 경우 그대로 객체 리턴.
- if(!$output->toBool()) return $output;
-
- // 등록후 페이지 이동을 위해 변수 설정 및 메세지를 설정한다.
- $this->add('page',Context::get('page'));
- $this->add('module_srl',$output->get('module_srl'));
- $this->setMessage($msg_code);
- }
-
- /**
- * @brief 방명록 삭제
- **/
- function procGuestbookAdminDeleteGuestbook() {
- // 삭제할 대상 방명록의 module_srl을 구한다.
- $module_srl = Context::get('module_srl');
-
- // 원본을 구해온다
- $oModuleController = &getController('module');
- $output = $oModuleController->deleteModule($module_srl);
-
- // 삭제 처리시 오류가 발생하면 결과 객체를 바로 리턴한다.
- if(!$output->toBool()) return $output;
-
- // 등록후 페이지 이동을 위해 변수 설정 및 메세지를 설정한다.
- $this->add('module','guestbook');
- $this->add('page',Context::get('page'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 권한 설정
- * 생성된 방명록에 ./conf/module.xml에 정의된 권한과 관리자가 선택한 그룹의 값을 연동하여 권한을 설정하게 된다.
- **/
- function procGuestbookAdminInsertGrant() {
- // 대상 방명록(모듈)의 고유값인 module_srl을 체크한다.
- $module_srl = Context::get('module_srl');
-
- /**
- * 현 모듈의 권한 목록을 가져옴
- * xml_info 는 guestbook모듈이 요청되었다고 판단될때 ModuleObject에서 이미 세팅해 놓은 상태이다.
- **/
- $grant_list = $this->xml_info->grant;
-
- /**
- * 권한의 목록을 loop로 돌면서 권한 설정을 한다.
- * zbxe의 경우 가능한 간단한 xmlrpc사용을 위해서 배열의 경우 |@|를 pipe로 하여 하나의 string으로 전달한다.
- * 요청받은 권한의 대상 그룹과 권한을 배열로 한 후 serialize하여 modules테이블에 module_srl을 키로 한 rows에 데이터를 적용한다.
- **/
- if(count($grant_list)) {
- foreach($grant_list as $key => $val) {
- $group_srls = Context::get($key);
- if($group_srls) $arr_grant[$key] = explode('|@|',$group_srls);
- }
- $grants = serialize($arr_grant);
- }
-
- // 권한 설정은 모듈 공통이라 module 모듈의 controller을 생성하여 저장하도록 한다.
- $oModuleController = &getController('module');
- $oModuleController->updateModuleGrant($module_srl, $grants);
-
- // 권한 설정후 돌아갈 페이지를 위하여 module_srl값을 세팅하고 성공 메세지 역시 세팅한다.
- $this->add('module_srl',Context::get('module_srl'));
- $this->setMessage('success_registed');
- }
-
- /**
- * @brief 스킨 정보 업데이트
- * 스킨 정보는 skin.xml파일의 extra_vars와 입력된 변수값을 조합하여 serialize하여 modules 테이블에 module_srl을 키로 하여 저장을 하게 된다.
- **/
- function procGuestbookAdminUpdateSkinInfo() {
- // module_srl에 해당하는 정보들을 가져오기
- $module_srl = Context::get('module_srl');
-
- // 어떤 스킨이 사용중인지 확인하기 위해서 module_srl을 이용하여 모듈의 정보를 구하고 스킨을 구한다.
- $oModuleModel = &getModel('module');
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
- $skin = $module_info->skin;
-
- // 스킨의 정보르 구해옴 (extra_vars를 체크하기 위해서)
- $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
-
- // 입력받은 변수들을 체크 (mo, act, module_srl, page등 기본적인 변수들 없앰)
- $obj = Context::getRequestVars();
- unset($obj->act);
- unset($obj->module_srl);
- unset($obj->page);
-
- // 원 skin_info에서 extra_vars의 type이 image일 경우 별도 처리를 해줌
- if($skin_info->extra_vars) {
- foreach($skin_info->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(!preg_match("/\.(jpg|jpeg|gif|png)$/i", $image_obj['name'])) {
- unset($obj->{$vars->name});
- continue;
- }
-
- // 경로를 정해서 업로드
- $path = sprintf("./files/attach/images/%s/", $module_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;
- }
- }
-
- // serialize하여 저장
- $skin_vars = serialize($obj);
-
- // module controller객체를 생성하여 module_srl을 키로 한 rows에 serialize한 스킨 정보를 적용한다.
- $oModuleController = &getController('module');
- $oModuleController->updateModuleSkinVars($module_srl, $skin_vars);
-
- /**
- * 스킨 정보는 첨부파일때문에 xml로 전달이 되지 않고 POST로 전송이 되어 왔으므로 템플릿을 이용하여 프레임을 refresh시키도록 한다.
- * 스킨 정보를 수정할때 숨어 있는 iframe을 target으로 삼기에 기본 레이아웃을 이용하면 되므로 직접 레이아웃 경로와 파일을 기본으로 지정한다.
- **/
- $this->setLayoutPath('./common/tpl');
- $this->setLayoutFile('default_layout.html');
- $this->setTemplatePath($this->module_path.'tpl');
- $this->setTemplateFile("top_refresh.html");
- }
- }
-?>
diff --git a/modules/guestbook/guestbook.admin.view.php b/modules/guestbook/guestbook.admin.view.php
deleted file mode 100644
index 3b8d899ce..000000000
--- a/modules/guestbook/guestbook.admin.view.php
+++ /dev/null
@@ -1,189 +0,0 @@
-module_srl) {
- $module_srl = $this->module_srl;
- Context::set('module_srl', $module_srl);
- }
-
- // module info를 구하기 위해 module model 객체 생성
- $oModuleModel = &getModel('module');
-
- // 모듈 카테고리 목록을 구함
- $module_category = $oModuleModel->getModuleCategories();
- Context::set('module_category', $module_category);
-
- // module_srl이 있다면 요청된 모듈의 정보를 미리 구해 놓음
- if($module_srl) {
- $module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
- if(!$module_info) {
- Context::set('module_srl','');
- $this->act = 'list';
- } else {
- $this->module_info = $module_info;
- Context::set('module_info',$module_info);
- }
- }
-
- // 템플릿 경로 지정, 관리자 페이지를 위한 템플릿은 별도의 스킨 기능이 없이 ./modules/모듈/tpl/ 에 위치해 놓기에 바로 지정을 해 놓는다.
- $template_path = sprintf("%stpl/",$this->module_path);
- $this->setTemplatePath($template_path);
- }
-
- /**
- * @brief 생성된 방명록들의 목록을 보여줌
- * guestbook이라는 module명으로 등록된 모듈을 구하기 위해서 몇가지 설정을 한 후에 쿼리를 수행한다.
- * 쿼리수행은 executeQuery(모듈명.쿼리아이디, 인자변수) 로 하게 되며 이 쿼리아이디에 해당하는 xml파일은 모듈의 queries디렉토리에 지정이 되어 있다.
- *
- * 이 특정 module의 목록은 module model객체에서 구할 수 있지만 검색등의 각 모듈마다 다른 조건 때문에 각 모듈별로 쿼리를 생성해 놓는다.
- * 모든 모듈의 결과물(mid)는 modules 테이블에 저장이 된다.
- **/
- function dispGuestbookAdminContent() {
- $args->sort_index = "module_srl"; ///< 정렬 순서는 모듈의 sequence값으로 하고 정렬은 역순. 즉 생성된 순으로 한다.
- $args->page = Context::get('page'); ///< 현재 페이지를 설정
- $args->list_count = 40; ///< 한페이지에 40개씩 보여주기로 고정.
- $args->page_count = 10; ///< 페이지의 수는 10개로 제한.
- $args->s_module_category_srl = Context::get('module_category_srl'); ///< 모듈분류값을 인자로 추가
- $output = executeQuery('guestbook.getGuestbookList', $args); ///< guestbook.getGuesbookList 쿼리 실행 (./modules/guestbook/query/getGuestbookList.xml)
-
- /**
- * 템플릿에 쓰기 위해서 context::set
- * xml query에 navigation이 있고 list_count가 정의되어 있으면 결과 변수에 아래 5가지의 값이 세팅이 된다.
- **/
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('guestbook_list', $output->data);
- Context::set('page_navigation', $output->page_navigation);
-
- // 템플릿 파일 지정 (./modules/guestbook/tpl/index.html파일이 지정이 됨)
- $this->setTemplateFile('index');
- }
-
- /**
- * @brief 선택된 방명록의 정보 출력
- **/
- function dispGuestbookAdminGuestbookInfo() {
- // module_srl 값이 없다면 그냥 index 페이지를 보여줌
- if(!Context::get('module_srl')) return $this->dispGuestbookAdminContent();
-
- // 레이아웃이 정해져 있다면 레이아웃 정보를 추가해줌(layout_title, layout)
- if($this->module_info->layout_srl) {
- $oLayoutModel = &getModel('layout');
- $layout_info = $oLayoutModel->getLayout($this->module_info->layout_srl);
- $this->module_info->layout = $layout_info->layout;
- $this->module_info->layout_title = $layout_info->layout_title;
- }
-
- // 정해진 스킨이 있으면 해당 스킨의 정보를 구함
- if($this->module_info->skin) {
- $oModuleModel = &getModel('module');
- $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $this->module_info->skin);
- $this->module_info->skin_title = $skin_info->title;
- }
-
- // 템플릿 파일 지정
- $this->setTemplateFile('guestbook_info');
- }
-
- /**
- * @brief 방명록 설정 폼 출력
- **/
- function dispGuestbookAdminInsertGuestbook() {
- // 스킨 목록을 구해옴
- $oModuleModel = &getModel('module');
- $skin_list = $oModuleModel->getSkins($this->module_path);
- Context::set('skin_list',$skin_list);
-
- // 레이아웃 목록을 구해옴
- $oLayoutMode = &getModel('layout');
- $layout_list = $oLayoutMode->getLayoutList();
- Context::set('layout_list', $layout_list);
-
- // 템플릿 파일 지정
- $this->setTemplateFile('guestbook_insert');
- }
-
- /**
- * @brief 방명록 삭제 화면 출력
- **/
- function dispGuestbookAdminDeleteGuestbook() {
- if(!Context::get('module_srl')) return $this->dispGuestbookAdminContent();
-
- $module_info = Context::get('module_info');
-
- // 해당 방명록에 입력된 전체 글의 갯수를 보여줌 (혹시 삭제 실수를 방지하기 위해서)
- $oDocumentModel = &getModel('document');
- $document_count = $oDocumentModel->getDocumentCount($module_info->module_srl);
- $module_info->document_count = $document_count;
-
- Context::set('module_info',$module_info);
-
- // 템플릿 파일 지정
- $this->setTemplateFile('guestbook_delete');
- }
-
- /**
- * @brief 스킨 정보 보여줌
- **/
- function dispGuestbookAdminSkinInfo() {
-
- // 현재 선택된 모듈의 스킨의 정보 xml 파일을 읽음
- $module_info = Context::get('module_info');
- $skin = $module_info->skin;
-
- $oModuleModel = &getModel('module');
- $skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
-
- // skin_info에 extra_vars 값을 지정
- if(count($skin_info->extra_vars)) {
- foreach($skin_info->extra_vars as $key => $val) {
- $name = $val->name;
- $type = $val->type;
- $value = $module_info->{$name};
- if($type=="checkbox"&&!$value) $value = array();
- $skin_info->extra_vars[$key]->value= $value;
- }
- }
-
- Context::set('skin_info', $skin_info);
- $this->setTemplateFile('skin_info');
- }
-
- /**
- * @brief 권한 목록 출력
- **/
- function dispGuestbookAdminGrantInfo() {
- // module_srl을 구함
- $module_srl = Context::get('module_srl');
-
- // module.xml에서 권한 관련 목록을 구해옴
- $grant_list = $this->xml_info->grant;
- Context::set('grant_list', $grant_list);
-
- // 권한 그룹의 목록을 가져온다
- $oMemberModel = &getModel('member');
- $group_list = $oMemberModel->getGroups();
- Context::set('group_list', $group_list);
-
- $this->setTemplateFile('grant_list');
- }
- }
-?>
diff --git a/modules/guestbook/guestbook.class.php b/modules/guestbook/guestbook.class.php
deleted file mode 100644
index 211eb5613..000000000
--- a/modules/guestbook/guestbook.class.php
+++ /dev/null
@@ -1,64 +0,0 @@
-insertActionForward('guestbook', 'view', 'dispGuestbookAdminContent');
- $oModuleController->insertActionForward('guestbook', 'view', 'dispGuestbookAdminGuestbookInfo');
- $oModuleController->insertActionForward('guestbook', 'view', 'dispGuestbookAdminInsertGuestbook');
- $oModuleController->insertActionForward('guestbook', 'view', 'dispGuestbookAdminDeleteGuestbook');
- $oModuleController->insertActionForward('guestbook', 'view', 'dispGuestbookAdminSkinInfo');
- $oModuleController->insertActionForward('guestbook', 'view', 'dispGuestbookAdminGrantInfo');
- $oModuleController->insertActionForward('guestbook', 'controller', 'procGuestbookAdminUpdateSkinInfo');
-
-
- // Object 클래스의 객체는 기본적으로 성공(error=0)으로 되어 있고 이 값을 return함으로써 ModuleHandler등에서 오류 유무를 파악할 수 있다.
- return new Object();
- }
-
- /**
- * @brief 설치가 이상이 없는지 체크하는 method
- * 설치시 필수 체크 부분이 있다면 검토하는 코드를 추가할 수 있다.
- **/
- function checkUpdate() {
- return false;
- }
-
- /**
- * @brief 업데이트 실행
- * 설치시 이상이 있으면 이 moduleUpdate() 메쏘드를 이용하여 업데이트 구문을 실행할수 있다.
- **/
- function moduleUpdate() {
- return new Object();
- }
-
- /**
- * @brief 캐시 파일 재생성
- **/
- function recompileCache() {
- }
- }
-?>
diff --git a/modules/guestbook/guestbook.controller.php b/modules/guestbook/guestbook.controller.php
deleted file mode 100644
index 18b5897ae..000000000
--- a/modules/guestbook/guestbook.controller.php
+++ /dev/null
@@ -1,246 +0,0 @@
-grant->write_document) return new Object(-1, 'msg_not_permitted');
-
- /**
- * 글작성시 필요한 변수를 세팅한다.
- * 일단 Context::getReuqestVars()를 통해 모든 입력된 변수값을 가져온다.
- * 글 작성은 document controller를 이용하여 정리된 변수를 넘겨줌으로서 동작이 된다.
- **/
- $obj = Context::getRequestVars();
-
- // 현재 방명록의 module_srl값을 구해와서 세팅한다.
- $obj->module_srl = $this->module_srl;
-
- // 공지사항 지정 변수값인 is_notice가 Y가 아니거나 관리자가 아니라면 공지사항은 무조건 N로 세팅한다.
- if($obj->is_notice!='Y'||!$this->grant->manager) $obj->is_notice = 'N';
-
- /**
- * 문서의 신규 입력인지 수정인지에 대한 체크를 하기 위해서 document model을 통해 원본 문서가 있는지 확인하는 절차를 거쳐야 한다.
- **/
- $oDocumentModel = &getModel('document');
-
- // document module의 controller 객체 생성
- $oDocumentController = &getController('document');
-
- // 문서객체를 구해온다.
- $oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
-
- /**
- * 제목은 document모델에서는 필수 요건이다.
- * 방명록에서는 제목이 필요 없어서 본문의 내용중 앞 10자리의 글자를 잘라서 제목으로 강제 적용한다.
- **/
- $obj->title = cut_str($obj->content,10,'...');
-
- /**
- * 이미 존재하는 글일 경우 수정을 한다.
- * 글 수정은 document controller의 updateDocument() method를 이용한다.
- * 결과메세지를 일단 강제로 정의 해 놓는다.
- **/
- if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl) {
- $output = $oDocumentController->updateDocument($oDocument, $obj);
- $msg_code = 'success_updated';
-
- /**
- * 존재하지 않는다고 판단이 되면 신규글 입력을 한다.
- * 신규글 입력은 document controller의 inesrtDocument() method를 이용한다.
- * 결과메세지를 일단 강제로 정의 해 놓는다.
- **/
- } else {
- $obj->document_srl = getNextSequence();
- $output = $oDocumentController->insertDocument($obj);
- $msg_code = 'success_registed';
- }
-
- /**
- * updateDocument(), insertDocument()에서 오류가 발생하였으면 리턴받은 객체 자체를 바로 돌려준다.
- * 이 object객체는 error, message등의 내부 변수를 이용하여 에러 발생 유무와 에러 메세지를 가지고 있다.
- **/
- if(!$output->toBool()) return $output;
-
- /**
- * 결과를 리턴하기 위해서 mid, document_srl값을 세팅을 한다.
- * controller의 경우 대부분 xml로 요청을 받고 xml로 return을 하게 된다.
- * $this->add(key, value)로 세팅된 값들은 결과 xml에서 사용이 된다.
- * 이 값들은 javascript에서 xml handler를 통해서 사용이 가능하게 되고 보통 url조합을 할때 사용이 된다.
- **/
- $this->add('mid', Context::get('mid'));
- $this->add('document_srl', $output->get('document_srl'));
-
- /**
- * 성공 메세지 등록
- * setMessage($message)는 xml에 지정이 되고 이 message는 javascript에서 alert()를 시키게 된다.
- **/
- $this->setMessage($msg_code);
- }
-
- /**
- * @brief 문서 삭제
- **/
- function procGuestbookDeleteDocument() {
- // 문서 번호 확인
- $document_srl = Context::get('document_srl');
-
- // 문서 번호가 없다면 오류 발생
- if(!$document_srl) return $this->doError('msg_invalid_document');
-
- // document module model 객체 생성
- $oDocumentController = &getController('document');
-
- // 삭제 시도
- $output = $oDocumentController->deleteDocument($document_srl, $this->grant->manager);
-
- // 삭제시 실패하였을 경우 리턴받은 객체를 그대로 리턴.
- if(!$output->toBool()) return $output;
-
- // 성공 메세지 등록
- $this->add('mid', Context::get('mid'));
- $this->add('page', Context::get('page'));
- $this->setMessage('success_deleted');
- }
-
- /**
- * @brief 댓글 추가
- **/
- function procGuestbookInsertComment() {
- // 권한 체크
- if(!$this->grant->write_comment) return new Object(-1, 'msg_not_permitted');
-
- // 댓글 입력에 필요한 데이터 추출
- $obj = Context::gets('document_srl','comment_srl','parent_srl','content','password','nick_name','nick_name','member_srl','email_address','homepage');
- $obj->module_srl = $this->module_srl;
-
- // comment 모듈의 model 객체 생성
- $oCommentModel = &getModel('comment');
-
- // comment 모듈의 controller 객체 생성
- $oCommentController = &getController('comment');
-
- /**
- * 게시판이나 블로그와 달리 방명록의 댓글은 textarea를 그대로 사용한다.
- * 따라서 줄바꾸임나 태그제거등의 작업을 해주어야 함
- **/
- $obj->content = nl2br(strip_tags($obj->content));
-
- /**
- * 존재하는 댓글인지를 확인하여 존재 하지 않는 댓글이라면 신규로 등록하기 위해서 comment_srl의 sequence값을 받는다
- **/
- if(!$obj->comment_srl) {
- $obj->comment_srl = getNextSequence();
- } else {
- $comment = $oCommentModel->getComment($obj->comment_srl, $this->grant->manager);
- }
-
- // comment_srl이 없을 경우 신규 입력
- if($comment->comment_srl != $obj->comment_srl) {
-
- // parent_srl이 있으면 답변으로
- if($obj->parent_srl) {
- $parent_comment = $oCommentModel->getComment($obj->parent_srl);
- if(!$parent_comment->comment_srl) return new Object(-1, 'msg_invalid_request');
-
- $output = $oCommentController->insertComment($obj);
-
- // 없으면 신규
- } else {
- $output = $oCommentController->insertComment($obj);
- }
-
- // comment_srl이 있으면 수정으로
- } else {
- $obj->parent_srl = $comment->parent_srl;
- $output = $oCommentController->updateComment($obj, $this->grant->manager);
- $comment_srl = $obj->comment_srl;
- }
-
- // 오류 발생시 객체 그대로 리턴.
- if(!$output->toBool()) return $output;
-
- // 댓글 입력후 페이지 이동을 위한 변수 및 메세지를 설정한다.
- $this->add('mid', Context::get('mid'));
- $this->add('document_srl', $obj->document_srl);
- $this->add('comment_srl', $obj->comment_srl);
-
- $this->setMessage('success_registed');
- }
-
- /**
- * @brief 댓글 삭제
- **/
- function procGuestbookDeleteComment() {
- // 댓글 번호 확인
- $comment_srl = Context::get('comment_srl');
- if(!$comment_srl) return $this->doError('msg_invalid_request');
-
- // comment 모듈의 controller 객체 생성
- $oCommentController = &getController('comment');
- $output = $oCommentController->deleteComment($comment_srl, $this->grant->manager);
-
- // 오류 발생시 객체 그대로 리턴.
- if(!$output->toBool()) return $output;
-
- // 댓글 입력후 페이지 이동을 위한 변수 및 메세지를 설정한다.
- $this->setMessage('success_deleted');
- $this->add('mid', Context::get('mid'));
- $this->add('page', Context::get('page'));
- $this->add('document_srl', $output->get('document_srl'));
- }
-
- /**
- * @brief 문서와 댓글의 비밀번호를 확인
- * 비밀번호와 문서 혹은 댓글의 비밀번호를 비교하여 이상이 없다면 해당 문서 또는 댓글에 권한을 부여한다.
- * 이 권한은 세션에 저장이 되어 차후 다시 수정등을 할 경우 비밀번호 검사를 하지 않게 된다.
- **/
- function procGuestbookVerificationPassword() {
- // 비밀번호와 문서 번호를 받음
- $password = Context::get('password');
- $document_srl = Context::get('document_srl');
- $comment_srl = Context::get('comment_srl');
-
- $oMemberModel = &getModel('member');
-
- // comment_srl이 있을 경우 댓글이 대상
- if($comment_srl) {
- // 문서번호에 해당하는 글이 있는지 확인
- $oCommentModel = &getModel('comment');
- $oComment = $oCommentModel->getComment($comment_srl);
- if(!$oComment->isExists()) return new Object(-1, 'msg_invalid_request');
-
- // 문서의 비밀번호와 입력한 비밀번호의 비교
- if(!$oMemberModel->isValidPassword($oComment->get('password'),$password)) return new Object(-1, 'msg_invalid_password');
-
- $oComment->setGrant();
- } else {
- // 문서번호에 해당하는 글이 있는지 확인
- $oDocumentModel = &getModel('document');
- $oDocument = $oDocumentModel->getDocument($document_srl);
- if(!$oDocument->isExists()) return new Object(-1, 'msg_invalid_request');
-
- // 문서의 비밀번호와 입력한 비밀번호의 비교
- if(!$oMemberModel->isValidPassword($oDocument->get('password'),$password)) return new Object(-1, 'msg_invalid_password');
-
- $oDocument->setGrant();
- }
- }
-
- }
-?>
diff --git a/modules/guestbook/guestbook.view.php b/modules/guestbook/guestbook.view.php
deleted file mode 100644
index ad0836358..000000000
--- a/modules/guestbook/guestbook.view.php
+++ /dev/null
@@ -1,328 +0,0 @@
-module_srl) Context::set('module_srl',$this->module_srl);
-
- /**
- * 현재 방명록 모듈의 정보를 module_info라는 이름으로 템플릿에서 사용할 수 있게 하기 위해 세팅한다
- **/
- Context::set('module_info',$this->module_info);
-
- /**
- * 스킨 정보에서 받는 목록수나 페이지수를 미리 선언해 놓는다
- **/
- $this->list_count = $this->module_info->list_count?$this->module_info->list_count:20;
- $this->page_count = $this->module_info->page_count?$this->module_info->page_count:10;
-
- /**
- * 모듈정보에서 넘어오는 skin값을 이용하여 최종 출력할 템플릿의 위치를 출력한다.
- * $this->module_path는 ./modules/guestbook/의 값을 가지고 있다
- **/
- $template_path = sprintf("%sskins/%s/",$this->module_path, $this->module_info->skin);
- $this->setTemplatePath($template_path);
-
- }
-
- /**
- * @brief 목록 및 입력항목 출력
- **/
- function dispGuestbookContent() {
- /**
- * 목록 구현에 필요한 변수들을 가져온다
- * 방명록은 기본적으로 page변수만 있으면 된다
- **/
- $page = Context::get('page');
-
- $oDocumentModel = &getModel('document'); ///< getModel, getController, getView 함수를 통해서 간단히 원하는 객체를 생성할 수 있다.
-
- /**
- * write_form.html을 목록에서도 include를 하게 되는데 write_form.html의 경우 $oDocument라는 선택된 문서의 객체가 필요하다.
- * 목록에서는 수정이 아닌 입력만 있어서 이 $oDocument라는 object를 생성을 해 준다
- **/
- $oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
- Context::set('oDocument', $oDocument);
-
- /**
- * 글 작성 권한이 있다면 글쓰기 에디터를 세팅한다
- * write_document는 ./conf/module.xml에 정의되어 있고 관리페이지에서 권한 그룹을 설정한 값이다.
- **/
- if($this->grant->write_document) {
- /**
- * 에디터에서 사용할 고유 문서 번호를 구해 온다.
- * ZBXE에서는 모든 고유값을 getNextSequence() 로 구해 올 수 있고 글쓰기(editor) 모듈은 이 고유번호를 바탕으로 동작을 한다.
- **/
- $document_srl = getNextSequence();
-
- /**
- * editor model객체의 getEditor method를 호출하여 세팅한다.
- * 이 때 여러가지 옵션을 지정하여 다른 에디터 코드를 받을 수 있다.
- **/
- $oEditorModel = &getModel('editor');
- $option->primary_key_name = 'document_srl';
- $option->content_key_name = 'content';
- $option->allow_fileupload = false; ///< 파일 업로드 기능을 제한
- $option->enable_autosave = false; ///< 자동 저장 기능을 활성화
- $option->enable_default_component = false; ///< 기본 에디터 컴포넌트의 활성화
- $option->enable_component = false; ///< 추가 에디터 컴포넌트의 활성화
- $option->resizable = false; ///< 글쓰기 폼의 상하 조절 가능하도록 설정
- $option->disable_html = true; ///< html_mode
- $option->height = 200; ///< 에디터의 높이 지정
- $editor = $oEditorModel->getEditor($document_srl, $option); ///< 에디터코드를 받음
- Context::set('editor', $editor); ///< 에디터코드를 editor라는 이름으로 세팅.
- }
-
- /**
- * document 모듈을 이용해서 현재 방명록의 module_srl로 목록을 구한다.
- * 목록을 구할때 필요한 변수를 $args에 세팅후 document.model객체를 생성하고 getDocumentList() method를 호출한다.
- **/
- // 목록을 구하기 위한 옵션
- $args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
- $args->page = $page; ///< 페이지
- $args->list_count = $this->list_count; ///< 한페이지에 보여줄 글 수
- $args->page_count = $this->page_count; ///< 페이지 네비게이션에 나타날 페이지의 수
- $args->sort_index = 'list_order'; ///< 목록의 정렬 대상 (list_order, 즉 날짜의 역순을 정렬 대상으로 한다)
- $args->order_type = 'asc'; ///< 정렬 순서 (list_order는 -1부터 -1되어서 저장되는 값이라 asc로 정렬 순서를 정하면 된다)
-
- /**
- * document model객체를 생성하여 목록을 구한다.
- **/
- $output = $oDocumentModel->getDocumentList($args);
-
- /**
- * 템플릿에 쓰기 위해서 document_model::getDocumentList() 의 return object에 있는 값들을 세팅
- * ZBXE에서 목록의 경우 5가지의 값으로 결과를 받는다.
- * total_count : 대상의 전체 글 수
- * total_page : 대상의 전체 페이지 수 (list_count, page_count로 계산되어진 값)
- * page : 현재 페이지
- * data : 목록 배열
- * page_navigation : 페이지 네비게이션을 출력하기 위한 object
- **/
- Context::set('total_count', $output->total_count);
- Context::set('total_page', $output->total_page);
- Context::set('page', $output->page);
- Context::set('document_list', $output->data);
- Context::set('page_navigation', $output->page_navigation);
-
- /**
- * 템플릿 파일을 지정한다.
- * 이미 template path는 init()에서 정의를 하였다.
- **/
- $this->setTemplateFile('list');
- }
-
- /**
- * @brief 글 수정 화면 출력
- **/
- function dispGuestbookModify() {
- // 권한 체크
- if(!$this->grant->write_document) return $this->dispGuestbookMessage('msg_not_permitted');
-
- // GET parameter에서 document_srl을 가져옴
- $document_srl = Context::get('document_srl');
-
- // document 모듈 객체 생성
- $oDocumentModel = &getModel('document');
-
- $oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
- $oDocument->setDocument($document_srl);
-
- if(!$oDocument->isExists()) Context::set('document_srl','');
-
- if(!$document_srl) $document_srl = getNextSequence();
-
- // 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
- if($oDocument->isExists()&&!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
-
- Context::set('document_srl',$document_srl);
- Context::set('oDocument', $oDocument);
-
- // 에디터 모듈의 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 = 600;
- $editor = $oEditorModel->getEditor($document_srl, $option);
- Context::set('editor', $editor);
-
- $this->setTemplateFile('write_form');
- }
-
-
- /**
- * @brief 문서 삭제 화면 출력
- **/
- function dispGuestbookDelete() {
- /**
- * 권한 체크
- * 글쓰기 권한이 없다면 아예 접근이 불가능하도록 해 버린다.
- **/
- if(!$this->grant->write_document) return $this->dispGuestbookMessage('msg_not_permitted');
-
- /**
- * 삭제할 문서번호를 가져온다
- * 이 문서 번호는 get parmameter에 저장되어 있고 Context 클래스에서 미리 세팅을 해 놓은 상태이다.
- **/
- $document_srl = Context::get('document_srl');
-
- /**
- * 문서 번호가 없으면 잘못된 접근으로 에러 메세지를 출력한다.
- **/
- if(!$document_srl) return $this->dispGuestbookMessage('msg_invalid_request');
-
- /**
- * 문서 번호로 문서객체를 구해온다
- **/
- $oDocumentModel = &getModel('document');
- $oDocument = $oDocumentModel->getDocument($document_srl);
-
- // 대상 문서가 없으면 에러
- if(!$oDocument->isExists()) return $this->dispGuestbookContent();
-
- /**
- * 권한을 체크한다.
- * 권한 체크는 글쓴 사용자와 현재 로그인한 사용자의 정보가 같거나 최고관리자 일 경우 권한이 있다고 판단하고,
- * 그렇지 않은 경우는 비밀번호 입력 폼을 출력한다.
- **/
- if(!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
-
- // 구해진 문서를 context setting하고 delete_form.html 파일을 템플릿 파일로 지정하여 삭제 폼을 출력한다.
- Context::set('oDocument',$oDocument);
-
- // delete_from.html 템플릿 파일의 지정
- $this->setTemplateFile('delete_form');
- }
-
- /**
- * @brief 댓글의 답글 화면 출력
- **/
- function dispGuestbookReplyComment() {
- // 댓글 작성 권한을 체크한다.
- if(!$this->grant->write_comment) return $this->dispGuestbookMessage('msg_not_permitted');
-
- // 댓글의 답글을 출력하기 위해서 문서와 원 댓글의 유효성을 검사하기 위해 변수를 가져온다.
- $document_srl = Context::get('document_srl');
- $parent_srl = Context::get('comment_srl');
-
- // 지정된 원 댓글이 없다면 오류
- if(!$parent_srl) return new Object(-1, 'msg_invalid_request');
-
- // 해당 댓글를 찾아본다
- $oCommentModel = &getModel('comment');
- $source_comment = $oCommentModel->getComment($parent_srl, $this->grant->manager);
-
- // 댓글이 없다면 오류
- if(!$source_comment) return $this->dispGuestbookMessage('msg_invalid_request');
-
- // 필요한 정보들 세팅
- Context::set('document_srl',$source_comment->document_srl);
- Context::set('parent_srl',$parent_srl);
- Context::set('comment_srl',NULL);
- Context::set('source_comment',$source_comment);
-
- /**
- * comment_form.html 템플릿 파일을 출력할 파일로 지정
- **/
- $this->setTemplateFile('comment_form');
- }
-
- /**
- * @brief 댓글 수정 폼 출력
- **/
- function dispGuestbookModifyComment() {
- // 댓글 작성 권한을 체크한다.
- if(!$this->grant->write_comment) return $this->dispGuestbookMessage('msg_not_permitted');
-
- // 댓글을 수정하기 위하여 문서와 원 댓글의 유효성을 검사하기 위해 변수를 가져온다.
- $document_srl = Context::get('document_srl');
- $comment_srl = Context::get('comment_srl');
-
- // 지정된 댓글이 없다면 오류
- if(!$comment_srl) return new Object(-1, 'msg_invalid_request');
-
- // 해당 댓글를 찾아본다
- $oCommentModel = &getModel('comment');
- $comment = $oCommentModel->getComment($comment_srl, $this->grant->manager);
-
- // 댓글이 없다면 오류
- if(!$comment) return $this->dispGuestbookMessage('msg_invalid_request');
-
- // 문서번호를 context setting한다
- Context::set('document_srl',$comment->document_srl);
-
- // 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
- if(!$comment->is_granted) return $this->setTemplateFile('input_password_form');
-
- // 필요한 정보들 세팅
- Context::set('comment_srl',$comment_srl);
- Context::set('comment', $comment);
-
- // comment_form 파일을 템플릿 출력 파일로 지정
- $this->setTemplateFile('comment_form');
- }
-
- /**
- * @brief 댓글 삭제 화면 출력
- **/
- function dispGuestbookDeleteComment() {
- // 댓글 작성 권한을 체크한다.
- if(!$this->grant->write_comment) return $this->dispGuestbookMessage('msg_not_permitted');
-
- // 삭제할 댓글번호를 가져온다
- $comment_srl = Context::get('comment_srl');
-
- // 삭제하려는 댓글이 있는지 확인
- if(!$comment_srl) return $this->dispGuestbookMessage('msg_invalid_request');
-
- // 해당 댓글을 가져온다.
- $oCommentModel = &getModel('comment');
- $comment = $oCommentModel->getComment($comment_srl, $this->grant->manager);
-
- // 삭제하려는 댓글이 없으면 에러
- if(!$comment) return $this->dispGuestbookContent('msg_invalid_request');
-
- // 문서 번호를 context setting한다.
- Context::set('document_srl',$comment->document_srl);
-
- // 권한이 없는 경우 비밀번호 입력화면으로
- if(!$comment->is_granted) return $this->setTemplateFile('input_password_form');
-
- Context::set('comment',$comment);
-
- // delete_comemnt_form.html파일을 출력 파일로 지정한다.
- $this->setTemplateFile('delete_comment_form');
- }
-
- /**
- * @brief 메세지 출력
- **/
- function dispGuestbookMessage($msg_code) {
- $msg = Context::getLang($msg_code);
- if(!$msg) $msg = $msg_code;
- Context::set('message', $msg);
- $this->setTemplateFile('message');
- }
-
- }
-?>
diff --git a/modules/guestbook/lang/en.lang.php b/modules/guestbook/lang/en.lang.php
deleted file mode 100644
index 2b14f4a9d..000000000
--- a/modules/guestbook/lang/en.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-guestbook = "Guestbook";
-
- // Words used in buttons
- $lang->cmd_guestbook_list = 'Guestbook List';
- $lang->cmd_module_config = 'Common Guestbook Configuration';
- $lang->cmd_view_info = 'Guestbook Info';
-
- $lang->about_board = "This module is used for creating and managing guestbooks.\nSelect the module's name from the list after creating one to configurate specifically.\nBe careful with guestbook's module name, since it will be the url. (ex : http://domain/zb/?mid=modulename)";
-?>
diff --git a/modules/guestbook/lang/es.lang.php b/modules/guestbook/lang/es.lang.php
deleted file mode 100644
index e56b02c0d..000000000
--- a/modules/guestbook/lang/es.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-board = "Tablero de Visitas";
-
- // Palabras utilizadas en los botones
- $lang->cmd_board_list = 'Lista de tebleros de visitas';
- $lang->cmd_module_config = 'Configuración común del tablero de visitas';
- $lang->cmd_view_info = 'Información del tablero de visitas';
-
- $lang->about_board = "El módulo es usado para crear y manejar los tableros de visitas.\nLuego de crear un Tablero, seleciona el nombre del módulo en la lista para la configuración más detallada.\nSea cuidadoso con el nombre del módulo, ya que ese nombre va a ser la dirección URL. (ej : http://dominio/zb/?mid=nombre del módulo)";
-?>
diff --git a/modules/guestbook/lang/jp.lang.php b/modules/guestbook/lang/jp.lang.php
deleted file mode 100644
index 5468fab1a..000000000
--- a/modules/guestbook/lang/jp.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-guestbook = "ゲストブック";
-
- // ボタンに使用する用語
- $lang->cmd_guestbook_list = 'ゲストブックリスト';
- $lang->cmd_module_config = 'ゲストブック共通設定';
- $lang->cmd_view_info = 'ゲストブック情報';
-
- $lang->about_guestbook = "ゲストブックを作成・管理できるモジュールです。作成後、リストからモジュール名を選択すると詳細な設定ができます。ゲストブックのモジュール名は、接続URLになるため、慎重に入力してください。(例:http://ドメイン/zb/?mid=モジュール名)";
-?>
diff --git a/modules/guestbook/lang/ko.lang.php b/modules/guestbook/lang/ko.lang.php
deleted file mode 100644
index e8bb2da38..000000000
--- a/modules/guestbook/lang/ko.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-guestbook = "방명록";
-
- // 버튼에 사용되는 언어
- $lang->cmd_guestbook_list = '방명록 목록';
- $lang->cmd_module_config = '방명록 공통 설정';
- $lang->cmd_view_info = '방명록 정보';
-
- $lang->about_guestbook = "방명록을 생성하고 관리할 수 있는 방명록 모듈입니다.\n생성하신 후 목록에서 모듈이름을 선택하시면 자세한 설정이 가능합니다.\n방명록의 모듈이름은 접속 url이 되므로 신중하게 입력해주세요. (ex : http://도메인/zb/?mid=모듈이름)";
-?>
diff --git a/modules/guestbook/lang/ru.lang.php b/modules/guestbook/lang/ru.lang.php
deleted file mode 100644
index 3c27ab74c..000000000
--- a/modules/guestbook/lang/ru.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
- | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
- * @brief Russian basic language pack for Zeroboard XE
- **/
-
- $lang->guestbook = "Гостевая книга";
-
- // Слова, использованные в кнопках
- $lang->cmd_guestbook_list = 'Список гостевых книг';
- $lang->cmd_module_config = 'Общая конфигурация гостевых книг';
- $lang->cmd_view_info = 'Информация гостевой книги';
-
- $lang->about_board = "Этот модуль служит для создания и управления гостевыми книгами.\nВы можете выбрать имя модуля из списка после создания для дополнительного конифигурирования.\nПожалуйста, будте осторожны с именем модуля форума, поскольку оно будет URL. (например : http://domain/zb/?mid=имя_модуля)";
-?>
diff --git a/modules/guestbook/lang/zh-CN.lang.php b/modules/guestbook/lang/zh-CN.lang.php
deleted file mode 100644
index d88855e7e..000000000
--- a/modules/guestbook/lang/zh-CN.lang.php
+++ /dev/null
@@ -1,16 +0,0 @@
-guestbook = "留言本";
-
- // 按钮语言
- $lang->cmd_guestbook_list = '留言本目录';
- $lang->cmd_module_config = '留言本共同设置';
- $lang->cmd_view_info = '留言本信息';
-
- $lang->about_guestbook = "可生成并管理留言本的模块。\n生成留言本后在留言本目录中点击模块名既可设置更详细的相关项目。\n因留言本的模块名将变成其url中的一部分,所以请慎重填写模块名(ex:http://域名/zb/?mid=模块名)。";
-?>
diff --git a/modules/guestbook/queries/getGuestbookList.xml b/modules/guestbook/queries/getGuestbookList.xml
deleted file mode 100644
index 090dec365..000000000
--- a/modules/guestbook/queries/getGuestbookList.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/comment.html b/modules/guestbook/skins/default/comment.html
deleted file mode 100644
index 441f5d69d..000000000
--- a/modules/guestbook/skins/default/comment.html
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- {@ $_comment_list = $document->getComments() }
-
-
-
-
-
-
-
-
-
-
-
- {$comment->getRegdate('Y.m.d')} {$comment->getRegdate('H:i:s')}
-
-
- ({$comment->get('ipaddress')})
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/comment_form.html b/modules/guestbook/skins/default/comment_form.html
deleted file mode 100644
index 46a55f4da..000000000
--- a/modules/guestbook/skins/default/comment_form.html
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {$source_comment->getRegdate('Y.m.d')} {$source_comment->getRegdate('H:i:s')}
-
-
- ({$source_comment->get('ipaddress')})
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/css/guestbook.css b/modules/guestbook/skins/default/css/guestbook.css
deleted file mode 100644
index 8ae411843..000000000
--- a/modules/guestbook/skins/default/css/guestbook.css
+++ /dev/null
@@ -1,105 +0,0 @@
-@charset "utf-8";
-
-/* guestbook Title */
-.guestbookHeader { border:1px solid #e1e1dd; border-bottom:none; background:#ffffff url(../images/bgH3.gif) repeat-x left bottom; overflow:hidden; _width:100%;}
-.guestbookHeader h3 { border-bottom:3px solid #fe3614; }
-.guestbookHeader h3 { float:left; font-size:1.2em; padding:1em 2em .7em 1.2em; background:#ffffff url(../images/lineH3.gif) no-repeat right bottom;}
-
-/* guestbook Description */
-.guestbookDescription { color:#AEAEAE; border:1px solid #DDDDDD; overflow:hidden; padding:1em; margin-top:1em;}
-
-.guestbookInformation { width:100%; clear:both; margin:1em 0 .5em 0; overflow:hidden; color:#666666;}
-
-.articleNum { float:left; padding:0 0 0 15px; }
-
-/* account Navigation */
-.accountNavigation { float:right; }
-.accountNavigation li { float:left; margin-left:7px; list-style:none; padding-top:3px;}
-.accountNavigation li a { font-size:12px; white-space:nowrap; color:#666666; text-decoration:none;}
-.accountNavigation li.setup a { background:url(../images/iconSetup.gif) no-repeat left top; padding-left:14px; }
-.accountNavigation li.admin a { background:url(../images/iconAdmin.gif) no-repeat left top; padding-left:12px; }
-.accountNavigation li.listType { margin-left:5px; }
-.accountNavigation li.loginAndLogout { background:url(../images/line_1x10_e0e0e0.gif) no-repeat left 5px; padding-left:8px; _padding-top:5px;}
-*:first-child+html li.loginAndLogout { padding-top:5px; }
-
-
-/* pageNavigation */
-.pageNavigation { display:block; margin-top:1em; text-align:center; font:bold 11px Tahoma; margin-top:1.5em;}
-.pageNavigation a { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#666666; display:inline-block; padding:1px 7px 2px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
-.pageNavigation .current { position:relative; margin-left:-4px; font:bold 11px Tahoma; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; text-decoration:none; line-height:1em; }
-.pageNavigation a:hover { background:#F7F7F7; text-decoration:none; }
-.pageNavigation a:visited { color:#999999; }
-.pageNavigation a.goToFirst, .pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;}
-.pageNavigation a.goToFirst img, .pageNavigation a.goToLast img { display:inline-block; padding:2px 0; position:relative; top:2px; _top:1px;}
-
-.boardWrite { border:1px solid #DDDDDD; background-color:#EFEFEF; overflow:hidden; position:relative; margin-bottom:20px; padding:.5em 0; }
-.boardWrite .inputTypeText { width:100px; }
-.boardWrite .userNameAndPw { margin-bottom:-1px; padding:.5em 0; margin-left:20px;}
-.boardWrite .boardEditor fieldset { width:auto; position:relative;}
-.boardWrite .option { margin-left:20px; padding:.5em 0; overflow:hidden; width:90%;}
-.boardWrite .option dd { float:left; margin-right:1em; padding-top:.2em; _padding-top:.1em;}
-.boardWrite .option dd * { vertical-align:middle;}
-.boardWrite .option dd select { width:7em; font-size:.95em;height:20px;}
-.boardWrite .inputTypeText { background:#fbfbfb;}
-
-.commentWrite { border:1px solid #EFEFEF; overflow:hidden; position:relative; margin-top:10px; margin-bottom:20px; padding:.5em 0; }
-.commentWrite .inputTypeText { width:100px; }
-.commentWrite .userNameAndPw { margin-bottom:-1px; padding:.5em 0; margin-left:20px;}
-.commentWrite .commentEditor fieldset { width:auto; position:relative; border:none;}
-.commentWrite .option { margin-left:20px; padding:.5em 0; overflow:hidden; width:90%;}
-.commentWrite .option dd { float:left; margin-right:1em; padding-top:.2em; _padding-top:.1em;}
-.commentWrite .option dd * { vertical-align:middle;}
-.commentWrite .option dd select { width:7em; font-size:.95em;height:20px;}
-.commentWrite .inputTypeText { background:#fbfbfb;}
-.commentWrite .editorBox { text-align:center; margin-bottom:10px;}
-.commentWrite .textarea { width:98%; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; height:8em; padding:.2em 0 0 .3em; background:#ffffff; font-size:1em; }
-
-.documentBox { padding:.6em .6em; color:#666666; border:1px solid #e0e1db; margin-top:.5em;}
-.documentBox .documentItem { padding:.6em .8em .6em .6em; line-height:1.25em; clear:both; list-style:none;}
-.documentBox p { display:inline; margin-bottom:1em;}
-.documentBox .author { float:left; padding:0 .3em 0 0; font-size:.9em; color:#3074a5; margin:0 .3em .5em 0; cursor:pointer;}
-.documentBox .author a { color:#3074a5; margin-right:.3em; text-decoration:none; }
-.documentBox .voted { float:left; font-size:.9em; color:#AAAAAA; margin:0 .3em .5em 1em;}
-.documentBox .date { float:right; font:.8em Tahoma; color:#cccccc; margin:.3em 0 .5em 0;}
-
-.documentBox .documentOption { float:right; white-space:nowrap; margin-left:.2em;}
-.documentBox .documentOption img { vertical-align:middle;}
-
-.documentBox .documentContent { clear:left; }
-.documentBox .documentContent p { display:block; }
-.documentBox .documentContent ul li { padding:0; border:none; line-height:1.25em; list-style:disc;}
-.documentBox .documentContent ol li { padding:0; border:none; line-height:1.25em; list-style:decimal;}
-.documentBox .document { background-color:#FAFAFA;}
-
-.smallBox { border:1px solid #e0e1db; margin-left:auto; margin-right:auto; }
-.smallBox.w268 { width:268px;}
-.smallBox .header { position:relative; _width:100%; background:#ffffff url(../images/normal/bgH3.gif) no-repeat left bottom; overflow:hidden;}
-.smallBox .header h3 { clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #fe3614; }
-.smallBox .complex { padding:1.5em 2em 2em 2em;}
-.smallBox .inputPassword { position:relative; border:none; padding:2em 2em 1.5em 2em;}
-.smallBox .inputPassword .inputTypeText { float:left; margin-right:.5em; width:8em;}
-.smallBox .inputPassword legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
-
-
-.replyBox { padding:.6em .6em; color:#666666; border:1px solid #e0e1db; margin-top:.5em;}
-.replyBox .replyItem { padding:.6em .8em .6em .6em; line-height:1.25em; clear:both; list-style:none; border-bottom:1px dotted #e0e1db;}
-.replyBox p { display:inline; margin-bottom:1em;}
-.replyBox .author { float:left; padding:0 .3em 0 0; font-size:.9em; color:#3074a5; margin:0 .3em .5em 0;}
-.replyBox .author a { color:#3074a5; margin-right:.3em; text-decoration:none; }
-.replyBox .voted { float:left; font-size:.9em; color:#AAAAAA; margin:0 .3em .5em 1em;}
-.replyBox .date { float:right; font:.8em Tahoma; color:#cccccc; margin:.3em 0 .5em 0;}
-
-.replyBox .replyOption { float:right; white-space:nowrap; margin-left:.2em;}
-.replyBox .replyOption img { vertical-align:middle;}
-
-.replyBox .replyContent { clear:left; }
-.replyBox .replyContent p { display:block; }
-.replyBox .replyContent ul li { padding:0; border:none; line-height:1.25em; list-style:disc;}
-.replyBox .replyContent ol li { padding:0; border:none; line-height:1.25em; list-style:decimal;}
-.replyBox .reply { background-color:#FAFAFA;}
-.replyBox .replyIndent { background:url(../images/common/iconReplyArrow.gif) no-repeat .0em .3em; padding-left:1.3em;}
-
-.replyBox .fileAttached { _width:99%; border:1px solid #eaeae7; overflow:hidden; background:#fbfbfb; margin-top:.3em; list-style:none;}
-.replyBox .fileAttached ul { float:left; padding:.3em 1em .2em 0; margin-left:.5em; _margin-left:.25em;}
-.replyBox .fileAttached li a { font-size:.9em; white-space:nowrap; position:relative; color:#444444; }
-.replyBox .fileAttached li a:visited { color:#777777;}
diff --git a/modules/guestbook/skins/default/delete_comment_form.html b/modules/guestbook/skins/default/delete_comment_form.html
deleted file mode 100644
index a06174f59..000000000
--- a/modules/guestbook/skins/default/delete_comment_form.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/delete_form.html b/modules/guestbook/skins/default/delete_form.html
deleted file mode 100644
index 1ca638c93..000000000
--- a/modules/guestbook/skins/default/delete_form.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/filter/delete_comment.xml b/modules/guestbook/skins/default/filter/delete_comment.xml
deleted file mode 100644
index 3780d6a18..000000000
--- a/modules/guestbook/skins/default/filter/delete_comment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/filter/delete_document.xml b/modules/guestbook/skins/default/filter/delete_document.xml
deleted file mode 100644
index 8750f03ad..000000000
--- a/modules/guestbook/skins/default/filter/delete_document.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/filter/input_password.xml b/modules/guestbook/skins/default/filter/input_password.xml
deleted file mode 100644
index 2e26fbde8..000000000
--- a/modules/guestbook/skins/default/filter/input_password.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/filter/insert.xml b/modules/guestbook/skins/default/filter/insert.xml
deleted file mode 100644
index debca08a7..000000000
--- a/modules/guestbook/skins/default/filter/insert.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/filter/insert_comment.xml b/modules/guestbook/skins/default/filter/insert_comment.xml
deleted file mode 100644
index 674c9501d..000000000
--- a/modules/guestbook/skins/default/filter/insert_comment.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/footer.html b/modules/guestbook/skins/default/footer.html
deleted file mode 100644
index 9d5404ca8..000000000
--- a/modules/guestbook/skins/default/footer.html
+++ /dev/null
@@ -1 +0,0 @@
-{$module_info->footer_text}
diff --git a/modules/guestbook/skins/default/header.html b/modules/guestbook/skins/default/header.html
deleted file mode 100644
index 9543c2827..000000000
--- a/modules/guestbook/skins/default/header.html
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-{$module_info->header_text}
-
-
-
-
-
-
-
-
-{$module_info->memo}
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/images/bgH3.gif b/modules/guestbook/skins/default/images/bgH3.gif
deleted file mode 100644
index 0d07bb456..000000000
Binary files a/modules/guestbook/skins/default/images/bgH3.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/bottomGotoFirst.gif b/modules/guestbook/skins/default/images/bottomGotoFirst.gif
deleted file mode 100644
index e0297fecb..000000000
Binary files a/modules/guestbook/skins/default/images/bottomGotoFirst.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/bottomGotoLast.gif b/modules/guestbook/skins/default/images/bottomGotoLast.gif
deleted file mode 100644
index 0a7141d0d..000000000
Binary files a/modules/guestbook/skins/default/images/bottomGotoLast.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/buttonDeleteX.gif b/modules/guestbook/skins/default/images/buttonDeleteX.gif
deleted file mode 100644
index c066e49be..000000000
Binary files a/modules/guestbook/skins/default/images/buttonDeleteX.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/buttonHelp.gif b/modules/guestbook/skins/default/images/buttonHelp.gif
deleted file mode 100644
index d330e801f..000000000
Binary files a/modules/guestbook/skins/default/images/buttonHelp.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/buttonModifyE.gif b/modules/guestbook/skins/default/images/buttonModifyE.gif
deleted file mode 100644
index 1cde1b60f..000000000
Binary files a/modules/guestbook/skins/default/images/buttonModifyE.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/buttonReply.gif b/modules/guestbook/skins/default/images/buttonReply.gif
deleted file mode 100644
index 600534865..000000000
Binary files a/modules/guestbook/skins/default/images/buttonReply.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/iconAdmin.gif b/modules/guestbook/skins/default/images/iconAdmin.gif
deleted file mode 100644
index 4a581a524..000000000
Binary files a/modules/guestbook/skins/default/images/iconAdmin.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/iconArrowD8.gif b/modules/guestbook/skins/default/images/iconArrowD8.gif
deleted file mode 100644
index fe3143edc..000000000
Binary files a/modules/guestbook/skins/default/images/iconArrowD8.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/iconRss.gif b/modules/guestbook/skins/default/images/iconRss.gif
deleted file mode 100644
index eec2d5ead..000000000
Binary files a/modules/guestbook/skins/default/images/iconRss.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/iconSetup.gif b/modules/guestbook/skins/default/images/iconSetup.gif
deleted file mode 100644
index 33b41da11..000000000
Binary files a/modules/guestbook/skins/default/images/iconSetup.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/lineH3.gif b/modules/guestbook/skins/default/images/lineH3.gif
deleted file mode 100644
index fe42fe378..000000000
Binary files a/modules/guestbook/skins/default/images/lineH3.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/images/line_1x10_e0e0e0.gif b/modules/guestbook/skins/default/images/line_1x10_e0e0e0.gif
deleted file mode 100644
index 6a848dd58..000000000
Binary files a/modules/guestbook/skins/default/images/line_1x10_e0e0e0.gif and /dev/null differ
diff --git a/modules/guestbook/skins/default/input_password_form.html b/modules/guestbook/skins/default/input_password_form.html
deleted file mode 100644
index 0a26427de..000000000
--- a/modules/guestbook/skins/default/input_password_form.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/guestbook/skins/default/js/guestbook.js b/modules/guestbook/skins/default/js/guestbook.js
deleted file mode 100644
index 2af522f3e..000000000
--- a/modules/guestbook/skins/default/js/guestbook.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * @file modules/guestbook/js/guestbook.js
- * @author zero (zero@nzeo.com)
- * @brief guestbook 모듈의 javascript
- **/
-
-/* 글쓰기 작성후 */
-function completeDocumentInserted(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
-
- alert(message);
-
- var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('page','').setQuery('comment_srl','');
- location.href = url;
-}
-
-/* 글 삭제 */
-function completeDeleteDocument(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var page = ret_obj['page'];
-
- var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('comment_srl','');
- alert(message);
-
- location.href = url;
-}
-
-// 현재 페이지 reload
-function completeReload(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
-
- location.href = location.href;
-}
-
-/* 댓글 글쓰기 작성후 */
-function completeInsertComment(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var document_srl = ret_obj['document_srl'];
- var comment_srl = ret_obj['comment_srl'];
-
- var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('comment_srl','');
- alert(message);
-
- location.href = url;
-}
-
-/* 댓글 삭제 */
-function completeDeleteComment(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var mid = ret_obj['mid'];
- var document_srl = ret_obj['document_srl'];
- var page = ret_obj['page'];
-
- var url = current_url.setQuery('mid',mid).setQuery('act','').setQuery('comment_srl','');
- alert(message);
-
- location.href = url;
-}
-
diff --git a/modules/guestbook/skins/default/list.html b/modules/guestbook/skins/default/list.html
deleted file mode 100644
index 682427416..000000000
--- a/modules/guestbook/skins/default/list.html
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-

-
-
-
-
-
- {$document->getRegdate('Y.m.d')} {$document->getRegdate('H:i:s')}
-
-
- ({$document->get('ipaddress')})
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-
{$page_no}
-
-
{$page_no}
-
-
-

-
-
-
diff --git a/modules/guestbook/skins/default/message.html b/modules/guestbook/skins/default/message.html
deleted file mode 100644
index 00bf01814..000000000
--- a/modules/guestbook/skins/default/message.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- {$message}
-
-
-
- {$lang->cmd_login}
-
-
-
diff --git a/modules/guestbook/skins/default/skin.xml b/modules/guestbook/skins/default/skin.xml
deleted file mode 100644
index d79ba9b40..000000000
--- a/modules/guestbook/skins/default/skin.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
- 방명록 기본 스킨
- 留言本默认皮肤
- ゲストブックのデフォルトスキン
-
- 제로
- Zero
- Zero
- board모듈의 default스킨
- 留言本模块的默认皮肤。
- ボード(board)モジュールのデフォルトスキンです。
-
-
-
- 기본
- 默认
- デフォルト
-
-
-
-
- 제목
- 标题
- タイトル
- 방명록의 제목을 적어주세요.
- 请输入留言本标题。
- ゲストブックのタイトルを入力してください。
-
-
- 방명록 설명
- 留言本说明
- ゲストブックの説明
- 내용의 기본값
- 内容默认值
- 内容のデフォルト値
-
-
-
diff --git a/modules/guestbook/skins/default/write_form.html b/modules/guestbook/skins/default/write_form.html
deleted file mode 100644
index 466c93728..000000000
--- a/modules/guestbook/skins/default/write_form.html
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/tpl/filter/delete_guestbook.xml b/modules/guestbook/tpl/filter/delete_guestbook.xml
deleted file mode 100644
index 21817e5d3..000000000
--- a/modules/guestbook/tpl/filter/delete_guestbook.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/tpl/filter/insert_grant.xml b/modules/guestbook/tpl/filter/insert_grant.xml
deleted file mode 100644
index c8e4c8600..000000000
--- a/modules/guestbook/tpl/filter/insert_grant.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/tpl/filter/insert_guestbook.xml b/modules/guestbook/tpl/filter/insert_guestbook.xml
deleted file mode 100644
index 4b6450fa3..000000000
--- a/modules/guestbook/tpl/filter/insert_guestbook.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/guestbook/tpl/grant_list.html b/modules/guestbook/tpl/grant_list.html
deleted file mode 100644
index dde86a6f5..000000000
--- a/modules/guestbook/tpl/grant_list.html
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-{nl2br($lang->about_grant)}
-
-
diff --git a/modules/guestbook/tpl/guestbook_delete.html b/modules/guestbook/tpl/guestbook_delete.html
deleted file mode 100644
index d83d9ea6e..000000000
--- a/modules/guestbook/tpl/guestbook_delete.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
diff --git a/modules/guestbook/tpl/guestbook_info.html b/modules/guestbook/tpl/guestbook_info.html
deleted file mode 100644
index 5c4ef95ab..000000000
--- a/modules/guestbook/tpl/guestbook_info.html
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-
-
-
-
- | {$lang->module_category} |
-
-
- {$lang->not_exists}
-
- {$module_category[$module_info->module_category_srl]->title}
-
- |
-
-
- | {$lang->layout} |
-
-
- {$module_info->layout_title} ({$module_info->layout})
-
- {$lang->not_exists}
-
- |
-
-
- | {$lang->skin} |
- {$module_info->skin_title} ({$module_info->skin}) |
-
-
- | {$lang->browser_title} |
- {htmlspecialchars($module_info->browser_title)} |
-
-
- | {$lang->use_category} |
- {$lang->use}{$lang->notuse} |
-
-
- | {$lang->list_count} |
- {$module_info->list_count?$module_info->list_count:20} |
-
-
- | {$lang->page_count} |
- {$module_info->page_count?$module_info->page_count:10} |
-
-
- | {$lang->description} |
- {nl2br(htmlspecialchars($module_info->description))} |
-
-
- | {$lang->header_text} |
- {htmlspecialchars($module_info->header_text)} |
-
-
- | {$lang->footer_text} |
- {htmlspecialchars($module_info->footer_text)} |
-
-
- | {$lang->admin_id} |
- {implode(",",$module_info->admin_id)} |
-
-
- |
- {$lang->cmd_modify}
-
- {$lang->cmd_guestbook_list}
-
- |
-
-
diff --git a/modules/guestbook/tpl/guestbook_insert.html b/modules/guestbook/tpl/guestbook_insert.html
deleted file mode 100644
index 9a8538403..000000000
--- a/modules/guestbook/tpl/guestbook_insert.html
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-
-
-
diff --git a/modules/guestbook/tpl/header.html b/modules/guestbook/tpl/header.html
deleted file mode 100644
index 817b3327c..000000000
--- a/modules/guestbook/tpl/header.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-{$lang->guestbook} {$lang->cmd_management}
-
-{nl2br($lang->about_guestbook)}
-
-
-
-
-
diff --git a/modules/guestbook/tpl/index.html b/modules/guestbook/tpl/index.html
deleted file mode 100644
index 494a6d253..000000000
--- a/modules/guestbook/tpl/index.html
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
- Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}
-
-
-
-
-
-
-
-
-
-
-

-
-
-
{$page_no}
-
-
{$page_no}
-
-
-

-
diff --git a/modules/guestbook/tpl/js/guestbook_admin.js b/modules/guestbook/tpl/js/guestbook_admin.js
deleted file mode 100644
index f641d1724..000000000
--- a/modules/guestbook/tpl/js/guestbook_admin.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * @file modules/guestbook/js/guestbook_admin.js
- * @author zero (zero@nzeo.com)
- * @brief guestbook 모듈의 관리자용 javascript
- **/
-
-/* 모듈 생성 후 */
-function completeInsertGuestbook(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
-
- var page = ret_obj['page'];
- var module_srl = ret_obj['module_srl'];
-
- alert(message);
-
- var url = current_url.setQuery('act','dispGuestbookAdminGuestbookInfo');
- if(module_srl) url = url.setQuery('module_srl',module_srl);
- if(page) url.setQuery('page',page);
- location.href = url;
-}
-
-/* 모듈 삭제 후 */
-function completeDeleteGuestbook(ret_obj) {
- var error = ret_obj['error'];
- var message = ret_obj['message'];
- var page = ret_obj['page'];
- alert(message);
-
- var url = current_url.setQuery('act','dispGuestbookAdminContent').setQuery('module_srl','');
- if(page) url = url.setQuery('page',page);
- location.href = url;
-}
-
-/* 권한 관련 */
-function doSelectAll(obj, key) {
- var fo_obj = obj.parentNode;
- while(fo_obj.nodeName != 'FORM') {
- fo_obj = fo_obj.parentNode;
- }
-
- for(var i=0;i
-
-
-
-
diff --git a/modules/guestbook/tpl/top_refresh.html b/modules/guestbook/tpl/top_refresh.html
deleted file mode 100644
index 2f4983d1d..000000000
--- a/modules/guestbook/tpl/top_refresh.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
- {@ $_uploaded_files = $comment->getUploadedFiles() } - -- {$file->source_filename} ({FileHandler::filesize($file->file_size)})({number_format($file->download_count)})
-
-
-