css 및 js 호출순서 조정기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5785 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2009-03-06 05:33:56 +00:00
parent 4f380d9c48
commit 61851f1dfe
2149 changed files with 109090 additions and 18689 deletions

View file

@ -13,114 +13,6 @@
function init() {
}
/**
* @brief 권한 추가
**/
function procBoardAdminInsertGrant() {
$module_srl = Context::get('module_srl');
// 현 모듈의 권한 목록을 가져옴
$grant_list = $this->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 procBoardAdminUpdateSkinInfo() {
// module_srl에 해당하는 정보들을 가져오기
$module_srl = Context::get('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') {
FileHandler::removeFile($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);
$oModuleController = &getController('module');
$oModuleController->updateModuleSkinVars($module_srl, $skin_vars);
$this->setLayoutPath('./common/tpl');
$this->setLayoutFile('default_layout.html');
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile("top_refresh.html");
}
/**
* @brief 게시판 추가
**/
@ -129,110 +21,29 @@
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
// 만약 module_srl이 , 로 연결되어 있다면 일괄 정보 수정으로 처리
if(strpos(Context::get('module_srl'),',')!==false) {
// 대상 모듈들을 구해옴
$modules = $oModuleModel->getModulesInfo(Context::get('module_srl'));
$args = Context::getRequestVars();
for($i=0;$i<count($modules);$i++) {
$obj = $extra_vars = null;
$obj = $modules[$i];
$extra_vars = unserialize($obj->extra_vars);
$obj->module = 'board';
$obj->module_category_srl = $args->module_category_srl;
$obj->layout_srl = $args->layout_srl;
$obj->skin = $args->skin;
$obj->description = $args->description;
$obj->header_text = $args->header_text;
$obj->footer_text = $args->footer_text;
$obj->admin_id = $args->admin_id;
$extra_vars->use_category = $args->use_category=='Y'?'Y':'N';
$extra_vars->list_count = $args->list_count;
$extra_vars->search_list_count = $args->search_list_count;
$extra_vars->except_notice = $args->except_notice!='Y'?'N':'Y';
$extra_vars->consultation = $args->consultation!='Y'?'N':'Y';
$extra_vars->secret = $args->secret!='Y'?'N':'Y';
$extra_vars->admin_mail = $args->admin_mail;
$extra_vars->page_count = $args->page_count;
$obj->extra_vars = serialize($extra_vars);
$output = $oModuleController->updateModule($obj);
if(!$output->toBool()) return $output;
}
return new Object(0,'success_updated');
}
// 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리
if(!$args) {
$args = Context::gets('module_srl','module_category_srl','board_name','layout_srl','skin','browser_title','description','is_default','header_text','footer_text','admin_id');
$extra_var = delObjectVars(Context::getRequestVars(), $args);
}
// 게시판 모듈의 정보 설정
$args = Context::getRequestVars();
$args->module = 'board';
$args->mid = $args->board_name;
unset($args->board_name);
if($args->is_default!='Y') $args->is_default = 'N';
// 기본 값외의 것들을 정리
if($extra_var->use_category!='Y') $extra_var->use_category = 'N';
if($extra_var->except_notice!='Y') $extra_var->except_notice = 'N';
if($extra_var->consultation!='Y') $extra_var->consultation = 'N';
if(!in_array($extra_var->order_target,$this->order_target)) $extra_var->order_target = 'list_order';
if(!in_array($extra_var->order_type,array('asc','desc'))) $extra_var->order_type = 'asc';
unset($extra_var->act);
unset($extra_var->page);
unset($extra_var->board_name);
unset($extra_var->module_srl);
// 확장변수(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;
if($args->use_category!='Y') $args->use_category = 'N';
if($args->except_notice!='Y') $args->except_notice = 'N';
if($args->consultation!='Y') $args->consultation = 'N';
if(!in_array($args->order_target,$this->order_target)) $args->order_target = 'list_order';
if(!in_array($args->order_type,array('asc','desc'))) $args->order_type = 'asc';
// module_srl이 넘어오면 원 모듈이 있는지 확인
if($args->module_srl) {
$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);
// is_default=='Y' 이면
if($args->is_default=='Y') $oModuleController->clearDefaultModule();
// module_srl의 값에 따라 insert/update
if(!$args->module_srl) {
$output = $oModuleController->insertModule($args);
$msg_code = 'success_registed';
// 파일업로드, 댓글 파일업로드, 관리에 대한 권한 지정
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('manager'=>array($admin_group_srl)));
$oModuleController->updateModuleGrant($module_srl, $grants);
}
} else {
$output = $oModuleController->updateModule($args);
$msg_code = 'success_updated';
@ -262,208 +73,23 @@
}
/**
* @brief 카테고리 추가
* @brief 게시판 목록 지정
**/
function procBoardAdminInsertCategory($args = null) {
// 입력할 변수 정리
if(!$args) $args = Context::gets('module_srl','category_srl','parent_srl','title','expand','group_srls','color');
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 procBoardAdminDeleteCategory() {
// 변수 정리
$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 procBoardAdminMoveCategory() {
$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);
// target_category의 list_order값을 +1해 준다
$output = $oDocumentController->updateCategoryListOrder($target_category->module_srl, $target_category->list_order);
if(!$output->toBool()) return $output;
// 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;
// xml파일 재생성
$xml_file = $oDocumentController->makeCategoryFile($source_category->module_srl);
// return 변수 설정
$this->add('xml_file', $xml_file);
$this->add('source_category_srl', $source_category_srl);
}
*/
function procBoardAdminMoveCategory() {
$source_category_srl = Context::get('source_srl');
// parent_srl 이 있으면 첫 자식으로 들어간다
$parent_category_srl = Context::get('parent_srl');
// target_srl 이 있으면 target_srl 아래로 형제로 들어간다
$target_category_srl = Context::get('target_srl');
$oDocumentModel = &getModel('document');
$oDocumentController = &getController('document');
$source_category = $oDocumentModel->getCategory($source_category_srl);
//parent_category_srl 의 첫 자식으로 넣자
if($parent_category_srl > 0 || ($parent_category_srl == 0 && $target_category_srl == 0)){
$parent_category = $oDocumentModel->getCategory($parent_category_srl);
$args->module_srl = $source_category->module_srl;
$args->parent_srl = $parent_category_srl;
$output = executeQuery('document.getChildCategoryMinListOrder', $args);
if(!$output->toBool()) return $output;
$args->list_order = (int)$output->data->list_order;
if(!$args->list_order) $args->list_order = 0;
$args->list_order--;
$source_args->category_srl = $source_category_srl;
$source_args->parent_srl = $parent_category_srl;
$source_args->list_order = $args->list_order;
$output = $oDocumentController->updateCategory($source_args);
if(!$output->toBool()) return $output;
// $target_category_srl의 아래동생으로
}else if($target_category_srl > 0){
$target_category = $oDocumentModel->getCategory($target_category_srl);
//$target_category의 아래 동생을 모두 내린다
$output = $oDocumentController->updateCategoryListOrder($target_category->module_srl, $target_category->list_order+1);
if(!$output->toBool()) return $output;
$source_args->category_srl = $source_category_srl;
$source_args->parent_srl = $target_category->parent_srl;
$source_args->list_order = $target_category->list_order+1;
$output = $oDocumentController->updateCategory($source_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 procBoardAdminMakeXmlFile() {
// 입력값을 체크
function procBoardAdminInsertListConfig() {
$module_srl = Context::get('module_srl');
$list = explode(',',Context::get('list'));
if(!count($list)) return new Object(-1, 'msg_invalid_request');
// xml파일 재생성
$oDocumentController = &getController('document');
$xml_file = $oDocumentController->makeCategoryFile($module_srl);
$list_arr = array();
foreach($list as $val) {
$val = trim($val);
if(!$val) continue;
if(substr($val,0,10)=='extra_vars') $val = substr($val,10);
$list_arr[] = $val;
}
// return 값 설정
$this->add('xml_file',$xml_file);
$oModuleController = &getController('module');
$oModuleController->insertModulePartConfig('board', $module_srl, $list_arr);
}
}
?>

View file

@ -1,65 +0,0 @@
<?php
/**
* @class boardAdminModel
* @author zero (zero@nzeo.com)
* @version 0.1
* @brief board 모듈의 admin model class
**/
class boardAdminModel extends board {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 특정 카테고리의 정보를 이용하여 템플릿을 구한후 return
* 관리자 페이지에서 특정 메뉴의 정보를 추가하기 위해 서버에서 tpl을 컴파일 한후 컴파일 html을 직접 return
**/
function getBoardAdminCategoryTplInfo() {
// 해당 메뉴의 정보를 가져오기 위한 변수 설정
$category_srl = Context::get('category_srl');
$parent_srl = Context::get('parent_srl');
// 회원 그룹의 목록을 가져옴
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->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');
$tpl = str_replace("\n",'',$tpl);
// return 할 변수 설정
$this->add('tpl', $tpl);
}
}
?>

View file

@ -36,6 +36,8 @@
}
}
if($module_info && $module_info->module != 'board') return $this->stop("msg_invalid_request");
// 모듈 카테고리 목록을 구함
$module_category = $oModuleModel->getModuleCategories();
Context::set('module_category', $module_category);
@ -58,7 +60,7 @@
// 등록된 board 모듈을 불러와 세팅
$args->sort_index = "module_srl";
$args->page = Context::get('page');
$args->list_count = 40;
$args->list_count = 20;
$args->page_count = 10;
$args->s_module_category_srl = Context::get('module_category_srl');
$output = executeQueryArray('board.getBoardList', $args);
@ -77,10 +79,9 @@
}
/**
* @brief 선택된 게시판의 정보 출력
* @brief 선택된 게시판의 정보 출력 (바로 정보 입력으로 변경)
**/
function dispBoardAdminBoardInfo() {
$this->dispBoardAdminInsertBoard();
}
@ -128,7 +129,6 @@
* @brief 게시판 삭제 화면 출력
**/
function dispBoardAdminDeleteBoard() {
if(!Context::get('module_srl')) return $this->dispBoardAdminContent();
if(!in_array($this->module_info->module, array('admin', 'board','blog','guestbook'))) {
return $this->alertMessage('msg_invalid_request');
@ -147,58 +147,29 @@
}
/**
* @brief 스킨 정보 보여줌
* @brief 게시판의 목록 설정
**/
function dispBoardAdminSkinInfo() {
if(!in_array($this->module_info->module, array('admin', 'board','blog','guestbook'))) {
return $this->alertMessage('msg_invalid_request');
}
function dispBoardAdminListSetup() {
$oBoardModel = &getModel('board');
// 현재 선택된 모듈의 스킨의 정보 xml 파일을 읽음
$module_info = Context::get('module_info');
$skin = $module_info->skin;
// 대상 항목을 구함
Context::set('extra_vars', $oBoardModel->getDefaultListConfig($this->module_info->module_srl));
$oModuleModel = &getModel('module');
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
if(!$skin_info) {
$skin = 'xe_board';
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
}
// 설정 항목 추출 (설정항목이 없을 경우 기본 값을 세팅)
Context::set('list_config', $oBoardModel->getListConfig($this->module_info->module_srl));
// skin_info에 extra_vars 값을 지정
if(count($skin_info->extra_vars)) {
foreach($skin_info->extra_vars as $key => $val) {
$group = $val->group;
$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');
$this->setTemplateFile('list_setting');
}
/**
* @brief 카테고리의 정보 출력
**/
function dispBoardAdminCategoryInfo() {
// module_srl을 구함
$module_srl = $this->module_info->module_srl;
if(!in_array($this->module_info->module, array('admin', 'board','blog','guestbook'))) {
return $this->alertMessage('msg_invalid_request');
}
// 카테고리 정보를 가져옴
$oDocumentModel = &getModel('document');
$category_xml_file = $oDocumentModel->getCategoryXmlFile($module_srl);
$catgegory_content = $oDocumentModel->getCategoryHTML($this->module_info->module_srl);
Context::set('category_content', $catgegory_content);
Context::set('category_xml_file', $category_xml_file);
Context::addJsFile('./common/js/tree_menu.js');
// Context::set('layout','none');
Context::set('module_info', $this->module_info);
$this->setTemplateFile('category_list');
}
@ -206,24 +177,41 @@
* @brief 권한 목록 출력
**/
function dispBoardAdminGrantInfo() {
// module_srl을 구함
$module_srl = Context::get('module_srl');
if(!in_array($this->module_info->module, array('admin', 'board','blog','guestbook'))) {
return $this->alertMessage('msg_invalid_request');
}
// 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);
// 공통 모듈 권한 설정 페이지 호출
$oModuleAdminModel = &getAdminModel('module');
$grant_content = $oModuleAdminModel->getModuleGrantHTML($this->module_info->module_srl, $this->xml_info->grant);
Context::set('grant_content', $grant_content);
$this->setTemplateFile('grant_list');
}
/**
* @brief 확장 변수 설정
**/
function dispBoardAdminExtraVars() {
$oDocumentAdminModel = &getModel('document');
$extra_vars_content = $oDocumentAdminModel->getExtraVarsHTML($this->module_info->module_srl);
Context::set('extra_vars_content', $extra_vars_content);
$this->setTemplateFile('extra_vars');
}
/**
* @brief 스킨 정보 보여줌
**/
function dispBoardAdminSkinInfo() {
// 공통 모듈 권한 설정 페이지 호출
$oModuleAdminModel = &getAdminModel('module');
$skin_content = $oModuleAdminModel->getModuleSkinHTML($this->module_info->module_srl);
Context::set('skin_content', $skin_content);
$this->setTemplateFile('skin_info');
}
/**
* @brief board module용 메시지 출력
**/
function alertMessage($message) {
$script = sprintf('<script type="text/javascript"> xAddEventListener(window,"load", function() { alert("%s"); } );</script>', Context::getLang($message));
Context::addHtmlHeader( $script );

View file

@ -24,7 +24,8 @@
* @brief 컨텐츠 목록
**/
function dispBoardContentList(&$oModule) {
$oModule->add('document_list',$this->arrangeContentList(Context::get('document_list')));
$document_list = $this->arrangeContentList(Context::get('document_list'));
$oModule->add('document_list',$document_list);
$oModule->add('page_navigation',Context::get('page_navigation'));
}
@ -40,7 +41,10 @@
* @brief 게시물 보기
**/
function dispBoardContentView(&$oModule) {
$oModule->add('oDocument',$this->arrangeContent(Context::get('oDocument')));
$oDocument = Context::get('oDocument');
$extra_vars = $oDocument->getExtraVars();
$oDocument->add('extra_vars',$this->arrangeExtraVars($extra_vars));
$oModule->add('oDocument',$this->arrangeContent($oDocument));
}
@ -78,14 +82,14 @@
function arrangeContent($content) {
$output = null;
if($content){
$output= $content->gets('document_srl','category_srl','is_secret','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars1','extra_vars2','extra_vars3','extra_vars4','extra_vars5','extra_vars6','extra_vars7','extra_vars8','extra_vars9','extra_vars10','extra_vars11','extra_vars12','extra_vars13','extra_vars14','extra_vars15','extra_vars16','extra_vars17','extra_vars18','extra_vars19','extra_vars20');
$output= $content->gets('document_srl','category_srl','is_secret','nick_name','user_id','user_name','title','content','tags','voted_count','blamed_count','comment_count','regdate','last_update','extra_vars');
}
return $output;
}
function arrangeComment($comment_list) {
$output = array();
if(count($comment_list)) {
if(count($comment_list) > 0 ) {
foreach($comment_list as $key => $val){
$item = null;
$item = $val->gets('comment_srl','parent_srl','depth','is_secret','content','voted_count','blamed_count','user_id','user_name','nick_name','email_address','homepage','regdate','last_update');
@ -98,7 +102,7 @@
function arrangeFile($file_list) {
$output = array();
if(count($file_list)) {
if(count($file_list) > 0) {
foreach($file_list as $key => $val){
$item = null;
$item->sid = $val->sid;
@ -113,5 +117,20 @@
}
return $output;
}
function arrangeExtraVars($list) {
$output = array();
if(count($list)) {
foreach($list as $key => $val){
$item = null;
$item->name = $val->name;
$item->type = $val->type;
$item->desc = $val->desc;
$item->value = $val->value;
$output[] = $item;
}
}
return $output;
}
}
?>

View file

@ -23,21 +23,10 @@
function moduleInstall() {
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminContent');
$oModuleController->insertActionForward('board', 'view', 'dispBoardTagList');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminBoardInfo');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminInsertBoard');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminDeleteBoard');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminSkinInfo');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminCategoryInfo');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminGrantInfo');
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminBoardAdditionSetup');
$oModuleController->insertActionForward('board', 'controller', 'procBoardAdminUpdateSkinInfo');
// 2007. 10. 17 아이디 클릭시 나타나는 팝업메뉴에 작성글 보기 기능 추가
$oModuleController->insertTrigger('member.getMemberMenu', 'board', 'controller', 'triggerMemberMenu', 'after');
// 기본 게시판 생성
$output = executeQuery('module.getDefaultMidInfo');
if($output->data) return new Object();
@ -48,19 +37,22 @@
// 기본 모듈이 없으면 새로 등록
if(!$module_info->module_srl) {
$args->board_name = 'board';
$args->mid = 'board';
$args->module = 'board';
$args->browser_title = 'test module';
$args->is_default = 'Y';
$args->skin = 'xe_default';
$args->site_srl = 0;
// board 라는 이름의 모듈이 있는지 확인
$module_info = $oModuleModel->getModuleInfoByMid($args->board_name);
if($module_info->module_srl) $args->module_srl = $module_info->module_srl;
else $args->module_srl = 0;
// 게시판 controller 생성
$oBoardController = &getAdminController('board');
$oBoardController->procBoardAdminInsertBoard($args);
if($module_info->module_srl) {
$args->module_srl = $module_info->module_srl;
$oModuleController->updateModule($args);
} else {
$args->module_srl = 0;
$oModuleController->insertModule($args);
}
}
return new Object();
@ -74,17 +66,6 @@
// 2007. 10. 17 아이디 클릭시 나타나는 팝업메뉴에 작성글 보기 기능 추가
if(!$oModuleModel->getTrigger('member.getMemberMenu', 'board', 'controller', 'triggerMemberMenu', 'after')) return true;
/**
* 2007. 10. 17 : 게시판 모듈설정에 추가 설정 액션 설정
**/
if(!$oModuleModel->getActionForward('dispBoardAdminBoardAdditionSetup')) return true;
/**
* 2007. 11. 27 : 태그 목록 보기 액션 설정
**/
if(!$oModuleModel->getActionForward('dispBoardTagList')) return true;
return false;
}
@ -99,18 +80,6 @@
if(!$oModuleModel->getTrigger('member.getMemberMenu', 'board', 'controller', 'triggerMemberMenu', 'after'))
$oModuleController->insertTrigger('member.getMemberMenu', 'board', 'controller', 'triggerMemberMenu', 'after');
/**
* 2007. 10. 17 : 게시판 모듈설정에 추가 설정 액션 설정
**/
if(!$oModuleModel->getActionForward('dispBoardAdminBoardAdditionSetup'))
$oModuleController->insertActionForward('board', 'view', 'dispBoardAdminBoardAdditionSetup');
/**
* 2007. 11. 27 : 태그 목록 보기 액션 설정
**/
if(!$oModuleModel->getActionForward('dispBoardTagList'))
$oModuleController->insertActionForward('board', 'view', 'dispBoardTagList');
return new Object(0, 'success_updated');
}
@ -120,22 +89,5 @@
function recompileCache() {
}
/**
* @brief Action중 Admin이 들어갔을 경우 권한 체크
**/
function checkAdminActionGrant() {
if(!Context::get('is_logged')) return false;
$logged_info = Context::get('logged_info');
if($logged_info->is_admin=='Y') return true;
$actions = array('getBoardAdminCategoryTplInfo','dispBoardAdminCategoryInfo','procBoardAdminInsertCategory','procBoardAdminUpdateCategory','procBoardAdminDeleteCategory','procBoardAdminMoveCategory');
if(!in_array($this->act, $actions)) return false;
$oModuleModel = &getModel('module');
if($oModuleModel->isSiteAdmin()) return true;
return false;
}
}
?>

View file

@ -27,6 +27,8 @@
settype($obj->title, "string");
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
//그래도 없으면 Untitled
if($obj->title == '') $obj->title = 'Untitled';
// 관리자가 아니라면 게시글 색상/굵기 제거
if(!$this->grant->manager) {
@ -139,8 +141,8 @@
$oCommentController = &getController('comment');
// comment_srl이 존재하는지 체크
// 만일 comment_srl이 n/a라면 getNextSequence()로 값을 얻어온다.
if(!$obj->comment_srl) {
// 만일 comment_srl이 n/a라면 getNextSequence()로 값을 얻어온다.
if(!$obj->comment_srl) {
$obj->comment_srl = getNextSequence();
} else {
$comment = $oCommentModel->getComment($obj->comment_srl, $this->grant->manager);

View file

@ -0,0 +1,58 @@
<?php
/**
* @class boardModel
* @author zero (zero@nzeo.com)
* @brief board 모듈의 Model class
**/
class boardModel extends module {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 목록 설정 값을 가져옴
**/
function getListConfig($module_srl) {
$oModuleModel = &getModel('module');
$oDocumentModel = &getModel('document');
// 저장된 목록 설정값을 구하고 없으면 기본 값으로 설정
$list_config = $oModuleModel->getModulePartConfig('board', $module_srl);
if(!$list_config || !count($list_config)) $list_config = array( 'no', 'title', 'nick_name','regdate','readed_count');
// 사용자 선언 확장변수 구해와서 배열 변환후 return
$inserted_extra_vars = $oDocumentModel->getExtraKeys($module_srl);
foreach($list_config as $key) {
if(preg_match('/^([0-9]+)$/',$key)) $output['extra_vars'.$key] = $inserted_extra_vars[$key];
else $output[$key] = new ExtraItem($module_srl, -1, Context::getLang($key), $key, 'N', 'N', 'N', null);
}
return $output;
}
/**
* @brief 기본 목록 설정값을 return
**/
function getDefaultListConfig($module_srl) {
// 가상번호, 제목, 등록일, 수정일, 닉네임, 아이디, 이름, 조회수, 추천수 추가
$virtual_vars = array( 'no', 'title', 'regdate', 'last_update', 'nick_name', 'user_id', 'user_name', 'readed_count', 'voted_count' );
foreach($virtual_vars as $key) {
$extra_vars[$key] = new ExtraItem($module_srl, -1, Context::getLang($key), $key, 'N', 'N', 'N', null);
}
// 사용자 선언 확장변수 정리
$oDocumentModel = &getModel('document');
$inserted_extra_vars = $oDocumentModel->getExtraKeys($module_srl);
if(count($inserted_extra_vars)) foreach($inserted_extra_vars as $obj) $extra_vars['extra_vars'.$obj->idx] = $obj;
return $extra_vars;
}
}
?>

View file

@ -9,33 +9,23 @@
/**
* @brief 초기화
*
* board 모듈은 일반 사용과 관리자용으로 나누어진다.\n
**/
function init() {
/**
* 스킨등에서 사용될 module_srl이나 module_info등을 context set
* 기본 모듈 정보들 설정 (list_count, page_count는 게시판 모듈 전용 정보이고 기본 값에 대한 처리를 )
**/
// 템플릿에서 사용할 변수를 Context::set()
if($this->module_srl) Context::set('module_srl',$this->module_srl);
// 현재 호출된 게시판의 모듈 정보를 module_info 라는 이름으로 context setting
Context::set('module_info',$this->module_info);
// 기본 모듈 정보들 설정 (list_count, page_count는 게시판 모듈 전용 정보이고 기본 값에 대한 처리를 함)
if($this->module_info->list_count) $this->list_count = $this->module_info->list_count;
if($this->module_info->search_list_count) $this->search_list_count = $this->module_info->search_list_count;
if($this->module_info->page_count) $this->page_count = $this->module_info->page_count;
$this->except_notice = $this->module_info->except_notice == 'N' ? false : true;
// 일반 목록에서 공지사항을 제외하는 기능의 체크
if($this->module_info->except_notice == 'N') $this->except_notice = false;
else $this->except_notice = true;
// 상담 기능 체크. 현재 게시판의 관리자이면 상담기능을 off시킴
/**
* 상담 기능 체크. 현재 게시판의 관리자이면 상담기능을 off시킴
* 현재 사용자가 비로그인 사용자라면 글쓰기/댓글쓰기/목록보기/글보기 권한을 제거함
**/
if($this->module_info->consultation == 'Y' && !$this->grant->manager) {
$this->consultation = true;
// 현재 사용자가 비로그인 사용자라면 글쓰기/댓글쓰기/목록보기/글보기 권한을 제거함
if(!Context::get('is_logged')) $this->grant->list = $this->grant->write_document = $this->grant->write_comment = $this->grant->view = false;
} else {
$this->consultation = false;
@ -43,16 +33,27 @@
/**
* 스킨 경로를 미리 template_path 라는 변수로 설정함
* 스킨이 존재하지 않는다면 xe_board로 변경
**/
$template_path = sprintf("%sskins/%s/",$this->module_path, $this->module_info->skin);
// 만약 스킨 경로가 없다면 xe_board로 변경
if(!is_dir($template_path)) {
$this->module_info->skin = 'xe_board';
$template_path = sprintf("%sskins/%s/",$this->module_path, $this->module_info->skin);
}
$this->setTemplatePath($template_path);
/**
* 확장 변수 사용시 미리 확장변수의 대상 키들을 가져와서 context set
**/
$oDocumentModel = &getModel('document');
$extra_keys = $oDocumentModel->getExtraKeys($this->module_info->module_srl);
Context::set('extra_keys', $extra_keys);
/**
* 게시판 전반적으로 사용되는 javascript, JS 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'input_password.xml');
Context::addJsFile($this->module_path.'tpl/js/board.js');
}
/**
@ -62,7 +63,7 @@
/**
* 목록보기 권한 체크 (모든 권한은 ModuleObject에서 xml 정보와 module_info의 grant 값을 비교하여 미리 설정하여 놓음)
**/
if(!$this->grant->list) return $this->dispBoardMessage('msg_not_permitted');
if(!$this->grant->access) return $this->dispBoardMessage('msg_not_permitted');
/**
* 카테고리를 사용하는지 확인후 사용시 카테고리 목록을 구해와서 Context에 세팅
@ -71,21 +72,21 @@
/**
* 목록이 노출될때 같이 나오는 검색 옵션을 정리하여 스킨에서 있도록 context set
* 확장변수에서 검색 선택된 항목이 있으면 역시 추가
**/
// 템플릿에서 사용할 검색옵션 세팅 (검색옵션 key값은 미리 선언되어 있는데 이에 대한 언어별 변경을 함)
foreach($this->search_option as $opt) $search_option[$opt] = Context::getLang($opt);
// 모듈정보를 확인하여 확장변수에서도 검색이 설정되어 있는지 확인
for($i=1;$i<=20;$i++) {
$ex_name = trim($this->module_info->extra_vars[$i]->name);
if(!$ex_name) continue;
if($this->module_info->extra_vars[$i]->search == 'Y') $search_option['extra_vars'.$i] = $ex_name;
$extra_keys = Context::get('extra_keys');
if($extra_keys) {
foreach($extra_keys as $key => $val) {
if($val->search == 'Y') $search_option['extra_vars'.$val->idx] = $val->name;
}
}
Context::set('search_option', $search_option);
// 게시글을 가져옴
$this->dispBoardContentView();
// if(!$output->toBool()) return;
// 공지사항 목록을 구해서 context set (공지사항을 매페이지 제일 상단에 위치하기 위해서)
$this->dispBoardNoticeList();
@ -93,88 +94,105 @@
// 목록
$this->dispBoardContentList();
/**
* 사용되는 javascript 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'search.xml');
// template_file을 list.html로 지정
$this->setTemplateFile('list');
}
/**
* @brief 카테고리 항목을 구해와서 스킨에서 사용할 있도록 세팅
**/
function dispBoardCategoryList(){
// 카테고리를 사용할때에만 데이터를 추출
if($this->module_info->use_category=='Y') {
$oDocumentModel = &getModel('document');
Context::set('category_list', $oDocumentModel->getCategoryList($this->module_srl));
}
}
/**
* @brief 선택된 게시글이 있을 경우 글을 가져와서 스킨에서 사용하도록 세팅
**/
function dispBoardContentView(){
$oDocumentModel = &getModel('document');
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
// 목록 구현에 필요한 변수들을 가져온다
// 요청된 변수 값들을 정리
$document_srl = Context::get('document_srl');
$page = Context::get('page');
// 혹시 선택된 문서가 있다면 해당 문서에 대한 객체를 생성함
// (일단 빈객체를 만드는 것은 선택된 글이 없을때 스킨에서 object 오류발생하는 것을 막기 위함)
$oDocument = $oDocumentModel->getDocument(0);
// document model 객체 생성
$oDocumentModel = &getModel('document');
// document_srl이 있다면 해당 글을 구해와서 $oDocument로 세팅
/**
* 요청된 문서 번호가 있다면 문서를 구함
**/
if($document_srl) {
$oDocument = $oDocumentModel->getDocument($document_srl);
// 글에 대한 정보를 구함
$oDocument->setDocument($document_srl);
// 상담기능이 사용되고 공지사항이 아니고 사용자의 글도 아니면 무시
if($oDocument->isExists() && $this->consultation && !$oDocument->isNotice()) {
$logged_info = Context::get('logged_info');
if($oDocument->get('member_srl')!=$logged_info->member_srl) $oDocument = new DocumentItem();
}
// 글이 존재하지 않으면 글이 존재 하지 않는다는 오류 메세지 출력
if(!$oDocument->isExists()) {
unset($document_srl);
Context::set('document_srl','',true);
$this->alertMessage('msg_not_founded');
// 글이 존재하면 글 보기 권한에 대한 확인과 조회수증가/ 브라우저 타이틀의 설정을 함
} else {
// 해당 문서가 존재할 경우 필요한 처리를 함
if($oDocument->isExists()) {
// 글과 요청된 모듈이 다르다면 오류 표시
if($oDocument->get('module_srl')!=Context::get('module_srl') ) return $this->stop('msg_invalid_request');
if($oDocument->get('module_srl')!=$this->module_info->module_srl ) return $this->stop('msg_invalid_request');
// 관리 권한이 있다면 권한을 부여
if($this->grant->manager) $oDocument->setGrant();
// 글 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리
if(!$this->grant->view && !$oDocument->isGranted()) {
$oDocument = null;
$oDocument = $oDocumentModel->getDocument(0);
Context::set('document_srl','',true);
$this->alertMessage('msg_not_permitted');
} else {
// 브라우저 타이틀에 글의 제목을 추가
Context::addBrowserTitle($oDocument->getTitleText());
// 조회수 증가 (비밀글일 경우 권한 체크)
if(!$oDocument->isSecret() || $oDocument->isGranted()) $oDocument->updateReadedCount();
// 비밀글일때 컨텐츠를 보여주지 말자.
if($oDocument->isSecret() && !$oDocument->isGranted()){
$oDocument->add('content',Context::getLang('thisissecret'));
$obj = null;
for($i=1;$i<=20;$i++) $obj->{"extra_vars".$i} = '';
$oDocument->adds($obj);
}
// 상담기능이 사용되고 공지사항이 아니고 사용자의 글도 아니면 무시
if($this->consultation && !$oDocument->isNotice()) {
$logged_info = Context::get('logged_info');
if($oDocument->get('member_srl')!=$logged_info->member_srl) $oDocument = $oDocumentModel->getDocument(0);
}
// 요청된 문서번호의 문서가 없으면 document_srl null 처리 및 경고 메세지 출력
} else {
Context::set('document_srl','',true);
$this->alertMessage('msg_not_founded');
}
/**
* 요청된 문서 번호가 아예 없다면 문서 객체 생성
**/
} else {
$oDocument = $oDocumentModel->getDocument(0);
}
/**
* 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리
**/
if($oDocument->isExists()) {
if(!$this->grant->view && !$oDocument->isGranted()) {
$oDocument = $oDocumentModel->getDocument(0);
Context::set('document_srl','',true);
$this->alertMessage('msg_not_permitted');
} else {
// 브라우저 타이틀에 글의 제목을 추가
Context::addBrowserTitle($oDocument->getTitleText());
// 조회수 증가 (비밀글일 경우 권한 체크)
if(!$oDocument->isSecret() || $oDocument->isGranted()) $oDocument->updateReadedCount();
// 비밀글일때 컨텐츠를 보여주지 말자.
if($oDocument->isSecret() && !$oDocument->isGranted()) $oDocument->add('content',Context::getLang('thisissecret'));
}
}
// 스킨에서 사용하기 위해 context set
// 스킨에서 사용할 oDocument 변수 세팅
Context::set('oDocument', $oDocument);
/**
* 사용되는 javascript 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'insert_comment.xml');
// return new Object();
}
/**
* @brief 선택된 글이 있을 경우 첨부파일에 대한 정보를 API 에서 사용할 있도록 세팅
**/
function dispBoardContentFileList(){
$oDocumentModel = &getModel('document');
$document_srl = Context::get('document_srl');
@ -182,6 +200,9 @@
Context::set('file_list',$oDocument->getUploadedFiles());
}
/**
* @brief 선택된 글이 있을 경우 글의 댓글 목록을 API 에서 사용할 있도록 세팅
**/
function dispBoardContentCommentList(){
$oDocumentModel = &getModel('document');
$document_srl = Context::get('document_srl');
@ -197,42 +218,61 @@
Context::set('comment_list',$comment_list);
}
/**
* @brief 공지사항이 있을 경우 API에서 사용할 있게 하기 위해서 세팅
**/
function dispBoardNoticeList(){
$oDocumentModel = &getModel('document');
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
$args->module_srl = $this->module_srl;
$notice_output = $oDocumentModel->getNoticeList($args);
Context::set('notice_list', $notice_output->data);
}
/**
* @brief 게시글 목록
**/
function dispBoardContentList(){
// 만약 목록 보기 권한이 없을 경우 목록을 보여주지 않음
if(!$this->grant->list) {
Context::set('document_list', array());
Context::set('total_count', 0);
Context::set('total_page', 1);
Context::set('page', 1);
Context::set('page_navigation', new PageHandler(0,0,1,10));
return;
}
$oDocumentModel = &getModel('document');
$args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl
// 목록을 구하기 위한 대상 모듈/ 페이지 수/ 목록 수/ 페이지 목록 수에 대한 옵션 설정
$args->page = Context::get('page');; ///< 페이지
$args->list_count = $this->list_count; ///< 한페이지에 보여줄 글 수
$args->page_count = $this->page_count; ///< 페이지 네비게이션에 나타날 페이지의 수
$args->module_srl = $this->module_srl;
$args->page = Context::get('page');
$args->list_count = $this->list_count;
$args->page_count = $this->page_count;
// 검색과 정렬을 위한 변수 설정
$args->search_target = Context::get('search_target'); ///< 검색 대상 (title, contents...)
$args->search_keyword = Context::get('search_keyword'); ///< 검색어
$args->search_target = Context::get('search_target');
$args->search_keyword = Context::get('search_keyword');
// 카테고리를 사용한다면 카테고리 값을 받음
if($this->module_info->use_category=='Y') $args->category_srl = Context::get('category'); ///< 카테고리 사용시 선택된 카테고리
// 지정된 정렬값이 없다면 스킨에서 설정한 정렬 값을 이용함
$args->sort_index = Context::get('sort_index');
$args->order_type = Context::get('order_type');
// 지정된 정렬값이 없다면 스킨에서 설정한 정렬 값을 이용함
if(!in_array($args->sort_index, $this->order_target)) $args->sort_index = $this->module_info->order_target?$this->module_info->order_target:'list_order';
if(!in_array($args->order_type, array('asc','desc'))) $args->order_type = $this->module_info->order_type?$this->module_info->order_type:'asc';
$oDocument = $oDocumentModel->getDocument(Context::get('document_srl'));
// 특정 문서의 permalink로 직접 접속할 경우 page값을 직접 구함
if(count($_GET)==1 && isset($_GET['document_srl']) && $oDocument->isExists() && !$oDocument->isNotice()) {
$page = $oDocumentModel->getDocumentPage($oDocument, $args);
Context::set('page', $page);
$args->page = $page;
$_get = $_GET;
if(count($_get)==2) unset($_get['mid']);
if(count($_get)==1 && ($_GET['document_srl'] || $_GET['entry'])) {
$oDocument = $oDocumentModel->getDocument(Context::get('document_srl'));
if($oDocument->isExists() && !$oDocument->isNotice()) {
$page = $oDocumentModel->getDocumentPage($oDocument, $args);
Context::set('page', $page);
$args->page = $page;
}
}
// 만약 카테고리가 있거나 검색어가 있으면list_count를 search_list_count 로 이용
@ -251,8 +291,11 @@
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('page_navigation', $output->page_navigation);
}
// 목록 설정값을 세팅
$oBoardModel = &getModel('board');
Context::set('list_config', $oBoardModel->getListConfig($this->module_info->module_srl));
}
/**
* @brief 태그 목록 모두 보기
@ -298,7 +341,6 @@
* 카테고리를 사용하는지 확인후 사용시 카테고리 목록을 구해와서 Context에 세팅, 권한도 함께 체크
**/
if($this->module_info->use_category=='Y') {
// 로그인한 사용자의 그룹 정보를 구함
if(Context::get('is_logged')) {
$logged_info = Context::get('logged_info');
@ -327,30 +369,21 @@
// GET parameter에서 document_srl을 가져옴
$document_srl = Context::get('document_srl');
$oDocument = $oDocumentModel->getDocument(0, $this->grant->manager);
$oDocument->setDocument($document_srl);
$oDocument->add('module_srl', $this->module_srl);
// 글을 수정하려고 할 경우 권한이 없는 경우 비밀번호 입력화면으로
if($oDocument->isExists()&&!$oDocument->isGranted()) return $this->setTemplateFile('input_password_form');
if(!$oDocument->isExists())
{
if(!$oDocument->isExists()) {
$oModuleModel = &getModel('module');
$point_config = $oModuleModel->getModulePartConfig('point',$this->module_srl);
$logged_info = Context::get('logged_info');
$oPointModel = &getModel('point');
$pointForInsert = $point_config["insert_document"];
if($pointForInsert < 0)
{
if( !$logged_info )
{
return $this->dispBoardMessage('msg_not_permitted');
}
else if (($oPointModel->getPoint($logged_info->member_srl) + $pointForInsert )< 0 )
{
return $this->dispBoardMessage('msg_not_enough_point');
}
if($pointForInsert < 0) {
if( !$logged_info ) return $this->dispBoardMessage('msg_not_permitted');
else if (($oPointModel->getPoint($logged_info->member_srl) + $pointForInsert )< 0 ) return $this->dispBoardMessage('msg_not_enough_point');
}
}
@ -359,7 +392,15 @@
// 확장변수처리를 위해 xml_js_filter를 직접 header에 적용
$oDocumentController = &getController('document');
$oDocumentController->addXmlJsFilter($this->module_info);
$oDocumentController->addXmlJsFilter($this->module_info->module_srl);
// 존재하는 글이면 확장변수 값을 context set
if($oDocument->isExists()) Context::set('extra_keys', $oDocument->getExtraVars());
/**
* 사용되는 javascript 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'insert.xml');
$this->setTemplateFile('write_form');
}
@ -388,6 +429,11 @@
Context::set('oDocument',$oDocument);
/**
* 필요한 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'delete_document.xml');
$this->setTemplateFile('delete_form');
}
@ -416,6 +462,11 @@
Context::set('oSourceComment',$oSourceComment);
Context::set('oComment',$oComment);
/**
* 필요한 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'insert_comment.xml');
$this->setTemplateFile('comment_form');
}
@ -449,6 +500,11 @@
Context::set('oSourceComment',$oSourceComment);
Context::set('oComment',$oComment);
/**
* 사용되는 javascript 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'insert_comment.xml');
$this->setTemplateFile('comment_form');
}
@ -480,6 +536,11 @@
Context::set('oSourceComment', $oCommentModel->getComment());
Context::set('oComment', $oComment);
/**
* 사용되는 javascript 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'insert_comment.xml');
$this->setTemplateFile('comment_form');
}
@ -507,6 +568,11 @@
Context::set('oComment',$oComment);
/**
* 필요한 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'delete_comment.xml');
$this->setTemplateFile('delete_comment_form');
}
@ -527,6 +593,11 @@
Context::set('trackback',$trackback);
/**
* 필요한 필터 추가
**/
Context::addJsFilter($this->module_path.'tpl/filter', 'delete_trackback.xml');
$this->setTemplateFile('delete_trackback_form');
}

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="0.2">
<title xml:lang="ko">게시판</title>
<title xml:lang="zh-CN">版面</title>
<title xml:lang="zh-CN">版面管理</title>
<title xml:lang="en">Board</title>
<title xml:lang="es">Tablero</title>
<title xml:lang="jp">掲示板</title>

View file

@ -33,51 +33,17 @@
<title xml:lang="es">Escribir comentario</title>
<title xml:lang="zh-TW">發表評論</title>
</grant>
<grant name="manager" default="root">
<title xml:lang="ko">관리</title>
<title xml:lang="zh-CN">管理</title>
<title xml:lang="jp">管理</title>
<title xml:lang="en">manager</title>
<title xml:lang="es">Administrador</title>
<title xml:lang="zh-TW">管理</title>
</grant>
</grants>
<permissions>
<permission action="dispBoardContent" target="manager" />
<permission action="dispBoardTagList" target="manager" />
<permission action="dispBoardWrite" target="manager" />
<permission action="dispBoardDelete" target="manager" />
<permission action="dispBoardWriteComment" target="manager" />
<permission action="dispBoardReplyComment" target="manager" />
<permission action="dispBoardModifyComment" target="manager" />
<permission action="dispBoardDeleteComment" target="manager" />
<permission action="dispBoardDeleteTrackback" target="manager" />
<permission action="dispBoardMessage" target="manager" />
<permission action="procBoardInsertDocument" target="manager" />
<permission action="procBoardDeleteDocument" target="manager" />
<permission action="procBoardInsertComment" target="manager" />
<permission action="procBoardDeleteComment" target="manager" />
<permission action="procBoardDeleteTrackback" target="manager" />
<permission action="procBoardDeleteFile" target="manager" />
<permission action="procBoardUploadFile" target="manager" />
<permission action="procBoardDownloadFile" target="manager" />
<permission action="getBoardAdminCategoryTplInfo" target="manager" />
<permission action="dispBoardAdminInsertBoard" target="manager" />
<permission action="dispBoardAdminBoardInfo" target="manager" />
<permission action="dispBoardAdminExtraVars" target="manager" />
<permission action="dispBoardAdminBoardAdditionSetup" target="manager" />
<permission action="dispBoardAdminSkinInfo" target="manager" />
<permission action="dispBoardAdminCategoryInfo" target="manager" />
<permission action="dispBoardAdminListSetup" target="manager" />
<permission action="procBoardAdminInsertBoard" target="manager" />
<permission action="procBoardAdminUpdateSkinInfo" target="manager" />
<permission action="procBoardAdminInsertCategory" target="manager" />
<permission action="procBoardAdminUpdateCategory" target="manager" />
<permission action="procBoardAdminDeleteCategory" target="manager" />
<permission action="procBoardAdminMakeXmlFile" target="manager" />
<permission action="procBoardAdminMoveCategory" target="manager" />
<permission action="procBoardAdminInsertListConfig" target="manager" />
</permissions>
<actions>
<action name="dispBoardContent" type="view" index="true" />
@ -109,25 +75,18 @@
<action name="procBoardUploadFile" type="controller" />
<action name="procBoardDownloadFile" type="controller" />
<action name="getBoardAdminCategoryTplInfo" type="model" standalone="true" />
<action name="dispBoardAdminContent" type="view" standalone="true" admin_index="true" />
<action name="dispBoardAdminBoardInfo" type="view" standalone="true" />
<action name="dispBoardAdminExtraVars" type="view" standalone="true" />
<action name="dispBoardAdminBoardAdditionSetup" type="view" standalone="true" />
<action name="dispBoardAdminInsertBoard" type="view" standalone="true" />
<action name="dispBoardAdminDeleteBoard" type="view" standalone="true" />
<action name="dispBoardAdminSkinInfo" type="view" standalone="true" />
<action name="dispBoardAdminCategoryInfo" type="view" standalone="true" />
<action name="dispBoardAdminGrantInfo" type="view" standalone="true" />
<action name="procBoardAdminInsertGrant" type="controller" standalone="true" />
<action name="procBoardAdminUpdateSkinInfo" type="controller" standalone="true" />
<action name="dispBoardAdminListSetup" type="view" standalone="true" />
<action name="dispBoardAdminCategoryInfo" type="view" />
<action name="procBoardAdminInsertBoard" type="controller" standalone="true" />
<action name="procBoardAdminDeleteBoard" type="controller" standalone="true" />
<action name="procBoardAdminInsertCategory" type="controller" standalone="true" />
<action name="procBoardAdminUpdateCategory" type="controller" standalone="true" />
<action name="procBoardAdminDeleteCategory" type="controller" standalone="true" />
<action name="procBoardAdminMakeXmlFile" type="controller" standalone="true" />
<action name="procBoardAdminMoveCategory" type="controller" standalone="true" />
<action name="procBoardAdminInsertListConfig" type="controller" standalone="true" />
</actions>
</module>

View file

@ -10,15 +10,10 @@
$lang->except_notice = 'Exclude Notices';
$lang->cmd_manage_menu = 'Manage Menus';
$lang->cmd_make_child = 'Add Child Category';
$lang->cmd_enable_move_category = "Change Category Position (Drag the top menu after selection)";
$lang->list_target_item = 'Target Item';
$lang->list_display_item = 'Display Item';
// Item
$lang->parent_category_title = 'Parent Category';
$lang->category_title = 'Category';
$lang->category_color = 'Category Font Color';
$lang->expand = 'Expand';
$lang->category_group_srls = 'Accessable Group';
$lang->search_result = 'Search Result';
$lang->consultation = 'Consultation';
$lang->secret = 'Secret';
@ -29,11 +24,9 @@
$lang->cmd_board_list = 'Boards List';
$lang->cmd_module_config = 'Common Board Setting';
$lang->cmd_view_info = 'Board Info';
$lang->cmd_list_setting = 'List Setting';
// 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 selected group will be able to use current category';
$lang->about_layout_setup = 'You can manually modify board layout code. Insert or manage the widget code anywhere you want';
$lang->about_board_category = 'You can make board categories.<br />When board category is broken, try rebuilding the cache file manually.';
$lang->about_except_notice = 'Notice articles will not be displayed on normal list.';
@ -41,8 +34,7 @@
$lang->about_consultation = "Non-administrator members would see their own articles.\nNon-members would not be able to write articles when using consultation.";
$lang->about_secret = 'Users will be able to write secret articles or comments.';
$lang->about_admin_mail = 'A mail will be sent when an article or comment is submitted.<br />Multiple mails can be sent with commas(,).';
$lang->about_category_color = 'You can set font color of category.';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다.<br />단 스킨에서 지원하지 않는 경우 지원되지 않을 수 있습니다<br />대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->msg_not_enough_point = 'Your point is not enough to write an article in this board.';
?>

View file

@ -9,20 +9,15 @@
$lang->except_notice = 'Excluir Avisos';
$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->list_target_item = 'Target Item';
$lang->list_display_item = 'Display Item';
$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->category_color = '분류 폰트색깔';
$lang->expand = 'Expandir';
$lang->category_group_srls = 'Limitar el grupo';
$lang->search_result = 'Resultado de la búsqueda';
$lang->consultation = '상담 기능';
$lang->search_result = 'Resultado de la búsqueda';
$lang->secret = '비밀글 기능';
$lang->thisissecret = '비밀글입니다.';
$lang->admin_mail = '관리자 메일';
@ -31,11 +26,9 @@
$lang->cmd_board_list = 'Lista del tableros';
$lang->cmd_module_config = 'Configuración común del Tablero';
$lang->cmd_view_info = 'Información del Tablero';
$lang->cmd_list_setting = 'List Setting';
// 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 = '선택하신 그룹만 현재 카테고리를 지정할 수 있도록 합니다';
$lang->about_layout_setup = 'Puede modificar manualmente el código del diseño de tableros. Insertar o modificar el código de widget.';
$lang->about_board_category = 'Puede crear las categorias de tableros.<br />Cuando no funciona la categoría de tableros, rehacer el archivo caché manualmente para solucionar.';
$lang->about_except_notice = 'Aviso de los artículos no se mostrará en la lista normal.';
@ -43,7 +36,7 @@
$lang->about_consultation = "No administrador de los miembros que consideran que su propia artocles. \ NNon miembros no serían capaces de escribir artículos al utilizar la consulta.";
$lang->about_secret = '게시판 및 댓글의 비밀글 사용할 수 있도록 합니다.';
$lang->about_admin_mail = '글이나 댓글이 등록될때 등록된 메일주소로 메일이 발송됩니다<br /> ,(콤마)로 연결시 다수의 메일주소로 발송할 수 있습니다.';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다.<br />단 스킨에서 지원하지 않는 경우 지원되지 않을 수 있습니다<br />대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->about_category_color = '분류 폰트색깔을 지정합니다.';
$lang->msg_not_enough_point = 'Your point is not enough to write an article in this board.';
?>

View file

@ -10,14 +10,9 @@
$lang->except_notice = 'Exclure des Notices';
$lang->cmd_manage_menu = 'Administration de Menu';
$lang->cmd_make_child = 'Ajouter une catégorie inférieure';
$lang->cmd_enable_move_category = "Bouger la position de la catégorie (Cochez la case et puis glisser la catégorie que vous voulez déplacer)";
$lang->list_target_item = 'Target Item';
$lang->list_display_item = 'Display Item';
// Item
$lang->parent_category_title = 'catégorie supérieure';
$lang->category_title = 'Catégorie';
$lang->expand = 'Etendre';
$lang->category_group_srls = 'Groupe Accessible';
$lang->search_result = 'Résultat de la Recherche';
$lang->consultation = 'Consultation';
$lang->secret = '비밀글 기능';
@ -28,11 +23,9 @@
$lang->cmd_board_list = 'Liste des Panneaux';
$lang->cmd_module_config = 'Configuration commun pour les Panneaux';
$lang->cmd_view_info = 'Information des Panneaux';
$lang->cmd_list_setting = 'List Setting';
// murmure..
$lang->about_category_title = 'Entrez le nom de la catégorie, S.V.P.';
$lang->about_expand = 'Si vous cochez la case à cocher, ce sera toujours tendu';
$lang->about_category_group_srls = 'Le groupe choisi seulement pourra utiliser la catégorie courante';
$lang->about_layout_setup = 'Vous pouvez manuellement modifier le code de Mise en Page du blogue. Insérez ou administrez le code de Gadget n\'importe où vous voulez.';
$lang->about_board_category = 'Vous pouvez créer des catégories de Panneau d\'Affichage. Quand la catégorie d\'affichage est cassé, essayez manuellement rétablir l\'antémémoire du fichier.';
$lang->about_except_notice = "Le titre de Notice dont l'article se représentera toujours en tête de la liste ne sera exposé sur la liste générale.";
@ -40,7 +33,7 @@
$lang->about_consultation = "Les membres non-administratifs verront seulement les ariticles d\'eux-même.\nNon-membres ne pourraient pas écrire des articles quand la Consultation est appliqué.";
$lang->about_secret = '게시판 및 댓글의 비밀글 사용할 수 있도록 합니다.';
$lang->about_admin_mail = 'Un message éléctronique sera envoyé à l\'adresse inscrite quand un article ou commentaire se soumet. <br />On peut inscrire multiple adresses délimité par les virgules.';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다.<br />단 스킨에서 지원하지 않는 경우 지원되지 않을 수 있습니다<br />대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->about_category_color = 'You can set font color of category.';
$lang->msg_not_enough_point = 'Your point is not enough to write an article in this board.';
?>

View file

@ -10,16 +10,10 @@
$lang->except_notice = 'お知らせの非表示機能';
$lang->cmd_manage_menu = 'メニュー管理';
$lang->cmd_make_child = '下位カテゴリ追加';
$lang->cmd_enable_move_category = "カテゴリ位置変更(選択後上のメニューをドラッグして下さい)";
$lang->list_target_item = 'Target Item';
$lang->list_display_item = 'Display Item';
// 項目
$lang->parent_category_title = '上位カテゴリ名';
$lang->category_title = 'カテゴリ名';
$lang->category_color = 'カテゴリフォント色';
$lang->expand = '拡張表示';
$lang->category_group_srls = 'グループ制限';
$lang->search_result = '検索結果';
$lang->consultation = '相談機能';
$lang->secret = '秘密文機能';
@ -32,11 +26,9 @@
$lang->cmd_board_list = '掲示板リスト';
$lang->cmd_module_config = '掲示板共通設定';
$lang->cmd_view_info = '掲示板情報';
$lang->cmd_list_setting = 'List Setting';
// その他
$lang->about_category_title = 'カテゴリ名を入力して下さい。';
$lang->about_expand = 'チェックすると常に展開された状態になります。';
$lang->about_category_group_srls = '選択したグループのみ、現在のカテゴリの指定が出来ます。';
$lang->about_layout_setup = 'ブログのレイアウトのコードを直接修正します。ウィジェットコードを好きなところに入力、又は管理して下さい。';
$lang->about_board_category = 'ブログのカテゴリを作成します。<br />ブログのカテゴリが誤作動する場合、「キャッシュファイルの再生性」を手動で行うことで解決できます。';
$lang->about_except_notice = "リストの上段に常に表示されるお知らせの書き込みを一般リストからお知らせの書き込みが表示されないようにします。";
@ -44,8 +36,8 @@
$lang->about_consultation = "相談機能とは、管理権限のない会員に本人の書き込みだけを表示する機能です。\n但し、相談機能を使用する際は、非会員の書き込みは自動的に禁止されます。";
$lang->about_secret = '掲示板およびコメントの秘密文を登録できるようにします。';
$lang->about_admin_mail = '書き込みやコメントが掲載される時、登録メールアドレス宛にメールが送信されます。<br /> 複数のメールアドレスへ送信する場合は「,」(半額コンマ)区切りで登録して下さい。';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다.<br />단 스킨에서 지원하지 않는 경우 지원되지 않을 수 있습니다<br />대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->about_category_color = 'カテゴリのフォント色を設定します。';
$lang->msg_not_enough_point = '書き込みするためのポイントが足りません。';
?>

View file

@ -6,37 +6,26 @@
**/
$lang->board = '게시판';
$lang->except_notice = '공지사항 제외';
$lang->cmd_manage_menu = '메뉴관리';
$lang->cmd_make_child = '하위 카테고리 추가';
$lang->cmd_enable_move_category = "카테고리 위치 변경 (선택후 위 메뉴를 드래그하세요)";
$lang->list_target_item = '대상 항목';
$lang->list_display_item = '표시 항목';
// 항목
$lang->parent_category_title = '상위 카테고리명';
$lang->category_title = '분류명';
$lang->category_color = '분류 폰트색깔';
$lang->expand = '펼침';
$lang->category_group_srls = '그룹제한';
$lang->search_result = '검색결과';
$lang->consultation = '상담 기능';
$lang->secret = '비밀글 기능';
$lang->thisissecret = '비밀글입니다.';
$lang->admin_mail = '관리자 메일';
// 버튼에 사용되는 언어
$lang->cmd_board_list = '게시판 목록';
$lang->cmd_module_config = '게시판 공통 설정';
$lang->cmd_view_info = '게시판 정보';
$lang->cmd_list_setting = '목록설정';
// 주절 주절..
$lang->about_category_title = '카테고리 이름을 입력해주세요';
$lang->about_expand = '선택하시면 늘 펼쳐진 상태로 있게 합니다';
$lang->about_category_group_srls = '선택하신 그룹만 현재 카테고리를 지정할 수 있도록 합니다';
$lang->about_layout_setup = '블로그의 레이아웃 코드를 직접 수정할 수 있습니다. 위젯 코드를 원하는 곳에 삽입하시거나 관리하세요';
$lang->about_board_category = '분류를 만드실 수 있습니다.<br />분류가 오동작을 할 경우 캐시파일 재생성을 수동으로 해주시면 해결이 될 수 있습니다.';
$lang->about_except_notice = '목록 상단에 늘 나타나는 공지사항을 일반 목록에서 공지사항을 출력하지 않도록 합니다.';
@ -44,8 +33,7 @@
$lang->about_consultation = "상담 기능은 관리권한이 없는 회원은 자신이 쓴 글만 보이도록 하는 기능입니다\n단 상담기능 사용시 비회원 글쓰기는 자동으로 금지됩니다.";
$lang->about_secret = '게시판 및 댓글의 비밀글 사용할 수 있도록 합니다.';
$lang->about_admin_mail = '글이나 댓글이 등록될때 등록된 메일주소로 메일이 발송됩니다<br /> ,(콤마)로 연결시 다수의 메일주소로 발송할 수 있습니다.';
$lang->about_category_color = '분류 폰트색깔을 지정합니다.';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다.<br />단 스킨에서 지원하지 않는 경우 지원되지 않을 수 있습니다<br />대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->msg_not_enough_point = '포인트가 부족합니다';
?>

View file

@ -10,6 +10,8 @@
$lang->except_notice = '공지사항 제외';
$lang->cmd_manage_menu = 'Управление меню';
$lang->list_target_item = 'Target Item';
$lang->list_display_item = 'Display Item';
$lang->cmd_make_child = 'Добавить дочернюю категорию';
$lang->cmd_enable_move_category = "Изменить позицию категории (Перетащите верхнее меню после выделения)";
$lang->cmd_remake_cache = 'Перепостроить файл кеша';
@ -17,12 +19,6 @@
$lang->cmd_layout_edit = 'Редактировать лейаут';
// Объект
$lang->parent_category_title = 'Родительская категория';
$lang->category_title = 'Категория';
$lang->category_color = '분류 폰트색깔';
$lang->expand = 'Расширить';
$lang->category_group_srls = 'Доступные группы';
$lang->search_result = 'Результат поиска';
$lang->consultation = '상담 기능';
$lang->secret = '비밀글 기능';
@ -33,11 +29,9 @@
$lang->cmd_board_list = 'Список форумов';
$lang->cmd_module_config = 'Общие настройки форума';
$lang->cmd_view_info = 'Информация форума';
$lang->cmd_list_setting = 'List Setting';
// blah blah.. или чушь всякая... ;)
$lang->about_category_title = 'Пожалуйста, введите название категории';
$lang->about_expand = 'Если эта опция выбрана, расширение будут применено всегда';
$lang->about_category_group_srls = '선택하신 그룹만 현재 카테고리를 지정할 수 있도록 합니다';
$lang->about_layout_setup = 'Вы можете вручную изменять лейаут код блога. Вставляйте или управляйте кодом виджетов везде, где хотите';
$lang->about_board_category = 'Вы можете сделать категории блога.<br />Когда категория блога испорчена, попробуйте перепостроить файл кеша вручную.';
$lang->about_except_notice = "목록 상단에 늘 나타나는 공지사항을 일반 목록에서 공지사항을 출력하지 않도록 합니다.";
@ -45,7 +39,7 @@
$lang->about_consultation = "상담 기능은 관리권한이 없는 회원은 자신이 쓴 글만 보이도록 하는 기능입니다\n단 상담기능 사용시 비회원 글쓰기는 자동으로 금지됩니다.";
$lang->about_secret = '게시판 및 댓글의 비밀글 사용할 수 있도록 합니다.';
$lang->about_admin_mail = '글이나 댓글이 등록될때 등록된 메일주소로 메일이 발송됩니다<br /> ,(콤마)로 연결시 다수의 메일주소로 발송할 수 있습니다.';
$lang->about_list_config = '게시판의 목록형식 사용시 원하는 항목들로 배치를 할 수 있습니다.<br />단 스킨에서 지원하지 않는 경우 지원되지 않을 수 있습니다<br />대상항목/ 표시항목의 항목을 더블클릭하면 추가/ 제거가 됩니다.';
$lang->about_category_color = '분류 폰트색깔을 지정합니다.';
$lang->msg_not_enough_point = 'Your point is not enough to write an article in this board.';
?>

View file

@ -6,38 +6,26 @@
**/
$lang->board = "版面";
$lang->except_notice = "公告选项";
$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->list_target_item = '备选项';
$lang->list_display_item = '显示项';
// 项目
$lang->parent_category_title = '上级分类名';
$lang->category_title = '分类名';
$lang->category_color = '分类颜色';
$lang->expand = '展开';
$lang->category_group_srls = '用户组';
$lang->search_result = '搜索结果';
$lang->consultation = '咨询功能';
$lang->secret = '密帖';
$lang->thisissecret = '비밀글입니다.';
$lang->thisissecret = '此为密帖。';
$lang->admin_mail = '管理员电子邮件';
// 按钮语言
$lang->cmd_board_list = '版面目录';
$lang->cmd_module_config = '版面共同设置';
$lang->cmd_view_info = '版面信息';
$lang->cmd_list_setting = '列表设置';
// 信息、提示..
$lang->about_category_title = '请输入分类名。';
$lang->about_expand = '选择此项将维持展开状态。';
$lang->about_category_group_srls = '被选的用户组才可以查看此分类。';
$lang->about_layout_setup = '可直接编辑博客布局代码。可以把控件代码插入到您喜欢的位置。';
$lang->about_board_category = '可以添加/删除分类项<br />分类有异常情况时,可以尝试重新生成缓冲文件。';
$lang->about_except_notice = "设置公告目录项不再重复显示到普通目录当中。";
@ -45,6 +33,7 @@
$lang->about_consultation = "咨询功能是指除有管理权限的会员以外,其他会员只能浏览自己发表的主题。\n使用咨询功能时系统将自动禁止非会员的发表主题权限。";
$lang->about_secret = '设置主题及评论当中使用密帖与否。';
$lang->about_admin_mail = '有新的主题或评论时,将自动发电子邮件来通知管理员。<br />多数电子邮件由逗号(,)来分隔。';
$lang->about_category_color = '请指定分类颜色(必须带#符号。ex#ff0000';
$lang->msg_not_enough_point = 'Your point is not enough to write an article in this board.';
$lang->about_list_config = '设置使用目录型目录页面时要显示的项目。<br />前提是使用的皮肤也支持此功能。<br />添加/删除项目,双击备选项/显示项即可。';
$lang->msg_not_enough_point = '很遗憾!您的积分不够。';
?>

View file

@ -2,38 +2,30 @@
/**
* @file zh-TW.lang.php
* @author zero (zero@nzeo.com) 翻譯royallin
* @brief 討論板(board) 模組語言
* @brief 討論板(board)模組語言
**/
$lang->board = '討論板';
$lang->except_notice = '公告選項';
$lang->cmd_manage_menu = '選單管理';
$lang->cmd_make_child = '新增子分類';
$lang->cmd_enable_move_category = "分類順序(勾選後用滑鼠拖曳分類項目)";
$lang->list_target_item = '目標項目';
$lang->list_display_item = '顯示項目';
// 項目
$lang->parent_category_title = '主分類';
$lang->category_title = '分類名稱';
$lang->category_color = '分類顏色';
$lang->expand = '展開';
$lang->category_group_srls = '用戶組';
$lang->search_result = '搜尋結果';
$lang->consultation = '咨詢功能';
$lang->secret = '秘密';
$lang->thisissecret = '비밀글입니다.';
$lang->thisissecret = '這是秘密文。';
$lang->admin_mail = '管理員電子郵件';
// 按鈕語言
$lang->cmd_board_list = '討論板列表';
$lang->cmd_module_config = '討論板共同設置';
$lang->cmd_view_info = '討論板資料';
$lang->cmd_list_setting = '列表設定';
// 信息、提示..
$lang->about_category_title = '請輸入分類名稱。';
$lang->about_expand = '選擇此項將維持展開狀態。';
$lang->about_category_group_srls = '被選擇的用戶組才可以檢視此分類。';
$lang->about_layout_setup = '可直接編輯部落格版面設計原始碼。可把控件原始碼插入到您喜歡的位置。';
$lang->about_board_category = '可以新增/刪除分類項目<br />分類有異常情況時,可以嘗試重新建立暫存檔。';
$lang->about_except_notice = '設置公告列表項目,不再重複顯示到普通列表當中。';
@ -41,6 +33,6 @@
$lang->about_consultation = "咨詢功能是指除有管理權限的會員以外,其他會員只能瀏覽自己發表的主題。\n使用咨詢功能時系統將自動禁止非會員的發表主題權限。";
$lang->about_secret = '可用於討論板或回覆時選擇是否使用。';
$lang->about_admin_mail = '有新的主題或評論時,將自動發電子郵件來通知管理員。<br />多數電子郵件由逗號(,)區隔。';
$lang->about_category_color = '設定分類顏色。';
$lang->about_list_config = '可以放置想要的項目種類。<br />當所使用的面板支援此功能時才可會正常實現。<br />對目標項目/顯示項目中的物件案兩下可新增或移除。';
$lang->msg_not_enough_point = '你的點數不夠在此討論板發表主題。';
?>

View file

@ -22,7 +22,7 @@
<div class="date">
<strong>{$comment->getRegdate('Y.m.d')}</strong> {$comment->getRegdate('H:i:s')}
<!--@if($grant->is_admin || $module_info->display_ip_address!='N')-->({$comment->getIpaddress()})<!--@end-->
<!--@if($grant->manager|| $module_info->display_ip_address!='N')-->({$comment->getIpaddress()})<!--@end-->
</div>
<div class="author">
@ -48,7 +48,6 @@
<div class="replyContent">
<!--@if(!$comment->isAccessible())-->
<!--%import("filter/input_password.xml")-->
<div class="secretContent">
<form action="./" method="get" onsubmit="return procFilter(this, input_password)">
<input type="hidden" name="mid" value="{$mid}" />

View file

@ -7,7 +7,7 @@
<div class="author"><div class="member_{$oSourceComment->getMemberSrl()}">{$oSourceComment->getNickName()}</div></div>
<div class="date">
{$oSourceComment->getRegdate("Y.m.d H:i")}
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
({$oSourceComment->get('ipaddress')})
<!--@end-->
</div>
@ -21,7 +21,6 @@
<!--@end-->
<!-- 글쓰기 폼 -->
<!--%import("filter/insert_comment.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" class="boardEditor" >
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oComment->get('document_srl')}" />

View file

@ -56,7 +56,7 @@ Jeong, Chan Myeong 070601~070630
.boardRead .titleAndUser .userInfo { float:right; white-space:nowrap; margin-top:11px; }
.boardRead .titleAndUser .userInfo .author { color:#3074a5; }
.boardRead .titleAndUser .userInfo .author a { font-size:.9em; color:#3074a5; text-decoration:none; }
.boardRead .titleAndUser .userInfo .author a { color:#3074a5; text-decoration:none; }
.boardRead .dateAndCount { clear:both; white-space:nowrap; color:#444444; margin:5px 0 0 0; font-size:.9em; font-family:tahoma; line-height:17px; padding-bottom:10px; }
@ -112,7 +112,7 @@ Jeong, Chan Myeong 070601~070630
.replyBox { padding:10px; color:#666666; border:1px solid #e0e1db; margin-top:.5em;}
.replyBox .replyItem { background-color:#FFFFFF; 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 { float:left; padding:0 .3em 0 0; 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;}
@ -147,6 +147,7 @@ Jeong, Chan Myeong 070601~070630
.boardList tbody td { white-space:nowrap; }
.boardList tbody td.title { white-space:normal; }
.boardList tbody td.webzineTitle { white-space:normal; }
.boardList tbody td.wrap { white-space:normal; }
.boardListNoTopBorder { border:none; }
.boardList th { color:#3e3f3e; font-weight:normal; border-top:1px solid #e0e1db; border-bottom:1px solid #ffffff; white-space:nowrap; padding-top:5px; height:28px; overflow:hidden;}
@ -187,13 +188,13 @@ html:not([lang*=""]) .boardList th { height:33px; }
.boardList td.topic strong a { font-size:1em; font-weight:normal; text-decoration:none; color:#222222; }
.boardList td.topic strong a:visited { color:#777777; }
.boardList td.topic .category { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 3px; padding-left:.5em; margin-left:.5em; color:#AAAAAA; }
.boardList td.topic div.author { margin-top:.5em; color:#BBBBBB; font-size:0.8em; }
.boardList td.topic div.author strong { font-size:1.2em; font-weight:normal; color:#666666; }
.boardList td.topic div.author { margin-top:.5em; color:#BBBBBB; }
.boardList td.topic div.author strong { font-weight:normal; color:#666666; }
.boardList td.commentCount { font:bold .8em Tahoma; color:#888888; text-align:center; }
.boardList td.latestPost { color:#888888; }
.boardList td.latestPost div.author { margin-top:.5em; color:#BBBBBB; font-size:0.8em; }
.boardList td.latestPost div.author strong { font-size:1.2em; font-weight:normal; color:#666666; }
.boardList td.latestPost div.author { margin-top:.5em; color:#BBBBBB; }
.boardList td.latestPost div.author strong { font-weight:normal; color:#666666; }
.boardList td.latestPost div.date { font-size:0.8em; margin-top:.5em; }
.boardList td.latestPost div.date strong { font-family:Tahoma; font-weight:normal; color:#666666; }
@ -214,8 +215,8 @@ html:not([lang*=""]) .boardList th { height:33px; }
.boardList td .replyAndTrackback img.trackback { margin-bottom:-.1em;}
.boardList td .replyAndTrackback strong { font:bold 1em Tahoma;}
.boardList td .replyAndTrackback { font:.8em Tahoma; }
.boardList td.author { color:#333333; font-size:.95em; padding-left:1em;}
.boardList td.author a { font-size:1em; color:#333333;}
.boardList td.author { color:#333333; padding-left:1em;}
.boardList td.author a { color:#333333;}
.boardList td.reading { font:.8em Tahoma; color:#999999; text-align:center;}
.boardList td.recommend { font:bold .8em Tahoma; text-align:center;}
.boardList td.date { font:.8em Tahoma; color:#999999; text-align:center; white-space:nowrap;}
@ -287,7 +288,7 @@ html:not([lang*=""]) .boardList th { height:33px; }
.boardWrite .extraVarsList p { margin:5px 0 0 0; padding:0; }
.boardWrite .extraVarsList ul { margin:0; padding:0; }
.smallBox { border:1px solid #e0e1db; margin-left:auto; margin-right:auto; }
.smallBox { border:1px solid #e0e1db; margin-left:auto; margin-right:auto; padding-bottom:10px; }
.smallBox.w268 { width:268px;}
.smallBox .header { margin:0; padding:0; position:relative; _width:100%; background:#ffffff url(../images/common/bgH3.gif) no-repeat left bottom; overflow:hidden;}
.smallBox .header h3 { margin:0; padding:0; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #fe3614; }
@ -295,7 +296,7 @@ html:not([lang*=""]) .boardList th { height:33px; }
.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;}
.smallBox .messageBox { background-color:#F3F3F3; padding:20px; border-bottom:1px solid #EEEEEE;}
.smallBox .messageBox { background-color:#F3F3F3; padding:10px; border-bottom:1px solid #EEEEEE;}
/* Pagination Reset */
.pagination{ padding:15px 0; margin:0; text-align:center;}
@ -385,3 +386,15 @@ html:not([lang*=""]) .boardList th { height:33px; }
.replyBox .xe_content { display:inline; }
.display_date { cursor:pointer; width:80px; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; height:1em; padding:3px; margin-right:10px;}
/* 확장 변수 폼 */
.extraVarsList tr td .text { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:90%; }
.extraVarsList tr td .email_address { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }
.extraVarsList tr td .homepage { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }
.extraVarsList tr td .tel { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:40px; margin-right:10px;}
.extraVarsList tr td .textarea { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:90%; height:80px; font-size:12px;}
.extraVarsList tr td ul { margin:0; padding:0; list-style:none; }
.extraVarsList tr td ul li { display:inline-block; margin-right:10px; }
.extraVarsList tr td ul li input { margin-right:5px; vertical-align:middle;}
.extraVarsList tr td .date { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:100px; }
.extraVarsList tr td .address { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_comment.xml")-->
<!--#include("header.html")-->
<div class="smallBox w268">

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_document.xml")-->
<!--#include("header.html")-->
<div class="smallBox w268">

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_trackback.xml")-->
<!--#include("header.html")-->
<div class="smallBox w268">

View file

@ -1,81 +0,0 @@
<!--// 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// type=select,checkbox이고 기본값이 , 로 연결되어 있으면 배열로 만든다 -->
<!--@if(in_array($val->type, array('select', 'checkbox')))-->
{@ $val->default = explode(',', $val->default) }
<!--@end-->
<!--// 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!--// 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!-- Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 전화번호 -->
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
<!--// textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!--// 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul>
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if($v==$val->value||is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/> {$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!--// 단일 선택 -->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<!--// datepicker javascript plugin load -->
<!--%load_js_plugin("ui.datepicker")-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -1,64 +0,0 @@
<!--// 이 파일은 extra_vars의 결과값을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!--// 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
{@ $_tmp_value = array(); }
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!--// 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!--// Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!--// 전화번호 -->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
&nbsp;
<!--// textarea -->
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
&nbsp;
<!--// 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if(!is_array($val->value))-->{@ $val->value = array($val->value) }<!--@end-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
&nbsp;
<!--// 단일 선택 -->
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
&nbsp;
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
&nbsp;
<!--@end-->
<!--@if(!$val->value)-->&nbsp;<!--@end-->

View file

@ -1,6 +1,3 @@
<!--// JS 파일 로드 -->
<!--%import("js/board.js")-->
<!--// 컬러셋 체크 -->
<!--@if(!$module_info->colorset)-->
{@$module_info->colorset = "white"}
@ -81,7 +78,7 @@
<!--@if($is_logged)-->
<!--// 관리자이면 설정 버튼 출력 -->
<!--@if($logged_info->is_admin=='Y' && $module_info->display_setup_button != 'N')-->
<!--@if($grant->manager && $module_info->display_setup_button != 'N')-->
<li class="setup"><a href="{getUrl('act','dispBoardAdminBoardInfo')}">{$lang->cmd_setup}</a></li>
<!--@end-->

View file

@ -1,4 +1,3 @@
<!--%import("filter/input_password.xml")-->
<!--@if(!$form_include)--><!--#include("header.html")--><!--@end-->
<div class="smallBox w400">

View file

@ -1,116 +0,0 @@
/**
* @file modules/board/js/board.js
* @author zero (zero@nzeo.com)
* @brief board 모듈의 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();
}
function completeVote(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = location.href;
}
// 현재 페이지 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('document_srl',document_srl).setQuery('act','');
if(comment_srl) url = url.setQuery('rnd',comment_srl)+"#comment_"+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('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 = 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 doChangeCategory() {
var category_srl = jQuery('#board_category option:selected').val();
location.href = decodeURI(current_url).setQuery('category',category_srl);
}
/* 스크랩 */
function doScrap(document_srl) {
var params = new Array();
params["document_srl"] = document_srl;
exec_xml("member","procMemberScrapDocument", params, null);
}

View file

@ -1,9 +1,6 @@
<!--// header.html include -->
<!--#include("header.html")-->
<!--// 검색을 위한 xml filter import-->
<!--%import("filter/search.xml")-->
<!--// 선택된 게시물이 있고 권한이 있으면 내용 출력 -->
<!--@if($oDocument->isExists() && $module_info->default_style != 'blog')-->
<div class="viewDocument">
@ -28,8 +25,8 @@
<!-- 글쓰기, 목록 버튼 -->
<div class="leftButtonBox">
<!--@if($grant->is_admin)-->
<a href="{getUrl('','module','document','act','dispDocumentAdminManageDocument')}" onclick="popopen(this.href,'manageDocument'); return false;" class="button {$btn_class}"><span>{$lang->cmd_manage_document}</span></a>
<!--@if($grant->manager)-->
<a href="{getUrl('','module','document','act','dispDocumentManageDocument')}" onclick="popopen(this.href,'manageDocument'); return false;" class="button {$btn_class}"><span>{$lang->cmd_manage_document}</span></a>
<!--@end-->
<!--@if($module_info->default_style != 'blog')-->
<a href="{getUrl('','mid',$mid,'page',$page,'document_srl','','listStyle',$listStyle)}" class="button {$btn_class}"><span>{$lang->cmd_list}</span></a>
@ -43,15 +40,15 @@
<!-- 페이지 네비게이션 -->
<div class="pagination a1">
<a href="{getUrl('page','','document_srl','','division',$division,'last_division',$last_division)}" class="prevEnd">{$lang->first_page}</a>
<a href="{getUrl('page','','document_srl','','division',$division,'last_division',$last_division,'entry','')}" class="prevEnd">{$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="{getUrl('page',$page_no,'document_srl','','division',$division,'last_division',$last_division)}">{$page_no}</a>
<a href="{getUrl('page',$page_no,'document_srl','','division',$division,'last_division',$last_division,'entry','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','','division',$division,'last_division',$last_division)}" class="nextEnd">{$lang->last_page}</a>
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','','division',$division,'last_division',$last_division,'entry','')}" class="nextEnd">{$lang->last_page}</a>
</div>
@ -69,7 +66,7 @@
</select>
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" class="inputTypeText"/>
<!--@if($last_division)-->
<a href="{getUrl('page',1,'document_srl','','division',$last_division,'last_division','')}" class="button {$btn_class}"><span>{$lang->cmd_search_next}</span></a>
<a href="{getUrl('page',1,'document_srl','','division',$last_division,'last_division','','entry','')}" class="button {$btn_class}"><span>{$lang->cmd_search_next}</span></a>
<!--@end-->
<a href="#" onclick="xGetElementById('fo_search').submit();return false;" class="button {$btn_class}"><span>{$lang->cmd_search}</span></a>
<a href="{getUrl('','mid',$mid,'listStyle',$listStyle)}" class="button {$btn_class}"><span>{$lang->cmd_cancel}</span></a>

View file

@ -409,7 +409,7 @@
<title xml:lang="jp">IPアドレス表示</title>
<title xml:lang="zh-CN">显示IP地址</title>
<title xml:lang="es-CN">Display ip address</title>
<title xml:lang="zh-TW">顯示IP</title>
<title xml:lang="zh-TW">顯示IP</title>
<options value="Y">
<title xml:lang="ko">출력</title>
<title xml:lang="en">display</title>
@ -452,6 +452,36 @@
</options>
<description />
</var>
<var name="display_sign" type="select">
<title xml:lang="ko">서명 표시</title>
<title xml:lang="jp">서명 표시</title>
<title xml:lang="zh-CN">显示签名</title>
<title xml:lang="en">서명 표시</title>
<title xml:lang="es">서명 표시</title>
<title xml:lang="zh-TW">顯示簽名檔</title>
<description xml:lang="ko">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="jp">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="zh-CN">可以设置主题发布者的个人签名及个性头像显示与否。</description>
<description xml:lang="en">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="es">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="zh-TW">可選擇是否在文章中顯示個人圖片和簽名檔。</description>
<options value="Y">
<title xml:lang="ko">출력</title>
<title xml:lang="en">display</title>
<title xml:lang="jp">表示</title>
<title xml:lang="zh-CN">显示</title>
<title xml:lang="es">display</title>
<title xml:lang="zh-TW">顯示</title>
</options>
<options value="N">
<title xml:lang="ko">출력하지 않음</title>
<title xml:lang="en">not display</title>
<title xml:lang="jp">非表示</title>
<title xml:lang="zh-CN">不显示</title>
<title xml:lang="es">not display</title>
<title xml:lang="zh-TW">隱藏</title>
</options>
</var>
<var name="duration_new" type="text" default="24">
<title xml:lang="ko">new표시 시간 (hours)</title>
<title xml:lang="jp">Newの表示時間 (Hours)</title>

View file

@ -5,7 +5,7 @@
<thead>
{@ $no_line_class = " no_line" }
<tr>
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<th scope="col" class="checkbox{$no_line_class}"><div>
<input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" />
</div></th>
@ -51,7 +51,7 @@
<!--@if(!$document_list && !$notice_list)-->
<!--// 게시물이 없으면 등록된 글이 없음을 표시 -->
<tr class="bg0 tCenter">
<td colspan="<!--@if($grant->is_admin)-->5<!--@else-->4<!--@end-->" class="title">
<td colspan="<!--@if($grant->manager)-->5<!--@else-->4<!--@end-->" class="title">
{$lang->no_documents}
</td>
</tr>
@ -60,7 +60,7 @@
<!--// 공지사항 출력 -->
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<td class="checkbox">
<input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> />
</td>
@ -100,7 +100,7 @@
<!--// 일반 글 출력 -->
<!--@foreach($document_list as $no => $document)-->
<tr class="bg{($no+1)%2+1}">
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<td class="checkbox">
<input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> />
</td>

View file

@ -6,7 +6,7 @@
<div class="boardSubMenu">
<!--@if($module_info->use_category == "Y")-->
<div class="fl">
<!--@if($grant->is_admin)--><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /><!--@end-->
<!--@if($grant->manager)--><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /><!--@end-->
<!--// 카테고리 사용시 카테고리 선택 표시 -->
<select name="category" id="board_category">
<option value="">{$lang->category}</option>
@ -45,7 +45,7 @@
<!--@foreach($notice_list as $no => $document)-->
<table cellspacing="0" summary="" class="boardList boardListNoTopBorder">
<!--@if($module_info->display_number!='N')--><col width="80" />{@ $_col_count++}<!--@end-->
<!--@if($grant->is_admin)--><col width="30" />{@ $_col_count++}<!--@end-->
<!--@if($grant->manager)--><col width="30" />{@ $_col_count++}<!--@end-->
<col />
<!--@if($module_info->display_author!='N')--><col width="120" />{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_readed_count!='N')--><col width="70" />{@ $_col_count++}<!--@end-->
@ -55,7 +55,7 @@
<tbody>
<tr class="notice">
<!--@if($module_info->display_number!='N')--><td class="notice">{$lang->notice}</td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($grant->manager)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
@ -106,7 +106,7 @@
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong><br />
<!--@end-->
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> />
<!--@end-->

View file

@ -1,25 +1,32 @@
<!-- 목록 출력 -->
{@ $_col_count = 1; }
<!--@if($module_info->display_number!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($grant->is_admin)-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_author!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_readed_count!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_voted_count!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_regdate != 'N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_last_update == 'Y')-->{@ $_col_count++}<!--@end-->
<form action="./" method="get">
<form action="./" method="get">
<table cellspacing="0" summary="" class="boardList">
<thead>
<tr>
<!--// 관리자일 경우 게시글 선택 checkbox 표시 -->
<!--@if($grant->manager)-->
<th scope="col" class="no_line"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>
<!--@end-->
<table cellspacing="0" summary="" class="boardList">
<!--@if($_col_count>1)-->
<thead>
{@ $no_line_class = " no_line" }
<tr>
<!--@if($module_info->display_number!='N')--><th scope="col" class="num{$no_line_class}"><div>{$lang->no}</div></th>{@ $no_line_class=""}<!--@end-->
<!--// 목록 설정으로 table theader 생성 -->
{@ $_line_idx = 0;}
<!--@foreach($list_config as $key => $val)-->
<!--// 디자인 요소를 위한 내부 변수 설정(첫번째 th의 no_line 클래스 부여) -->
<!--@if(!$grant->manager && $_line_idx==0)-->
{@$_lc = 'class="no_line"';$_l = "no_line"}
<!--@else-->
{@$_lc = $_l = ""}
<!--@end-->
<!--@if($grant->is_admin)--><th scope="col" class="checkbox{$no_line_class}"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>{@ $no_line_class=""}<!--@end-->
<!--// 기본 컨텐츠일 경우 -->
<!--@if($val->idx == -1)-->
<th scope="col" class="<!--@if($module_info->use_category == 'Y')-->category<!--@else-->title<!--@end-->{$no_line_class}"><div>
<!--// 컨텐츠 종류에 따라서 출력 -->
<!--@if($val->type == 'no')-->
<th scope="col" {$_lc}><div>{$lang->no}</div></th>
<!--@elseif($val->type == 'title')-->
<th scope="col" class="<!--@if($module_info->use_category == 'Y')-->category<!--@else-->title<!--@end--> {$_l}">
<div>
<!--@if($module_info->use_category == "Y")-->
<!--// 카테고리 사용시 카테고리 선택 표시 -->
<select name="category" id="board_category">
@ -32,93 +39,168 @@
<!--@else-->
{$lang->title}
<!--@end-->
</div></th>
</div>
</th>
<!--@elseif($val->type == 'regdate')-->
<th scope="col" class="date {$_l}"><div><a href="{getUrl('sort_index','regdate','order_type',$order_type)}">{$lang->date}<!--@if($sort_index=='regdate')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th>
<!--@elseif($val->type == 'last_update')-->
<th scope="col" class="date {$_l}"><div><a href="{getUrl('sort_index','last_update','order_type',$order_type)}">{$lang->last_update}<!--@if($sort_index=='last_update')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th>
<!--@elseif($val->type == 'nick_name')-->
<th class="author" scope="col" {$_lc}><div>{$lang->writer}</div></th>
<!--@elseif($val->type == 'user_id')-->
<th class="author" scope="col" {$_lc}><div>{$lang->user_id}</div></th>
<!--@elseif($val->type == 'user_name')-->
<th class="author" scope="col" {$_lc}><div>{$lang->user_name}</div></th>
<!--@elseif($val->type == 'readed_count')-->
<th class="reading" scope="col" {$_lc}><div><a href="{getUrl('sort_index','readed_count','order_type',$order_type)}">{$lang->readed_count}<!--@if($sort_index=='readed_count')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th>
<!--@elseif($val->type == 'voted_count')-->
<th class="recommend" scope="col" {$_lc}><div><a href="{getUrl('sort_index','voted_count','order_type',$order_type)}">{$lang->voted_count}<!--@if($sort_index=='voted_count')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th>
<!--@end-->
<!--@if($module_info->display_author!='N')--><th class="author" scope="col"><div>{$lang->writer}</div></th><!--@end-->
<!--@if($module_info->display_readed_count!='N')--><th class="reading" scope="col"><div><a href="{getUrl('sort_index','readed_count','order_type',$order_type)}">{$lang->readed_count}<!--@if($sort_index=='readed_count')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th><!--@end-->
<!--@if($module_info->display_voted_count!='N')--><th class="recommend" scope="col"><div><a href="{getUrl('sort_index','voted_count','order_type',$order_type)}">{$lang->voted_count}<!--@if($sort_index=='voted_count')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th><!--@end-->
<!--@if($module_info->display_regdate != 'N')--><th scope="col" class="date"><div><a href="{getUrl('sort_index','regdate','order_type',$order_type)}">{$lang->date}<!--@if($sort_index=='regdate')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th><!--@end-->
<!--@if($module_info->display_last_update=='Y')--><th scope="col" class="date"><div><a href="{getUrl('sort_index','last_update','order_type',$order_type)}">{$lang->last_update}<!--@if($sort_index=='last_update')--><img src="./images/common/{$order_icon}" alt="" width="5" height="3" class="sort" /><!--@end--></a></div></th><!--@end-->
</tr>
</thead>
<!--@end-->
<tbody>
<!--@if(!$document_list && !$notice_list)-->
<!--// 게시물이 없으면 등록된 글이 없음을 표시 -->
<tr class="bg0 tCenter">
<td colspan="{$_col_count}" class="title">
{$lang->no_documents}
</td>
</tr>
<!--// 사용자 선언 확장변수일 경우 -->
<!--@else-->
<!--// 공지사항 출력 -->
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($module_info->display_number!='N')--><td class="notice"><!--@if($document_srl == $document->document_srl)--><img src="./images/common/iconArrowD8.gif" border="0" alt="" /><!--@else-->{$lang->notice}<!--@end--></td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category" <!--@if($category_list[$document->get('category_srl')]->color)-->style="color:{$category_list[$document->get('category_srl')]->color};"<!--@end-->>{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<span class="replyAndTrackback" title="Replies"><img src="./images/{$module_info->colorset}/iconReply.gif" alt="" width="12" height="12" class="icon" /> <strong>{$document->getCommentCount()}</strong></span>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<span class="replyAndTrackback" title="Trackbacks"><img src="./images/{$module_info->colorset}/iconTrackback.gif" alt="" width="12" height="13" class="trackback icon" /> <strong>{$document->getTrackbackCount()}</strong></span>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@if($module_info->display_author!='N')--><td class="author"><div class="member_{$document->get('member_srl')}">{$document->getNickName()}</div></td><!--@end-->
<!--@if($module_info->display_readed_count!='N')--><td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_voted_count!='N')--><td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_regdate!='N')--><td class="date">{$document->getRegdate('Y-m-d')}</td><!--@end-->
<!--@if($module_info->display_last_update=='Y')--><td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td><!--@end-->
</tr>
<!--@end-->
<!--// 일반 글 출력 -->
<!--@foreach($document_list as $no => $document)-->
<tr class="bg{($no+1)%2+1}">
<!--@if($module_info->display_number!='N')--><td class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/common/iconArrowD8.gif" border="0" alt="" /><!--@else-->{$no}<!--@end--></td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category" <!--@if($category_list[$document->get('category_srl')]->color)-->style="color:{$category_list[$document->get('category_srl')]->color};"<!--@end-->>{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<span class="replyAndTrackback" title="Replies"><img src="./images/{$module_info->colorset}/iconReply.gif" alt="" width="12" height="12" class="icon" /> <strong>{$document->getCommentCount()}</strong></span>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<span class="replyAndTrackback" title="Trackbacks"><img src="./images/{$module_info->colorset}/iconTrackback.gif" alt="" width="12" height="13" class="trackback icon" /> <strong>{$document->getTrackbackCount()}</strong></span>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@if($module_info->display_author!='N')--><td class="author"><div class="member_{$document->get('member_srl')}">{$document->getNickName()}</div></td><!--@end-->
<!--@if($module_info->display_readed_count!='N')--><td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_voted_count!='N')--><td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_regdate!='N')--><td class="date">{$document->getRegdate('Y-m-d')}</td><!--@end-->
<!--@if($module_info->display_last_update=='Y')--><td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td><!--@end-->
</tr>
<!--@end-->
<th scope="col" {$_lc}><div>{$val->name}</div></th>
<!--@end-->
</tbody>
</table>
</form>
{@ $_line_idx++;}
<!--@end-->
</tr>
</thead>
<tbody>
<!--// 게시물이 없으면 등록된 글이 없음을 표시 -->
<!--@if(!$document_list && !$notice_list)-->
<tr class="bg0 tCenter">
<td colspan="<!--@if($grant->manager)-->{count($list_config)+1}<!--@else-->{count($list_config)}<!--@end-->" class="title">
{$lang->no_documents}
</td>
</tr>
<!--@else-->
<!--// 공지사항 출력 -->
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--// 관리자일 경우 게시글 선택 checkbox 표시 -->
<!--@if($grant->manager)-->
<td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td>
<!--@end-->
<!--// 목록 설정으로 table theader 생성 -->
<!--@foreach($list_config as $key => $val)-->
<!--// 기본 컨텐츠일 경우 -->
<!--@if($val->idx == -1)-->
<!--// 컨텐츠 종류에 따라서 출력 -->
<!--@if($val->type == 'no')-->
<td class="notice"><!--@if($document_srl == $document->document_srl)--><img src="./images/common/iconArrowD8.gif" border="0" alt="" /><!--@else-->{$lang->notice}<!--@end--></td>
<!--@elseif($val->type == 'title')-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category" <!--@if($category_list[$document->get('category_srl')]->color)-->style="color:{$category_list[$document->get('category_srl')]->color};"<!--@end-->>{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<span class="replyAndTrackback" title="Replies"><img src="./images/{$module_info->colorset}/iconReply.gif" alt="" width="12" height="12" class="icon" /> <strong>{$document->getCommentCount()}</strong></span>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<span class="replyAndTrackback" title="Trackbacks"><img src="./images/{$module_info->colorset}/iconTrackback.gif" alt="" width="12" height="13" class="trackback icon" /> <strong>{$document->getTrackbackCount()}</strong></span>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@elseif($val->type == 'regdate')-->
<td class="date">{$document->getRegdate('Y-m-d')}</td>
<!--@elseif($val->type == 'last_update')-->
<td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td>
<!--@elseif($val->type == 'nick_name')-->
<td class="author"><div class="member_{$document->get('member_srl')}">{$document->getNickName()}</div></td>
<!--@elseif($val->type == 'user_id')-->
<td class="author">{$document->getUserID()}</td>
<!--@elseif($val->type == 'user_name')-->
<td class="author">{$document->getUserName()}</td>
<!--@elseif($val->type == 'readed_count')-->
<td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td>
<!--@elseif($val->type == 'voted_count')-->
<td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td>
<!--@end-->
<!--// 사용자 선언 확장변수일 경우 -->
<!--@else-->
<td class="wrap">{$document->getExtraValueHTML($val->idx)}&nbsp;</td>
<!--@end-->
<!--@end-->
</tr>
<!--@end-->
<!--// 일반 글 출력 -->
<!--@foreach($document_list as $no => $document)-->
<tr class="bg{($no+1)%2+1}">
<!--// 관리자일 경우 게시글 선택 checkbox 표시 -->
<!--@if($grant->manager)-->
<td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td>
<!--@end-->
<!--// 목록 설정으로 table theader 생성 -->
<!--@foreach($list_config as $key => $val)-->
<!--// 기본 컨텐츠일 경우 -->
<!--@if($val->idx == -1)-->
<!--// 컨텐츠 종류에 따라서 출력 -->
<!--@if($val->type == 'no')-->
<td class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/common/iconArrowD8.gif" border="0" alt="" /><!--@else-->{$no}<!--@end--></td>
<!--@elseif($val->type == 'title')-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category" <!--@if($category_list[$document->get('category_srl')]->color)-->style="color:{$category_list[$document->get('category_srl')]->color};"<!--@end-->>{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<span class="replyAndTrackback" title="Replies"><img src="./images/{$module_info->colorset}/iconReply.gif" alt="" width="12" height="12" class="icon" /> <strong>{$document->getCommentCount()}</strong></span>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<span class="replyAndTrackback" title="Trackbacks"><img src="./images/{$module_info->colorset}/iconTrackback.gif" alt="" width="12" height="13" class="trackback icon" /> <strong>{$document->getTrackbackCount()}</strong></span>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@elseif($val->type == 'regdate')-->
<td class="date">{$document->getRegdate('Y-m-d')}</td>
<!--@elseif($val->type == 'last_update')-->
<td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td>
<!--@elseif($val->type == 'nick_name')-->
<td class="author"><div class="member_{$document->get('member_srl')}">{$document->getNickName()}</div></td>
<!--@elseif($val->type == 'user_id')-->
<td class="author">{$document->getUserID()}</td>
<!--@elseif($val->type == 'user_name')-->
<td class="author">{$document->getUserName()}</td>
<!--@elseif($val->type == 'readed_count')-->
<td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td>
<!--@elseif($val->type == 'voted_count')-->
<td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td>
<!--@end-->
<!--// 사용자 선언 확장변수일 경우 -->
<!--@else-->
<td class="wrap">{$document->getExtraValueHTML($val->idx)}&nbsp;</td>
<!--@end-->
<!--@end-->
<!--@end-->
</tr>
<!--@end-->
</tbody>
</table>
</form>

View file

@ -2,7 +2,7 @@
<form action="./" method="get">
{@ $_col_count = 2; }
<!--@if($module_info->display_number!='N')-->{@ $_col_count++ }<!--@end-->
<!--@if($grant->is_admin)-->{@ $_col_count++}<!--@end-->
<!--@if($grant->manager)-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_author!='N')-->{@ $_col_count++ }<!--@end-->
<!--@if($module_info->display_readed_count!='N')-->{@ $_col_count++ }<!--@end-->
<!--@if($module_info->display_voted_count!='N')-->{@ $_col_count++ }<!--@end-->
@ -16,7 +16,7 @@
<tr>
<!--@if($module_info->display_number!='N')--><th scope="col" class="num{$no_line_class}"><div>{$lang->no}</div></th>{@ $no_line_class=""}<!--@end-->
<!--@if($grant->is_admin)--><th scope="col" class="checkbox{$no_line_class}"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>{@ $no_line_class=""}<!--@end-->
<!--@if($grant->manager)--><th scope="col" class="checkbox{$no_line_class}"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>{@ $no_line_class=""}<!--@end-->
<th scope="col" colspan="2" class="<!--@if($module_info->use_category=='Y')-->category<!--@else-->title<!--@end-->{$no_line_class}"><div>
@ -59,7 +59,7 @@
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($module_info->display_number!='N')--><td class="notice">{$lang->notice}</td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($grant->manager)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title" colspan="2">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
@ -91,7 +91,7 @@
<!--@if($module_info->display_number!='N')--><td rowspan="2" class="num"><!--@if($document_srl == $document->document_srl)--><img src="./images/common/iconArrowD8.gif" border="0" alt="" /><!--@else-->{$no}<!--@end--></td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox" rowspan="2"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($grant->manager)--><td class="checkbox" rowspan="2"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($document->thumbnailExists($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type))-->
<td rowspan="2" class="thumb"><a href="{getUrl('document_srl',$document->document_srl,'listStyle',$listStyle, 'cpage','')}"><img src="{$document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}" border="0" alt="" /></a></td>

View file

@ -32,7 +32,7 @@
<div class="uri" title="{$lang->document_url}"><a href="{$oDocument->getPermanentUrl()}">{$oDocument->getPermanentUrl()}</a></div>
<div class="date" title="{$lang->regdate}">
<strong>{$oDocument->getRegdate('Y.m.d')}</strong> {$oDocument->getRegdate('H:i:s')} <!--@if($grant->is_admin || $module_info->display_ip_address!='N')-->({$oDocument->getIpaddress()})<!--@end-->
<strong>{$oDocument->getRegdate('Y.m.d')}</strong> {$oDocument->getRegdate('H:i:s')} <!--@if($grant->manager || $module_info->display_ip_address!='N')-->({$oDocument->getIpaddress()})<!--@end-->
</div>
<div class="readedCount" title="{$lang->readed_count}">{$oDocument->get('readed_count')}</div>
@ -63,21 +63,15 @@
</div>
<div class="clear"></div>
<!--@if($oDocument->isExtraVarsExists() && (!$oDocument->isSecret() || $oDocument->isGranted()) )-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<tr>
<th scope="row">{$val->name}</th>
<td>
<!--// 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_value.html")-->
</td>
<th>{$val->name}</th>
<td>{$val->getValueHTML()}</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
@ -86,7 +80,6 @@
<div class="contentBody">
<!--@if($oDocument->isSecret() && !$oDocument->isGranted())-->
<!--%import("filter/input_password.xml")-->
<div class="secretContent">
<form action="./" method="get" onsubmit="return procFilter(this, input_password)">
<input type="hidden" name="mid" value="{$mid}" />
@ -103,7 +96,7 @@
<!--@end-->
<!-- 서명 / 프로필 이미지 출력 -->
<!--@if($oDocument->getProfileImage() || $oDocument->getSignature())-->
<!--@if($module_info->display_sign != 'N' && ($oDocument->getProfileImage() || $oDocument->getSignature()))-->
<div class="memberSignature">
<!--@if($oDocument->getProfileImage())-->
<div class="profile"><img src="{$oDocument->getProfileImage()}" alt="profile" /></div>
@ -166,7 +159,6 @@
<!-- 댓글 입력 폼 -->
<!--@if($grant->write_comment && $oDocument->isEnableComment() )-->
<!--%import("filter/insert_comment.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" class="boardEditor" >
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />
@ -190,10 +182,10 @@
<input type="checkbox" name="notify_message" value="Y" id="notify_message" />
<label for="notify_message">{$lang->notify}</label>
<!--@end-->
<!--@if($module_info->secret=="Y")-->
<input type="checkbox" name="is_secret" value="Y" id="is_secret" />
<label for="is_secret">{$lang->secret}</label>
<!--@end-->
</div>
<div class="editor">{$oDocument->getCommentEditor()}</div>

View file

@ -1,4 +1,3 @@
<!--%import("filter/insert.xml")-->
<!--#include("header.html")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert)" id="fo_write">
@ -83,17 +82,15 @@
<!--@end-->
</dl>
<!--@if($module_info->extra_vars)-->
<!--@if(count($extra_keys))-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<!--@foreach($extra_keys as $key => $val)-->
<tr>
<th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
<td><!--#include("./extra_var_form.html")--></td>
<td>{$val->getFormHTML()}</td>
</tr>
<!--@endif-->
<!--@endforeach-->
</table>
<!--@endif-->

View file

@ -1,68 +0,0 @@
<!--@if(in_array($val->type, array('select', 'checkbox')))-->
{@ $val->default = explode(',', $val->default) }
<!--@end-->
{@ $val->column_name = "extra_vars".$key}
{@ $val->value = $oDocument->getExtraValue($key)}
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputText" />
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputText" />
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputText" />
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputNum" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputNum" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputNum" />
<!--// textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" rows="5" cols="20">{htmlspecialchars($val->value)}</textarea>
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul>
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if($v==$val->value||is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end--> class="inputCheck" /> {$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!--@elseif($val->type == 'date')-->
<!--// datepicker javascript plugin load -->
<!--%load_js_plugin("ui.datepicker")-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -1,52 +0,0 @@
{@ $val->column_name = "extra_vars".$key}
{@ $val->value = $oDocument->getExtraValue($key)}
{@ $_tmp_value = array(); }
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
&nbsp;
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
&nbsp;
<!--@elseif($val->type == 'checkbox')-->
<!--@if(!is_array($val->value))-->{@ $val->value = array($val->value) }<!--@end-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
&nbsp;
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
&nbsp;
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
&nbsp;
<!--@end-->
<!--@if(!$val->value)-->&nbsp;<!--@end-->

View file

@ -1,5 +1,3 @@
<!--%import("js/board.js")-->
<!--@if(!$module_info->colorset)-->
{@$module_info->colorset = "white"}
<!--@end-->
@ -64,7 +62,7 @@
<div class="infoRight">
<ul>
<!--@if($is_logged)-->
<!--@if($logged_info->is_admin=='Y' && $module_info->display_setup_button != 'N')-->
<!--@if($grant->manager && $module_info->display_setup_button != 'N')-->
<li class="setup"><a href="{getUrl('act','dispBoardAdminBoardInfo')}">{$lang->cmd_setup}</a></li>
<!--@end-->
<!--@if($module_info->display_login_info != 'N')-->

View file

@ -5,7 +5,7 @@
<thead>
{@ $no_line_class = " no_line" }
<tr>
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<th scope="col">
<input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" />
</th>
@ -37,7 +37,7 @@
<!--@if(!$document_list && !$notice_list)-->
<tr>
<td colspan="<!--@if($grant->is_admin)-->5<!--@else-->4<!--@end-->">
<td colspan="<!--@if($grant->manager)-->5<!--@else-->4<!--@end-->">
{$lang->no_documents}
</td>
</tr>
@ -45,7 +45,7 @@
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<td class="check">
<input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> />
</td>
@ -82,7 +82,7 @@
<!--@foreach($document_list as $no => $document)-->
<tr class="bg{($no+1)%2+1}">
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<td class="check">
<input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> />
</td>

View file

@ -4,7 +4,7 @@
<div class="thumbHeader">
<div class="left">
<!--@if($grant->is_admin)--><span><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></span>{@ $no_line_class=""}<!--@end-->
<!--@if($grant->manager)--><span><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></span>{@ $no_line_class=""}<!--@end-->
<!--@if($module_info->use_category == "Y")-->
<span class="jumpTo">
@ -42,7 +42,7 @@
<tbody>
<tr class="notice">
<!--@if($module_info->display_number!='N')--><td class="notice">{$lang->notice}</td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($grant->manager)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
@ -102,7 +102,7 @@
</div>
<div class="title">
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> />
<!--@end-->

View file

@ -2,118 +2,178 @@
<fieldset>
<legend>List of Articles</legend>
{@ $_col_count = 1; }
<!--@if($module_info->display_number!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($grant->is_admin)-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_author!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_readed_count!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_voted_count!='N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_regdate != 'N')-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_last_update == 'Y')-->{@ $_col_count++}<!--@end-->
<table cellspacing="0" border="1" summary="List of Articles" class="boardList">
<!--@if($_col_count>1)-->
<thead>
{@ $no_line_class = " no_line" }
<tr>
<!--@if($module_info->display_number!='N')--><th scope="col">{$lang->no}</th>{@ $no_line_class=""}<!--@end-->
<!--@if($grant->manager)--><th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th><!--@end-->
<!--@if($grant->is_admin)--><th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>{@ $no_line_class=""}<!--@end-->
<!--// 목록 설정으로 table theader 생성 -->
<!--@foreach($list_config as $key => $val)-->
<!--// 기본 컨텐츠일 경우 -->
<!--@if($val->idx == -1)-->
<th scope="col" class="title">
<!--@if($module_info->use_category == "Y")-->
<span class="jumpTo">
<select name="category" id="board_category">
<option value="">{$lang->category}</option>
<!--@foreach($category_list as $val)-->
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl)-->selected="selected"<!--@end-->>{str_repeat("&nbsp;&nbsp;",$val->depth)} {$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
<button type="button" name="go_button" id="go_button" onclick="doChangeCategory(); return false;" class="button">Go</button>
</span>
<!--// 컨텐츠 종류에 따라서 출력 -->
<!--@if($val->type == 'no')-->
<th scope="col">{$lang->no}</th>
<!--@elseif($val->type == 'title')-->
<th scope="col" class="title">
<!--@if($module_info->use_category == "Y")-->
<span class="jumpTo">
<select name="category" id="board_category">
<option value="">{$lang->category}</option>
<!--@foreach($category_list as $val)-->
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl)-->selected="selected"<!--@end-->>{str_repeat("&nbsp;&nbsp;",$val->depth)} {$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
<button type="button" name="go_button" id="go_button" onclick="doChangeCategory(); return false;" class="button">Go</button>
</span>
<!--@end-->
{$lang->title}
</th>
<!--@elseif($val->type == 'regdate')-->
<th scope="col"><a href="{getUrl('sort_index','regdate','order_type',$order_type)}">{$lang->date}<!--@if($sort_index=='regdate')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th>
<!--@elseif($val->type == 'last_update')-->
<th scope="col"><a href="{getUrl('sort_index','last_update','order_type',$order_type)}">{$lang->last_update}<!--@if($sort_index=='last_update')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th>
<!--@elseif($val->type == 'nick_name')-->
<th scope="col">{$lang->writer}</th>
<!--@elseif($val->type == 'user_id')-->
<th scope="col">{$lang->user_id}</th>
<!--@elseif($val->type == 'user_name')-->
<th scope="col">{$lang->user_name}</th>
<!--@elseif($val->type == 'readed_count')-->
<th scope="col"><a href="{getUrl('sort_index','readed_count','order_type',$order_type)}">{$lang->readed_count}<!--@if($sort_index=='readed_count')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th>
<!--@elseif($val->type == 'voted_count')-->
<th scope="col"><a href="{getUrl('sort_index','voted_count','order_type',$order_type)}">{$lang->voted_count}<!--@if($sort_index=='voted_count')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th>
<!--@end-->
<!--// 사용자 선언 확장변수일 경우 -->
<!--@else-->
<th scope="col"><div>{$val->name}</div></th>
<!--@end-->
{$lang->title}
</th>
<!--@if($module_info->display_author!='N')--><th scope="col">{$lang->writer}</th><!--@end-->
<!--@if($module_info->display_readed_count!='N')--><th scope="col"><a href="{getUrl('sort_index','readed_count','order_type',$order_type)}">{$lang->readed_count}<!--@if($sort_index=='readed_count')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th><!--@end-->
<!--@if($module_info->display_voted_count!='N')--><th scope="col"><a href="{getUrl('sort_index','voted_count','order_type',$order_type)}">{$lang->voted_count}<!--@if($sort_index=='voted_count')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th><!--@end-->
<!--@if($module_info->display_regdate != 'N')--><th scope="col"><a href="{getUrl('sort_index','regdate','order_type',$order_type)}">{$lang->date}<!--@if($sort_index=='regdate')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th><!--@end-->
<!--@if($module_info->display_last_update=='Y')--><th scope="col"><a href="{getUrl('sort_index','last_update','order_type',$order_type)}">{$lang->last_update}<!--@if($sort_index=='last_update')--><img src="./images/common/{$order_icon}" alt="sort" width="5" height="3" class="sort" /><!--@end--></a></th><!--@end-->
<!--@end-->
</tr>
</thead>
<!--@end-->
<tbody>
<!--@if(!$document_list && !$notice_list)-->
<tr>
<td colspan="{$_col_count}">
<td colspan="<!--@if($grant->manager)-->{count($list_config)+1}<!--@else-->{count($list_config)}<!--@end-->">
{$lang->no_documents}
</td>
</tr>
<!--@else-->
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($module_info->display_number!='N')--><td class="notice"><!--@if($document_srl == $document->document_srl)-->&raquo;<!--@else-->{$lang->notice}<!--@end--></td><!--@end-->
<!--@if($grant->is_admin)--><td class="check"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($grant->manager)-->
<td class="check"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#comment"><span class="replyNum" title="Replies"><strong>[{$document->getCommentCount()}]</strong></span></a>
<!--// 목록 설정으로 table theader 생성 -->
<!--@foreach($list_config as $key => $val)-->
<!--// 기본 컨텐츠일 경우 -->
<!--@if($val->idx == -1)-->
<!--// 컨텐츠 종류에 따라서 출력 -->
<!--@if($val->type == 'no')-->
<td class="notice"><!--@if($document_srl == $document->document_srl)-->&raquo;<!--@else-->{$lang->notice}<!--@end--></td>
<!--@elseif($val->type == 'title')-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#comment"><span class="replyNum" title="Replies"><strong>[{$document->getCommentCount()}]</strong></span></a>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#trackback"><span class="replyNum" title="Trackbacks"><strong class="trackback">[{$document->getTrackbackCount()}]</strong></span></a>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@elseif($val->type == 'regdate')-->
<td class="date">{$document->getRegdate('Y-m-d')}</td>
<!--@elseif($val->type == 'last_update')-->
<td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td>
<!--@elseif($val->type == 'nick_name')-->
<td class="author"><a href="#popup_menu_area" class="member_{$document->get('member_srl')}" onclick="return false">{$document->getNickName()}</a></td>
<!--@elseif($val->type == 'user_id')-->
<td class="author">{$document->getUserID()}</a></td>
<!--@elseif($val->type == 'user_name')-->
<td class="author">{$document->getUserName()}</a></td>
<!--@elseif($val->type == 'readed_count')-->
<td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td>
<!--@elseif($val->type == 'voted_count')-->
<td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td>
<!--@end-->
<!--// 사용자 선언 확장변수일 경우 -->
<!--@else-->
<td class="wrap">{$document->getExtraValueHTML($val->idx)}&nbsp;</td>
<!--@end-->
<!--@end-->
</tr>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#trackback"><span class="replyNum" title="Trackbacks"><strong class="trackback">[{$document->getTrackbackCount()}]</strong></span></a>
<!--@foreach($document_list as $no => $document)-->
<tr class="bg{($no+1)%2+1}">
<!--@if($grant->manager)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--// 목록 설정으로 table theader 생성 -->
<!--@foreach($list_config as $key => $val)-->
<!--// 기본 컨텐츠일 경우 -->
<!--@if($val->idx == -1)-->
<!--// 컨텐츠 종류에 따라서 출력 -->
<!--@if($val->type == 'no')-->
<td class="num"><!--@if($document_srl == $document->document_srl)-->&raquo;<!--@else-->{$no}<!--@end--></td>
<!--@elseif($val->type == 'title')-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#comment"><span class="replyNum" title="Replies"><strong>[{$document->getCommentCount()}]</strong></span></a>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#trackback"><span class="replyNum" title="Trackbacks"><strong class="trackback">[{$document->getTrackbackCount()}]</strong></span></a>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@elseif($val->type == 'nick_name')-->
<td class="author"><a href="#popup_menu_area" class="member_{$document->get('member_srl')}" onclick="return false">{$document->getNickName()}</a></td>
<!--@elseif($val->type == 'user_id')-->
<td class="author">{$document->getUserID()}</a></td>
<!--@elseif($val->type == 'user_name')-->
<td class="author">{$document->getUserName()}</a></td>
<!--@elseif($val->type == 'regdate')-->
<td class="date">{$document->getRegdate('Y-m-d')}</td>
<!--@elseif($val->type == 'last_update')-->
<td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td>
<!--@elseif($val->type == 'readed_count')-->
<td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td>
<!--@elseif($val->type == 'voted_count')-->
<td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td>
<!--@end-->
<!--// 사용자 선언 확장변수일 경우 -->
<!--@else-->
<td class="wrap">{$document->getExtraValueHTML($val->idx)}&nbsp;</td>
<!--@end-->
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@if($module_info->display_author!='N')--><td class="author"><a href="#popup_menu_area" class="member_{$document->get('member_srl')}" onclick="return false">{$document->getNickName()}</a></td><!--@end-->
<!--@if($module_info->display_readed_count!='N')--><td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_voted_count!='N')--><td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_regdate!='N')--><td class="date">{$document->getRegdate('Y-m-d')}</td><!--@end-->
<!--@if($module_info->display_last_update=='Y')--><td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}</td><!--@end-->
</tr>
<!--@end-->
<!--@foreach($document_list as $no => $document)-->
<tr class="bg{($no+1)%2+1}">
<!--@if($module_info->display_number!='N')--><td class="num"><!--@if($document_srl == $document->document_srl)-->&raquo;<!--@else-->{$no}<!--@end--></td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
<!--@end-->
<a href="{getUrl('document_srl',$document->document_srl, 'listStyle', $listStyle, 'cpage','')}">{$document->getTitle($module_info->subject_cut_size)}</a>
<!--@if($document->getCommentCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#comment"><span class="replyNum" title="Replies"><strong>[{$document->getCommentCount()}]</strong></span></a>
<!--@end-->
<!--@if($document->getTrackbackCount())-->
<a href="{getUrl('document_srl', $document->document_srl)}#trackback"><span class="replyNum" title="Trackbacks"><strong class="trackback">[{$document->getTrackbackCount()}]</strong></span></a>
<!--@end-->
{$document->printExtraImages(60*60*$module_info->duration_new)}
</td>
<!--@if($module_info->display_author!='N')--><td class="author"><a href="#popup_menu_area" class="member_{$document->get('member_srl')}" onclick="return false">{$document->getNickName()}</a></td><!--@end-->
<!--@if($module_info->display_readed_count!='N')--><td class="reading">{$document->get('readed_count')>0?$document->get('readed_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_voted_count!='N')--><td class="recommend">{$document->get('voted_count')!=0?$document->get('voted_count'):'&nbsp;'}</td><!--@end-->
<!--@if($module_info->display_regdate!='N')--><td class="date">{$document->getRegdate('Y-m-d')}</td><!--@end-->
<!--@if($module_info->display_last_update=='Y')--><td class="date">{zdate($document->get('last_update'),'Y-m-d H:i')}
</td>
<!--@end-->
</tr>
<!--@end-->
</tr>
<!--@end-->
<!--@end-->
</tbody>

View file

@ -4,7 +4,7 @@
{@ $_col_count = 2; }
<!--@if($module_info->display_number!='N')-->{@ $_col_count++ }<!--@end-->
<!--@if($grant->is_admin)-->{@ $_col_count++}<!--@end-->
<!--@if($grant->manager)-->{@ $_col_count++}<!--@end-->
<!--@if($module_info->display_author!='N')-->{@ $_col_count++ }<!--@end-->
<!--@if($module_info->display_readed_count!='N')-->{@ $_col_count++ }<!--@end-->
<!--@if($module_info->display_voted_count!='N')-->{@ $_col_count++ }<!--@end-->
@ -18,7 +18,7 @@
<tr>
<!--@if($module_info->display_number!='N')--><th scope="col">{$lang->no}</th>{@ $no_line_class=""}<!--@end-->
<!--@if($grant->is_admin)--><th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>{@ $no_line_class=""}<!--@end-->
<!--@if($grant->manager)--><th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll({ doClick:true }); return false;" /></th>{@ $no_line_class=""}<!--@end-->
<th scope="col" class="title">
@ -57,7 +57,7 @@
<!--@foreach($notice_list as $no => $document)-->
<tr class="notice">
<!--@if($module_info->display_number!='N')--><td class="notice">{$lang->notice}</td><!--@end-->
<!--@if($grant->is_admin)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($grant->manager)--><td class="checkbox"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->
<strong class="category">{$category_list[$document->get('category_srl')]->title}</strong>
@ -89,7 +89,7 @@
<!--@if($module_info->display_number!='N')--><td class="num" rowspan="2"><!--@if($document_srl == $document->document_srl)-->&raquo;<!--@else-->{$no}<!--@end--></td><!--@end-->
<!--@if($grant->is_admin)--><td class="check" rowspan="2"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<!--@if($grant->manager)--><td class="check" rowspan="2"><input type="checkbox" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this)" <!--@if($document->isCarted())-->checked="checked"<!--@end--> /></td><!--@end-->
<td class="title">
<!--@if($module_info->use_category == "Y" && $document->get('category_srl'))-->

View file

@ -33,7 +33,7 @@
<dd>
{$comment->getRegdate('H:i:s')}
</dd>
<!--@if($grant->is_admin || $module_info->display_ip_address!='N')-->
<!--@if($grant->manager || $module_info->display_ip_address!='N')-->
<dd>
({$comment->getIpaddress()})
</dd>
@ -43,7 +43,6 @@
<a name="comment_{$comment->get('comment_srl')}"></a>
<div class="itemContent">
<!--@if(!$comment->isAccessible())-->
<!--%import("filter/input_password.xml")-->
<form action="./" method="get" onsubmit="return procFilter(this, input_password)" class="secretMessage">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />

View file

@ -7,7 +7,7 @@
<dl class="time">
<dt>Time :</dt>
<dd>{$oSourceComment->getRegdate("Y.m.d H:i")}</dd>
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<dd>({$oSourceComment->get('ipaddress')})</dd>
<!--@end-->
</dl>
@ -18,7 +18,6 @@
</div>
<!--@end-->
<!--%import("filter/insert_comment.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" class="boardEditor" >
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oComment->get('document_srl')}" />

View file

@ -285,7 +285,7 @@
.extraVarsList td{ border:0; padding:5px 10px; text-align:left; border-top:1px solid; vertical-align:top;}
.extraVarsList th{ white-space:nowrap;}
.extraVarsList td{ width:100%;}
.extraVarsList td p{ display:inline-block; *display:inline; margin:3px 0;}
.extraVarsList td p{ display:block; *display:block; margin:3px 0;}
.extraVarsList td *{ vertical-align:middle;}
.extraVarsList td li{ display:inline; margin-right:10px;}
.extraVarsList td .inputText{ padding:3px 4px; font-size:12px; width:96%; display:block;}
@ -310,3 +310,15 @@
.smallBox .header { text-align:center; }
/* 확장 변수 폼 */
.extraVarsList tr td .text { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:90%; }
.extraVarsList tr td .email_address { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }
.extraVarsList tr td .homepage { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }
.extraVarsList tr td .tel { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:40px; margin-right:10px;}
.extraVarsList tr td .textarea { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:90%; height:80px; }
.extraVarsList tr td ul { margin:0; padding:0; list-style:none; }
.extraVarsList tr td ul li { display:inline-block; margin-right:10px; }
.extraVarsList tr td ul li input { margin-right:5px; vertical-align:middle;}
.extraVarsList tr td .date { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:100px; }
.extraVarsList tr td .address { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_comment.xml")-->
<!--#include("_header.html")-->
<div class="smallBox w268">

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_document.xml")-->
<!--#include("_header.html")-->
<div class="smallBox w268">

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_trackback.xml")-->
<!--#include("_header.html")-->
<div class="smallBox w268">

View file

@ -1,18 +0,0 @@
<filter name="delete_comment" module="board" act="procBoardDeleteComment">
<form>
<node target="comment_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
</parameter>
<response callback_func="completeDeleteComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,16 +0,0 @@
<filter name="delete_document" module="board" act="procBoardDeleteDocument">
<form>
<node target="document_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
</parameter>
<response callback_func="completeDeleteDocument">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="page" />
</response>
</filter>

View file

@ -1,18 +0,0 @@
<filter name="delete_trackback" module="board" act="procBoardDeleteTrackback">
<form>
<node target="trackback_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="trackback_srl" target="trackback_srl" />
</parameter>
<response callback_func="completeDeleteTrackback">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,16 +0,0 @@
<filter name="input_password" module="board" act="procBoardVerificationPassword" >
<form>
<node target="document_srl" required="true" />
<node target="password" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
<param name="password" target="password" />
</parameter>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,17 +0,0 @@
<filter name="insert" module="board" act="procBoardInsertDocument" confirm_msg_code="">
<form>
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="title" required="true" maxlength="250" />
<node target="content" required="true" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="category_srl" />
</response>
</filter>

View file

@ -1,30 +0,0 @@
<filter name="insert_comment" module="board" act="procBoardInsertComment" confirm_msg_code="confirm_submit">
<form>
<node target="document_srl" required="true" />
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="content" required="true" minlength="1" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
<param name="parent_srl" target="parent_srl" />
<param name="nick_name" target="nick_name" />
<param name="password" target="password" />
<param name="email_address" target="email_address" />
<param name="homepage" target="homepage" />
<param name="content" target="content" />
<param name="is_secret" target="is_secret" />
<param name="notify_message" target="notify_message" />
</parameter>
<response callback_func="completeInsertComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="comment_srl" />
</response>
</filter>

View file

@ -1,15 +0,0 @@
<filter name="search" module="board">
<form>
<node target="search_target" required="true" />
<node target="search_keyword" minlegnth="2" maxlength="40" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="search_target" target="search_target" />
<param name="search_keyword" target="search_keyword" />
</parameter>
<response callback_func="completeSearch">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,13 +0,0 @@
<filter name="vote" module="board" act="procBoardVoteDocument" confirm_msg_code="confirm_vote">
<form>
<node target="document_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
</parameter>
<response callback_func="completeVote">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,4 +1,3 @@
<!--%import("filter/input_password.xml")-->
<!--@if(!$form_include)--><!--#include("_header.html")--><!--@end-->
<div class="smallBox w400">

View file

@ -1,7 +1,5 @@
<!--#include("_header.html")-->
<!--%import("filter/search.xml")-->
<!--@if($oDocument->isExists() && $module_info->default_style != 'blog')-->
<div class="viewDocument">
<!--#include("./view_document.html")-->
@ -23,8 +21,8 @@
<div class="boardNavigation">
<div class="buttonLeft">
<!--@if($grant->is_admin)-->
<a href="{getUrl('','module','document','act','dispDocumentAdminManageDocument')}" onclick="popopen(this.href,'manageDocument'); return false;" class="button"><span>{$lang->cmd_manage_document}</span></a>
<!--@if($grant->manager)-->
<a href="{getUrl('','module','document','act','dispDocumentManageDocument')}" onclick="popopen(this.href,'manageDocument'); return false;" class="button"><span>{$lang->cmd_manage_document}</span></a>
<!--@end-->
<!--@if($module_info->default_style != 'blog')-->
<a href="{getUrl('','mid',$mid,'page',$page,'document_srl','','listStyle',$listStyle)}" class="button"><span>{$lang->cmd_list}</span></a>

View file

@ -376,7 +376,7 @@
<title xml:lang="jp">IPアドレス表示</title>
<title xml:lang="zh-CN">显示IP地址</title>
<title xml:lang="es-CN">Display ip address</title>
<title xml:lang="zh-TW">顯示IP</title>
<title xml:lang="zh-TW">顯示IP</title>
<options value="Y">
<title xml:lang="ko">출력</title>
<title xml:lang="en">display</title>
@ -419,6 +419,36 @@
</options>
<description />
</var>
<var name="display_sign" type="select">
<title xml:lang="ko">서명 표시</title>
<title xml:lang="jp">서명 표시</title>
<title xml:lang="zh-CN">显示签名</title>
<title xml:lang="en">서명 표시</title>
<title xml:lang="es">서명 표시</title>
<title xml:lang="zh-TW">顯示簽名檔</title>
<description xml:lang="ko">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="jp">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="zh-CN">可以设置主题发布者的个人签名及个性头像显示与否。</description>
<description xml:lang="en">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="es">글내용 사용자의 서명과 프로필 이미지를 표시하거나 숨길 수 있습니다.</description>
<description xml:lang="zh-TW">可選擇是否在文章中顯示個人圖片和簽名檔</description>
<options value="Y">
<title xml:lang="ko">출력</title>
<title xml:lang="en">display</title>
<title xml:lang="jp">表示</title>
<title xml:lang="zh-CN">显示</title>
<title xml:lang="es">display</title>
<title xml:lang="zh-TW">顯示</title>
</options>
<options value="N">
<title xml:lang="ko">출력하지 않음</title>
<title xml:lang="en">not display</title>
<title xml:lang="jp">非表示</title>
<title xml:lang="zh-CN">不显示</title>
<title xml:lang="es">not display</title>
<title xml:lang="zh-TW">隱藏</title>
</options>
</var>
<var name="duration_new" type="text" default="24">
<title xml:lang="ko">new표시 시간 (hours)</title>
<title xml:lang="jp">Newの表示時間 (Hours)</title>

View file

@ -22,22 +22,17 @@
<!--@if($oDocument->isExtraVarsExists() && (!$oDocument->isSecret() || $oDocument->isGranted()) )-->
<table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList">
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<tr>
<th scope="row">{$val->name}</th>
<td>
<!--#include("./_extra_var_value.html")-->
</td>
</tr>
<!--@end-->
<!--@end-->
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<tr>
<th>{$val->name} :</th>
<td>{$val->getValueHTML()}</td>
</tr>
<!--@end-->
</table>
<!--@end-->
<div class="boardReadBody">
<!--@if($oDocument->isSecret() && !$oDocument->isGranted())-->
<!--%import("filter/input_password.xml")-->
<form action="./" method="get" onsubmit="return procFilter(this, input_password)" class="secretMessage">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />
@ -54,7 +49,7 @@
{$oDocument->getContent()}
<!--@end-->
<!--@if($oDocument->getProfileImage() || $oDocument->getSignature())-->
<!--@if($module_info->display_sign != 'N' && ($oDocument->getProfileImage() || $oDocument->getSignature()))-->
<div class="memberSignature">
<!--@if($oDocument->getProfileImage())-->
<img src="{$oDocument->getProfileImage()}" alt="profile" class="profile" />
@ -111,7 +106,7 @@
<!--@end-->
<dt>{$lang->regdate} :</dt>
<dd title="{$lang->regdate}">{$oDocument->getRegdate('Y.m.d')}</dd>
<dd>{$oDocument->getRegdate('H:i:s')} <!--@if($grant->is_admin || $module_info->display_ip_address!='N')-->({$oDocument->getIpaddress()})<!--@end--></dd>
<dd>{$oDocument->getRegdate('H:i:s')} <!--@if($grant->manager || $module_info->display_ip_address!='N')-->({$oDocument->getIpaddress()})<!--@end--></dd>
</dl>
<dl>
@ -153,7 +148,6 @@
<!--#include("./comment.html")-->
<!--@if($grant->write_comment && $oDocument->isEnableComment() )-->
<!--%import("filter/insert_comment.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" class="boardEditor" >
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oDocument->document_srl}" />

View file

@ -1,4 +1,3 @@
<!--%import("filter/insert.xml")-->
<!--#include("_header.html")-->
<form action="./" method="post" onsubmit="return procFilter(this, window.insert)" id="fo_write" class="boardWrite">
@ -27,16 +26,14 @@
</div>
<!--@if($module_info->extra_vars)-->
<!--@if(count($extra_keys))-->
<table border="1" cellspacing="0" summary="Extra Form" class="extraVarsList">
<caption><em>*</em> : {$lang->is_required}</caption>
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<!--@foreach($extra_keys as $key => $val)-->
<tr>
<th scope="row">{$val->name} <!--@if($val->is_required=='Y')--><em>*</em><!--@end--></th>
<td><!--#include("./_extra_var_form.html")--></td>
<td>{$val->getFormHTML()}</td>
</tr>
<!--@endif-->
<!--@endforeach-->
</table>
<!--@endif-->

View file

@ -1,7 +1,7 @@
<!--@if($oDocument->getCommentCount())-->
<div class="replyBox">
<a name="comment_{$comment->comment_srl}"></a>
<a name="comment<!--@if($comment->comment_srl)-->_{$comment->comment_srl}<!--@end-->"></a>
{@ $_comment_list = $oDocument->getComments() }
<!--@foreach($_comment_list as $key => $comment)-->
@ -35,7 +35,7 @@
<strong>{$comment->getRegdate('Y.m.d')}</strong> {$comment->getRegdate('H:i:s')}
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
({$comment->get('ipaddress')})
<!--@end-->
</div>
@ -51,7 +51,6 @@
<div class="replyContent">
<!--@if(!$comment->isAccessible())-->
<!--%import("filter/input_password.xml")-->
<div class="secretContent">
<form action="./" method="get" onsubmit="return procFilter(this, input_password)">
<input type="hidden" name="mid" value="{$mid}" />

View file

@ -7,7 +7,7 @@
<div class="author"><div class="member_{$oSourceComment->getMemberSrl()}">{$oSourceComment->getNickName()}</div></div>
<div class="date">
{$oSourceComment->getRegdate("Y.m.d H:i")}
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
({$oSourceComment->get('ipaddress')})
<!--@end-->
</div>
@ -25,7 +25,7 @@
<div class="author"><div class="member_{$oDocument->getMemberSrl()}">{$oDocument->getNickName()}</div></div>
<div class="date">
{$oDocument->getRegdate("Y.m.d H:i")}
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
({$oDocument->get('ipaddress')})
<!--@end-->
</div>
@ -39,7 +39,6 @@
<!--@end-->
<!-- 글쓰기 폼 -->
<!--%import("filter/insert_comment.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, insert_comment)" class="boardEditor" >
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$oComment->get('document_srl')}" />
@ -86,7 +85,7 @@
<div class="editor">{$oComment->getEditor()}</div>
<div class="commentButton tRight">
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','')}'"/></span>
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="location.href='{getUrl('act','','document_srl','')}'"/></span>
<span class="button"><input type="submit" value="{$lang->cmd_comment_registration}" accesskey="s" /></span>
</div>

View file

@ -333,3 +333,15 @@ h5 { padding:2px; }
.listWrite { margin-bottom:20px; }
.display_date { cursor:pointer; width:80px; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; height:1em; padding:3px; margin-right:10px;}
/* 확장 변수 폼 */
.extraVarsList tr td .text { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:90%; }
.extraVarsList tr td .email_address { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }
.extraVarsList tr td .homepage { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }
.extraVarsList tr td .tel { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:40px; margin-right:10px;}
.extraVarsList tr td .textarea { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:90%; height:80px; }
.extraVarsList tr td ul { margin:0; padding:0; list-style:none; }
.extraVarsList tr td ul li { display:inline-block; margin-right:10px; }
.extraVarsList tr td .date { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:100px; }
.extraVarsList tr td .address { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; margin-right:10px; width:300px; }

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_comment.xml")-->
<!--#include("header.html")-->
<div class="smallBox w268">

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_document.xml")-->
<!--#include("header.html")-->
<div class="smallBox w268">

View file

@ -1,4 +1,3 @@
<!--%import("filter/delete_trackback.xml")-->
<!--#include("header.html")-->
<div class="smallBox w268">

View file

@ -1,81 +0,0 @@
<!--// 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// type=select,checkbox이고 기본값이 , 로 연결되어 있으면 배열로 만든다 -->
<!--@if(in_array($val->type, array('select', 'checkbox')))-->
{@ $val->default = explode(',', $val->default) }
<!--@end-->
<!--// 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!--// 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 전화번호 -->
<!--@elseif($val->type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[0])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[1])}" size="4" class="inputTypeText" />
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value[2])}" size="4" class="inputTypeText" />
<!--// textarea -->
<!--@elseif($val->type == 'textarea')-->
<textarea name="{$val->column_name}" class="inputTypeTextArea w400">{htmlspecialchars($val->value)}</textarea>
<!--// 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if($val->default)-->
<ul style="padding:0;margin:0;list-style:none;">
<!--@foreach($val->default as $v)-->
<li><input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if($v==$val->value||is_array($val->value)&&in_array($v, $val->value))-->checked="checked"<!--@end-->/> {$v}</li>
<!--@end-->
</ul>
<!--@end-->
<!--// 단일 선택 -->
<!--@elseif($val->type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default)-->
<!--@foreach($val->default as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="selected"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<!--// datepicker javascript plugin load -->
<!--%load_js_plugin("ui.datepicker")-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -1,64 +0,0 @@
<!--// 이 파일은 extra_vars의 결과값을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// 확장변수의 이름을 지정 -->
{@ $val->column_name = "extra_vars".$key}
<!--// 확장변수의 값을 documentItem::getExtraValue로 가져옴 -->
{@ $val->value = $oDocument->getExtraValue($key)}
{@ $_tmp_value = array(); }
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
{htmlspecialchars($val->value)}
<!--// 홈페이지 주소 -->
<!--@elseif($val->type == 'homepage')-->
<!--@if($val->value)-->
<a href="{htmlspecialchars($val->value)}" onclick="window.open(this.href);return false;">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!--// Email 주소 -->
<!--@elseif($val->type == 'email_address')-->
<!--@if($val->value)-->
<a href="mailto:{htmlspecialchars($val->value)}">{$val->value}</a>
<!--@else-->
&nbsp;
<!--@end-->
<!--// 전화번호 -->
<!--@elseif($val->type == 'tel')-->
{htmlspecialchars($val->value[0])}
<!--@if($val->value[1])-->-<!--@end-->
{htmlspecialchars($val->value[1])}
<!--@if($val->value[2])-->-<!--@end-->
{htmlspecialchars($val->value[2])}
&nbsp;
<!--// textarea -->
<!--@elseif($val->type == 'textarea')-->
{nl2br(htmlspecialchars($val->value))}
&nbsp;
<!--// 다중 선택 -->
<!--@elseif($val->type == 'checkbox')-->
<!--@if(!is_array($val->value))-->{@ $val->value = array($val->value) }<!--@end-->
<!--@foreach($val->value as $v)-->
{@ $_tmp_value[] = htmlspecialchars($v)}
<!--@end-->
{implode(",",$_tmp_value)}
&nbsp;
<!--// 단일 선택 -->
<!--@elseif($val->type == 'select')-->
{htmlspecialchars($val->value)}
&nbsp;
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
{zdate($val->value,"Y-m-d")}
&nbsp;
<!--@end-->
<!--@if(!$val->value)-->&nbsp;<!--@end-->

View file

@ -1,18 +0,0 @@
<filter name="delete_comment" module="board" act="procBoardDeleteComment">
<form>
<node target="comment_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
</parameter>
<response callback_func="completeDeleteComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,16 +0,0 @@
<filter name="delete_document" module="board" act="procBoardDeleteDocument">
<form>
<node target="document_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
</parameter>
<response callback_func="completeDeleteDocument">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="page" />
</response>
</filter>

View file

@ -1,18 +0,0 @@
<filter name="delete_trackback" module="board" act="procBoardDeleteTrackback">
<form>
<node target="trackback_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="page" target="page" />
<param name="document_srl" target="document_srl" />
<param name="trackback_srl" target="trackback_srl" />
</parameter>
<response callback_func="completeDeleteTrackback">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,16 +0,0 @@
<filter name="input_password" module="board" act="procBoardVerificationPassword" >
<form>
<node target="document_srl" required="true" />
<node target="password" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
<param name="password" target="password" />
</parameter>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,16 +1,16 @@
<filter name="insert" module="board" act="procBoardInsertDocument" confirm_msg_code="confirm_submit">
<form>
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="content" required="true" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="category_srl" />
</response>
</filter>
<filter name="insert" module="board" act="procBoardInsertDocument" confirm_msg_code="confirm_submit">
<form>
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="content" required="true" minlength="1" />
<node target="category_srl" required="true" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="category_srl" />
</response>
</filter>

View file

@ -1,30 +0,0 @@
<filter name="insert_comment" module="board" act="procBoardInsertComment" confirm_msg_code="confirm_submit">
<form>
<node target="document_srl" required="true" />
<node target="nick_name" required="true" />
<node target="password" required="true" />
<node target="email_address" maxlength="250" />
<node target="homepage" maxlength="250"/>
<node target="content" required="true" minlength="1" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
<param name="comment_srl" target="comment_srl" />
<param name="parent_srl" target="parent_srl" />
<param name="nick_name" target="nick_name" />
<param name="password" target="password" />
<param name="email_address" target="email_address" />
<param name="homepage" target="homepage" />
<param name="content" target="content" />
<param name="is_secret" target="is_secret" />
<param name="notify_message" target="notify_message" />
</parameter>
<response callback_func="completeInsertComment">
<tag name="error" />
<tag name="message" />
<tag name="mid" />
<tag name="document_srl" />
<tag name="comment_srl" />
</response>
</filter>

View file

@ -1,15 +0,0 @@
<filter name="search" module="board">
<form>
<node target="search_target" required="true" />
<node target="search_keyword" minlegnth="2" maxlength="40" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="search_target" target="search_target" />
<param name="search_keyword" target="search_keyword" />
</parameter>
<response callback_func="completeSearch">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,13 +0,0 @@
<filter name="vote" module="board" act="procBoardVoteDocument" confirm_msg_code="confirm_vote">
<form>
<node target="document_srl" required="true" />
</form>
<parameter>
<param name="mid" target="mid" />
<param name="document_srl" target="document_srl" />
</parameter>
<response callback_func="completeVote">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,6 +1,3 @@
<!--// JS 파일 로드 -->
<!--%import("js/board.js")-->
<!--// 컬러셋 체크 -->
<!--@if(!$module_info->colorset)-->
{@$module_info->colorset = "white"}
@ -49,7 +46,7 @@
<!--@if($is_logged)-->
<!--// 관리자이면 설정 버튼 출력 -->
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
<li class="setup"><a href="{getUrl('act','dispBoardAdminBoardInfo')}">{$lang->cmd_setup}</a></li>
<!--@end-->

View file

@ -1,4 +1,3 @@
<!--%import("filter/input_password.xml")-->
<!--@if(!$form_include)--><!--#include("header.html")--><!--@end-->
sadf

View file

@ -1,116 +0,0 @@
/**
* @file modules/board/js/board.js
* @author zero (zero@nzeo.com)
* @brief board 모듈의 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('act','').setQuery('document_srl','').setQuery('rnd',document_srl);
if(category_srl) url = url.setQuery('category',category_srl);
location.href = url+'#document_'+document_srl;
}
/* 글 삭제 */
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();
}
function completeVote(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = location.href;
}
// 현재 페이지 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('document_srl','');
if(comment_srl) url = url.setQuery('rnd',comment_srl)+"#comment_"+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('document_srl','').setQuery('act','').setQuery('rnd',document_srl);
if(page) url = url.setQuery('page',page);
//alert(message);
location.href = url+'#document_'+document_srl;
}
/* 트랙백 삭제 */
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 = current_url.setQuery('mid',mid).setQuery('document_srl','').setQuery('act','');
if(page) url = url.setQuery('page',page);
//alert(message);
location.href = url;
}
/* 카테고리 이동 */
function doChangeCategory() {
var category_srl = jQuery('#board_category option:selected').val();
location.href = decodeURI(current_url).setQuery('category',category_srl);
}
/* 스크랩 */
function doScrap(document_srl) {
var params = new Array();
params["document_srl"] = document_srl;
exec_xml("member","procMemberScrapDocument", params, null);
}

View file

@ -1,9 +1,6 @@
<!--// header.html include -->
<!--#include("header.html")-->
<!--// 검색을 위한 xml filter import-->
<!--%import("filter/search.xml")-->
<!--// 선택된 게시물이 있고 권한이 있으면 내용 출력 -->
<!--// 글 쓰기 폼 출력 -->

View file

@ -29,7 +29,7 @@
<div class="date" title="{$lang->regdate}">
<strong>{$oDocument->getRegdate('Y.m.d')}</strong> {$oDocument->getRegdate('H:i:s')}
<!--@if($grant->is_admin)-->
<!--@if($grant->manager)-->
({$oDocument->get('ipaddress')})
<!--@end-->
</div>
@ -46,16 +46,11 @@
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<!--@foreach($oDocument->getExtraVars() as $key => $val)-->
<tr>
<th scope="row">{$val->name}</th>
<td>
<!--// 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
<!--#include("./extra_var_value.html")-->
</td>
<th>{$val->name}</th>
<td>{$val->getValueHTML()}</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
@ -65,7 +60,6 @@
<a name="document_{$oDocument->document_srl}"></a>
<!--@if($oDocument->isSecret() && !$oDocument->isGranted())-->
<!--%import("filter/input_password.xml")-->
<div class="secretContent">
<form action="./" method="get" onsubmit="return procFilter(this, input_password)">
<input type="hidden" name="mid" value="{$mid}" />

View file

@ -1,8 +1,9 @@
<!--@if($act=="dispBoardWrite")-->
<!--#include("header.html")-->
<!--@else-->
<!--%import("filter/insert.xml")-->
<!--@end-->
<!--%import("filter/insert.xml")-->
<form action="./" method="post" onsubmit="return procFilter(this, window.insert)" id="fo_write">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="content" value="{$oDocument->getContentText()}" />
@ -69,17 +70,15 @@
<!--@end-->
</dl>
<!--@if($module_info->extra_vars)-->
<!--@if($extra_keys)-->
<table cellspacing="0" summary="" class="extraVarsList">
<col width="150" />
<col />
<!--@foreach($module_info->extra_vars as $key => $val)-->
<!--@if($val->name)-->
<!--@foreach($extra_keys as $key => $val)-->
<tr>
<th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
<td><!--#include("./extra_var_form.html")--></td>
<td>{$val->getFormHTML()}</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->

View file

@ -6,8 +6,8 @@
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<table cellspacing="0" class="adminTable">
<caption>{$lang->confirm_delete}</caption>
<h3 class="xeAdmin">{$lang->confirm_delete}</h3>
<table cellspacing="0" class="rowTable">
<tr>
<th scope="row"><div>{$lang->module_name}</div></th>
<td class="wide">{$module_info->mid}</td>
@ -21,10 +21,10 @@
<td>{$module_info->document_count}</td>
</tr>
<tr>
<td colspan="2" class="right">
<a href="{getUrl('act','dispBoardAdminContent')}" class="button"><span>{$lang->cmd_back}</span></a>
<span class="button"><input type="submit" value="{$lang->cmd_delete}" /></span>
</td>
<th colspan="2" class="button">
<span class="button black strong"><input type="submit" value="{$lang->cmd_delete}" /></span>
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="history.back(); return false;" /></span>
</th>
</tr>
</table>

View file

@ -4,30 +4,28 @@
<form action="./" method="post" onsubmit="return procFilter(this, insert_board)" enctype="multipart/form-data">
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="module_srl" value="{$module_srl?$module_srl:$module_srls}" />
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<!--@if($module_info->is_default=='Y')-->
<input type="hidden" name="is_default" value="Y" />
<!--@end-->
<table cellspacing="0" class="adminTable">
<table cellspacing="0" class="rowTable">
<!--@if(!$module_srls)-->
<tr>
<th scope="row"><div>{$lang->mid}</div></th>
<td>
<input type="text" name="mid" value="{$module_info->mid}" class="inputTypeText w200" />
<p>{$lang->about_mid}</p>
</td>
</tr>
<!--@if($module_info->is_default!='Y')-->
<tr>
<th scope="row"><div>{$lang->is_default}</div></th>
<td>
<input type="checkbox" name="is_default" value="Y" <!--@if($module_info->is_default=='Y')-->checked="checked"<!--@end--> id="fld_for_default" class="checkbox" />
<label for="fld_for_default">{$lang->about_default}</label>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row"><div>{$lang->mid}</div></th>
<td>
<input type="text" name="mid" value="{$module_info->mid}" class="inputTypeText w200" />
<p>{$lang->about_mid}</p>
</td>
</tr>
<!--@if($module_info->is_default!='Y')-->
<tr>
<th scope="row"><div>{$lang->is_default}</div></th>
<td>
<input type="checkbox" name="is_default" value="Y" <!--@if($module_info->is_default=='Y')-->checked="checked"<!--@end--> id="fld_for_default" class="checkbox" />
<label for="fld_for_default">{$lang->about_default}</label>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row"><div>{$lang->module_category}</div></th>
@ -42,15 +40,14 @@
</td>
</tr>
<!--@if(!$module_srls)-->
<tr>
<th scope="row"><div>{$lang->browser_title}</div></th>
<td>
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText w400" />
<input type="text" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="inputTypeText w400" id="browser_title"/>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','browser_title')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<p>{$lang->about_browser_title}</p>
</td>
</tr>
<!--@end-->
<tr>
<th scope="row"><div>{$lang->layout}</div></th>
@ -154,95 +151,31 @@
<tr>
<th scope="row"><div>{$lang->description}</div></th>
<td>
<textarea name="description" class="inputTypeTextArea fixWidth">{htmlspecialchars($module_info->description)}</textarea>
<textarea name="description" class="inputTypeTextArea fullWidth">{htmlspecialchars($module_info->description)}</textarea>
<p>{$lang->about_description}</p>
</td>
</tr>
<tr>
<th scope="row"><div>{$lang->header_text}</div></th>
<td>
<textarea name="header_text" class="inputTypeTextArea fixWidth">{htmlspecialchars($module_info->header_text)}</textarea>
<textarea name="header_text" class="inputTypeTextArea fullWidth" id="header_text">{htmlspecialchars($module_info->header_text)}</textarea>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','header_text')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<p>{$lang->about_header_text}</p>
</td>
</tr>
<tr>
<th scope="row"><div>{$lang->footer_text}</div></th>
<td>
<textarea name="footer_text" class="inputTypeTextArea fixWidth">{htmlspecialchars($module_info->footer_text)}</textarea>
<textarea name="footer_text" class="inputTypeTextArea fullWidth" id="footer_text">{htmlspecialchars($module_info->footer_text)}</textarea>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','footer_text')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<p>{$lang->about_footer_text}</p>
</td>
</tr>
<tr>
<th scope="row"><div>{$lang->admin_id}</div></th>
<td>
<textarea name="admin_id" class="inputTypeTextArea fixWidth"><!--@if($module_info->admin_id)-->{implode(",",$module_info->admin_id)}<!--@end--></textarea>
<p>{$lang->about_admin_id}</p>
</td>
</tr>
<tr>
<td colspan="2" class="center">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
<th colspan="2" class="button">
<span class="button black strong"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
<span class="button"><input type="button" value="{$lang->cmd_back}" onclick="history.back(); return false;" /></span>
</td>
</th>
</table>
<!--@if(!$module_srls)-->
<!--@for($i=1;$i<=20;$i++)-->
<div class="gap1"></div>
{@ $extra_vars_name = ''}
{@ $extra_vars_type = ''}
{@ $extra_vars_is_required = ''}
{@ $extra_vars_default_value = ''}
{@ $extra_vars_desc = ''}
{@ $extra_vars_search = ''}
<!--@if($module_info->extra_vars[$i])-->
{@ $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}
{@ $extra_vars_default_value = $module_info->extra_vars[$i]->default}
{@ $extra_vars_desc = $module_info->extra_vars[$i]->desc}
{@ $extra_vars_search = $module_info->extra_vars[$i]->search}
<!--@end-->
<table cellspacing="0" class="adminTable ">
<caption>{$lang->extra_vars} {$i}</caption>
<tr>
<th><div>{$lang->column_name}</div></th>
<td class="wide"><input type="text" name="extra_vars_{$i}_name" value="{$extra_vars_name}" class="inputTypeText w200" /> </td>
</tr>
<tr>
<th><div>{$lang->column_type}</div></th>
<td>
<select name="extra_vars_{$i}_type">
<!--@foreach($lang->column_type_list as $key => $val)-->
<!--@if($key != 'kr_zip')-->
<option value="{$key}" <!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
<!--@end-->
<!--@end-->
</select>
</td>
</tr>
<tr>
<th><div>{$lang->is_required}</div></th>
<td><input type="checkbox" name="extra_vars_{$i}_is_required" value="Y" <!--@if($extra_vars_is_required=='Y')-->checked="checked"<!--@end--> /></td>
</tr>
<tr>
<th><div>{$lang->default_value}</div></th>
<td><input type="text" name="extra_vars_{$i}_default" value="{$extra_vars_default_value}" class="inputTypeText w400" /><p>{$lang->about_extra_vars_default_value}</p></td>
</tr>
<tr>
<th><div>{$lang->description}</div></th>
<td><input type="text" name="extra_vars_{$i}_desc" value="{$extra_vars_desc}" class="inputTypeText w400" /></td>
</tr>
<tr>
<th><div>{$lang->cmd_search}</div></th>
<td><input type="checkbox" name="extra_vars_{$i}_search" value="Y" <!--@if($extra_vars_search=='Y')-->checked="checked"<!--@end--> /></td>
</tr>
<tr>
<td colspan="2" class="right"><span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span></div></th>
</tr>
</table>
<!--@end-->
<!--@end-->
</form>

View file

@ -1,50 +0,0 @@
<input type="hidden" name="category_srl" value="{$category_info->category_srl}" />
<input type="hidden" name="parent_srl" value="{$category_info->parent_srl}" />
<table cellspacing="0" class="adminTable">
<!--@if($category_info->parent_category_title)-->
<tr>
<th scope="row"><div>{$lang->parent_category_title}</div></th>
<td class="wide">{$category_info->parent_category_title}</td>
</tr>
<!--@end-->
<tr>
<th scope="row"><div>{$lang->category_title}</div></th>
<td>
<input type="text" name="category_title" value="{htmlspecialchars($category_info->title)}" class="inputTypeText" />
<p>{$lang->about_category_title}</p>
</td>
</tr>
<tr>
<th scope="row"><div>{$lang->category_color}</div></th>
<td>
<input type="text" name="category_color" value="{htmlspecialchars($category_info->color)}" class="inputTypeText" />
<p>{$lang->about_category_color}</p>
</td>
</tr>
<tr>
<th scope="row"><div>{$lang->expand}</div></th>
<td>
<input type="checkbox" name="expand" value="Y" <!--@if($category_info->expand=="Y")-->checked="checked"<!--@end--> class="checkbox" />
<p>{$lang->about_expand}</p>
</td>
</tr>
<tr >
<th scope="row2"><div>{$lang->category_group_srls} <input type="checkbox" onclick="XE.checkboxToggleAll('group_srls'); return false;" /></div></th>
<td>
<!--@foreach($group_list as $key=>$val)-->
<div><input type="checkbox" name="group_srls" value="{$key}" id="group_{$key}" <!--@if(is_array($category_info->group_srls)&&in_array($key, $category_info->group_srls))-->checked="checked"<!--@end--> class="checkbox" /> <label for="group_{$key}">{$val->title}</label></div>
<!--@end-->
<p>{$lang->about_category_group_srls}</p>
</td>
</tr>
<tr>
<td scope="row" colspan="2" class="right">
<span class="button green"><input type="submit" value="{$lang->cmd_save}" /></span>
<span class="button red"><input type="button" onclick="hideCategoryInfo();return false" value="{$lang->cmd_close}" /></span>
</td>
</tr>
</table>

View file

@ -1,41 +1,3 @@
<!--#include("./header.html")-->
<!--%import("filter/insert_category.xml")-->
<!--%import("filter/delete_category.xml")-->
<!--%import("filter/move_category.xml")-->
<!--// tree javascript plugin load -->
<!--%load_js_plugin("ui.tree")-->
<!--%import("js/board_admin.js")-->
<!--%import("js/board_category.js")-->
<script type="text/javascript">
var category_title = "{$lang->category}";
</script>
<h3>{$lang->board} <span class="gray">{$lang->cmd_management}</span></h3>
<div class="infoText">{nl2br($lang->about_board_category)}
</div>
<span style="float:right"><a href="#" onclick="doReloadTreeCategory('{$module_info->module_srl}');return false;" class="button"><span>{$lang->cmd_remake_cache}</span></a></span>
<div class="gap1">
<form id="fo_category" action="./" method="get" onsubmit="return procFilter(this, insert_category)">
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<input type="hidden" name="xml_file" value="{$category_xml_file}" />
<div id="menu">
<ul class="simpleTree">
<li class="root" id='tree_0'><span>{$lang->category}</span></li>
</ul>
</div>
<div id="category_info"></div>
</form>
</div>
<script type="text/javascript">
var simpleTreeCollection;
var max_menu_depth = 999;
var lang_confirm_delete = "{$lang->confirm_delete}";
var xml_url = "{$category_xml_file}";
Tree(xml_url);
</script>
{$category_content}

View file

@ -1,28 +0,0 @@
<!--%import("filter/update_category.xml")-->
<!--#include("./header.html")-->
<!-- 카테고리 수정 -->
<!--@if($selected_category)-->
<form action="./" method="post" onsubmit="return procFilter(this, update_category)" enctype="multipart/form-data">
<input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="category_srl" value="{$selected_category->category_srl}" />
<input type="hidden" name="mode" value="update" />
<table cellspacing="0" class="adminTable">
<col width="150" />
<col />
<col width="100" />
<tr>
<th scope="row">{$lang->category_title}</th>
<td>
<input type="text" name="category_title" class="inputTypeText w100" value="{htmlspecialchars($selected_category->title)}" />
</td>
<th scope="row" class="centerButton">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
</th>
</tr>
</table>
</form>
<!--@end-->

View file

@ -1,11 +1,11 @@
@charset "utf-8";
body { margin:10px; }
.aboutListConfig { border:1px solid #ccc; padding:5px; line-height:160%; margin-bottom:20px; }
.menuListZone { table-layout:fixed; }
.menuListZone td { vertical-align:top; }
.menuListZone td.category_zone { padding-right:10px; }
.targetItem strong , .displayItem strong { margin-bottom:5px; display:block;}
.targetItem { float:left; width:250px; overflow:hidden; *zoom:1; margin-left:30px; }
.displayItem { float:left; width:250px; overflow:hidden; *zoom:1; }
.displayItem select, .targetItem select { width:99%; overflow:hidden; *zoom:1;}
#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; }
.displayButton { float:left; width:40px; text-align:center; margin-top:80px; }
.displayButton a { margin-bottom:10px; }

View file

@ -0,0 +1,3 @@
<!--#include("./header.html")-->
{$extra_vars_content}

View file

@ -1,11 +0,0 @@
<filter name="delete_category" module="board" act="procBoardAdminDeleteCategory" confirm_msg_code="confirm_delete">
<form>
<node target="category_srl" required="true" />
</form>
<response callback_func="completeDeleteCategory">
<tag name="error" />
<tag name="message" />
<tag name="xml_file" />
<tag name="category_srl" />
</response>
</filter>

View file

@ -6,6 +6,7 @@
<node target="homepage" maxlength="250"/>
<node target="title" required="true" minlength="1" maxlength="250" />
<node target="content" required="true" />
<node target="category_srl" required="true" />
</form>
<response callback_func="completeDocumentInserted">
<tag name="error" />

View file

@ -27,127 +27,6 @@
<param name="description" target="description" />
<param name="header_text" target="header_text" />
<param name="footer_text" target="footer_text" />
<param name="admin_id" target="admin_id" />
<param name="extra_vars_1_name" target="extra_vars_1_name" />
<param name="extra_vars_1_type" target="extra_vars_1_type" />
<param name="extra_vars_1_is_required" target="extra_vars_1_is_required" />
<param name="extra_vars_1_search" target="extra_vars_1_search" />
<param name="extra_vars_1_default" target="extra_vars_1_default" />
<param name="extra_vars_1_desc" target="extra_vars_1_desc" />
<param name="extra_vars_2_name" target="extra_vars_2_name" />
<param name="extra_vars_2_type" target="extra_vars_2_type" />
<param name="extra_vars_2_is_required" target="extra_vars_2_is_required" />
<param name="extra_vars_2_search" target="extra_vars_2_search" />
<param name="extra_vars_2_default" target="extra_vars_2_default" />
<param name="extra_vars_2_desc" target="extra_vars_2_desc" />
<param name="extra_vars_3_name" target="extra_vars_3_name" />
<param name="extra_vars_3_type" target="extra_vars_3_type" />
<param name="extra_vars_3_is_required" target="extra_vars_3_is_required" />
<param name="extra_vars_3_search" target="extra_vars_3_search" />
<param name="extra_vars_3_default" target="extra_vars_3_default" />
<param name="extra_vars_3_desc" target="extra_vars_3_desc" />
<param name="extra_vars_4_name" target="extra_vars_4_name" />
<param name="extra_vars_4_type" target="extra_vars_4_type" />
<param name="extra_vars_4_is_required" target="extra_vars_4_is_required" />
<param name="extra_vars_4_search" target="extra_vars_4_search" />
<param name="extra_vars_4_default" target="extra_vars_4_default" />
<param name="extra_vars_4_desc" target="extra_vars_4_desc" />
<param name="extra_vars_5_name" target="extra_vars_5_name" />
<param name="extra_vars_5_type" target="extra_vars_5_type" />
<param name="extra_vars_5_is_required" target="extra_vars_5_is_required" />
<param name="extra_vars_5_search" target="extra_vars_5_search" />
<param name="extra_vars_5_default" target="extra_vars_5_default" />
<param name="extra_vars_5_desc" target="extra_vars_5_desc" />
<param name="extra_vars_6_name" target="extra_vars_6_name" />
<param name="extra_vars_6_type" target="extra_vars_6_type" />
<param name="extra_vars_6_is_required" target="extra_vars_6_is_required" />
<param name="extra_vars_6_search" target="extra_vars_6_search" />
<param name="extra_vars_6_default" target="extra_vars_6_default" />
<param name="extra_vars_6_desc" target="extra_vars_6_desc" />
<param name="extra_vars_7_name" target="extra_vars_7_name" />
<param name="extra_vars_7_type" target="extra_vars_7_type" />
<param name="extra_vars_7_is_required" target="extra_vars_7_is_required" />
<param name="extra_vars_7_search" target="extra_vars_7_search" />
<param name="extra_vars_7_default" target="extra_vars_7_default" />
<param name="extra_vars_7_desc" target="extra_vars_7_desc" />
<param name="extra_vars_8_name" target="extra_vars_8_name" />
<param name="extra_vars_8_type" target="extra_vars_8_type" />
<param name="extra_vars_8_is_required" target="extra_vars_8_is_required" />
<param name="extra_vars_8_search" target="extra_vars_8_search" />
<param name="extra_vars_8_default" target="extra_vars_8_default" />
<param name="extra_vars_8_desc" target="extra_vars_8_desc" />
<param name="extra_vars_9_name" target="extra_vars_9_name" />
<param name="extra_vars_9_type" target="extra_vars_9_type" />
<param name="extra_vars_9_is_required" target="extra_vars_9_is_required" />
<param name="extra_vars_9_search" target="extra_vars_9_search" />
<param name="extra_vars_9_default" target="extra_vars_9_default" />
<param name="extra_vars_9_desc" target="extra_vars_9_desc" />
<param name="extra_vars_10_name" target="extra_vars_10_name" />
<param name="extra_vars_10_type" target="extra_vars_10_type" />
<param name="extra_vars_10_is_required" target="extra_vars_10_is_required" />
<param name="extra_vars_10_search" target="extra_vars_10_search" />
<param name="extra_vars_10_default" target="extra_vars_10_default" />
<param name="extra_vars_10_desc" target="extra_vars_10_desc" />
<param name="extra_vars_11_name" target="extra_vars_11_name" />
<param name="extra_vars_11_type" target="extra_vars_11_type" />
<param name="extra_vars_11_is_required" target="extra_vars_11_is_required" />
<param name="extra_vars_11_search" target="extra_vars_11_search" />
<param name="extra_vars_11_default" target="extra_vars_11_default" />
<param name="extra_vars_11_desc" target="extra_vars_11_desc" />
<param name="extra_vars_12_name" target="extra_vars_12_name" />
<param name="extra_vars_12_type" target="extra_vars_12_type" />
<param name="extra_vars_12_is_required" target="extra_vars_12_is_required" />
<param name="extra_vars_12_search" target="extra_vars_12_search" />
<param name="extra_vars_12_default" target="extra_vars_12_default" />
<param name="extra_vars_12_desc" target="extra_vars_12_desc" />
<param name="extra_vars_13_name" target="extra_vars_13_name" />
<param name="extra_vars_13_type" target="extra_vars_13_type" />
<param name="extra_vars_13_is_required" target="extra_vars_13_is_required" />
<param name="extra_vars_13_search" target="extra_vars_13_search" />
<param name="extra_vars_13_default" target="extra_vars_13_default" />
<param name="extra_vars_13_desc" target="extra_vars_13_desc" />
<param name="extra_vars_14_name" target="extra_vars_14_name" />
<param name="extra_vars_14_type" target="extra_vars_14_type" />
<param name="extra_vars_14_is_required" target="extra_vars_14_is_required" />
<param name="extra_vars_14_search" target="extra_vars_14_search" />
<param name="extra_vars_14_default" target="extra_vars_14_default" />
<param name="extra_vars_14_desc" target="extra_vars_14_desc" />
<param name="extra_vars_15_name" target="extra_vars_15_name" />
<param name="extra_vars_15_type" target="extra_vars_15_type" />
<param name="extra_vars_15_is_required" target="extra_vars_15_is_required" />
<param name="extra_vars_15_search" target="extra_vars_15_search" />
<param name="extra_vars_15_default" target="extra_vars_15_default" />
<param name="extra_vars_15_desc" target="extra_vars_15_desc" />
<param name="extra_vars_16_name" target="extra_vars_16_name" />
<param name="extra_vars_16_type" target="extra_vars_16_type" />
<param name="extra_vars_16_is_required" target="extra_vars_16_is_required" />
<param name="extra_vars_16_search" target="extra_vars_16_search" />
<param name="extra_vars_16_default" target="extra_vars_16_default" />
<param name="extra_vars_16_desc" target="extra_vars_16_desc" />
<param name="extra_vars_17_name" target="extra_vars_17_name" />
<param name="extra_vars_17_type" target="extra_vars_17_type" />
<param name="extra_vars_17_is_required" target="extra_vars_17_is_required" />
<param name="extra_vars_17_search" target="extra_vars_17_search" />
<param name="extra_vars_17_default" target="extra_vars_17_default" />
<param name="extra_vars_17_desc" target="extra_vars_17_desc" />
<param name="extra_vars_18_name" target="extra_vars_18_name" />
<param name="extra_vars_18_type" target="extra_vars_18_type" />
<param name="extra_vars_18_is_required" target="extra_vars_18_is_required" />
<param name="extra_vars_18_search" target="extra_vars_18_search" />
<param name="extra_vars_18_default" target="extra_vars_18_default" />
<param name="extra_vars_18_desc" target="extra_vars_18_desc" />
<param name="extra_vars_19_name" target="extra_vars_19_name" />
<param name="extra_vars_19_type" target="extra_vars_19_type" />
<param name="extra_vars_19_is_required" target="extra_vars_19_is_required" />
<param name="extra_vars_19_search" target="extra_vars_19_search" />
<param name="extra_vars_19_default" target="extra_vars_19_default" />
<param name="extra_vars_19_desc" target="extra_vars_19_desc" />
<param name="extra_vars_20_name" target="extra_vars_20_name" />
<param name="extra_vars_20_type" target="extra_vars_20_type" />
<param name="extra_vars_20_is_required" target="extra_vars_20_is_required" />
<param name="extra_vars_20_search" target="extra_vars_20_search" />
<param name="extra_vars_20_default" target="extra_vars_20_default" />
<param name="extra_vars_20_desc" target="extra_vars_20_desc" />
</parameter>
<response callback_func="completeInsertBoard">
<tag name="error" />

View file

@ -1,24 +0,0 @@
<filter name="insert_category" module="board" act="procBoardAdminInsertCategory" confirm_msg_code="confirm_submit">
<form>
<node target="module_srl" required="true" />
<node target="category_srl" required="true" />
<node target="category_title" required="true" />
</form>
<parameter>
<param name="module_srl" target="module_srl" />
<param name="category_srl" target="category_srl" />
<param name="parent_srl" target="parent_srl" />
<param name="title" target="category_title" />
<param name="color" target="category_color" />
<param name="expand" target="expand" />
<param name="group_srls" target="group_srls" />
</parameter>
<response callback_func="completeInsertCategory">
<tag name="error" />
<tag name="message" />
<tag name="module_srl" />
<tag name="category_srl" />
<tag name="parent_srl" />
<tag name="xml_file" />
</response>
</filter>

Some files were not shown because too many files have changed in this diff Show more