discuz每日送用户组积分
一、完整计划任务脚本:每日赠送积分
创建任务脚本
在 ./source/include/cron/ 目录下新建 givecredits_daily.inc.php,示例如下:
<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
// 配置:不同用户组的积分赠送设置
// 格式:groupid => array('积分字段' => 数量, ...)
$group_credit_config = array(
10 => array('extcredits1' => 5), // 用户组ID 10:赠送 extcredits1 = 5
11 => array('extcredits1' => 3, 'extcredits2' => 1), // 用户组ID 11:extcredits1 = 3,extcredits2 = 1
12 => array('extcredits2' => 10), // 用户组ID 12:赠送 extcredits2 = 10
);
// 遍历每个用户组配置
foreach ($group_credit_config as $groupid => $credits) {
// 查询该用户组的所有用户 UID
$uids = array();
$query = DB::query("SELECT uid FROM ".DB::table('common_member')." WHERE groupid='$groupid'");
while($row = DB::fetch($query)) {
$uids[] = $row['uid'];
}
if(empty($uids)) {
continue;
}
// 构造积分字段更新语句
$update_fields = array();
foreach ($credits as $field => $value) {
$update_fields[] = "`$field` = `$field` + $value";
}
// 执行更新
if(!empty($update_fields)) {
$sql = "UPDATE ".DB::table('common_member_count')." SET ".implode(', ', $update_fields)." WHERE uid IN (".dimplode($uids).")";
DB::query($sql);
}
}
二、后台添加计划任务
进入后台管理:
后台 > 工具 > 计划任务 > 添加
配置如下:
任务名称:每日赠送积分
脚本文件:givecredits_daily.inc.php
执行时间:每天(如 03:00)
阅读剩余
版权声明:
作者:LAOV
链接:https://www.laifaka.top/676.html
文章版权归作者所有,未经允许请勿转载。
THE END