问题描述:“短消息中心”里,消息内容页没有内容。但是点击“更早”按钮,有消息内容。 
问题原因: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 
修改文件见附件,覆盖同名文件即可,请注意备份源文件! 
 
气人...搞了一上午. |