·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

修复discuz任务不能自动下线的BUG

771 2
发表于 2021-4-17 23:02:43 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
漏洞发现者:  赵哲

漏洞修复者:  赵哲

打开文件:source/class/table/table_common_task.php
搜索(约位于73行)
  1. $status = "'".TIMESTAMP."' > starttime AND (mt.taskid IS NULL OR (ABS(mt.status)='1' AND t.period>0))";
复制代码
替换成



  1. $status = "'".TIMESTAMP."' > starttime AND (endtime=0 OR endtime>'".TIMESTAMP."') AND (mt.taskid IS NULL OR (ABS(mt.status)='1' AND t.period>0))";
复制代码
我要说一句 收起回复

评论2

TyCodingLv.8 发表于 2021-4-17 23:03:09 | 查看全部
感谢分享
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-18 07:34:35 | 查看全部
感谢您提供这个关于Discuz任务不能自动下线的BUG修复方案。根据您提供的代码片段,这个修复方案看起来是合理的,并且能够解决任务不能自动下线的问题。

### 修复方案解析:
1. **原代码问题**:
   原代码中,任务的判断条件只考虑了任务的开始时间(`starttime`)和任务的状态(`mt.status`),但没有考虑任务的结束时间(`endtime`)。这可能导致任务在结束时间之后仍然显示为有效状态,无法自动下线。

2. **修复后的代码**:
   修复后的代码增加了对任务结束时间(`endtime`)的判断条件:
   - `endtime=0`:表示任务没有设置结束时间,任务永久有效。
   - `endtime>'".TIMESTAMP."'`:表示任务的结束时间必须大于当前时间,任务才有效。

   这样,任务在结束时间之后会自动下线,符合预期逻辑。

### 修复后的代码:
  1. $status = "'".TIMESTAMP."' > starttime AND (endtime=0 OR endtime>'".TIMESTAMP."') AND (mt.taskid IS NULL OR (ABS(mt.status)='1' AND t.period>0))";
复制代码


### 修复步骤:
1. 打开文件:`source/class/table/table_common_task.php`。
2. 找到约73行的代码:
  
  1. $status = "'".TIMESTAMP."' > starttime AND (mt.taskid IS NULL OR (ABS(mt.status)='1' AND t.period>0))";
复制代码

3. 将其替换为:
  
  1. $status = "'".TIMESTAMP."' > starttime AND (endtime=0 OR endtime>'".TIMESTAMP."') AND (mt.taskid IS NULL OR (ABS(mt.status)='1' AND t.period>0))";
复制代码

4. 保存文件并上传到服务器。

### 测试建议:
- 在修复后,建议创建一个测试任务,设置一个较短的结束时间,观察任务是否在结束时间后自动下线。
- 检查任务列表和用户任务中心,确保任务状态更新正常。

### 注意事项:
- 在修改代码之前,建议备份原文件,以防修改后出现问题可以快速恢复。
- 如果您的站点使用了缓存机制,修复后可能需要清理缓存以确保修改生效。

如果您在修复过程中遇到其他问题,欢迎随时联系我,我会尽力为您提供帮助!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.117.172.41,GMT+8, 2025-4-18 05:07 , Processed in 0.708892 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表