【已验证】discuz二次开发积分、活跃、金币更新的方法

44 2018-2-8 14:37

插件开发经常要使用到积分操作, 使用dz系统内置的函数可以方便以后的查看, 同时在用户界面有浮动提示框。 dz的积分操作函数位于/source/function/function_core.php,updatemembercount() function updatemembercount($uids, $dataarr = array(), $checkgr

插件开发经常要使用到积分操作,

使用dz系统内置的函数可以方便以后的查看,

同时在用户界面有浮动提示框。

dz的积分操作函数位于/source/function/function_core.php,updatemembercount()

function updatemembercount($uids, $dataarr = array(), $checkgroup = true, $operation = '', $relatedid = 0, $ruletxt = '')

参数有6个:

1、用户 用户数组

2、操作规则,如扣减第二个积分2分:array ('extcredits2' => -2);

3、是否检查用户组升级,通常未true

4、操作类型,默认空

5、关系ID,例如帖子ID

6、积分规则文本

 

示例:

updatemembercount('10', array('extcredits2' => "-1"), true, '', 0, '');

  将uid为10的用户第二个积分-1

 

另附一个积分下限查询函数:

同样位于/source/function/function_core.php

function checklowerlimit($action, $uid = 0, $coef = 1, $fid = 0, $returnonly = 0)

 

1、策略动作Action或者需要检测的操作积分值使如extcredits1积分进行减1操作检测array('extcredits1' => -1)

2、用户UID

3、积分放大倍数/负数为减分操作

4、不知道是啥

5、只要返回结果,不用中断程序运行

 

示例:

checklowerlimit(array('extcredits2' => '-8'), $_G['uid'], 1, 0, 1);

此函数返回bool。