diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index ae49d4f05..9d68b219d 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -236,7 +236,7 @@ foreach($group as $key => $val) { $pipe = key($val); $cond = array_pop($val); - if($buff) $buff .= $pipe.' '.$cond; + if($buff) $buff .= ' '.$pipe.' '.$cond; else $buff = $cond; } diff --git a/modules/member/member.model.php b/modules/member/member.model.php index bf2b6dcb9..5032a513b 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -154,11 +154,55 @@ // 등록된 member 모듈을 불러와 세팅 $oDB = &DB::getInstance(); - $args->sort_index = "member_srl"; + // 검색 옵션 정리 + $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 = $search_keyword; + break; + case 'last_login' : + $args->s_last_login = $search_keyword; + break; + } + } + + // selected_group_srl이 있으면 query id를 변경 (table join때문에) + if($args->selected_group_srl) { + $query_id = 'member.getMemberListWithinGroup'; + $args->sort_index = "member.member_srl"; + } else { + $query_id = 'member.getMemberList'; + $args->sort_index = "member_srl"; + } + + // 기타 변수들 정리 $args->page = Context::get('page'); $args->list_count = 40; $args->page_count = 10; - return $oDB->executeQuery('member.getMemberList', $args); + return $oDB->executeQuery($query_id, $args); } /** diff --git a/modules/member/queries/getMemberList.xml b/modules/member/queries/getMemberList.xml index a0d080ab4..104d7cdeb 100644 --- a/modules/member/queries/getMemberList.xml +++ b/modules/member/queries/getMemberList.xml @@ -1,14 +1,26 @@ - - - - - - - - - - - - + +
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/member/queries/getMemberListWithinGroup.xml b/modules/member/queries/getMemberListWithinGroup.xml new file mode 100644 index 000000000..270559998 --- /dev/null +++ b/modules/member/queries/getMemberListWithinGroup.xml @@ -0,0 +1,29 @@ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/member/tpl.admin/filter/search.xml b/modules/member/tpl.admin/filter/search.xml index 5d91bdaa2..088fd77cc 100644 --- a/modules/member/tpl.admin/filter/search.xml +++ b/modules/member/tpl.admin/filter/search.xml @@ -1,8 +1,5 @@ -
- - - +
diff --git a/modules/member/tpl.admin/member_list.html b/modules/member/tpl.admin/member_list.html index 198b68c63..d0b76caae 100644 --- a/modules/member/tpl.admin/member_list.html +++ b/modules/member/tpl.admin/member_list.html @@ -60,10 +60,10 @@ - - + @@ -76,7 +76,7 @@ - +