admin 发表于 2026-8-18 14:15:06

分享个帝国CMS函数,会员发布数量统计爽得不要不要的


分享个帝国CMS函数,会员发布数量统计爽得不要不要的undefined都认为小编长期灌水。都没有来点实际的,现在现在小编分享个自定义函数,会员发布数量统计爽得不要不要的。代码如下
function get_user_article_stat($uid, $type = 'all', $cache_ttl =3600*24*1){
global $dbtbpre;
$userid = intval($uid);$sql = '';
switch ($type) {
case 'month': //近30天投稿数
$first_days_ago = strtotime(date('Y-m-d 00:00:00') . ' -30 days');//最近30天
$sql = "select count(*) as total from {$dbtbpre}ecms_article where userid='$userid' and ismember=1 and newstime>$first_days_ago";
break;
case 'mqiandao': //本月签到数(自然月)
$month_start = strtotime(date('Y-m-01', time()) . ' 00:00:00'); // 获取当前月份的第一天(00:00:00)的UNIX时间戳
$end = time();
$sql = "select sum(qdcs) as total from {$dbtbpre}enewsmemberqiandao where userid='$userid' and time >= {$month_start} and time <= {$end}";
break;
case 'all': //总投稿数
$sql = "select count(*) as total from {$dbtbpre}ecms_article where userid='$userid' and ismember=1";
break;
case 'qiandao': //总签到数
$sql = "select sum(qdcs) as total from {$dbtbpre}enewsmemberqiandao where userid='$userid'";
break;
case 'allmoney': //总消费金额(自己)
$sql = "select sum(money) as total from {$dbtbpre}enewspayrecord where status=1 and userid='$userid'";
break;
case 'allorder': //总订单数(自己)
$sql = "select count(*) as total from {$dbtbpre}enewspayrecord where status=1 and userid='$userid'";
break;
case 'allallmoney': //总消费金额(全站)
$sql = "select sum(money) as total from {$dbtbpre}enewspayrecord where status=1";
break;
case 'allallorder': //总订单数(全站)
$sql = "select count(*) as total from {$dbtbpre}enewspayrecord where status=1";
break;
case 'plall': //总评论数
$sql = "select count(*) as total from {$dbtbpre}enewspl_1 where userid='$userid'";
break;
case 'websiteeditor': //审稿编辑名
$sql = "select username from {$dbtbpre}enewsuser where userid='$userid'";
break;
case 'todayonlinetime': //今日在线时长
$today_date = date('Y-m-d', time());
$sql = "select total_online_time from {$dbtbpre}user_total_online where userid = '$userid' and record_date = '$today_date' limit 1";
break;
case 'totalonlinetime': //在线总时长
$sql = "select sum(total_online_time) as total from {$dbtbpre}user_total_online where userid = '$userid'";
break;
case 'myaiask': //我的AI提问总数
$sql = "select count(*) as total from {$dbtbpre}chatgpt_list where userid='$userid'";
break;
case 'myredbaoinfo': //发送红包总数
$sql = "select count(*) as total from {$dbtbpre}hongbao_info where sender_userid='$userid'";
break;
case 'myredbaohistory': //领取红包总数
$sql = "select count(*) as total from {$dbtbpre}hongbao_history where receiver_userid='$userid'";
break;
case 'mydanmu': //我的弹幕总数
$sql = "select count(*) as total from {$dbtbpre}danmaku_list where userid='$userid'";
break;
case 'myjiangall': //我抽奖总数
$sql = "select count(*) as total from {$dbtbpre}dazhuanpan_list where userid='$userid'";
break;
case 'myjiangallzj': //我中奖总数
$sql = "select count(*) as total from {$dbtbpre}dazhuanpan_list where userid='$userid' and jiangstatus=1";
break;
case 'mydashangfen': //我打赏总数
$sql = "select count(*) as total from {$dbtbpre}ecmsshop_dasang where userid='$userid'";
break;
default:
return [];
}
if ($type === 'websiteeditor') {
$row = fetch_memcache_cache($sql,'redis','userinfocount‌',$cache_ttl,true);
} else {
$row = fetch_memcache_cache($sql,'memcached','userinfocount‌',$cache_ttl,true);
}
return (is_array($row) && isset($row)) ? $row : [];
}注释得明明白白的!看懂了吧!方便吧!(本函数已经生产用于文韵坊阅读网几年稳稳的)只能说明会员调用发布数量统计爽得不要不要的,一个字爽,两个字很爽,三个字非常爽
页: [1]
查看完整版本: 分享个帝国CMS函数,会员发布数量统计爽得不要不要的