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

This commit is contained in:
zero 2007-03-30 06:48:43 +00:00
parent 22c70bff60
commit 13901b88c8
32 changed files with 888 additions and 862 deletions

View file

@ -11,9 +11,34 @@
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// member 에서 사용할 cache디렉토리 생성
FileHandler::makeDir('./files/attach/image_name');
FileHandler::makeDir('./files/attach/image_mark');
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberInfo');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminList');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminConfig');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminInsert');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminDeleteForm');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminGroupList');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminJoinFormList');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminInfo');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminInsertJoinForm');
$oModuleController->insertActionFoward('member', 'view', 'dispMemberAdminDeniedIDList');
$oModuleController->insertActionFoward('member', 'model', 'getmemberMenu');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberLogin');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberLogout');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberInsertImageName');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberInsertImageMark');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberDeleteImageName');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberDeleteImageMark');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminInsert');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminDelete');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminInsertConfig');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminInsertGroup');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminUpdateGroup');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminInsertJoinForm');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminUpdateJoinForm');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminInsertDeniedID');
$oModuleController->insertActionFoward('member', 'controller', 'procMemberAdminUpdateDeniedID');
// 멤버 컨트롤러 객체 생성
$oMemberController = &getController('member');
@ -47,9 +72,13 @@
$oMemberController->insertDeniedID('http','');
// 로그인 처리시킴
$output = $oMemberController->procLogin($admin_info->user_id, $admin_info->password);
$output = $oMemberController->procMemberLogin($admin_info->user_id, $admin_info->password);
if(!$output) return $output;
// member 에서 사용할 cache디렉토리 생성
FileHandler::makeDir('./files/attach/image_name');
FileHandler::makeDir('./files/attach/image_mark');
return new Object();
}

View file

@ -16,7 +16,7 @@
/**
* @brief user_id, password를 체크하여 로그인 시킴
**/
function procLogin($user_id, $password) {
function procMemberLogin($user_id, $password) {
// 변수 정리
if(!$user_id) $user_id = Context::get('user_id');
$user_id = trim($user_id);
@ -63,7 +63,7 @@
/**
* @brief 로그아웃
**/
function procLogout() {
function procMemberLogout() {
$_SESSION['is_logged'] = false;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['logged_info'] = NULL;
@ -76,7 +76,7 @@
/**
* @brief 사용자 추가 (관리자용)
**/
function procInsert() {
function procMemberAdminInsert() {
// 필수 정보들을 미리 추출
$args = Context::gets('member_srl','user_id','user_name','nick_name','email_address','password','allow_mailing','denied','is_admin','signature','profile_image','image_nick','image_mark','description','group_srl_list');
@ -119,7 +119,7 @@
/**
* @brief 사용자 삭제 (관리자용)
**/
function procDelete() {
function procMemberAdminDelete() {
// 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리
$member_srl = Context::get('member_srl');
@ -133,7 +133,7 @@
/**
* @brief 회원 관리용 기본 정보의 추가
**/
function procInsertConfig() {
function procMemberAdminInsertConfig() {
// 기본 정보를 받음
$args = Context::gets('enable_join','redirect_url','agreement','image_name','image_mark', 'image_name_max_width', 'image_name_max_height','image_mark_max_width','image_mark_max_height');
if($args->enable_join!='Y') $args->enable_join = 'N';
@ -149,7 +149,7 @@
/**
* @brief 사용자 그룹 추가
**/
function procInsertGroup() {
function procMemberAdminInsertGroup() {
$args = Context::gets('title','description','is_default');
$output = $this->insertGroup($args);
if(!$output->toBool()) return $output;
@ -162,7 +162,7 @@
/**
* @brief 사용자 그룹 정보 수정
**/
function procUpdateGroup() {
function procMemberAdminUpdateGroup() {
$group_srl = Context::get('group_srl');
$mode = Context::get('mode');
@ -188,7 +188,7 @@
/**
* @brief 가입 항목 추가
**/
function procInsertJoinForm() {
function procMemberAdminInsertJoinForm() {
$oDB = &DB::getInstance();
$args->member_join_form_srl = Context::get('member_join_form_srl');
@ -224,7 +224,7 @@
/**
* @brief 가입 항목의 / 이동 내용 수정
**/
function procUpdateJoinForm() {
function procMemberAdminUpdateJoinForm() {
$member_join_form_srl = Context::get('member_join_form_srl');
$mode = Context::get('mode');
@ -252,7 +252,7 @@
/**
* @brief 금지 아이디 추가
**/
function procInsertDeniedID() {
function procMemberAdminInsertDeniedID() {
$user_id = Context::get('user_id');
$description = Context::get('description');
@ -268,7 +268,7 @@
/**
* @brief 금지 아이디 업데이트
**/
function procUpdateDeniedID() {
function procMemberAdminUpdateDeniedID() {
$user_id = Context::get('user_id');
$mode = Context::get('mode');
@ -286,6 +286,181 @@
$this->setMessage($msg_code);
}
/**
* @brief 이미지 이름을 추가
**/
function procMemberInsertImageName() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_name'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_name');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_name');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_name');
// 회원 모듈 설정에서 이미지 이름 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_name != 'Y') return $this->stop('msg_not_uploaded_image_name');
// 정해진 사이즈를 구함
$max_width = $config->image_name_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_name_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_name');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
@unlink($file['tmp_name']);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 이름을 삭제
**/
function procMemberDeleteImageName() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->image_mark == 'N') return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_name = $oMemberModel->getImageName($member_srl);
@unlink($image_name->file);
}
return new Object(0,'success');
}
/**
* @brief 이미지 마크를 추가
**/
function procMemberInsertImageMark() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_mark'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_mark');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_mark');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_mark');
// 회원 모듈 설정에서 이미지 마크 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_mark != 'Y') return $this->stop('msg_not_uploaded_image_mark');
// 정해진 사이즈를 구함
$max_width = $config->image_mark_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_mark_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_mark');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 마크를 삭제
**/
function procMemberDeleteImageMark() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_mark = $oMemberModel->getImageMark($member_srl);
@unlink($image_mark->file);
}
return new Object(0,'success');
}
/**
* @brief 관리자를 추가한다
**/
@ -657,181 +832,6 @@
return new Object();
}
/**
* @brief 이미지 이름을 추가
**/
function procInsertImageName() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_name'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_name');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_name');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_name');
// 회원 모듈 설정에서 이미지 이름 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_name != 'Y') return $this->stop('msg_not_uploaded_image_name');
// 정해진 사이즈를 구함
$max_width = $config->image_name_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_name_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_name');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
@unlink($file['tmp_name']);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 이름을 삭제
**/
function procDeleteImageName() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->image_mark == 'N') return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_name = $oMemberModel->getImageName($member_srl);
@unlink($image_name->file);
}
return new Object(0,'success');
}
/**
* @brief 이미지 마크를 추가
**/
function procInsertImageMark() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_mark'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_mark');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_mark');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_mark');
// 회원 모듈 설정에서 이미지 마크 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_mark != 'Y') return $this->stop('msg_not_uploaded_image_mark');
// 정해진 사이즈를 구함
$max_width = $config->image_mark_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_mark_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_mark');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 마크를 삭제
**/
function procDeleteImageMark() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_mark = $oMemberModel->getImageMark($member_srl);
@unlink($image_mark->file);
}
return new Object(0,'success');
}
/**
* @brief 최종 출력물에서 이미지 이름을 변경
* imgae_name 애드온에서 요청이

View file

@ -20,6 +20,60 @@
function init() {
}
/**
* @brief 선택된 회원의 간단한 메뉴를 표시
**/
function getMemberMenu() {
// 요청된 회원 번호와 현재 사용자의 로그인 정보 구함
$member_srl = Context::get('member_srl');
$mid = Context::get('cur_mid');
$module = Context::get('cur_module');
$logged_info = Context::get('logged_info');
// 자신의 아이디를 클릭한 경우
if($member_srl == $logged_info->member_srl) {
$member_info = $logged_info;
// 다른 사람의 아이디를 클릭한 경우
} else {
// 회원의 정보를 구함
$member_info = $this->getMemberInfoByMemberSrl($member_srl);
}
// 변수 정리
$user_id = $member_info->user_id;
$user_name = $member_info->user_name;
$email_address = $member_info->email_address;
// menu_list 에 "표시할글,target,url" 을 배열로 넣는다
$menu_list = array();
// 게시판이나 블로그등일 경우는 특별 옵션 지정
if($mid) {
// 회원 정보 보기
$menu_str = Context::getLang('cmd_view_member_info');
$menu_url = sprintf('./?mid=%s&act=dispSignUpForm&member_srl=%s', $mid, $member_srl);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
// 아이디로 검색
$menu_str = Context::getLang('cmd_view_own_document');
$menu_url = sprintf('./?mid=%s&search_target=user_id&search_keyword=%s', $mid, $user_id);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
}
// 다른 사람의 아이디를 클릭한 경우 (메일, 쪽지 보내기등은 다른 사람에게만 보내는거로 설정)
if($member_srl != $logged_info->member_srl) {
// 메일 보내기
$menu_str = Context::getLang('cmd_send_email');
$menu_url = sprintf('%s <%s>', $user_name, $email_address);
$menu_list[] = sprintf('%s,sendMailTo(\'%s\')', $menu_str, $menu_url);
}
// 정보를 저장
$this->add("menu_list", implode("\n",$menu_list));
}
/**
* @brief 로그인 되어 있는지에 대한 체크
**/
@ -454,59 +508,5 @@
$info->file = './'.$image_mark_file;
return $info;
}
/**
* @brief 선택된 회원의 간단한 메뉴를 표시
**/
function getMemberMenu() {
// 요청된 회원 번호와 현재 사용자의 로그인 정보 구함
$member_srl = Context::get('member_srl');
$mid = Context::get('cur_mid');
$module = Context::get('cur_module');
$logged_info = Context::get('logged_info');
// 자신의 아이디를 클릭한 경우
if($member_srl == $logged_info->member_srl) {
$member_info = $logged_info;
// 다른 사람의 아이디를 클릭한 경우
} else {
// 회원의 정보를 구함
$member_info = $this->getMemberInfoByMemberSrl($member_srl);
}
// 변수 정리
$user_id = $member_info->user_id;
$user_name = $member_info->user_name;
$email_address = $member_info->email_address;
// menu_list 에 "표시할글,target,url" 을 배열로 넣는다
$menu_list = array();
// 게시판이나 블로그등일 경우는 특별 옵션 지정
if($mid) {
// 회원 정보 보기
$menu_str = Context::getLang('cmd_view_member_info');
$menu_url = sprintf('./?mid=%s&amp;act=dispSignUpForm&amp;member_srl=%s', $mid, $member_srl);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
// 아이디로 검색
$menu_str = Context::getLang('cmd_view_own_document');
$menu_url = sprintf('./?mid=%s&amp;search_target=user_id&amp;search_keyword=%s', $mid, $user_id);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
}
// 다른 사람의 아이디를 클릭한 경우 (메일, 쪽지 보내기등은 다른 사람에게만 보내는거로 설정)
if($member_srl != $logged_info->member_srl) {
// 메일 보내기
$menu_str = Context::getLang('cmd_send_email');
$menu_url = sprintf('%s <%s>', $user_name, $email_address);
$menu_list[] = sprintf('%s,sendMailTo(\'%s\')', $menu_str, $menu_url);
}
// 정보를 저장
$this->add("menu_list", implode("\n",$menu_list));
}
}
?>

