原插件由 oytktk (靖飒) 制作,the 4.1.0 edition is modified by apple123.net 
本来我也是想别人做了我直接用的,但是论坛忙人太多了,或者可能都是高手不愿意做,那偶就帮下忙吧 
演示地址 
 
修改之前强烈建议大家备份需要修改的文件!!! 
1. 上传附件到论坛的模板目录... 
 
2. include/cache.func.php 查找 
- 'medals'        => array('medals')
 
 
  复制代码 
上面加 
 
-  'toplist'        => array('newthread', 'newreply', 'topdigest', 'topviews'),//TOPLIST_首页四格_全Cache版_By oytktk
 
 
  复制代码 
继续查找 
 
- case 'medals':
 
 -                         $table = 'medals';
 
 -                         $cols = 'medalid, name, image';
 
 -                         $conditions = "WHERE available='1'";
 
 -                         break;
 
 
  复制代码 
 
上面加 
 
-   //首页四格TOPLIST_CACHE版, By oytktk 代码首
 
 -                 case 'newthread':
 
 -                         $table = 'threads t';
 
 -                         $cols = 't.tid, t.fid, t.author, t.subject, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
 
 -                         $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE t.displayorder!='-1' ORDER BY t.dateline DESC LIMIT 0, 10";
 
 -                         break;
 
  
-                 case 'newreply':
 
 -                         $table = 'threads t';
 
 -                         $cols = 't.tid, t.fid, t.author, t.subject, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
 
 -                         $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE t.replies>0 and t.displayorder!='-1'  ORDER BY t.lastpost DESC LIMIT 0, 10";
 
 -                         break;
 
 -                 case 'topdigest':
 
 -                         $table = 'threads t';
 
 -                         $cols = 't.tid, t.fid, t.author, t.subject, t.digest, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
 
 -                         $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE digest>0 ORDER BY rand() LIMIT 0, 10";
 
 -                         break;
 
 -                 
 
 -                 case 'topviews':
 
 -                         $table = 'threads t';
 
 -                         $view = rand(1,3)==1 ? 'views' : 'replies';
 
 -                         $cols = 't.tid, t.fid, t.author, t.subject, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
 
 -                         $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE t.displayorder!='-1' ORDER BY t.$view DESC LIMIT 0, 10";
 
 -                         break;
 
  
-                 //首页四格TOPLIST_CACHE版, By oytktk 代码尾
 
  复制代码 
 
 
 
再找: 
 
- case 'settings':
 
 -                         $data['qihoo_links'] = array();
 
 -                         while($setting = $db->fetch_array($query))
 
  复制代码 
 
上面加 
-  //首页四格TOPLIST_CACHE版, By oytktk 代码首
 
  
-                 case 'newthread':
 
 -                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
 
 -                         while($topthread = $db->fetch_array($query)) {
 
 -                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
 
 -                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
 
 -                                 $topthread['subjectc'] = cutstr($topthread['subject'], 28);
 
 -                                 $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
 
 -                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
 
 -                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
 
 -                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
 
 -                                 $data[] = $topthread;
 
 -                         }
 
 -                         break;
 
  
-                 case 'newreply':
 
 -                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
 
 -                         while($topthread = $db->fetch_array($query)) {
 
 -                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
 
 -                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
 
 -                                 $topthread['subjectc'] = cutstr($topthread['subject'], 26);
 
 -                                 $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
 
 -                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
 
 -                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
 
 -                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
 
 -                                 $data[] = $topthread;
 
 -                         }
 
 -                         break;
 
  
-                 case 'topdigest':
 
 -                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
 
 -                         while($topthread = $db->fetch_array($query)) {
 
 -                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
 
 -                                 $digest = array('1'=>'[Ⅰ]','2'=>'[Ⅱ]','3'=>'[Ⅲ]');
 
 -                                 $topthread['subjectc'] = $digest[$topthread['digest']]."-".cutstr($topthread['subject'], 23);
 
 -                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
 
 -                                 $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
 
 -                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
 
 -                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
 
 -                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
 
 -                                 $data[] = $topthread;
 
 -                         }
 
 -                         break;
 
  
-                 case 'topviews':
 
 -                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
 
 -                         while($topthread = $db->fetch_array($query)) {
 
 -                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
 
 -                                 $topthread['subjectc'] = cutstr($topthread['subject'], 32);
 
 -                                 $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
 
 -                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
 
 -                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
 
 -                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
 
 -                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
 
 -                                 $data[] = $topthread;
 
 -                         }
 
 -                         break;
 
  
 
