Author name update.

NHN
developers@xpressengine.com
http://xpressengine.com/

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7676 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ChanMyeong 2010-09-06 06:35:20 +00:00
parent 7d1fa86e5c
commit 8f385a592b
603 changed files with 67379 additions and 67522 deletions

View file

@ -1,33 +1,33 @@
<?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="jp">会員 管理</title>
<title xml:lang="en">Member Management</title>
<title xml:lang="vi">Quản lý thành viên</title>
<title xml:lang="es">Usuario Gestión</title>
<title xml:lang="ru">Управление пользователями</title>
<title xml:lang="zh-TW">會員 管理</title>
<description xml:lang="ko">회원 관리 및 회원 관련 설정등을 하는 모듈입니다.</description>
<description xml:lang="zh-CN">对会员进行管理及相关设置的模块。</description>
<description xml:lang="jp">会員管理及び会員関連設定などを行うモジュールです。</description>
<description xml:lang="en">This module is for managing or configuring members.</description>
<description xml:lang="vi">Module này dành cho việc quản lý và tạo thành viên.</description>
<description xml:lang="es">Este módulo es para el manejo y la configuración de los usuarios.</description>
<description xml:lang="ru">Этот модуль служит для управления и конфигурирования пользователей.</description>
<description xml:lang="zh-TW">對會員進行管理與相關設置的模組。</description>
<version>0.1</version>
<date>2007-02-28</date>
<category>member</category>
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
<name xml:lang="ko">zero</name>
<name xml:lang="vi">zero</name>
<name xml:lang="zh-CN">zero</name>
<name xml:lang="jp">zero</name>
<name xml:lang="en">zero</name>
<name xml:lang="es">zero</name>
<name xml:lang="ru">zero</name>
<name xml:lang="zh-TW">zero</name>
</author>
</module>
<?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="jp">会員 管理</title>
<title xml:lang="en">Member Management</title>
<title xml:lang="vi">Quản lý thành viên</title>
<title xml:lang="es">Usuario Gestión</title>
<title xml:lang="ru">Управление пользователями</title>
<title xml:lang="zh-TW">會員 管理</title>
<description xml:lang="ko">회원 관리 및 회원 관련 설정등을 하는 모듈입니다.</description>
<description xml:lang="zh-CN">对会员进行管理及相关设置的模块。</description>
<description xml:lang="jp">会員管理及び会員関連設定などを行うモジュールです。</description>
<description xml:lang="en">This module is for managing or configuring members.</description>
<description xml:lang="vi">Module này dành cho việc quản lý và tạo thành viên.</description>
<description xml:lang="es">Este módulo es para el manejo y la configuración de los usuarios.</description>
<description xml:lang="ru">Этот модуль служит для управления и конфигурирования пользователей.</description>
<description xml:lang="zh-TW">對會員進行管理與相關設置的模組。</description>
<version>0.1</version>
<date>2007-02-28</date>
<category>member</category>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="es">NHN</name>
<name xml:lang="ru">NHN</name>
<name xml:lang="zh-TW">NHN</name>
</author>
</module>

View file

@ -1,7 +1,7 @@
<?php
/**
* @file en.lang.php
* @author zero (zero@nzeo.com)
* @author NHN (developers@xpressengine.com)
* @brief English Language Pack (Only Basic Things)
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @file es.lang.php
* @author zero (zero@nzeo.com)
* @author NHN (developers@xpressengine.com)
* @brief Spanish Language Pack (Only Basic Things)
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @file fr.lang.php
* @author zero (zero@nzeo.com) Traduit par Pierre Duvent (PierreDuvent@gmail.com)
* @author NHN (developers@xpressengine.com) Traduit par Pierre Duvent (PierreDuvent@gmail.com)
* @brief Paquet du langage en français pour le module de Membre
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @file modules/member/jp.lang.php
* @author zero (zero@nzeo.com) 翻訳RisaPapa、ミニミ、liahona
* @author NHN (developers@xpressengine.com) 翻訳RisaPapa、ミニミ、liahona
* @brief 日本語言語パッケージ(基本的な内容のみ)
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @file ko.lang.php
* @author zero (zero@nzeo.com)
* @author NHN (developers@xpressengine.com)
* @brief 한국어 언어팩 (기본적인 내용만 수록)
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @file ru.lang.php
* @author zero <zero@nzeo.com> | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
* @author NHN (developers@xpressengine.com) | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
* @brief Russian basic language pack
**/

View file

@ -1,7 +1,7 @@
<?php
/* ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ * @File : common/lang/vi.lang.php ░░
░░ * @Author : zero (zero@nzeo.com) ░░
░░ * @Author : NHN (developers@xpressengine.com) ░░
░░ * @Trans : Đào Đức Duy (ducduy.dao.vn@vietxe.net) ░░
░░ * @Website: http://vietxe.net ░░
░░ * @Brief : Vietnamese Language Pack (Only basic words are included here) ░░

View file

@ -1,7 +1,7 @@
<?php
/**
* @file zh-CN.lang.php
* @author zero (zero@nzeo.com)
* @author NHN (developers@xpressengine.com)
* @brief 会员模块简体中文语言包
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @file modules/member/lang/zh-TW.lang.php
* @author zero (zero@nzeo.com) 翻譯royallin
* @author NHN (developers@xpressengine.com) 翻譯royallin
* @brief 會員(member)模組正體中文語言
**/

View file

@ -1,7 +1,7 @@
<?php
/**
* @class memberAdminController
* @author zero (zero@nzeo.com)
* @author NHN (developers@xpressengine.com)
* @brief member module의 admin controller class
**/

View file

