论坛风格切换
  • 3939阅读
  • 2回复

[定制开发功能]read最近访问(todo:您尚未读的帖,改进) [复制链接]

上一主题 下一主题
离线太史慈
 

发帖
766
金币
626
威望
556
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-07-14
read.php
找到
  1. require_once(R_P.'require/showimg.php');
  2. Update_ol();


下加
  1. //最近访问
  2. $query = $db->query("SELECT * FROM pw_ext_readview WHERE tid=$tid ORDER BY viewdate desc");
  3. $viewUsers = array();
  4. while($rt = $db->fetch_array($query))
  5. {
  6.     //list($rt['icon']) = showfacedesign($rt['viewAvatar'], 1, 'm');
  7.     //$rt['face'] = showfacedesign($rt['icon']);
  8.     $rt['viewdate'] = get_date($rt['viewdate'],'Y-m-d H:i');
  9.     $viewUsers[$rt['uid']] = $rt;
  10. }
  11. if ($winduid && $winduid != $tpc_author)// && $runfc == 'Y'
  12. {
  13.     updateViewUser($tid, $viewUsers);
  14. }
  15. //最近访问


文件末加上?>之前
  1. function updateViewUser($tid,$viewUsers = array()){//更新访问足迹函数 by shao dade
  2.     global $db,$timestamp,$windid,$winduid,$_LoginInfo;
  3.     if (array_key_exists($winduid, $viewUsers)){
  4.         $firstUser = array_shift($viewUsers);
  5.         if($firstUser['tid'] != $tid){
  6.             $db->query("UPDATE pw_ext_readview SET viewdate = ".pwEscape($timestamp)." WHERE tid = ".pwEscape($endUser['tid']) ." AND uid = ".pwEscape($endUser['uid']));
  7.         }
  8.     }else{
  9.         if (count($viewUsers) >= 20){
  10.             $endUser = end($viewUsers);
  11.             $db->query("DELETE FROM pw_ext_readview WHERE tid = ".pwEscape($endUser['tid']) ." AND uid = ".pwEscape($endUser['uid']));
  12.         }
  13.         $sql = 'INSERT INTO pw_ext_readview SET '. pwSqlSingle(array(
  14.             'tid' => $tid,
  15.             'uid' => $winduid,
  16.             'username' => $windid,
  17.             'icon' => $_LoginInfo['faceurl'],
  18.             'viewdate' => $timestamp));
  19.         $db->query($sql);
  20.     }
  21. }


read.htm
找到
  1. <div id="w_$read[pid]" class="c"></div>


下加
  1. <!--
  2. EOT;
  3. if ($read[lou]==0){
  4. print <<<EOT
  5. -->
  6. <style>
  7. .fangke{margin:10px 0 0;}
  8. .fangke h4{ color:#b30909; font-size:14px; font-weight:bold; padding:0 0 0 10px;border-bottom:1px dashed #E4E4E4}
  9. .img_60{width:55px;text-align:center; float:left;color:#7d7d7d;}
  10. .img_60 img{border:1px solid #CDCDCD; background:#FFFFFD; display:block; margin:3px 0;}
  11. .fangke .divpic{margin:10px 10px 0;float:left;}
  12. .fangke .divname{height:20px;overflow:hidden;}
  13. </style>
  14. <div class="fangke cc">
  15. <h4>最新访问
  16. <!--
  17. EOT;
  18. if(in_array($groupid,array(1))){
  19. print <<<EOT
  20. -->
  21. (清空)
  22. <!--
  23. EOT;
  24. }print <<<EOT
  25. -->
  26. </h4>
  27. <!--
  28. EOT;
  29. foreach ($viewUsers as $u) {
  30. print <<<EOT
  31. -->
  32.     <div class="divpic"><a href="u.php?uid={$u['uid']}" class="img_60" title="{$u['username']} 最后访问 {$u[viewdate]}" target="_blank"><img src="{$u['icon']}" width="53" height="53" /><div class="divname">{$u['username']}</div></a></div>
  33. <!--
  34. EOT;
  35. }print <<<EOT
  36. -->
  37. </div>
  38. <!--
  39. EOT;
  40. }print <<<EOT
  41. -->


数据库导入
  1. CREATE TABLE `pw_ext_readview` (
  2.   `tid` int(10) unsigned NOT NULL,
  3.   `uid` mediumint(8) unsigned NOT NULL,
  4.   `username` varchar(20) NOT NULL,
  5.   `icon` varchar(255) NOT NULL,
  6.   `viewdate` int(10) NOT NULL,
  7.   KEY `tid` (`tid`),
  8.   KEY `uid` (`uid`),
  9.   KEY `viewdate` (`viewdate`)
  10. ) ENGINE=MyISAM DEFAULT CHARSET=gbk;



1条评分金币+1
rickyleo 金币 +1 很看好这个功能,可以和产品沟通下加到版本里边 2011-07-22
[url=http://www.phpwind.com]phpwind[/url]
离线太史慈

发帖
766
金币
626
威望
556
只看该作者 沙发  发表于: 2011-07-21
您尚未读的帖
thread.php找到
  1. //获取列表是否新窗打开的cookie
上加
  1. //您尚未读的帖
  2. $tids = array_keys($threaddb);
  3. $query = $db->query("SELECT * FROM pw_ext_readview WHERE tid in (".implode(",",$tids).")");
  4. while ($rt = $db->fetch_array($query)) {
  5.     $viewdb[$rt['tid']][$rt['uid']][] = $rt;
  6. }
  7. //您尚未读的帖

thread_maincommon.htm
找到
  1. foreach($threaddb as $key => $thread){

下加
  1. if($viewdb[$thread[tid]][$winduid]){
  2.     $viewstyle="";
  3.     $viewtitle="";
  4. }else{
  5.     $viewstyle="background:#FFFAF3;border:1px solid #F4E4B4";
  6.     $viewtitle="title='您尚未读的帖'";
  7. }


找到
  1. <!--
  2. EOT;
  3. }print <<<EOT
  4. -->
  5.         <tr class="tr3">
  6.             <td class="icon tac"><!--
  7. EOT;
  8. if($managecheck){

把其中的
  1. <tr class="tr3">

改成
  1. <tr class="tr3" style="{$viewstyle}">

找到
  1. <a href="$thread[tpcurl]" name="readlink" $isNewWindowOpen id="a_ajax_$thread[tid]" class="subject_t f14">

改成
  1. <a href="$thread[tpcurl]" name="readlink" $isNewWindowOpen id="a_ajax_$thread[tid]" class="subject_t f14" {$viewtitle}>






[url=http://www.phpwind.com]phpwind[/url]
离线rickyleo

发帖
315
金币
0
威望
99
只看该作者 板凳  发表于: 2011-07-22
很看好这个功能,可以和产品沟通下加到版本里边
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
提到某人:
选择好友
上一个 下一个