View file

@ -61,7 +61,7 @@
/**
* @brief 회원 정보 출력
**/
function dispMember() {
function dispMemberInfo() {
$this->initNormal();
$oMemberModel = &getModel('member');
@ -74,7 +74,7 @@
/**
* @brief 회원 가입 출력
**/
function dispSignUpForm() {
function dispMemberSignUpForm() {
$this->initNormal();
$oMemberModel = &getModel('member');
@ -101,7 +101,7 @@
/**
* @brief 로그인 출력
**/
function dispLoginForm() {
function dispMemberLoginForm() {
$this->initNormal();
// 템플릿 파일 지정
@ -111,7 +111,7 @@
/**
* @brief 로그아웃 출력
**/
function dispLogout() {
function dispMemberLogout() {
$this->initNormal();
// 템플릿 파일 지정
@ -121,7 +121,7 @@
/**
* @brief 회원 목록 출력
**/
function dispMemberList() {
function dispMemberAdminList() {
// member model 객체 생성후 목록을 구해옴
$oMemberModel = &getModel('member');
@ -141,7 +141,7 @@
/**
* @brief 회원 관리에 필요한 기본 설정들
**/
function dispModuleConfig() {
function dispMemberAdminConfig() {
// 설정 정보를 받아옴 (module model 객체를 이용)
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
@ -162,7 +162,7 @@
/**
* @brief 회원 정보 출력
**/
function dispMemberInfo() {
function dispMemberAdminInfo() {
// 추가 가입폼 목록을 받음
$oMemberModel = &getModel('member');
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
@ -173,7 +173,7 @@
/**
* @brief 회원 정보 입력 화면 출력
**/
function dispMemberInsert() {
function dispMemberAdminInsert() {
// 추가 가입폼 목록을 받음
$oMemberModel = &getModel('member');
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
@ -185,7 +185,7 @@
/**
* @brief 회원 삭제 화면 출력
**/
function dispDeleteForm() {
function dispMemberAdminDeleteForm() {
if(!Context::get('member_srl')) return $this->dispContent();
$this->setTemplateFile('delete_form');
}
@ -193,7 +193,7 @@
/**
* @brief 그룹 목록 출력
**/
function dispGroupList() {
function dispMemberAdminGroupList() {
$group_srl = Context::get('group_srl');
if($group_srl && $this->group_list[$group_srl]) {
@ -207,7 +207,7 @@
/**
* @brief 회원 가입 목록 출력
**/
function dispJoinFormList() {
function dispMemberAdminJoinFormList() {
// 멤버모델 객체 생성
$oMemberModel = &getModel('member');
@ -221,7 +221,7 @@
/**
* @brief 회원 가입 관리 화면 출력
**/
function dispInsertJoinForm() {
function dispMemberAdminInsertJoinForm() {
// 수정일 경우 대상 join_form의 값을 구함
$member_join_form_srl = Context::get('member_join_form_srl');
if($member_join_form_srl) {
@ -236,7 +236,7 @@
/**
* @brief 금지 목록 아이디 출력
**/
function dispDeniedIDList() {
function dispMemberAdminDeniedIDList() {
// 멤버모델 객체 생성
$oMemberModel = &getModel('member');

View file

@ -1,24 +1,24 @@
<filter name="insert" module="member" act="procInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" minlength="3" maxlength="20" filter="userid" />
<node target="password1" required="true" minlength="6" maxlength="20" />
<node target="password2" required="true" minlength="6" maxlength="20" equalto="password1" />
<node target="user_name" required="true" minlength="2" maxlength="20" />
<node target="nick_name" required="true" minlength="2" maxlength="20" />
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="accept_agreement" target="accept_agreement" />
<param name="member_srl" target="member_srl" />
<param name="user_id" target="user_id" />
<param name="password" target="password1" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="allow_mailing" target="allow_mailing" />
<param name="email_address" target="email_address" />
</parameter>
<response callback_func="completeInsert">
<tag name="error" />
<tag name="message" />
</response>
<filter name="insert" module="member" act="procMemberInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" minlength="3" maxlength="20" filter="userid" />
<node target="password1" required="true" minlength="6" maxlength="20" />
<node target="password2" required="true" minlength="6" maxlength="20" equalto="password1" />
<node target="user_name" required="true" minlength="2" maxlength="20" />
<node target="nick_name" required="true" minlength="2" maxlength="20" />
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="accept_agreement" target="accept_agreement" />
<param name="member_srl" target="member_srl" />
<param name="user_id" target="user_id" />
<param name="password" target="password1" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="allow_mailing" target="allow_mailing" />
<param name="email_address" target="email_address" />
</parameter>
<response callback_func="completeInsert">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,16 +1,16 @@
<filter name="login" module="board" act="procLogin">
<form>
<node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" />
</form>
<parameter>
<param name="user_id" target="user_id" />
<param name="password" target="password" />
<param name="mid" target="mid" />
<param name="act" target="act" />
</parameter>
<response>
<tag name="error" />
<tag name="message" />
</response>
<filter name="login" module="board" act="procMemberLogin">
<form>
<node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" />
</form>
<parameter>
<param name="user_id" target="user_id" />
<param name="password" target="password" />
<param name="mid" target="mid" />
<param name="act" target="act" />
</parameter>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,7 +1,7 @@
<filter name="logout" module="board" act="procLogout">
<form />
<response>
<tag name="error" />
<tag name="message" />
</response>
<filter name="logout" module="board" act="procMemberLogout">
<form />
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -3,11 +3,11 @@
<!--%import("js/member.js")-->
<div>
<!--@if(!$is_logged)-->
{$lang->msg_new_member}
<!--@else-->
{$lang->msg_update_member}
<!--@end-->
<!--@if(!$is_logged)-->
{$lang->msg_new_member}
<!--@else-->
{$lang->msg_update_member}
<!--@end-->
</div>
<form id="fo_insert_member" action="./" method="get" onsubmit="return procFilter(this, insert)">
@ -19,184 +19,184 @@
<input type="hidden" name="user_id" value="{$member_info->user_id}" />
<!--@end-->
<!--@if(!$is_logged && $member_config->agreement)-->
<div>
<table border="1">
<tr>
<td>{nl2br($member_config->agreement)}</td>
</tr>
<tr>
<td>
<input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
<label for="accept_agree">{$lang->about_accept_agreement}</label>
</td>
</tr>
</table>
</div>
<!--@end-->
<div>
{$lang->member_default_info}
</div>
<table border="1">
<tr>
<th rowspan="2">{$lang->user_id}</th>
<td>
<!--@if($member_info->member_srl)-->
{$member_info->user_id}
<!--@else-->
<input type="text" name="user_id" value="" />
<!--@end-->
</td>
</tr>
<tr>
<td>{$lang->about_user_id}</td>
</tr>
<tr>
<th rowspan="3">{$lang->password1}</th>
<td>
<input type="password" name="password1" value="" />
</td>
</tr>
<tr>
<td>
<input type="password" name="password2" value="" /> {$lang->password2}
</td>
</tr>
<tr>
<td>{$lang->about_password}</td>
</tr>
<tr>
<th rowspan="2">{$lang->user_name}</th>
<td>
<input type="text" name="user_name" value="{$member_info->user_name}" />
</td>
</tr>
<tr>
<td>{$lang->about_user_name}</td>
</tr>
<tr>
<th rowspan="2">{$lang->nick_name}</th>
<td>
<input type="text" name="nick_name" value="{$member_info->nick_name}" />
</td>
</tr>
<tr>
<td>{$lang->about_nick_name}</td>
</tr>
<tr>
<th>{$lang->email_address}</th>
<td>
<input type="text" name="email_address" value="{$member_info->email_address}" />
</td>
</tr>
<tr>
<th rowspan="2">{$lang->allow_mailing}</th>
<td><input type="checkbox" name="allow_mailing" value="Y" <!--@if($member_info->allow_mailing!='N')-->checked="true"<!--@end-->/></td>
</tr>
<tr>
<td>{$lang->about_allow_mailing}</td>
</tr>
</table>
<!--@if($extend_form_list)-->
<div>
{$lang->member_extend_info}
</div>
<table border="1">
<!--@foreach($extend_form_list as $key => $val)-->
<!--@if($val->is_active=='Y')-->
<tr>
<th rowspan="2">
<!--@if($val->required=='Y')-->
*
<!--@end-->
{$val->column_title}
</th>
<td>
<!-- 일반 text -->
<!--@if($val->column_type == 'text')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->column_type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- Email 주소 -->
<!--@elseif($val->column_type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- 전화번호 -->
<!--@elseif($val->column_type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{$val->value[0]}" size="4" />-
<input type="text" name="{$val->column_name}" value="{$val->value[1]}" size="4" />-
<input type="text" name="{$val->column_name}" value="{$val->value[2]}" size="4" />
<!-- textarea -->
<!--@elseif($val->column_type == 'textarea')-->
<textarea name="{$val->column_name}">{$val->value}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->column_type == 'checkbox')-->
<!--@if($val->default_value)-->
<!--@foreach($val->default_value as $v)-->
<input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="true"<!--@end-->/> {$v}
<!--@end-->
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->column_type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default_value)-->
<!--@foreach($val->default_value as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="true"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!-- 한국 주소 검색 -->
<!--@elseif($val->column_type == 'kr_zip')-->
<div id="zone_address_1_{$val->column_name}" style="display:<!--@if($val->value[0])-->inline<!--@else-->none<!--@end-->;">
<input type="text" name="{$val->column_name}" value="{$val->value[0]}" />
<input type="button" value="{$lang->cmd_cancel}" onclick="doHideKrZipList('{$val->column_name}'); return false;" />
</div>
<div id="zone_address_list_{$val->column_name}" style="display:none">
<select name="_tmp_address_list_{$val->column_name}" style="width:240px;"></select>
<input type="button" value="{$lang->cmd_select}" onclick="doSelectKrZip('{$val->column_name}'); return false;" />
<input type="button" value="{$lang->cmd_cancel}" onclick="doHideKrZipList('{$val->column_name}'); return false;" />
</div>
<div id="zone_address_search_{$val->column_name}" style="display:<!--@if($val->value[0])-->none<!--@else-->inline<!--@end-->;">
<input type="text" name="_tmp_address_search_{$val->column_name}" value="" />
<input type="button" value="{$lang->cmd_search}" onclick="doSearchKrZip('{$val->column_name}'); return false;" />
</div>
<!--@if(!$is_logged && $member_config->agreement)-->
<div>
<input type="text" name="{$val->column_name}" value="{$val->value[1]}" />
<table border="1">
<tr>
<td>{nl2br($member_config->agreement)}</td>
</tr>
<tr>
<td>
<input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
<label for="accept_agree">{$lang->about_accept_agreement}</label>
</td>
</tr>
</table>
</div>
<!--@end-->
<!-- 일본 주소 검색 -->
<!--@elseif($val->column_type == 'jp_zip')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<div>
{$lang->member_default_info}
</div>
<table border="1">
<tr>
<th rowspan="2">{$lang->user_id}</th>
<td>
<!--@if($member_info->member_srl)-->
{$member_info->user_id}
<!--@else-->
<input type="text" name="user_id" value="" />
<!--@end-->
</td>
</tr>
<tr>
<td>{$lang->about_user_id}</td>
</tr>
<tr>
<th rowspan="3">{$lang->password1}</th>
<td>
<input type="password" name="password1" value="" />
</td>
</tr>
<tr>
<td>
<input type="password" name="password2" value="" /> {$lang->password2}
</td>
</tr>
<tr>
<td>{$lang->about_password}</td>
</tr>
<tr>
<th rowspan="2">{$lang->user_name}</th>
<td>
<input type="text" name="user_name" value="{$member_info->user_name}" />
</td>
</tr>
<tr>
<td>{$lang->about_user_name}</td>
</tr>
<tr>
<th rowspan="2">{$lang->nick_name}</th>
<td>
<input type="text" name="nick_name" value="{$member_info->nick_name}" />
</td>
</tr>
<tr>
<td>{$lang->about_nick_name}</td>
</tr>
<tr>
<th>{$lang->email_address}</th>
<td>
<input type="text" name="email_address" value="{$member_info->email_address}" />
</td>
</tr>
<tr>
<th rowspan="2">{$lang->allow_mailing}</th>
<td><input type="checkbox" name="allow_mailing" value="Y" <!--@if($member_info->allow_mailing!='N')-->checked="true"<!--@end-->/></td>
</tr>
<tr>
<td>{$lang->about_allow_mailing}</td>
</tr>
</table>
<!--@end-->
<!--@if($extend_form_list)-->
<div>
{$lang->member_extend_info}
</div>
</td>
</tr>
<tr>
<td>{$val->description}</td>
</tr>
<table border="1">
<!--@foreach($extend_form_list as $key => $val)-->
<!--@if($val->is_active=='Y')-->
<tr>
<th rowspan="2">
<!--@if($val->required=='Y')-->
*
<!--@end-->
{$val->column_title}
</th>
<td>
<!-- 일반 text -->
<!--@if($val->column_type == 'text')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- 홈페이지 주소 -->
<!--@elseif($val->column_type == 'homepage')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- Email 주소 -->
<!--@elseif($val->column_type == 'email_address')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!-- 전화번호 -->
<!--@elseif($val->column_type == 'tel')-->
<input type="text" name="{$val->column_name}" value="{$val->value[0]}" size="4" />-
<input type="text" name="{$val->column_name}" value="{$val->value[1]}" size="4" />-
<input type="text" name="{$val->column_name}" value="{$val->value[2]}" size="4" />
<!-- textarea -->
<!--@elseif($val->column_type == 'textarea')-->
<textarea name="{$val->column_name}">{$val->value}</textarea>
<!-- 다중 선택 -->
<!--@elseif($val->column_type == 'checkbox')-->
<!--@if($val->default_value)-->
<!--@foreach($val->default_value as $v)-->
<input type="checkbox" name="{$val->column_name}" value="{$v}" <!--@if(is_array($val->value)&&in_array($v, $val->value))-->checked="true"<!--@end-->/>{$v}
<!--@end-->
<!--@end-->
<!-- 단일 선택 -->
<!--@elseif($val->column_type == 'select')-->
<select name="{$val->column_name}">
<!--@if($val->default_value)-->
<!--@foreach($val->default_value as $v)-->
<option value="{$v}" <!--@if($v == $val->value)-->selected="true"<!--@end-->>{$v}</option>
<!--@end-->
<!--@end-->
</select>
<!-- 한국 주소 검색 -->
<!--@elseif($val->column_type == 'kr_zip')-->
<div id="zone_address_1_{$val->column_name}" style="display:<!--@if($val->value[0])-->inline<!--@else-->none<!--@end-->;">
<input type="text" name="{$val->column_name}" value="{$val->value[0]}" />
<input type="button" value="{$lang->cmd_cancel}" onclick="doHideKrZipList('{$val->column_name}'); return false;" />
</div>
<div id="zone_address_list_{$val->column_name}" style="display:none">
<select name="_tmp_address_list_{$val->column_name}" style="width:240px;"></select>
<input type="button" value="{$lang->cmd_select}" onclick="doSelectKrZip('{$val->column_name}'); return false;" />
<input type="button" value="{$lang->cmd_cancel}" onclick="doHideKrZipList('{$val->column_name}'); return false;" />
</div>
<div id="zone_address_search_{$val->column_name}" style="display:<!--@if($val->value[0])-->none<!--@else-->inline<!--@end-->;">
<input type="text" name="_tmp_address_search_{$val->column_name}" value="" />
<input type="button" value="{$lang->cmd_search}" onclick="doSearchKrZip('{$val->column_name}'); return false;" />
</div>
<div>
<input type="text" name="{$val->column_name}" value="{$val->value[1]}" />
</div>
<!-- 일본 주소 검색 -->
<!--@elseif($val->column_type == 'jp_zip')-->
<input type="text" name="{$val->column_name}" value="{$val->value}" />
<!--@end-->
</td>
</tr>
<tr>
<td>{$val->description}</td>
</tr>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
<!--@end-->
</table>
<!--@end-->
<table border="1">
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
<table border="1">
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_registration}" accesskey="s" />
</td>
</tr>
</table>
</form>

View file

@ -1,19 +1,19 @@
/* 사용자 추가 */
function completeInsert(ret_obj, response_tags, args, fo_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
alert(message);
var url = new Array();
var mid = fo_obj.mid.value;
var document_srl = fo_obj.document_srl.value;
var page = fo_obj.page.value;
var url = new Array();
var mid = fo_obj.mid.value;
var document_srl = fo_obj.document_srl.value;
var page = fo_obj.page.value;
if(mid) url[url.length] = "mid="+mid;
if(document_srl) url[url.length] = "document_srl="+document_srl;
if(page) url[url.length] = "page="+page;
if(mid) url[url.length] = "mid="+mid;
if(document_srl) url[url.length] = "document_srl="+document_srl;
if(page) url[url.length] = "page="+page;
if(url.length>0) location.href="./?"+url.join("&");
else location.href="./";
if(url.length>0) location.href="./?"+url.join("&");
else location.href="./";
}

View file

@ -1,33 +1,33 @@
<!--%import("filter/login.xml")-->
<form action="./" method="get" onsubmit="return procFilter(this, login)">
<input type="hidden" name="mid" value="{$mid}" />
<table>
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->user_id}</th>
<td><input type="text" name="user_id" id="member_login_user_id" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_login}" />
</td>
</tr>
<tr>
<td colspan="2">
<a href="#" onclick="location.href='{getUrl('act','dispSignUpForm')}'">{$lang->cmd_signup}</a>
</td>
</tr>
</table>
<input type="hidden" name="mid" value="{$mid}" />
<table>
<col width="120" />
<col width="*" />
<tr>
<th>{$lang->user_id}</th>
<td><input type="text" name="user_id" id="member_login_user_id" /></td>
</tr>
<tr>
<th>{$lang->password}</th>
<td><input type="password" name="password" value="" /></td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_login}" />
</td>
</tr>
<tr>
<td colspan="2">
<a href="#" onclick="location.href='{getUrl('act','dispMemberAdminSignUpForm')}'">{$lang->cmd_signup}</a>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
xAddEventListener(window, "load", function() { xGetElementById("member_login_user_id").focus(); } );
xAddEventListener(window, "load", function() { xGetElementById("member_login_user_id").focus(); } );
</script>

View file

@ -1,21 +1,21 @@
<!--%import("filter/logout.xml")-->
<form action="./" method="get" onsubmit="return procFilter(this, logout)">
<input type="hidden" name="mid" value="{$mid}" />
<table>
<tr>
<th>{$lang->cmd_logout}</th>
</tr>
<tr>
<td>{$lang->confirm_logout}</td>
</tr>
<tr>
<td>
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_logout}" />
</td>
</tr>
</table>
<input type="hidden" name="mid" value="{$mid}" />
<table>
<tr>
<th>{$lang->cmd_logout}</th>
</tr>
<tr>
<td>{$lang->confirm_logout}</td>
</tr>
<tr>
<td>
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('act','')}'" />
<input type="submit" value="{$lang->cmd_logout}" />
</td>
</tr>
</table>
</form>

View file

@ -1,58 +1,58 @@
<!--#include("header.html")-->
<table>
<tr>
<th>{$lang->user_id}</th>
<td>{$member_info->user_id}</td>
<th>{$lang->user_id}</th>
<td>{$member_info->user_id}</td>
</tr>
<tr>
<th>{$lang->user_name}</th>
<td>{$member_info->user_name}</td>
<th>{$lang->user_name}</th>
<td>{$member_info->user_name}</td>
</tr>
<tr>
<th>{$lang->nick_name}</th>
<td>{$member_info->nick_name}</td>
<th>{$lang->nick_name}</th>
<td>{$member_info->nick_name}</td>
</tr>
<!--@if($member_info->image_name->src)-->
<tr>
<th>{$lang->image_name}</th>
<td><img src="{$member_info->image_name->src}" border="0" alt="image_name" /></td>
<th>{$lang->image_name}</th>
<td><img src="{$member_info->image_name->src}" border="0" alt="image_name" /></td>
</tr>
<!--@end-->
<!--@if($member_info->image_mark->src)-->
<tr>
<th>{$lang->image_mark}</th>
<td><img src="{$member_info->image_mark->src}" border="0" alt="image_mark" /></td>
</td>
<th>{$lang->image_mark}</th>
<td><img src="{$member_info->image_mark->src}" border="0" alt="image_mark" /></td>
</td>
</tr>
<!--@end-->
<tr>
<th>{$lang->group}</th>
<td>
<!--@foreach($member_info->group_list as $key => $val)-->
{$val}
<!--@end-->
</td>
<th>{$lang->group}</th>
<td>
<!--@foreach($member_info->group_list as $key => $val)-->
{$val}
<!--@end-->
</td>
</tr>
<!--@if($extend_form_list)-->
<!--@foreach($extend_form_list as $key => $val)-->
<tr>
<th>{$val->column_title}</th>
<td>
<!--@if($val->column_type=='tel')-->
{$val->value[0]} - {$val->value[1]} - {$val->value[2]}
<!--@elseif($val->column_type=='kr_zip')-->
{$val->value[0]} {$val->value[1]}
<!--@elseif($val->column_type=='checkbox')-->
{implode(",",$val->value)}
<!--@else-->
{$val->value}
<!--@end-->
</td>
<th>{$val->column_title}</th>
<td>
<!--@if($val->column_type=='tel')-->
{$val->value[0]} - {$val->value[1]} - {$val->value[2]}
<!--@elseif($val->column_type=='kr_zip')-->
{$val->value[0]} {$val->value[1]}
<!--@elseif($val->column_type=='checkbox')-->
{implode(",",$val->value)}
<!--@else-->
{$val->value}
<!--@end-->
</td>
</tr>
<!--@end-->
<!--@end-->
<tr>
<th>{$lang->description}</th>
<td>{$member_info->description}</td>
<th>{$lang->description}</th>
<td>{$member_info->description}</td>
</tr>
</table>

View file

@ -1,21 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">회원 기본 스킨</title>
<title xml:lang="en">Member default skin</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<name xml:lang="en">zero</name>
<description xml:lang="ko">회원모듈의 default스킨</description>
<description xml:lang="en">default skin of the member module</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
<title xml:lang="en">normal</title>
</color>
<color name="deep" src="screenshot/blue.gif">
<title xml:lang="ko">이상한거</title>
<title xml:lang="en">deep</title>
</color>
</colorset>
<title xml:lang="ko">회원 기본 스킨</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<description xml:lang="ko">회원모듈의 default스킨</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
</color>
<color name="deep" src="screenshot/blue.gif">
<title xml:lang="ko">이상한거</title>
</color>
</colorset>
<skin>

View file

@ -1,2 +1,2 @@
<filter name="delete_image_mark" module="member" act="procDeleteImageMark" confirm_msg_code="confirm_delete" />
<filter name="delete_image_mark" module="member" act="procMemberDeleteImageMark" confirm_msg_code="confirm_delete" />

View file

@ -1,2 +1 @@
<filter name="delete_image_name" module="member" act="procDeleteImageName" confirm_msg_code="confirm_delete" />
<filter name="delete_image_name" module="member" act="procMemberDeleteImageName" confirm_msg_code="confirm_delete" />

View file

@ -1,11 +1,11 @@
<filter name="delete_member" module="member" act="procDelete" confirm_msg_code="confirm_delete">
<form>
<node target="page" />
</form>
<response callback_func="completeDelete">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
<filter name="delete_member" module="member" act="procMemberAdminDelete" confirm_msg_code="confirm_delete">
<form>
<node target="page" />
</form>
<response callback_func="completeDelete">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -1,28 +1,28 @@
<filter name="insert" module="member" act="procInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" minlength="3" maxlength="20" filter="userid" />
<node target="user_name" required="true" minlength="2" maxlength="20" />
<node target="nick_name" required="true" minlength="2" maxlength="20" />
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="page" target="page" />
<param name="member_srl" target="member_srl" />
<param name="user_id" target="user_id" />
<param name="password" target="password" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="email_address" target="email_address" />
<param name="allow_mailing" target="allow_mailing" />
<param name="denied" target="denied" />
<param name="is_admin" target="is_admin" />
<param name="description" target="description" />
<param name="group_srl_list" target="group_srl_list" />
</parameter>
<response callback_func="completeInsert">
<tag name="error" />
<tag name="message" />
<tag name="member_srl" />
<tag name="page" />
</response>
<filter name="insert" module="member" act="procMemberAdminInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" minlength="3" maxlength="20" filter="userid" />
<node target="user_name" required="true" minlength="2" maxlength="20" />
<node target="nick_name" required="true" minlength="2" maxlength="20" />
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="page" target="page" />
<param name="member_srl" target="member_srl" />
<param name="user_id" target="user_id" />
<param name="password" target="password" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="email_address" target="email_address" />
<param name="allow_mailing" target="allow_mailing" />
<param name="denied" target="denied" />
<param name="is_admin" target="is_admin" />
<param name="description" target="description" />
<param name="group_srl_list" target="group_srl_list" />
</parameter>
<response callback_func="completeInsert">
<tag name="error" />
<tag name="message" />
<tag name="member_srl" />
<tag name="page" />
</response>
</filter>

View file

@ -1,7 +1,7 @@
<filter name="insert_config" module="member" act="procInsertConfig" confirm_msg_code="confirm_submit">
<form />
<response>
<tag name="error" />
<tag name="message" />
</response>
<filter name="insert_config" module="member" act="procMemberAdminInsertConfig" confirm_msg_code="confirm_submit">
<form />
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,10 +1,10 @@
<filter name="insert_denied_id" module="member" act="procInsertDeniedID" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" />
</form>
<response callback_func="completeInsertDeniedID">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
<filter name="insert_denied_id" module="member" act="procMemberAdminInsertDeniedID" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" />
</form>
<response callback_func="completeInsertDeniedID">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -1,10 +1,10 @@
<filter name="insert_group" module="member" act="procInsertGroup" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<response callback_func="completeInsertGroup">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
<filter name="insert_group" module="member" act="procMemberAdminInsertGroup" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<response callback_func="completeInsertGroup">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -1,12 +1,12 @@
<filter name="insert_join_form" module="member" act="procInsertJoinForm" confirm_msg_code="confirm_submit">
<form>
<node target="column_type" required="true" />
<node target="column_name" required="true" filter="alpha"/>
<node target="column_title" required="true" />
</form>
<response callback_func="completeInsertJoinForm">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
<filter name="insert_join_form" module="member" act="procMemberAdminInsertJoinForm" confirm_msg_code="confirm_submit">
<form>
<node target="column_type" required="true" />
<node target="column_name" required="true" filter="alpha"/>
<node target="column_title" required="true" />
</form>
<response callback_func="completeInsertJoinForm">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -1,11 +1,11 @@
<filter name="update_denied_id" module="member" act="procUpdateDeniedID">
<form>
<node target="user_id" required="true" />
<node target="mode" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
<filter name="update_denied_id" module="member" act="procMemberAdminUpdateDeniedID">
<form>
<node target="user_id" required="true" />
<node target="mode" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -1,10 +1,10 @@
<filter name="update_group" module="member" act="procUpdateGroup">
<form>
<node target="group_srl" required="true" />
</form>
<response callback_func="completeUpdateGroup">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
<filter name="update_group" module="member" act="procMemberAdminUpdateGroup">
<form>
<node target="group_srl" required="true" />
</form>
<response callback_func="completeUpdateGroup">
<tag name="error" />
<tag name="message" />
<tag name="page" />
</response>
</filter>

View file

@ -1,10 +1,10 @@
<filter name="update_member_join_form" module="member" act="procUpdateJoinForm">
<form>
<node target="member_join_form_srl" required="true" />
<node target="mode" required="true" />
</form>
<response callback_func="completeUpdateJoinForm">
<tag name="error" />
<tag name="message" />
</response>
<filter name="update_member_join_form" module="member" act="procMemberAdminUpdateJoinForm">
<form>
<node target="member_join_form_srl" required="true" />
<node target="mode" required="true" />
</form>
<response callback_func="completeUpdateJoinForm">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,269 +1,269 @@
/* 사용자 추가 */
function completeInsert(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var member_srl = ret_obj['member_srl'];
var page = ret_obj['page'];
var error = ret_obj['error'];
var message = ret_obj['message'];
var member_srl = ret_obj['member_srl'];
var page = ret_obj['page'];
alert(message);
alert(message);
var url = "./?module=admin&mo=member&act=dispMemberInfo&member_srl="+member_srl;
if(page) url += "&page="+page;
var url = "./?module=admin&mo=member&act=dispMemberInfo&member_srl="+member_srl;
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 사용자 삭제 */
function completeDelete(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
alert(message);
var url = "./?module=admin&mo=member&act=dispMemberList";
if(page) url += "&page="+page;
var url = "./?module=admin&mo=member&act=dispMemberList";
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 그룹 추가 */
function completeInsertGroup(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
alert(message);
var url = "./?module=admin&mo=member&act=dispGroupList";
if(page) url += "&page="+page;
var url = "./?module=admin&mo=member&act=dispGroupList";
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 그룹 관련 작업들 */
function doUpdateGroup(group_srl, mode, message) {
if(typeof(message)!='undefined'&&!confirm(message)) return;
if(typeof(message)!='undefined'&&!confirm(message)) return;
var fo_obj = xGetElementById('fo_group_info');
fo_obj.group_srl.value = group_srl;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_group);
var fo_obj = xGetElementById('fo_group_info');
fo_obj.group_srl.value = group_srl;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_group);
}
function completeUpdateGroup(ret_obj) {
var page = ret_obj['page'];
var url = "./?module=admin&mo=member&act=dispGroupList";
if(page) url += "&page="+page;
var page = ret_obj['page'];
var url = "./?module=admin&mo=member&act=dispGroupList";
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 금지아이디 추가 */
function completeInsertDeniedID(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
alert(message);
var url = "./?module=admin&mo=member&act=dispDeniedIDList";
if(page) url += "&page="+page;
var url = "./?module=admin&mo=member&act=dispDeniedIDList";
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 금지아이디 관련 작업들 */
function doUpdateDeniedID(user_id, mode, message) {
if(typeof(message)!='undefined'&&!confirm(message)) return;
if(typeof(message)!='undefined'&&!confirm(message)) return;
var fo_obj = xGetElementById('fo_denied_id_info');
fo_obj.user_id.value = user_id;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_denied_id);
var fo_obj = xGetElementById('fo_denied_id_info');
fo_obj.user_id.value = user_id;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_denied_id);
}
/* 가입폼 관련 작업들 */
function doUpdateJoinForm(member_join_form_srl, mode, message) {
if(typeof(message)!='undefined'&&!confirm(message)) return;
if(typeof(message)!='undefined'&&!confirm(message)) return;
var fo_obj = xGetElementById('fo_join_form_info');
fo_obj.member_join_form_srl.value = member_join_form_srl;
fo_obj.mode.value = mode;
var fo_obj = xGetElementById('fo_join_form_info');
fo_obj.member_join_form_srl.value = member_join_form_srl;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_member_join_form);
procFilter(fo_obj, update_member_join_form);
}
function completeUpdateJoinForm(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
alert(message);
var url = "./?module=admin&mo=member&act=dispJoinFormList";
if(page) url += "&page="+page;
var url = "./?module=admin&mo=member&act=dispJoinFormList";
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 가입폼 추가 */
function completeInsertJoinForm(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
var error = ret_obj['error'];
var message = ret_obj['message'];
var page = ret_obj['page'];
alert(message);
alert(message);
var url = "./?module=admin&mo=member&act=dispJoinFormList";
if(page) url += "&page="+page;
var url = "./?module=admin&mo=member&act=dispJoinFormList";
if(page) url += "&page="+page;
location.href = url;
location.href = url;
}
/* 가입폼의 기본 값 관리 */
function doShowJoinFormValue(sel_obj) {
var val = sel_obj.options[sel_obj.selectedIndex].value;
switch(val) {
case 'checkbox' :
case 'select' :
xGetElementById('zone_default_value').style.display = 'block';
break;
default :
xGetElementById('zone_default_value').style.display = 'none';
break;
}
var val = sel_obj.options[sel_obj.selectedIndex].value;
switch(val) {
case 'checkbox' :
case 'select' :
xGetElementById('zone_default_value').style.display = 'block';
break;
default :
xGetElementById('zone_default_value').style.display = 'none';
break;
}
}
function doEditDefaultValue(obj, cmd) {
var listup_obj = xGetElementById('default_value_listup');
var item_obj = xGetElementById('default_value_item');
var idx = listup_obj.selectedIndex;
var lng = listup_obj.options.length;
var val = item_obj.value;
switch(cmd) {
case 'insert' :
if(!val) return;
var opt = new Option(val, val, false, true);
listup_obj.options[listup_obj.length] = opt;
item_obj.value = '';
item_obj.focus();
break;
case 'up' :
if(lng < 2 || idx<1) return;
var listup_obj = xGetElementById('default_value_listup');
var item_obj = xGetElementById('default_value_item');
var idx = listup_obj.selectedIndex;
var lng = listup_obj.options.length;
var val = item_obj.value;
switch(cmd) {
case 'insert' :
if(!val) return;
var opt = new Option(val, val, false, true);
listup_obj.options[listup_obj.length] = opt;
item_obj.value = '';
item_obj.focus();
break;
case 'up' :
if(lng < 2 || idx<1) return;
var value1 = listup_obj.options[idx].value;
var value2 = listup_obj.options[idx-1].value;
listup_obj.options[idx] = new Option(value2,value2,false,false);
listup_obj.options[idx-1] = new Option(value1,value1,false,true);
break;
case 'down' :
if(lng < 2 || idx == lng-1) return;
var value1 = listup_obj.options[idx].value;
var value2 = listup_obj.options[idx-1].value;
listup_obj.options[idx] = new Option(value2,value2,false,false);
listup_obj.options[idx-1] = new Option(value1,value1,false,true);
break;
case 'down' :
if(lng < 2 || idx == lng-1) return;
var value1 = listup_obj.options[idx].value;
var value2 = listup_obj.options[idx+1].value;
listup_obj.options[idx] = new Option(value2,value2,false,false);
listup_obj.options[idx+1] = new Option(value1,value1,false,true);
break;
case 'delete' :
listup_obj.remove(idx);
if(idx==0) listup_obj.selectedIndex = 0;
else listup_obj.selectedIndex = idx-1;
break;
}
var value1 = listup_obj.options[idx].value;
var value2 = listup_obj.options[idx+1].value;
listup_obj.options[idx] = new Option(value2,value2,false,false);
listup_obj.options[idx+1] = new Option(value1,value1,false,true);
break;
case 'delete' :
listup_obj.remove(idx);
if(idx==0) listup_obj.selectedIndex = 0;
else listup_obj.selectedIndex = idx-1;
break;
}
var value_list = new Array();
for(var i=0;i<listup_obj.options.length;i++) {
value_list[value_list.length] = listup_obj.options[i].value;
}
var value_list = new Array();
for(var i=0;i<listup_obj.options.length;i++) {
value_list[value_list.length] = listup_obj.options[i].value;
}
xGetElementById('fo_join_form').default_value.value = value_list.join('|@|');
xGetElementById('fo_join_form').default_value.value = value_list.join('|@|');
}
/* 한국 우편 번호 관련 */
function doHideKrZipList(column_name) {
var zone_list_obj = xGetElementById('zone_address_list_'+column_name);
var zone_search_obj = xGetElementById('zone_address_search_'+column_name);
var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name);
var addr1_obj = xGetElementById('fo_insert_member')[column_name][0];
var field_obj = xGetElementById('fo_insert_member')['_tmp_address_search_'+column_name];
var zone_list_obj = xGetElementById('zone_address_list_'+column_name);
var zone_search_obj = xGetElementById('zone_address_search_'+column_name);
var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name);
var addr1_obj = xGetElementById('fo_insert_member')[column_name][0];
var field_obj = xGetElementById('fo_insert_member')['_tmp_address_search_'+column_name];
zone_addr1_obj.style.display = 'none';
zone_list_obj.style.display = 'none';
zone_search_obj.style.display = 'inline';
addr1_obj.value = '';
field_obj.focus();
zone_addr1_obj.style.display = 'none';
zone_list_obj.style.display = 'none';
zone_search_obj.style.display = 'inline';
addr1_obj.value = '';
field_obj.focus();
}
function doSelectKrZip(column_name) {
var zone_list_obj = xGetElementById('zone_address_list_'+column_name);
var zone_search_obj = xGetElementById('zone_address_search_'+column_name);
var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name);
var sel_obj = xGetElementById('fo_insert_member')['_tmp_address_list_'+column_name];
var value = sel_obj.options[sel_obj.selectedIndex].value;
var addr1_obj = xGetElementById('fo_insert_member')[column_name][0];
var addr2_obj = xGetElementById('fo_insert_member')[column_name][1];
addr1_obj.value = value;
zone_search_obj.style.display = 'none';
zone_list_obj.style.display = 'none';
zone_addr1_obj.style.display = 'inline';
addr2_obj.focus();
var zone_list_obj = xGetElementById('zone_address_list_'+column_name);
var zone_search_obj = xGetElementById('zone_address_search_'+column_name);
var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name);
var sel_obj = xGetElementById('fo_insert_member')['_tmp_address_list_'+column_name];
var value = sel_obj.options[sel_obj.selectedIndex].value;
var addr1_obj = xGetElementById('fo_insert_member')[column_name][0];
var addr2_obj = xGetElementById('fo_insert_member')[column_name][1];
addr1_obj.value = value;
zone_search_obj.style.display = 'none';
zone_list_obj.style.display = 'none';
zone_addr1_obj.style.display = 'inline';
addr2_obj.focus();
}
function doSearchKrZip(column_name) {
var field_obj = xGetElementById('fo_insert_member')['_tmp_address_search_'+column_name];
var addr = field_obj.value;
if(!addr) return;
var field_obj = xGetElementById('fo_insert_member')['_tmp_address_search_'+column_name];
var addr = field_obj.value;
if(!addr) return;
var params = new Array();
params['addr'] = addr;
params['column_name'] = column_name;
var params = new Array();
params['addr'] = addr;
params['column_name'] = column_name;
var response_tags = new Array('error','message','address_list');
exec_xml('krzip', 'getZipCodeList', params, completeSearchKrZip, response_tags, params);
var response_tags = new Array('error','message','address_list');
exec_xml('krzip', 'getZipCodeList', params, completeSearchKrZip, response_tags, params);
}
function completeSearchKrZip(ret_obj, response_tags, callback_args) {
if(!ret_obj['address_list']) {
alert(alert_msg['address']);
return;
}
var address_list = ret_obj['address_list'].split("\n");
var column_name = callback_args['column_name'];
if(!ret_obj['address_list']) {
alert(alert_msg['address']);
return;
}
var address_list = ret_obj['address_list'].split("\n");
var column_name = callback_args['column_name'];
var zone_list_obj = xGetElementById('zone_address_list_'+column_name);
var zone_search_obj = xGetElementById('zone_address_search_'+column_name);
var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name);
var sel_obj = xGetElementById('fo_insert_member')['_tmp_address_list_'+column_name];
var zone_list_obj = xGetElementById('zone_address_list_'+column_name);
var zone_search_obj = xGetElementById('zone_address_search_'+column_name);
var zone_addr1_obj = xGetElementById('zone_address_1_'+column_name);
var sel_obj = xGetElementById('fo_insert_member')['_tmp_address_list_'+column_name];
for(var i=0;i<address_list.length;i++) {
var opt = new Option(address_list[i],address_list[i],false,false);
sel_obj.options[i] = opt;
}
for(var i=0;i<address_list.length;i++) {
var opt = new Option(address_list[i],address_list[i],false,false);
sel_obj.options[i] = opt;
}
for(var i=address_list.length-1;i<sel_obj.options.length;i++) {
sel_obj.remove(i);
}
for(var i=address_list.length-1;i<sel_obj.options.length;i++) {
sel_obj.remove(i);
}
sel_obj.selectedIndex = 0;
sel_obj.selectedIndex = 0;
zone_search_obj.style.display = 'none';
zone_addr1_obj.style.display = 'none';
zone_list_obj.style.display = 'inline';
zone_search_obj.style.display = 'none';
zone_addr1_obj.style.display = 'none';
zone_list_obj.style.display = 'inline';
}
/* 이미지 이름, 마크 삭제 */
function doDeleteImageName(member_srl) {
var fo_obj = xGetElementById("fo_image");
fo_obj.member_srl.value = member_srl;
procFilter(fo_obj, delete_image_name);
var fo_obj = xGetElementById("fo_image");
fo_obj.member_srl.value = member_srl;
procFilter(fo_obj, delete_image_name);
}
function doDeleteImageMark(member_srl) {
var fo_obj = xGetElementById("fo_image");
fo_obj.member_srl.value = member_srl;
procFilter(fo_obj, delete_image_mark);
var fo_obj = xGetElementById("fo_image");
fo_obj.member_srl.value = member_srl;
procFilter(fo_obj, delete_image_mark);
}