问题描述:“短消息中心”里,消息内容页没有内容。但是点击“更早”按钮,有消息内容。
问题原因:UCenter1.0升级UCenter1.5所致。
其他说明:这个问题并不是官方程序的BUG,而是因为短消息显示模式发生改变所致,默认显示
的是24小时之内的短消息,因此才会有没有内容的情况出现。
论坛版本为DZ6.1.0
解决原理:默认显示最近一条短消息,而非24小时之内的消息。
解决方法:修改前请备份源文件!
1、ucenter\model文件夹下,pm.php文件,增加函数- function get_new_pm_by_touid($uid, $touid, $starttime, $endtime) {
- $arr = $this->db->fetch_all("SELECT *FROM ".UC_DBTABLEPRE."pms WHERE msgfromid='$touid' AND msgtoid='$uid'AND dateline>='$starttime' AND dateline<'$endtime' ANDrelated>'0' AND delstatus IN (0,1,2) ORDER BY dateline DESC LIMIT1");
- return $arr;
- }
复制代码
2、ucenter\control文件夹下,pm_client.php文件,- $daterange = empty($daterange) ? 1 : $daterange;
复制代码
修改为:- $daterange = empty($daterange) ? 0 : $daterange;
复制代码
=============================================- if($daterange == 1) {
- $starttime = $today;
- }
复制代码
修改为:- if($daterange == 0) {
- $starttime = 0;
- } elseif($daterange == 1) {
- $starttime = $today;
- }
复制代码
=============================================- $pms = $_ENV['pm']->get_pm_by_touid($uid, $touid, $starttime, $endtime);
复制代码
修改为:- if($daterange == 0) {
- $pms = $_ENV['pm']->get_new_pm_by_touid($uid, $touid, $starttime, $endtime);
- }
- else
- {
- $pms = $_ENV['pm']->get_pm_by_touid($uid, $touid, $starttime, $endtime);
- }
复制代码
3、Ucenter\data\view文件夹下pm_view.php文件
复制代码
后增加链接:- <ahref="index.php?m=pm_client&a=view&touid=<?=$touid?>&folder=<?=$folder?>&filter=<?=$filter?>&<?=$extra?>"<?if($daterange == 0) { ?> class="bold"<? } ?>>最新一条</a>
复制代码
=============================================- <ahref="index.php?m=pm_client&a=view&touid=<?=$touid?>&folder=<?=$folder?>&filter=<?=$filter?>&<?=$extra?>"<?if($daterange == 1) { ?> class="bold"<? } ?>>今天</a>
复制代码
修改为:- <ahref="index.php?m=pm_client&a=view&touid=<?=$touid?>&folder=<?=$folder?>&filter=<?=$filter?>&daterange=1&<?=$extra?>"<?if($daterange == 1) { ?> class="bold"<? } ?>>今天</a>
复制代码
=============================================- <? if($daterange == 1 && $msgto && $filter != 'announcepm') { ?>
复制代码
修改为:- <? if($daterange == 0 && $msgto && $filter != 'announcepm') { ?>
复制代码
Ucenter\view\default\下的
main.lang.php和templates.lang.php两个文件中,增加“最新一条”的语言包。- 'pm_daterange_0' => '最新一条',
复制代码
到此全部修改完毕,修改前请备份源文件!
演示论坛:http://bbs.tingclass.com
修改文件见附件,覆盖同名文件即可,请注意备份源文件!
气人...搞了一上午. |