这个问题一直保留,更新过这么多次补丁仍未解决,的确有点汗颜了,不知是问题不大不够重视还是故意为之,等了n久,搜了无数次还是没有人出来解决,快无语了。。。。。。。。。。
算了还是自己动手来的快,实在。。。。。。。。
问题表现就是你设置了勋章的时间限制,等过期后再次申请就提示已申请过了,下图
很多人再问,帖子日期可以追溯到好几年前的,看x2.5还是有这问题。。。。。。。。。那帮写程序的不知道怎么了
其实问题很简单,完全就是程序员疏忽,把pre_forum_medallog表中的status字段数据添加错误,而申请检测条件又取消了这个,聪明的该知道问题所在了吧。
你还不知道,那就继续照做把,修改home_medal.php这个文件,查找下面代码- $medaldetail = DB::fetch_first("SELECT medalid FROM ".DB::table('forum_medallog')." WHERE uid='$_G[uid]' AND medalid='$medalid' AND type<'3'");
复制代码 修改为- $medaldetail = DB::fetch_first("SELECT medalid FROM ".DB::table('forum_medallog')." WHERE status='1' and uid='$_G[uid]' AND medalid='$medalid' AND type<'3'");
复制代码 睁大眼睛看清楚那里改了
还有个地方- DB::query("INSERT INTO ".DB::table('forum_medallog')." (uid, medalid, type, dateline, expiration, status) VALUES ('$_G[uid]', '$medalid', '$medal[type]', '$_G[timestamp]', '$expiration', '0')");
复制代码 改为- DB::query("INSERT INTO ".DB::table('forum_medallog')." (uid, medalid, type, dateline, expiration, status) VALUES ('$_G[uid]', '$medalid', '$medal[type]', '$_G[timestamp]', '$expiration', '1')");
复制代码 仔细比较下,是不是觉得那个写这段代码的家伙。。。。。。
完成了,赶紧保存试一下吧
|