@ -1,136 +1,136 @@
<?php
/**
* @class memberAdminModel
* @author zero (zero@nzeo.com)
* @brief member module의 admin model class
**/
class memberAdminModel extends member {
/**
* @brief 자주 호출될거라 예상되는 데이터는 내부적으로 가지고 있자...
**/
var $member_info = NULL;
var $member_groups = NULL;
var $join_form_list = NULL;
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 회원 목록을 구함
**/
function getMemberList() {
// 검색 옵션 정리
$args->is_admin = Context::get('is_admin')=='Y'?'Y':'';
$args->is_denied = Context::get('is_denied')=='Y'?'Y':'';
$args->selected_group_srl = Context::get('selected_group_srl');
$search_target = trim(Context::get('search_target'));
$search_keyword = trim(Context::get('search_keyword'));
if($search_target && $search_keyword) {
switch($search_target) {
case 'user_id' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_user_id = $search_keyword;
break;
case 'user_name' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_user_name = $search_keyword;
break;
case 'nick_name' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_nick_name = $search_keyword;
break;
case 'email_address' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_email_address = $search_keyword;
break;
case 'regdate' :
$args->s_regdate = ereg_replace("[^0-9]","",$search_keyword);
break;
case 'regdate_more' :
$args->s_regdate_more = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'regdate_less' :
$args->s_regdate_less = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'last_login' :
$args->s_last_login = $search_keyword;
break;
case 'last_login_more' :
$args->s_last_login_more = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'last_login_less' :
$args->s_last_login_less = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'extra_vars' :
$args->s_extra_vars = ereg_replace("[^0-9]","",$search_keyword);
break;
}
}
// selected_group_srl이 있으면 query id를 변경 (table join때문에)
$sort_index = Context::get('sort_index');
if($sort_index != 'last_login') $sort_index = "member_srl";
if($args->selected_group_srl) {
$query_id = 'member.getMemberListWithinGroup';
$args->sort_index = "member.".$sort_index;
} else {
$query_id = 'member.getMemberList';
$args->sort_index = $sort_index;
}
$sort_order = Context::get('sort_order');
if($sort_order != "asc") $sort_order = "desc";
$args->sort_order = $sort_order;
Context::set('sort_order', $sort_order);
// 기타 변수들 정리
$args->page = Context::get('page');
$args->list_count = 40;
$args->page_count = 10;
return executeQuery($query_id, $args);
}
/**
* @brief 사이트별 회원 목록을 구함
**/
function getSiteMemberList($site_srl, $page = 1) {
$args->site_srl = $site_srl;
$args->page = $page;
$args->list_count = 40;
$args->page_count = 10;
$query_id = 'member.getSiteMemberList';
$output = executeQueryArray($query_id, $args);
return $output;
}
/**
* @brief 회원 모듈의 특정 스킨에 속한 컬러셋 목록을 return
**/
function getMemberAdminColorset() {
$skin = Context::get('skin');
if(!$skin) $tpl = "";
else {
$oModuleModel = &getModel('module');
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
Context::set('skin_info', $skin_info);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if(!$config->colorset) $config->colorset = "white";
Context::set('config', $config);
$oTemplate = &TemplateHandler::getInstance();
$tpl = $oTemplate->compile($this->module_path.'tpl', 'colorset_list');
}
$this->add('tpl', $tpl);
}
}
?>
<?php
/**
* @class memberAdminModel
* @author NHN (developers@xpressengine.com)
* @brief member module의 admin model class
**/
class memberAdminModel extends member {
/**
* @brief 자주 호출될거라 예상되는 데이터는 내부적으로 가지고 있자...
**/
var $member_info = NULL;
var $member_groups = NULL;
var $join_form_list = NULL;
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 회원 목록을 구함
**/
function getMemberList() {
// 검색 옵션 정리
$args->is_admin = Context::get('is_admin')=='Y'?'Y':'';
$args->is_denied = Context::get('is_denied')=='Y'?'Y':'';
$args->selected_group_srl = Context::get('selected_group_srl');
$search_target = trim(Context::get('search_target'));
$search_keyword = trim(Context::get('search_keyword'));
if($search_target && $search_keyword) {
switch($search_target) {
case 'user_id' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_user_id = $search_keyword;
break;
case 'user_name' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_user_name = $search_keyword;
break;
case 'nick_name' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_nick_name = $search_keyword;
break;
case 'email_address' :
if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
$args->s_email_address = $search_keyword;
break;
case 'regdate' :
$args->s_regdate = ereg_replace("[^0-9]","",$search_keyword);
break;
case 'regdate_more' :
$args->s_regdate_more = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'regdate_less' :
$args->s_regdate_less = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'last_login' :
$args->s_last_login = $search_keyword;
break;
case 'last_login_more' :
$args->s_last_login_more = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'last_login_less' :
$args->s_last_login_less = substr(ereg_replace("[^0-9]","",$search_keyword) . '00000000000000',0,14);
break;
case 'extra_vars' :
$args->s_extra_vars = ereg_replace("[^0-9]","",$search_keyword);
break;
}
}
// selected_group_srl이 있으면 query id를 변경 (table join때문에)
$sort_index = Context::get('sort_index');
if($sort_index != 'last_login') $sort_index = "member_srl";
if($args->selected_group_srl) {
$query_id = 'member.getMemberListWithinGroup';
$args->sort_index = "member.".$sort_index;
} else {
$query_id = 'member.getMemberList';
$args->sort_index = $sort_index;
}
$sort_order = Context::get('sort_order');
if($sort_order != "asc") $sort_order = "desc";
$args->sort_order = $sort_order;
Context::set('sort_order', $sort_order);
// 기타 변수들 정리
$args->page = Context::get('page');
$args->list_count = 40;
$args->page_count = 10;
return executeQuery($query_id, $args);
}
/**
* @brief 사이트별 회원 목록을 구함
**/
function getSiteMemberList($site_srl, $page = 1) {
$args->site_srl = $site_srl;
$args->page = $page;
$args->list_count = 40;
$args->page_count = 10;
$query_id = 'member.getSiteMemberList';
$output = executeQueryArray($query_id, $args);
return $output;
}
/**
* @brief 회원 모듈의 특정 스킨에 속한 컬러셋 목록을 return
**/
function getMemberAdminColorset() {
$skin = Context::get('skin');
if(!$skin) $tpl = "";
else {
$oModuleModel = &getModel('module');
$skin_info = $oModuleModel->loadSkinInfo($this->module_path, $skin);
Context::set('skin_info', $skin_info);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if(!$config->colorset) $config->colorset = "white";
Context::set('config', $config);
$oTemplate = &TemplateHandler::getInstance();
$tpl = $oTemplate->compile($this->module_path.'tpl', 'colorset_list');
}
$this->add('tpl', $tpl);
}
}
?>

View file