-                 //首页四格TOPLIST_CACHE版, By oytktk 代码尾
 
 
  复制代码 
 
3. include/newthread.inc.php 
 
查找 
- updatepostcredits('+', $discuz_uid, $postcredits);
 
  复制代码 
 
下面加 
-  require_once DISCUZ_ROOT.'./include/cache.func.php';
 
 -                 updatecache('newthread');
 
  复制代码 
 
4. include/newreply.inc.php 
 
查找 
- updatepostcredits('+', $discuz_uid, $replycredits);
 
 
  复制代码 
下面加 
-   require_once DISCUZ_ROOT.'./include/cache.func.php';
 
 -                 updatecache('newthread');
 
  复制代码 
 
5. include/editpost.inc.php 
查找 
 
- updatepostcredits('-', $orig['authorid'], ($isfirstpost ? $postcredits : $replycredits));
 
 
  复制代码 
 
下面加 
 
-    require_once DISCUZ_ROOT.'./include/cache.func.php';
 
 -                 updatecache('newthread');
 
  复制代码 
 
6. index.php 
 
查找 
 
- $forumlist = $catforumlist = $forums = $catforums = $categories = $collapse = array();
 
 
  复制代码 
 
下面加 
 
-  //首页四格TOPLIST_CACHE版, By oytktk 代码首
 
 -         if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_hk2 ') === FALSE) {
 
 -                 $categorys_hk2 = 'collapsed_no.gif';
 
 -                 $collapse['category_hk2'] = '';
 
 -         } else {
 
 -                 $categorys_hk2 = 'collapsed_yes.gif';
 
 -                 $collapse['category_hk2'] = 'display: none';
 
 -         }
 
 -         
 
 -         if($categorys_hk2 == 'collapsed_no.gif'){
 
 -         require_once DISCUZ_ROOT.'./forumdata/cache/cache_toplist.php';
 
 -         $toplistloop = $_DCACHE['newthread'];
 
 -         }
 
 -         //首页四格TOPLIST_CACHE版, By oytktk 代码尾
 
 
  复制代码 
 
7. topicadmin.php 
 
查找 
 
- showmessage((isset($resultarray['message']) ? $resultarray['message'] : 'admin_succeed'), 
 
 
  复制代码 
上面加 
 
-   require_once DISCUZ_ROOT.'./include/cache.func.php';
 
 -         updatecache('newthread');
 
  复制代码 
 
8. templates\default\index.htm 
查找  
- <!--{if !empty($newpmexists)}-->
 
 -         <div class="maintable">
 
 -         {template pmprompt}
 
 -         </div>
 
 - <!--{/if}-->
 
  复制代码 
 
下面加 
 
- <div class="maintable">
 
 -         {template toplist}
 
 -         </div>
 
  复制代码 
 
上传 附件里的 TOPLIST.htm到模版风格目录 
 
千万记得更新缓存 !! 
 
关于需要缩放按钮的朋友修改以下地方 
在toplist.htm里面查找 
- <td colspan="4" align="center" class="header">
 
  复制代码 
后面加 
- <p align="left"><a href="index.php" onclick="toggle_collapse
 
  
- ('category_hk2');"><img id="category_hk2_img" src="{IMGDIR}/$categorys_hk2" align="right" border="0"></a>
 
  复制代码 
 
有些朋友如果想每个格子里面显示的条数为自己设定值得话,请修改如下地方 
打开include/cache.func.php 
查找 
 
- $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE t.displayorder!='-1' ORDER BY t.dateline DESC LIMIT 0, 10";
 
 
  复制代码 
- $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE t.replies>0 and t.displayorder!='-1'  ORDER BY t.lastpost DESC LIMIT 0, 10";
 
 
  复制代码 
-  $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE digest>0 ORDER BY rand() LIMIT 0, 10";
 
 
  复制代码 
- $conditions = "LEFT JOIN {$tablepre}forums f ON f.fid=t.fid WHERE t.displayorder!='-1' ORDER BY t.$view DESC LIMIT 0, 10";
 
  复制代码 
分别将里面的  
 
替换成你想要数字 
 
[ 本帖最后由 scropion~ 于 2006-3-5 15:48 编辑 ] |