diff --git a/modules/point/conf/module.xml b/modules/point/conf/module.xml index 3383cdf9f..073a7bb0e 100644 --- a/modules/point/conf/module.xml +++ b/modules/point/conf/module.xml @@ -5,9 +5,11 @@ + + diff --git a/modules/point/lang/ko.lang.php b/modules/point/lang/ko.lang.php index e142c67ed..8121ed571 100644 --- a/modules/point/lang/ko.lang.php +++ b/modules/point/lang/ko.lang.php @@ -40,6 +40,7 @@ $lang->cmd_point_config = '기본 설정'; $lang->cmd_point_module_config = '모듈별 설정'; $lang->cmd_point_act_config = '기능별 act 설정'; + $lang->cmd_point_member_list = '회원 포인트 목록'; $lang->msg_cannot_download = '포인트가 부족하여 다운로드를 하실 수 없습니다'; ?> diff --git a/modules/point/point.admin.controller.php b/modules/point/point.admin.controller.php index 51e82119d..5d5473078 100644 --- a/modules/point/point.admin.controller.php +++ b/modules/point/point.admin.controller.php @@ -111,6 +111,17 @@ $this->setMessage('success_updated'); } + /** + * @brief 회원 포인트 변경 + **/ + function procPointAdminUpdatePoint() { + $member_srl = Context::get('member_srl'); + $point = Context::get('point'); + + $oPointController = &getController('point'); + return $oPointController->setPoint($member_srl, $point); + } + /** * @brief 캐시파일 저장 **/ diff --git a/modules/point/point.admin.view.php b/modules/point/point.admin.view.php index 2f8d8b1b2..e4132f304 100644 --- a/modules/point/point.admin.view.php +++ b/modules/point/point.admin.view.php @@ -55,5 +55,25 @@ // 템플릿 지정 $this->setTemplateFile('action_config'); } + + /** + * @brief 회원 포인트순 목록 가져오기 + **/ + function dispPointAdminPointList() { + $oPointModel = &getModel('point'); + $args->list_count = 20; + $args->page = Context::get('page'); + + $output = $oPointModel->getMemberList($args); + // 템플릿에 쓰기 위해서 context::set + 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'); + } } ?> diff --git a/modules/point/point.class.php b/modules/point/point.class.php index 33f282b40..2be4cf040 100644 --- a/modules/point/point.class.php +++ b/modules/point/point.class.php @@ -16,6 +16,7 @@ $oModuleController->insertActionForward('point', 'view', 'dispPointAdminConfig'); $oModuleController->insertActionForward('point', 'view', 'dispPointAdminModuleConfig'); $oModuleController->insertActionForward('point', 'view', 'dispPointAdminActConfig'); + $oModuleController->insertActionForward('point', 'view', 'dispPointAdminPointList'); // 포인트 정보를 기록할 디렉토리 생성 FileHandler::makeDir('./files/member_extra_info/point'); diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index c761c6a10..87155ec8d 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -76,7 +76,7 @@ } } - $code = str_replace('<'.$matches[6], sprintf('<%s title="%s:%s%s, %s:%s/%s" style="cursor:pointer;background:url(%s) no-repeat left;padding-left:%dpx; height:%dpx" ', $matches[1], Context::getLang('point'), $point, $per?"(".$per."%)":"", Context::getLang('level'), $level, $this->config->max_level, Context::getRequestUri().$src, $this->icon_width+2, $this->icon_height), $matches[0] ); + $code = sprintf('<%s title="%s:%s%s, %s:%s/%s" style="cursor:pointer;background:url(%s) no-repeat left;padding-left:%dpx; height:%dpx">%s ', $matches[6], Context::getLang('point'), $point, $per?"(".$per."%)":"", Context::getLang('level'), $level, $this->config->max_level, Context::getRequestUri().$src, $this->icon_width+2, $this->icon_height, $matches[0], $matches[6]); $this->member_code[$member_srl] = $code; return $this->member_code[$member_srl]; diff --git a/modules/point/point.model.php b/modules/point/point.model.php index 6a0a7f461..c7f603aff 100644 --- a/modules/point/point.model.php +++ b/modules/point/point.model.php @@ -50,5 +50,27 @@ $level --; return $level; } + + /** + * @brief 포인트 순 회원목록 가져오기 + **/ + function getMemberList($args = null) { + if(!$args) { + $args->list_count = 20; + $args->page = 1; + } + $output = executeQuery("point.getMemberList", $args); + if($output->total_count) { + $oModuleModel = &getModel('module'); + $config = $oModuleModel->getModuleConfig('point'); + + foreach($output->data as $key => $val) { + $point = $val->point; + $level = $this->getLevel($val->point, $config->level_step); + $output->data[$key]->level = $level; + } + } + return $output; + } } ?> diff --git a/modules/point/queries/getMemberList.xml b/modules/point/queries/getMemberList.xml new file mode 100644 index 000000000..c6621a67f --- /dev/null +++ b/modules/point/queries/getMemberList.xml @@ -0,0 +1,16 @@ + + + +
+ + + + + + + + + + + + diff --git a/modules/point/tpl/filter/update_point.xml b/modules/point/tpl/filter/update_point.xml new file mode 100644 index 000000000..7af42c83c --- /dev/null +++ b/modules/point/tpl/filter/update_point.xml @@ -0,0 +1,8 @@ + +
+ + + + + +
diff --git a/modules/point/tpl/header.html b/modules/point/tpl/header.html index 8d58880e8..175410b7b 100644 --- a/modules/point/tpl/header.html +++ b/modules/point/tpl/header.html @@ -7,6 +7,7 @@
  • class="on">{$lang->cmd_point_config}
  • class="on">{$lang->cmd_point_module_config}
  • class="on">{$lang->cmd_point_act_config}
  • +
  • class="on">{$lang->cmd_point_member_list}
  • diff --git a/modules/point/tpl/member_list.html b/modules/point/tpl/member_list.html new file mode 100644 index 000000000..92e0ff36d --- /dev/null +++ b/modules/point/tpl/member_list.html @@ -0,0 +1,48 @@ + + + + +
    + + + + + + + + + + + + + + + + + + + + + + +
    {$lang->no}{$lang->user_id}{$lang->user_name}{$lang->nick_name}{$lang->point}{$lang->level}
    {$no}{htmlspecialchars($val->user_id)}{htmlspecialchars($val->user_name)}
    {htmlspecialchars($val->nick_name)}
    + + + + + + {$val->level}
    + + + +