找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 2850|回复: 0

[Discuz!论坛] Discuz 7.2 论坛“提醒”消息的自动清理时间设置

[复制链接]

9333

威望

818

金钱

1万

贡献

管理员

自由的灵魂

积分
100458
主题
5590
回帖
26310
注册时间
2003-4-10
最后登录
2024-11-21
发表于 2011-5-3 23:24:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×

提醒数据会在每日计划任务自动清除,无需人工干预。由于提醒和短消息不同并不强制阅读,因此默认的清除规则是“未读 3 天后清除,已读 30 天后清除”。无论您是否认为合理,可自行调整,调整方法如下:



打开 include/crons/cleanup_daily.inc.php,找到以下两行代码:


  1. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='1' AND dateline<'$timestamp'-259200", 'UNBUFFERED');
  2. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='0' AND dateline<'$timestamp'-2592000", 'UNBUFFERED');
复制代码



更改 SQL 语句后面数值(259200、2592000)即可。


计算原理:86400(1天的秒数) x 3(天) = 259200。


IsaacZ对这两个数据的顺序感到很费解:没看过的保留时间短,看过的反而保留时间长?——还是反过来感觉正常些。于是我修改成了:


  1. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='1' AND dateline<'$timestamp'-2592000", 'UNBUFFERED');
  2. $db->query("DELETE FROM {$tablepre}promptmsgs WHERE new='0' AND dateline<'$timestamp'-259200", 'UNBUFFERED');
复制代码


IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2024-11-23 18:22 , Processed in 1.886502 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表