포인트 모듈에 포인트순으로 회원목록 보기 및 개별 회원의 포인트 수정할 수 있는 기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/trunk@2033 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-07-26 11:38:47 +00:00
parent eb9bd1d30b
commit 94bf8a08b6
11 changed files with 131 additions and 1 deletions

View file

@ -5,9 +5,11 @@
<action name="dispPointAdminConfig" type="view" admin_index="true" standalone="true" />
<action name="dispPointAdminModuleConfig" type="view" standalone="true" />
<action name="dispPointAdminActConfig" type="view" standalone="true" />
<action name="dispPointAdminPointList" type="view" standalone="true" />
<action name="procPointAdminInsertConfig" type="controller" standalone="true" />
<action name="procPointAdminInsertModuleConfig" type="controller" standalone="true" />
<action name="procPointAdminInsertActConfig" type="controller" standalone="true" />
<action name="procPointAdminUpdatePoint" type="controller" standalone="true" />
</actions>
</module>

View file

@ -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 = '포인트가 부족하여 다운로드를 하실 수 없습니다';
?>

View file

@ -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 캐시파일 저장
**/

View file

@ -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');
}
}
?>

View file

@ -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');

View file

@ -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</%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];

View file

@ -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;
}
}
?>

View file

@ -0,0 +1,16 @@
<query id="getMemberListWithinGroup" action="select">
<tables>
<table name="member" alias="member"/>
<table name="point" alias="point"/>
</tables>
<columns />
<conditions>
<condition operation="equal" column="member.member_srl" var="point.member_srl" pipe="and" notnull="notnull" />
</conditions>
<navigation>
<index var="sort_index" default="point.point" order="desc" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>

View file

@ -0,0 +1,8 @@
<filter name="update_point" module="point" act="procPointAdminUpdatePoint" confirm_msg_code="confirm_update">
<form />
<parameter />
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -7,6 +7,7 @@
<li <!--@if($act=='dispPointAdminConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminConfig')}">{$lang->cmd_point_config}</a></li>
<li <!--@if($act=='dispPointAdminModuleConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminModuleConfig')}">{$lang->cmd_point_module_config}</a></li>
<li <!--@if($act=='dispPointAdminActConfig')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminActConfig')}">{$lang->cmd_point_act_config}</a></li>
<li <!--@if($act=='dispPointAdminPointList')-->class="on"<!--@end-->><a href="{getUrl('act','dispPointAdminPointList')}">{$lang->cmd_point_member_list}</a></li>
</ul>
</div>
<!--@end-->

View file

@ -0,0 +1,48 @@
<!--%import("filter/update_point.xml")-->
<!--#include("header.html")-->
<!-- 목록 -->
<table cellspacing="0" class="tableType1">
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col">{$lang->user_id}</th>
<th scope="col">{$lang->user_name}</th>
<th scope="col">{$lang->nick_name}</th>
<th scope="col">{$lang->point}</th>
<th scope="col">{$lang->level}</th>
</tr>
</thead>
<tbody>
<!--@foreach($member_list as $no => $val)-->
<tr>
<td class="tahoma">{$no}</td>
<td class="blue">{htmlspecialchars($val->user_id)}</td>
<td>{htmlspecialchars($val->user_name)}</td>
<td class="left"><div class="member_{$val->member_srl}">{htmlspecialchars($val->nick_name)}</div></td>
<td class="tahoma">
<form action="./" method="get" onsubmit="return procFilter(this, update_point);">
<input type="hidden" name="member_srl" value="{$val->member_srl}" />
<input type="text" name="point" value="{$val->point}" class="inputTypeText w80" />
<span class="button"><input type="submit" value="{$lang->cmd_update}" /></span>
</form>
</td>
<td class="tahoma">{$val->level}</td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 페이지 네비게이션 -->
<div class="pageNavigation">
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="../../admin/tpl/images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<span class="current">{$page_no}</span>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="../../admin/tpl/images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
</div>