discuz 7.2 gbk版
/medal.php中,
}elseif($action == 'apply' && submitcheck('medalsubmit')) {
里面
if($medalpermission[0]) {
里面:
$db->query("INSERT INTO {$tablepre}medallog (uid, medalid, type, dateline, expiration, status) VALUES ('$discuz_uid', '$medalid', '1', '$timestamp', '$expiration', '0')");
$expiration的值永远为0.
所带来的影响就是: 如果用户符合领取某勋章的要求, 点击“领取”之后,领取到的勋章永远都不会到期。
解决办法:
可以继续往下看代码:
} else {
$expiration = empty($medal['expiration'])? 0 : $timestamp + $medal['expiration'] * 86400;
这个else是处理”申请“勋章的情况。这里就很好地处理了$expiration。
所以把这一行加到
$db->query("INSERT INTO {$tablepre}medallog (uid, medalid, type, dateline, expiration, status) VALUES ('$discuz_uid', '$medalid', '1', '$timestamp', '$expiration', '0')");
前面就可以了。