diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php
index 9d5c17d20..a8ed7ac59 100644
--- a/modules/member/lang/ko.lang.php
+++ b/modules/member/lang/ko.lang.php
@@ -38,6 +38,8 @@
$lang->image_mark_max_width = '가로 제한 크기';
$lang->image_mark_max_height = '세로 제한 크기';
$lang->enable_join = '회원 가입 허가';
+ $lang->limit_day = '임시 제한 일자';
+ $lang->limit_date = '제한일';
$lang->redirect_url = '회원 가입후 이동할 페이지';
$lang->agreement = '회원 가입 약관';
$lang->accept_agreement = '약관동의';
@@ -114,6 +116,9 @@
$lang->msg_accept_agreement = '약관에 동의하셔야 합니다';
+ $lang->msg_user_denied = '입력하신 아이디의 사용이 중지되셨습니다';
+ $lang->msg_user_limited = '입력하신 아이디는 %s 이후부터 사용하실 수 있습니다';
+
$lang->about_user_id = '사용자 ID는 3~20자 사이의 영문+숫자로 이루어져야 하며 영문으로 시작되어야 합니다';
$lang->about_password = '비밀번호는 6~20자로 되어야 합니다';
$lang->about_user_name = '이름은 2~20자 이내여야 합니다';
@@ -137,6 +142,8 @@
$lang->about_required = '체크하시면 회원가입시 필수항목으로 입력하도록 됩니다';
$lang->about_enable_join = '체크를 하셔야 사용자들이 회원가입을 할 수 있습니다';
+ $lang->about_limit_day = '회원 가입후 정해진 일자동안 인증 제한을 할 수 있습니다';
+ $lang->about_limit_date = '지정된 일자까지 해당 사용자는 로그인을 할 수 없습니다';
$lang->about_redirect_url = '회원 가입후 이동할 url을 입력해 주세요. 비어 있으면 가입 이전 페이지로 돌아갑니다';
$lang->about_agreement = '회원가입약관이 없을 경우 표시되지 않습니다';
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 5fb026dd2..d0cd8f8d0 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -455,10 +455,11 @@
**/
function procMemberAdminInsertConfig() {
// 기본 정보를 받음
- $args = Context::gets('enable_join','redirect_url','content','image_name','image_mark', 'image_name_max_width', 'image_name_max_height','image_mark_max_width','image_mark_max_height');
+ $args = Context::gets('enable_join','limit_day','redirect_url','content','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';
if($args->image_name!='Y') $args->image_name = 'N';
if($args->image_mark!='Y') $args->image_mark = 'N';
+ $args->limit_day = (int)$args->limit_day;
$args->agreement = $args->content;
unset($args->content);
@@ -849,6 +850,12 @@
if($member_info->user_id != $user_id) return new Object(-1, 'invalid_user_id');
if($password && $member_info->password != md5($password)) return new Object(-1, 'invalid_password');
+ // denied == 'Y' 이면 알림
+ if($member_info->denied == 'Y') return new Object(-1,'msg_user_denied');
+
+ // denied_date가 현 시간보다 적으면 알림
+ if($member_info->limit_date && $member_info->limit_date >= date("YmdHis")) return new Object(-1,sprintf(Context::getLang('msg_user_limited'),zdate($member_info->limit_date,"Y-m-d H:i")));
+
// 로그인 처리
$_SESSION['is_logged'] = true;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
@@ -880,6 +887,9 @@
return new Object(-1, 'msg_accept_agreement');
}
+ // 임시 제한 일자가 있을 경우 제한 일자에 내용 추가
+ if($config->limit_day) $args->limit_date = date("YmdHis", time()+$config->limit_day*60*60*24);
+
// 필수 변수들의 조절
if($args->allow_mailing!='Y') $args->allow_mailing = 'N';
if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message= 'Y';
diff --git a/modules/member/queries/insertMember.xml b/modules/member/queries/insertMember.xml
index 71781f963..d47025596 100644
--- a/modules/member/queries/insertMember.xml
+++ b/modules/member/queries/insertMember.xml
@@ -17,6 +17,7 @@