@ -1,241 +1,241 @@
<?php
/**
* @class memberAdminView
* @author zero (zero@nzeo.com)
* @brief member module's admin view class
**/
class memberAdminView extends member {
var $group_list = NULL; ///< group list
var $member_info = NULL; ///< selected member info
/**
* @brief initialization
**/
function init() {
$oMemberModel = &getModel('member');
// if member_srl exists, set member_info
$member_srl = Context::get('member_srl');
if($member_srl) {
$this->member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
if(!$this->member_info) Context::set('member_srl','');
else Context::set('member_info',$this->member_info);
}
// retrieve group list
$this->group_list = $oMemberModel->getGroups();
Context::set('group_list', $this->group_list);
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief display member list
**/
function dispMemberAdminList() {
$oMemberAdminModel = &getAdminModel('member');
$oMemberModel = &getModel('member');
$output = $oMemberAdminModel->getMemberList();
// retrieve list of groups for each member
if($output->data) {
foreach($output->data as $key => $member) {
$output->data[$key]->group_list = $oMemberModel->getMemberGroups($member->member_srl,0);
}
}
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('member_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('member_list');
}
/**
* @brief default configuration for member management
**/
function dispMemberAdminConfig() {
// retrieve configuration via module model instance
$oModuleModel = &getModel('module');
$oMemberModel = &getModel('member');
$config = $oMemberModel->getMemberConfig();
Context::set('config',$config);
// list of skins for member module
$skin_list = $oModuleModel->getSkins($this->module_path);
Context::set('skin_list', $skin_list);
// retrieve skins of editor
$oEditorModel = &getModel('editor');
Context::set('editor_skin_list', $oEditorModel->getEditorSkinList());
// get an editor
$option->primary_key_name = 'temp_srl';
$option->content_key_name = 'agreement';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = true;
$option->resizable = true;
$option->height = 300;
$editor = $oEditorModel->getEditor(0, $option);
Context::set('editor', $editor);
$this->setTemplateFile('member_config');
}
/**
* @brief display member information
**/
function dispMemberAdminInfo() {
$oMemberModel = &getModel('member');
$oModuleModel = &getModel('module');
$member_config = $oModuleModel->getModuleConfig('member');
Context::set('member_config', $member_config);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
$this->setTemplateFile('member_info');
}
/**
* @brief display member insert form
**/
function dispMemberAdminInsert() {
// retrieve extend form
$oMemberModel = &getModel('member');
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
$member_info = Context::get('member_info');
$member_info->signature = $oMemberModel->getSignature($this->member_info->member_srl);
Context::set('member_info', $member_info);
// get an editor for the signature
if($this->member_info->member_srl) {
$oEditorModel = &getModel('editor');
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->height = 200;
$editor = $oEditorModel->getEditor($this->member_info->member_srl, $option);
Context::set('editor', $editor);
}
$this->setTemplateFile('insert_member');
}
/**
* @brief display member delete form
**/
function dispMemberAdminDeleteForm() {
if(!Context::get('member_srl')) return $this->dispMemberAdminList();
$this->setTemplateFile('delete_form');
}
/**
* @brief display group list
**/
function dispMemberAdminGroupList() {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->group_image_mark_order) $config->group_image_mark_order = explode(',', $config->group_image_mark_order);
Context::set('config', $config);
$group_srl = Context::get('group_srl');
if($group_srl && $this->group_list[$group_srl]) {
Context::set('selected_group', $this->group_list[$group_srl]);
$this->setTemplateFile('group_update_form');
} else {
$this->setTemplateFile('group_list');
}
}
/**
* @brief 회원 가입 목록 출력
**/
function dispMemberAdminJoinFormList() {
// 멤버모델 객체 생성
$oMemberModel = &getModel('member');
// 추가로 설정한 가입 항목 가져오기
$form_list = $oMemberModel->getJoinFormList();
Context::set('form_list', $form_list);
$this->setTemplateFile('join_form_list');
}
/**
* @brief 회원 가입 관리 화면 출력
**/
function dispMemberAdminInsertJoinForm() {
// 수정일 경우 대상 join_form의 값을 구함
$member_join_form_srl = Context::get('member_join_form_srl');
if($member_join_form_srl) {
$oMemberModel = &getModel('member');
$join_form = $oMemberModel->getJoinForm($member_join_form_srl);
if(!$join_form) Context::set('member_join_form_srl','',true);
else Context::set('join_form', $join_form);
}
$this->setTemplateFile('insert_join_form');
}
/**
* @brief 금지 목록 아이디 출력
**/
function dispMemberAdminDeniedIDList() {
// 멤버모델 객체 생성
$oMemberModel = &getModel('member');
// 사용금지 목록 가져오기
$output = $oMemberModel->getDeniedIDList();
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('member_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('denied_id_list');
}
/**
* @brief 회원 그룹 일괄 변경
**/
function dispMemberAdminManageGroup() {
// 선택된 회원 목록을 구함
$args->member_srl = trim(Context::get('member_srls'));
$output = executeQueryArray('member.getMembers', $args);
Context::set('member_list', $output->data);
// 회원 그룹 목록을 구함
$oMemberModel = &getModel('member');
Context::set('member_groups', $oMemberModel->getGroups());
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('manage_member_group');
}
/**
* @brief 회원 일괄 삭제
**/
function dispMemberAdminDeleteMembers() {
// 선택된 회원 목록을 구함
$args->member_srl = trim(Context::get('member_srls'));
$output = executeQueryArray('member.getMembers', $args);
Context::set('member_list', $output->data);
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('delete_members');
}
}
?>
<?php
/**
* @class memberAdminView
* @author NHN (developers@xpressengine.com)
* @brief member module's admin view class
**/
class memberAdminView extends member {
var $group_list = NULL; ///< group list
var $member_info = NULL; ///< selected member info
/**
* @brief initialization
**/
function init() {
$oMemberModel = &getModel('member');
// if member_srl exists, set member_info
$member_srl = Context::get('member_srl');
if($member_srl) {
$this->member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
if(!$this->member_info) Context::set('member_srl','');
else Context::set('member_info',$this->member_info);
}
// retrieve group list
$this->group_list = $oMemberModel->getGroups();
Context::set('group_list', $this->group_list);
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief display member list
**/
function dispMemberAdminList() {
$oMemberAdminModel = &getAdminModel('member');
$oMemberModel = &getModel('member');
$output = $oMemberAdminModel->getMemberList();
// retrieve list of groups for each member
if($output->data) {
foreach($output->data as $key => $member) {
$output->data[$key]->group_list = $oMemberModel->getMemberGroups($member->member_srl,0);
}
}
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('member_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('member_list');
}
/**
* @brief default configuration for member management
**/
function dispMemberAdminConfig() {
// retrieve configuration via module model instance
$oModuleModel = &getModel('module');
$oMemberModel = &getModel('member');
$config = $oMemberModel->getMemberConfig();
Context::set('config',$config);
// list of skins for member module
$skin_list = $oModuleModel->getSkins($this->module_path);
Context::set('skin_list', $skin_list);
// retrieve skins of editor
$oEditorModel = &getModel('editor');
Context::set('editor_skin_list', $oEditorModel->getEditorSkinList());
// get an editor
$option->primary_key_name = 'temp_srl';
$option->content_key_name = 'agreement';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = true;
$option->resizable = true;
$option->height = 300;
$editor = $oEditorModel->getEditor(0, $option);
Context::set('editor', $editor);
$this->setTemplateFile('member_config');
}
/**
* @brief display member information
**/
function dispMemberAdminInfo() {
$oMemberModel = &getModel('member');
$oModuleModel = &getModel('module');
$member_config = $oModuleModel->getModuleConfig('member');
Context::set('member_config', $member_config);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
$this->setTemplateFile('member_info');
}
/**
* @brief display member insert form
**/
function dispMemberAdminInsert() {
// retrieve extend form
$oMemberModel = &getModel('member');
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
$member_info = Context::get('member_info');
$member_info->signature = $oMemberModel->getSignature($this->member_info->member_srl);
Context::set('member_info', $member_info);
// get an editor for the signature
if($this->member_info->member_srl) {
$oEditorModel = &getModel('editor');
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->height = 200;
$editor = $oEditorModel->getEditor($this->member_info->member_srl, $option);
Context::set('editor', $editor);
}
$this->setTemplateFile('insert_member');
}
/**
* @brief display member delete form
**/
function dispMemberAdminDeleteForm() {
if(!Context::get('member_srl')) return $this->dispMemberAdminList();
$this->setTemplateFile('delete_form');
}
/**
* @brief display group list
**/
function dispMemberAdminGroupList() {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->group_image_mark_order) $config->group_image_mark_order = explode(',', $config->group_image_mark_order);
Context::set('config', $config);
$group_srl = Context::get('group_srl');
if($group_srl && $this->group_list[$group_srl]) {
Context::set('selected_group', $this->group_list[$group_srl]);
$this->setTemplateFile('group_update_form');
} else {
$this->setTemplateFile('group_list');
}
}
/**
* @brief 회원 가입 목록 출력
**/
function dispMemberAdminJoinFormList() {
// 멤버모델 객체 생성
$oMemberModel = &getModel('member');
// 추가로 설정한 가입 항목 가져오기
$form_list = $oMemberModel->getJoinFormList();
Context::set('form_list', $form_list);
$this->setTemplateFile('join_form_list');
}
/**
* @brief 회원 가입 관리 화면 출력
**/
function dispMemberAdminInsertJoinForm() {
// 수정일 경우 대상 join_form의 값을 구함
$member_join_form_srl = Context::get('member_join_form_srl');
if($member_join_form_srl) {
$oMemberModel = &getModel('member');
$join_form = $oMemberModel->getJoinForm($member_join_form_srl);
if(!$join_form) Context::set('member_join_form_srl','',true);
else Context::set('join_form', $join_form);
}
$this->setTemplateFile('insert_join_form');
}
/**
* @brief 금지 목록 아이디 출력
**/
function dispMemberAdminDeniedIDList() {
// 멤버모델 객체 생성
$oMemberModel = &getModel('member');
// 사용금지 목록 가져오기
$output = $oMemberModel->getDeniedIDList();
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('member_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('denied_id_list');
}
/**
* @brief 회원 그룹 일괄 변경
**/
function dispMemberAdminManageGroup() {
// 선택된 회원 목록을 구함
$args->member_srl = trim(Context::get('member_srls'));
$output = executeQueryArray('member.getMembers', $args);
Context::set('member_list', $output->data);
// 회원 그룹 목록을 구함
$oMemberModel = &getModel('member');
Context::set('member_groups', $oMemberModel->getGroups());
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('manage_member_group');
}
/**
* @brief 회원 일괄 삭제
**/
function dispMemberAdminDeleteMembers() {
// 선택된 회원 목록을 구함
$args->member_srl = trim(Context::get('member_srls'));
$output = executeQueryArray('member.getMembers', $args);
Context::set('member_list', $output->data);
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('delete_members');
}
}
?>

View file

@ -1,7 +1,7 @@
<?php
/**
* @class memberAPI
* @author sol(sol@ngleader.com)
* @author NHN (developers@xpressengine.com)
* @brief member 모듈의 View Action에 대한 API 처리
**/

View file

@ -1,200 +1,200 @@
<?php
/**
* @class member
* @author zero (zero@nzeo.com)
* @brief member module의 high class
**/
class member extends ModuleObject {
/**
* @brief constructor
**/
function member() {
if(!Context::isInstalled()) return;
$oModuleModel = &getModel('module');
$member_config = $oModuleModel->getModuleConfig('member');
// SSL 사용시 회원가입/정보/비밀번호등과 관련된 action에 대해 SSL 전송하도록 지정
if(Context::get('_use_ssl') == 'optional') {
Context::addSSLAction('dispMemberModifyPassword');
Context::addSSLAction('dispMemberSignUpForm');
Context::addSSLAction('dispMemberModifyInfo');
Context::addSSLAction('procMemberLogin');
Context::addSSLAction('procMemberModifyPassword');
Context::addSSLAction('procMemberInsert');
Context::addSSLAction('procMemberModifyInfo');
}
}
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
$oModuleModel = &getModel('module');
$args = $oModuleModel->getModuleConfig('member');
// 기본 정보를 세팅
$args->enable_join = 'Y';
if(!$args->enable_openid) $args->enable_openid = 'N';
if(!$args->enable_auth_mail) $args->enable_auth_mail = 'N';
if(!$args->image_name) $args->image_name = 'Y';
if(!$args->image_mark) $args->image_mark = 'Y';
if(!$args->profile_image) $args->profile_image = 'Y';
if(!$args->image_name_max_width) $args->image_name_max_width = '90';
if(!$args->image_name_max_height) $args->image_name_max_height = '20';
if(!$args->image_mark_max_width) $args->image_mark_max_width = '20';
if(!$args->image_mark_max_height) $args->image_mark_max_height = '20';
if(!$args->profile_image_max_width) $args->profile_image_max_width = '80';
if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
if($args->group_image_mark!='Y') $args->group_image_mark = 'N';
$oModuleController->insertModuleConfig('member',$args);
// 멤버 컨트롤러 객체 생성
$oMemberModel = &getModel('member');
$oMemberController = &getController('member');
$oMemberAdminController = &getAdminController('member');
$groups = $oMemberModel->getGroups();
if(!count($groups)) {
// 관리자, 정회원, 준회원 그룹을 입력
$group_args->title = Context::getLang('admin_group');
$group_args->is_default = 'N';
$group_args->is_admin = 'Y';
$output = $oMemberAdminController->insertGroup($group_args);
unset($group_args);
$group_args->title = Context::getLang('default_group_1');
$group_args->is_default = 'Y';
$group_args->is_admin = 'N';
$output = $oMemberAdminController->insertGroup($group_args);
unset($group_args);
$group_args->title = Context::getLang('default_group_2');
$group_args->is_default = 'N';
$group_args->is_admin = 'N';
$oMemberAdminController->insertGroup($group_args);
}
// 관리자 정보 세팅
$admin_args->is_admin = 'Y';
$output = executeQuery('member.getMemberList', $admin_args);
if(!$output->data) {
$admin_info = Context::gets('user_id','password','nick_name','user_name', 'email_address');
if($admin_info->user_id) {
// 관리자 정보 입력
$oMemberAdminController->insertAdmin($admin_info);
// 로그인 처리시킴
$output = $oMemberController->doLogin($admin_info->user_id);
}
}
// 금지 아이디 등록 (기본 + 모듈명)
$oModuleModel = &getModel('module');
$module_list = $oModuleModel->getModuleList();
foreach($module_list as $key => $val) {
$oMemberAdminController->insertDeniedID($val->module,'');
}
$oMemberAdminController->insertDeniedID('www','');
$oMemberAdminController->insertDeniedID('root','');
$oMemberAdminController->insertDeniedID('administrator','');
$oMemberAdminController->insertDeniedID('telnet','');
$oMemberAdminController->insertDeniedID('ftp','');
$oMemberAdminController->insertDeniedID('http','');
// member 에서 사용할 cache디렉토리 생성
FileHandler::makeDir('./files/member_extra_info/image_name');
FileHandler::makeDir('./files/member_extra_info/image_mark');
FileHandler::makeDir('./files/member_extra_info/profile_image');
FileHandler::makeDir('./files/member_extra_info/signature');
$oDB->addIndex("member_openid_association","idx_assoc", array("server_url(255)","handle"), false);
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oDB = &DB::getInstance();
$oModuleModel = &getModel('module');
// member 디렉토리 체크 (2007. 8. 11 추가)
if(!is_dir("./files/member_extra_info")) return true;
// member 디렉토리 체크 (2007. 10. 22 추가)
if(!is_dir("./files/member_extra_info/profile_image")) return true;
// member_auth_mail 테이블에 is_register 필드 추가 (2008. 04. 22)
$act = $oDB->isColumnExists("member_auth_mail", "is_register");
if(!$act) return true;
// member_group_member 테이블에 site_srl 추가 (2008. 11. 15)
if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true;
if(!$oDB->isColumnExists("member_group", "site_srl")) return true;
if($oDB->isIndexExists("member_group","uni_member_group_title")) return true;
// image_mark 추가 (2009. 02. 14)
if(!$oDB->isColumnExists("member_group", "image_mark")) return true;
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oDB = &DB::getInstance();
$oModuleController = &getController('module');
// member 디렉토리 체크
FileHandler::makeDir('./files/member_extra_info/image_name');
FileHandler::makeDir('./files/member_extra_info/image_mark');
FileHandler::makeDir('./files/member_extra_info/signature');
FileHandler::makeDir('./files/member_extra_info/profile_image');
// DB 필드 추가
if (!$oDB->isColumnExists("member_auth_mail", "is_register")) {
$oDB->addColumn("member_auth_mail", "is_register", "char", 1, "N", true);
}
// member_group_member 테이블에 site_srl 추가 (2008. 11. 15)
if (!$oDB->isColumnExists("member_group_member", "site_srl")) {
$oDB->addColumn("member_group_member", "site_srl", "number", 11, 0, true);
$oDB->addIndex("member_group_member", "idx_site_srl", "site_srl", false);
}
if (!$oDB->isColumnExists("member_group", "site_srl")) {
$oDB->addColumn("member_group", "site_srl", "number", 11, 0, true);
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
}
if($oDB->isIndexExists("member_group","uni_member_group_title")) {
$oDB->dropIndex("member_group","uni_member_group_title",true);
}
// image_mark 추가 (2009. 02. 14)
if(!$oDB->isColumnExists("member_group", "image_mark")) {
$oDB->addColumn("member_group", "image_mark", "text");
}
return new Object(0, 'success_updated');
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
set_include_path(_XE_PATH_."modules/member/php-openid-1.2.3");
require_once('Auth/OpenID/XEStore.php');
$store = new Auth_OpenID_XEStore();
$store->reset();
}
}
?>
<?php
/**
* @class member
* @author NHN (developers@xpressengine.com)
* @brief member module의 high class
**/
class member extends ModuleObject {
/**
* @brief constructor
**/
function member() {
if(!Context::isInstalled()) return;
$oModuleModel = &getModel('module');
$member_config = $oModuleModel->getModuleConfig('member');
// SSL 사용시 회원가입/정보/비밀번호등과 관련된 action에 대해 SSL 전송하도록 지정
if(Context::get('_use_ssl') == 'optional') {
Context::addSSLAction('dispMemberModifyPassword');
Context::addSSLAction('dispMemberSignUpForm');
Context::addSSLAction('dispMemberModifyInfo');
Context::addSSLAction('procMemberLogin');
Context::addSSLAction('procMemberModifyPassword');
Context::addSSLAction('procMemberInsert');
Context::addSSLAction('procMemberModifyInfo');
}
}
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
$oModuleModel = &getModel('module');
$args = $oModuleModel->getModuleConfig('member');
// 기본 정보를 세팅
$args->enable_join = 'Y';
if(!$args->enable_openid) $args->enable_openid = 'N';
if(!$args->enable_auth_mail) $args->enable_auth_mail = 'N';
if(!$args->image_name) $args->image_name = 'Y';
if(!$args->image_mark) $args->image_mark = 'Y';
if(!$args->profile_image) $args->profile_image = 'Y';
if(!$args->image_name_max_width) $args->image_name_max_width = '90';
if(!$args->image_name_max_height) $args->image_name_max_height = '20';
if(!$args->image_mark_max_width) $args->image_mark_max_width = '20';
if(!$args->image_mark_max_height) $args->image_mark_max_height = '20';
if(!$args->profile_image_max_width) $args->profile_image_max_width = '80';
if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
if($args->group_image_mark!='Y') $args->group_image_mark = 'N';
$oModuleController->insertModuleConfig('member',$args);
// 멤버 컨트롤러 객체 생성
$oMemberModel = &getModel('member');
$oMemberController = &getController('member');
$oMemberAdminController = &getAdminController('member');
$groups = $oMemberModel->getGroups();
if(!count($groups)) {
// 관리자, 정회원, 준회원 그룹을 입력
$group_args->title = Context::getLang('admin_group');
$group_args->is_default = 'N';
$group_args->is_admin = 'Y';
$output = $oMemberAdminController->insertGroup($group_args);
unset($group_args);
$group_args->title = Context::getLang('default_group_1');
$group_args->is_default = 'Y';
$group_args->is_admin = 'N';
$output = $oMemberAdminController->insertGroup($group_args);
unset($group_args);
$group_args->title = Context::getLang('default_group_2');
$group_args->is_default = 'N';
$group_args->is_admin = 'N';
$oMemberAdminController->insertGroup($group_args);
}
// 관리자 정보 세팅
$admin_args->is_admin = 'Y';
$output = executeQuery('member.getMemberList', $admin_args);
if(!$output->data) {
$admin_info = Context::gets('user_id','password','nick_name','user_name', 'email_address');
if($admin_info->user_id) {
// 관리자 정보 입력
$oMemberAdminController->insertAdmin($admin_info);
// 로그인 처리시킴
$output = $oMemberController->doLogin($admin_info->user_id);
}
}
// 금지 아이디 등록 (기본 + 모듈명)
$oModuleModel = &getModel('module');
$module_list = $oModuleModel->getModuleList();
foreach($module_list as $key => $val) {
$oMemberAdminController->insertDeniedID($val->module,'');
}
$oMemberAdminController->insertDeniedID('www','');
$oMemberAdminController->insertDeniedID('root','');
$oMemberAdminController->insertDeniedID('administrator','');
$oMemberAdminController->insertDeniedID('telnet','');
$oMemberAdminController->insertDeniedID('ftp','');
$oMemberAdminController->insertDeniedID('http','');
// member 에서 사용할 cache디렉토리 생성
FileHandler::makeDir('./files/member_extra_info/image_name');
FileHandler::makeDir('./files/member_extra_info/image_mark');
FileHandler::makeDir('./files/member_extra_info/profile_image');
FileHandler::makeDir('./files/member_extra_info/signature');
$oDB->addIndex("member_openid_association","idx_assoc", array("server_url(255)","handle"), false);
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oDB = &DB::getInstance();
$oModuleModel = &getModel('module');
// member 디렉토리 체크 (2007. 8. 11 추가)
if(!is_dir("./files/member_extra_info")) return true;
// member 디렉토리 체크 (2007. 10. 22 추가)
if(!is_dir("./files/member_extra_info/profile_image")) return true;
// member_auth_mail 테이블에 is_register 필드 추가 (2008. 04. 22)
$act = $oDB->isColumnExists("member_auth_mail", "is_register");
if(!$act) return true;
// member_group_member 테이블에 site_srl 추가 (2008. 11. 15)
if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true;
if(!$oDB->isColumnExists("member_group", "site_srl")) return true;
if($oDB->isIndexExists("member_group","uni_member_group_title")) return true;
// image_mark 추가 (2009. 02. 14)
if(!$oDB->isColumnExists("member_group", "image_mark")) return true;
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oDB = &DB::getInstance();
$oModuleController = &getController('module');
// member 디렉토리 체크
FileHandler::makeDir('./files/member_extra_info/image_name');
FileHandler::makeDir('./files/member_extra_info/image_mark');
FileHandler::makeDir('./files/member_extra_info/signature');
FileHandler::makeDir('./files/member_extra_info/profile_image');
// DB 필드 추가
if (!$oDB->isColumnExists("member_auth_mail", "is_register")) {
$oDB->addColumn("member_auth_mail", "is_register", "char", 1, "N", true);
}
// member_group_member 테이블에 site_srl 추가 (2008. 11. 15)
if (!$oDB->isColumnExists("member_group_member", "site_srl")) {
$oDB->addColumn("member_group_member", "site_srl", "number", 11, 0, true);
$oDB->addIndex("member_group_member", "idx_site_srl", "site_srl", false);
}
if (!$oDB->isColumnExists("member_group", "site_srl")) {
$oDB->addColumn("member_group", "site_srl", "number", 11, 0, true);
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
}
if($oDB->isIndexExists("member_group","uni_member_group_title")) {
$oDB->dropIndex("member_group","uni_member_group_title",true);
}
// image_mark 추가 (2009. 02. 14)
if(!$oDB->isColumnExists("member_group", "image_mark")) {
$oDB->addColumn("member_group", "image_mark", "text");
}
return new Object(0, 'success_updated');
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
set_include_path(_XE_PATH_."modules/member/php-openid-1.2.3");
require_once('Auth/OpenID/XEStore.php');
$store = new Auth_OpenID_XEStore();
$store->reset();
}
}
?>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,340 +1,340 @@
<?php
/**
* @class memberView
* @author zero (zero@nzeo.com)
* @brief member module의 View class
**/
class memberView extends member {
var $group_list = NULL; ///< 그룹 목록 정보
var $member_info = NULL; ///< 선택된 사용자의 정보
var $skin = 'default';
/**
* @brief 초기화
**/
function init() {
// 회원 관리 정보를 받음
$oModuleModel = &getModel('module');
$this->member_config = $oModuleModel->getModuleConfig('member');
if(!$this->member_config->skin) $this->member_config->skin = "default";
if(!$this->member_config->colorset) $this->member_config->colorset = "white";
Context::set('member_config', $this->member_config);
$skin = $this->member_config->skin;
// template path 지정
$tpl_path = sprintf('%sskins/%s', $this->module_path, $skin);
if(!is_dir($tpl_path)) $tpl_path = sprintf('%sskins/%s', $this->module_path, 'default');
$this->setTemplatePath($tpl_path);
}
/**
* @brief 회원 정보 출력
**/
function dispMemberInfo() {
$oMemberModel = &getModel('member');
$logged_info = Context::get('logged_info');
// 비회원일 경우 정보 열람 중지
if(!$logged_info->member_srl) return $this->stop('msg_not_permitted');
$member_srl = Context::get('member_srl');
if(!$member_srl && Context::get('is_logged')) {
$member_srl = $logged_info->member_srl;
} elseif(!$member_srl) {
return $this->dispMemberSignUpForm();
}
$site_module_info = Context::get('site_module_info');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, $site_module_info->site_srl);
unset($member_info->password);
unset($member_info->email_id);
unset($member_info->email_host);
unset($member_info->email_address);
if(!$member_info->member_srl) return $this->dispMemberSignUpForm();
Context::set('member_info', $member_info);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
if ($member_info->member_srl == $logged_info->member_srl)
Context::set('openids', $oMemberModel->getMemberOpenIDByMemberSrl($member_srl));
$this->setTemplateFile('member_info');
}
/**
* @brief 회원 가입 출력
**/
function dispMemberSignUpForm() {
$oMemberModel = &getModel('member');
// 로그인한 회원일 경우 해당 회원의 정보를 받음
if($oMemberModel->isLogged()) return $this->stop('msg_already_logged');
// before 트리거 호출
$trigger_output = ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $this->member_config);
if(!$trigger_output->toBool()) return $trigger_output;
// 회원가입을 중지시켰을 때는 에러 표시
if($this->member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled');
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
$member_config = $oMemberModel->getMemberConfig();
Context::set('member_config', $member_config);
// 템플릿 파일 지정
$this->setTemplateFile('signup_form');
}
/**
* @brief 회원 정보 수정
**/
function dispMemberModifyInfo() {
$oMemberModel = &getModel('member');
$oModuleModel = &getModel('module');
$memberModuleConfig = $oModuleModel->getModuleConfig('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
$member_info->signature = $oMemberModel->getSignature($member_srl);
Context::set('member_info',$member_info);
// 추가 가입폼 목록을 받음
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
Context::set('openids', $oMemberModel->getMemberOpenIDByMemberSrl($member_srl));
// 에디터 모듈의 getEditor를 호출하여 서명용으로 세팅
if($member_info->member_srl) {
$oEditorModel = &getModel('editor');
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->disable_html = true;
$option->height = 200;
$option->skin = $this->member_config->editor_skin;
$option->colorset = $this->member_config->editor_colorset;
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor);
}
// 템플릿 파일 지정
$this->setTemplateFile('modify_info');
}
/**
* @brief 회원 작성글 보기
**/
function dispMemberOwnDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$module_srl = Context::get('module_srl');
Context::set('module_srl',Context::get('selected_module_srl'));
Context::set('search_target','member_srl');
Context::set('search_keyword',$member_srl);
$oDocumentAdminView = &getAdminView('document');
$oDocumentAdminView->dispDocumentAdminList();
Context::set('module_srl', $module_srl);
$this->setTemplateFile('document_list');
}
/**
* @brief 회원 스크랩 게시물 보기
**/
function dispMemberScrappedDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$output = executeQuery('member.getScrapDocumentList', $args);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('scrapped_list');
}
/**
* @brief 회원의 저장함 보기
**/
function dispMemberSavedDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// 저장함에 보관된 글을 가져옴 (저장함은 module_srl이 member_srl로 세팅되어 있음)
$logged_info = Context::get('logged_info');
$args->module_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('saved_list');
}
/**
* @brief 로그인 출력
**/
function dispMemberLoginForm() {
if(Context::get('is_logged')) {
Context::set('redirect_url', getUrl('act',''));
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('redirect.html');
return;
}
// 템플릿 파일 지정
Context::set('referer_url', $_SERVER['HTTP_REFERER']);
$this->setTemplateFile('login_form');
}
/**
* @brief 회원 비밀번호 수정
**/
function dispMemberModifyPassword() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
// 템플릿 파일 지정
$this->setTemplateFile('modify_password');
}
/**
* @brief 탈퇴 화면
**/
function dispMemberLeave() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
// 템플릿 파일 지정
$this->setTemplateFile('leave_form');
}
/**
* @brief 오픈 아이디 탈퇴 화면
**/
function dispMemberOpenIDLeave() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
// 템플릿 파일 지정
$this->setTemplateFile('openid_leave_form');
}
/**
* @brief 로그아웃 출력
**/
function dispMemberLogout() {
$oMemberController = &getController('member');
$oMemberController->procMemberLogout();
Context::set('layout','none');
$this->setTemplatePath($this->module_path.'/tpl');
$this->setTemplateFile('logout');
}
/**
* @brief 저장된 목록을 보여줌
**/
function dispSavedDocumentList() {
$this->setLayoutFile('popup_layout');
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// 저장함에 보관된 글을 가져옴 (저장함은 module_srl이 member_srl로 세팅되어 있음)
$logged_info = Context::get('logged_info');
$args->module_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$args->list_count = 10;
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('saved_list_popup');
}
/**
* @brief 아이디/ 비밀번호 찾기 기능
**/
function dispMemberFindAccount() {
if(Context::get('is_logged')) return $this->stop('already_logged');
$this->setTemplateFile('find_member_account');
}
/**
* @brief 인증 메일 재발송 페이지
**/
function dispMemberResendAuthMail() {
if(Context::get('is_logged')) return $this->stop('already_logged');
$this->setTemplateFile('resend_auth_mail');
}
}
?>
<?php
/**
* @class memberView
* @author NHN (developers@xpressengine.com)
* @brief member module의 View class
**/
class memberView extends member {
var $group_list = NULL; ///< 그룹 목록 정보
var $member_info = NULL; ///< 선택된 사용자의 정보
var $skin = 'default';
/**
* @brief 초기화
**/
function init() {
// 회원 관리 정보를 받음
$oModuleModel = &getModel('module');
$this->member_config = $oModuleModel->getModuleConfig('member');
if(!$this->member_config->skin) $this->member_config->skin = "default";
if(!$this->member_config->colorset) $this->member_config->colorset = "white";
Context::set('member_config', $this->member_config);
$skin = $this->member_config->skin;
// template path 지정
$tpl_path = sprintf('%sskins/%s', $this->module_path, $skin);
if(!is_dir($tpl_path)) $tpl_path = sprintf('%sskins/%s', $this->module_path, 'default');
$this->setTemplatePath($tpl_path);
}
/**
* @brief 회원 정보 출력
**/
function dispMemberInfo() {
$oMemberModel = &getModel('member');
$logged_info = Context::get('logged_info');
// 비회원일 경우 정보 열람 중지
if(!$logged_info->member_srl) return $this->stop('msg_not_permitted');
$member_srl = Context::get('member_srl');
if(!$member_srl && Context::get('is_logged')) {
$member_srl = $logged_info->member_srl;
} elseif(!$member_srl) {
return $this->dispMemberSignUpForm();
}
$site_module_info = Context::get('site_module_info');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, $site_module_info->site_srl);
unset($member_info->password);
unset($member_info->email_id);
unset($member_info->email_host);
unset($member_info->email_address);
if(!$member_info->member_srl) return $this->dispMemberSignUpForm();
Context::set('member_info', $member_info);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
if ($member_info->member_srl == $logged_info->member_srl)
Context::set('openids', $oMemberModel->getMemberOpenIDByMemberSrl($member_srl));
$this->setTemplateFile('member_info');
}
/**
* @brief 회원 가입 출력
**/
function dispMemberSignUpForm() {
$oMemberModel = &getModel('member');
// 로그인한 회원일 경우 해당 회원의 정보를 받음
if($oMemberModel->isLogged()) return $this->stop('msg_already_logged');
// before 트리거 호출
$trigger_output = ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $this->member_config);
if(!$trigger_output->toBool()) return $trigger_output;
// 회원가입을 중지시켰을 때는 에러 표시
if($this->member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled');
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
$member_config = $oMemberModel->getMemberConfig();
Context::set('member_config', $member_config);
// 템플릿 파일 지정
$this->setTemplateFile('signup_form');
}
/**
* @brief 회원 정보 수정
**/
function dispMemberModifyInfo() {
$oMemberModel = &getModel('member');
$oModuleModel = &getModel('module');
$memberModuleConfig = $oModuleModel->getModuleConfig('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
$member_info->signature = $oMemberModel->getSignature($member_srl);
Context::set('member_info',$member_info);
// 추가 가입폼 목록을 받음
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
Context::set('openids', $oMemberModel->getMemberOpenIDByMemberSrl($member_srl));
// 에디터 모듈의 getEditor를 호출하여 서명용으로 세팅
if($member_info->member_srl) {
$oEditorModel = &getModel('editor');
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->disable_html = true;
$option->height = 200;
$option->skin = $this->member_config->editor_skin;
$option->colorset = $this->member_config->editor_colorset;
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor);
}
// 템플릿 파일 지정
$this->setTemplateFile('modify_info');
}
/**
* @brief 회원 작성글 보기
**/
function dispMemberOwnDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$module_srl = Context::get('module_srl');
Context::set('module_srl',Context::get('selected_module_srl'));
Context::set('search_target','member_srl');
Context::set('search_keyword',$member_srl);
$oDocumentAdminView = &getAdminView('document');
$oDocumentAdminView->dispDocumentAdminList();
Context::set('module_srl', $module_srl);
$this->setTemplateFile('document_list');
}
/**
* @brief 회원 스크랩 게시물 보기
**/
function dispMemberScrappedDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$args->member_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$output = executeQuery('member.getScrapDocumentList', $args);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('scrapped_list');
}
/**
* @brief 회원의 저장함 보기
**/
function dispMemberSavedDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// 저장함에 보관된 글을 가져옴 (저장함은 module_srl이 member_srl로 세팅되어 있음)
$logged_info = Context::get('logged_info');
$args->module_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('saved_list');
}
/**
* @brief 로그인 출력
**/
function dispMemberLoginForm() {
if(Context::get('is_logged')) {
Context::set('redirect_url', getUrl('act',''));
$this->setTemplatePath($this->module_path.'tpl');
$this->setTemplateFile('redirect.html');
return;
}
// 템플릿 파일 지정
Context::set('referer_url', $_SERVER['HTTP_REFERER']);
$this->setTemplateFile('login_form');
}
/**
* @brief 회원 비밀번호 수정
**/
function dispMemberModifyPassword() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
// 템플릿 파일 지정
$this->setTemplateFile('modify_password');
}
/**
* @brief 탈퇴 화면
**/
function dispMemberLeave() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
// 템플릿 파일 지정
$this->setTemplateFile('leave_form');
}
/**
* @brief 오픈 아이디 탈퇴 화면
**/
function dispMemberOpenIDLeave() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
// 템플릿 파일 지정
$this->setTemplateFile('openid_leave_form');
}
/**
* @brief 로그아웃 출력
**/
function dispMemberLogout() {
$oMemberController = &getController('member');
$oMemberController->procMemberLogout();
Context::set('layout','none');
$this->setTemplatePath($this->module_path.'/tpl');
$this->setTemplateFile('logout');
}
/**
* @brief 저장된 목록을 보여줌
**/
function dispSavedDocumentList() {
$this->setLayoutFile('popup_layout');
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// 저장함에 보관된 글을 가져옴 (저장함은 module_srl이 member_srl로 세팅되어 있음)
$logged_info = Context::get('logged_info');
$args->module_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$args->list_count = 10;
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('saved_list_popup');
}
/**
* @brief 아이디/ 비밀번호 찾기 기능
**/
function dispMemberFindAccount() {
if(Context::get('is_logged')) return $this->stop('already_logged');
$this->setTemplateFile('find_member_account');
}
/**
* @brief 인증 메일 재발송 페이지
**/
function dispMemberResendAuthMail() {
if(Context::get('is_logged')) return $this->stop('already_logged');
$this->setTemplateFile('resend_auth_mail');
}
}
?>

