转:
http://www.mutoulee.cn/113.html
http://www.xuephp.com/main/detail.php?cid=23045
Discuz!自定义积分日志
在有些项目中可能会遇到积分相关操作,同时需要将自己的积分操作加入积分日志,整理了一下。
核心函数:
PHP
1 |
updatemembercount($_G[‘uid‘], array($credit => -dintval($_GET[‘num‘])), true, ‘WDA‘, 1, ‘积分提现‘); |
true:积分变更后是否检查用户组变更;
WDA:操作事件KEY;
1:是否关联ID;
积分提现:积分变更的JS浮动提示信息中的文字;
其中,WDA(operation)和1(relatedid)同时存在时即存入日志,否则不产生积分日志;
相应更改:
source\include\spacecp\spacecp_credit.php
分支中加入自己操作的标识(KEY),例如:
PHP
1 2 3 4 5 6 |
case ‘WDA‘: $log[‘opinfo‘] = ‘金币提现,扣除相应金额‘; break; case ‘WDF‘: $log[‘opinfo‘] = ‘金币提现失败,返还相应金额‘; break; |
source\include\spacecp\spacecp_credit_log.php
操作事件的数组中加入自己的KEY,例如(最后的两个):
PHP
1 |
$optypes = array(‘TRC‘,‘RTC‘,‘RAC‘,‘MRC‘,‘BGC‘,‘RGC‘,‘AGC‘,‘TFR‘,‘RCV‘,‘CEC‘,‘ECU‘,‘SAC‘,‘BAC‘,‘PRC‘,‘RSC‘,‘STC‘,‘BTC‘,‘AFD‘,‘UGP‘,‘RPC‘,‘ACC‘,‘RCT‘,‘RCA‘,‘RCB‘,‘BMC‘,‘BME‘,‘CDC‘,‘RKC‘, ‘WDA‘, ‘WDF‘); |
source\language\lang_spacecp.php
语言包中加入自己操作事件的名称,例如:
PHP
1 2 |
‘logs_credit_update_WDA‘ => ‘金币提现‘, ‘logs_credit_update_WDF‘ => ‘提现失败‘, |