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 @@
-
-
+