View file

@ -1,77 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<skin version="0.2">
<title xml:lang="ko">회원 기본 스킨</title>
<title xml:lang="zh-CN">会员模块默认皮肤</title>
<title xml:lang="jp">会員デフォルトスキン</title>
<title xml:lang="en">Default Member Skin</title>
<title xml:lang="vi">Giao diện thành viên mặc định</title>
<title xml:lang="es">Por defecto miembro piel</title>
<title xml:lang="ru">По умолчанию членом кожи</title>
<title xml:lang="zh-TW">會員模組預設面板</title>
<description xml:lang="ko">
회원모듈의 default스킨
디자인 : 서기정 (http://blog.naver.com/addcozy)
HTML/CSS : 정찬명 (http://naradesign.net)
</description>
<description xml:lang="zh-CN">
会员模块的默认皮肤。
设计 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
</description>
<description xml:lang="jp">
会員モジュールのデフォルトスキン
デザイン:ソギジョン (http://blog.naver.com/addcozy)
HTML/CSSジョンチャンミョン (http://naradesign.net)
</description>
<description xml:lang="en">
default skin of member module
Design : Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
</description>
<description xml:lang="vi">
Giao diện mặc định của Module Thành viên
Thiết kế: Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
</description>
<description xml:lang="es">
Por defecto de la piel miembro módulo
Diseño: Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML / CSS: Jeong Chan-Myung (http://naradesign.net)
</description>
<description xml:lang="ru">
умолчанию кожу члена модуль
Дизайн: Ги Чен Се (http://blog.naver.com/addcozy)
HTML / CSS: Чен-Чен Мен (http://naradesign.net)
</description>
<description xml:lang="zh-TW">
會員模組預設面板。
設計 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
</description>
<version>0.1</version>
<date>2007-02-28</date>
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
<name xml:lang="ko">(주)NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="zh-CN">(株)NHN</name>
<name xml:lang="en">NHN Corp</name>
<name xml:lang="vi">NHN Corp</name>
<name xml:lang="es">NHN Corp</name>
<name xml:lang="ru">NHN Корп</name>
<name xml:lang="zh-TW">NHN Corp</name>
</author>
<colorset>
<color name="white">
<title xml:lang="ko">기본</title>
<title xml:lang="zh-CN">默认</title>
<title xml:lang="jp">デフォルト</title>
<title xml:lang="en">default</title>
<title xml:lang="vi">Mặc định</title>
<title xml:lang="es">Por defecto</title>
<title xml:lang="ru">умолчанию</title>
<title xml:lang="zh-TW">預設</title>
</color>
</colorset>
</skin>
<?xml version="1.0" encoding="UTF-8"?>
<skin version="0.2">
<title xml:lang="ko">회원 기본 스킨</title>
<title xml:lang="zh-CN">会员模块默认皮肤</title>
<title xml:lang="jp">会員デフォルトスキン</title>
<title xml:lang="en">Default Member Skin</title>
<title xml:lang="vi">Giao diện thành viên mặc định</title>
<title xml:lang="es">Por defecto miembro piel</title>
<title xml:lang="ru">По умолчанию членом кожи</title>
<title xml:lang="zh-TW">會員模組預設面板</title>
<description xml:lang="ko">
회원모듈의 default스킨
NHN (developers@xpressengine.com)
</description>
<description xml:lang="zh-CN">
会员模块的默认皮肤。
NHN (developers@xpressengine.com)
</description>
<description xml:lang="jp">
会員モジュールのデフォルトスキン
NHN (developers@xpressengine.com)
</description>
<description xml:lang="en">
default skin of member module
NHN (developers@xpressengine.com)
</description>
<description xml:lang="vi">
Giao diện mặc định của Module Thành viên
NHN (developers@xpressengine.com)
</description>
<description xml:lang="es">
Por defecto de la piel miembro módulo
NHN (developers@xpressengine.com)
</description>
<description xml:lang="ru">
умолчанию кожу члена модуль
NHN (developers@xpressengine.com)
</description>
<description xml:lang="zh-TW">
會員模組預設面板。
NHN (developers@xpressengine.com)
</description>
<version>0.1</version>
<date>2007-02-28</date>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="es">NHN</name>
<name xml:lang="ru">NHN</name>
<name xml:lang="zh-TW">NHN</name>
</author>
<colorset>
<color name="white">
<title xml:lang="ko">기본</title>
<title xml:lang="zh-CN">默认</title>
<title xml:lang="jp">デフォルト</title>
<title xml:lang="en">default</title>
<title xml:lang="vi">Mặc định</title>
<title xml:lang="es">Por defecto</title>
<title xml:lang="ru">умолчанию</title>
<title xml:lang="zh-TW">預設</title>
</color>
</colorset>
</skin>

View file

@ -1,52 +1,52 @@
/**
* @brief 회원 가입시나 정보 수정시 항목의 중복 검사등을 하는 기능을 구현
* @author zero
**/
// 입력이 시작된 것과 입력후 정해진 시간동안 내용이 변하였을 경우 서버에 ajax로 체크를 하기 위한 변수 설정
var memberCheckObj = { target:null, value:null }
// domready시에 특정 필드들에 대해 이벤트를 걸어 놓음
jQuery(document).ready(memberSetEvent);
function memberSetEvent() {
jQuery('#fo_insert_member :input')
.filter('[name=user_id],[name=nick_name],[name=email_address]')
.blur(memberCheckValue);
}
// 실제 서버에 특정 필드의 value check를 요청하고 이상이 있으면 메세지를 뿌려주는 함수
function memberCheckValue(event) {
var field = event.target;
var _name = field.name;
var _value = field.value;
if(!_name || !_value) return;
var params = {name:_name, value:_value};
var response_tags = ['error','message'];
exec_xml('member','procMemberCheckValue', params, completeMemberCheckValue, response_tags, field);
}
// 서버에서 응답이 올 경우 이상이 있으면 메세지를 출력
function completeMemberCheckValue(ret_obj, response_tags, field) {
var _id = 'dummy_check'+field.name;
var dummy = jQuery('#'+_id);
if(ret_obj['message']=='success') {
dummy.html('').hide();
return;
}
if (!dummy.length) {
dummy = jQuery('<div class="checkValue" />').attr('id', _id).appendTo(field.parentNode);
}
dummy.html(ret_obj['message']).show();
}
// 결과 메세지를 정리하는 함수
function removeMemberCheckValueOutput(dummy, obj) {
dummy.style.display = "none";
}
/**
* @brief 회원 가입시나 정보 수정시 항목의 중복 검사등을 하는 기능을 구현
* @author NHN (developer@xpressengine.com)
**/
// 입력이 시작된 것과 입력후 정해진 시간동안 내용이 변하였을 경우 서버에 ajax로 체크를 하기 위한 변수 설정
var memberCheckObj = { target:null, value:null }
// domready시에 특정 필드들에 대해 이벤트를 걸어 놓음
jQuery(document).ready(memberSetEvent);
function memberSetEvent() {
jQuery('#fo_insert_member :input')
.filter('[name=user_id],[name=nick_name],[name=email_address]')
.blur(memberCheckValue);
}
// 실제 서버에 특정 필드의 value check를 요청하고 이상이 있으면 메세지를 뿌려주는 함수
function memberCheckValue(event) {
var field = event.target;
var _name = field.name;
var _value = field.value;
if(!_name || !_value) return;
var params = {name:_name, value:_value};
var response_tags = ['error','message'];
exec_xml('member','procMemberCheckValue', params, completeMemberCheckValue, response_tags, field);
}
// 서버에서 응답이 올 경우 이상이 있으면 메세지를 출력
function completeMemberCheckValue(ret_obj, response_tags, field) {
var _id = 'dummy_check'+field.name;
var dummy = jQuery('#'+_id);
if(ret_obj['message']=='success') {
dummy.html('').hide();
return;
}
if (!dummy.length) {
dummy = jQuery('<div class="checkValue" />').attr('id', _id).appendTo(field.parentNode);
}
dummy.html(ret_obj['message']).show();
}
// 결과 메세지를 정리하는 함수
function removeMemberCheckValueOutput(dummy, obj) {
dummy.style.display = "none";
}