Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 附件图片展示+首页四格+社区之星全Cache版FOR DZ5.5( 070404更新)

[复制链接]
阿飞刘 发表于 2007-3-31 04:11:04 | 显示全部楼层 |阅读模式
插件名称:
整合 站内附件图片展示+首页四格cache + 社区发贴之星(今日+昨日+本周+本月+本年发贴排行)后台控制全Cache版FOR DISCUZ 5.5.0    20070324   GBK正式版

插件修改:PHP论坛

插件原作者:(Discuz4.1版)33201,oytktk (靖飒),scropion~

数据库升级:有

安装难度:中

修改文件:
           index.php      
           topicadmin.php
           admin\settings.inc.php
           include\cache.func.php
           include\editpost.inc.php
           include\newreply.inc.php
           include\newthread.inc.php
           templates\default\admincp.lang.php
           templates\default\discuz.htm
插件演示地址:


升级安装http://www.dingzhou.cc/bbs/index.php

全新安装 http://www.it885.net/bbs/index.php

首页四格cache + 社区发贴之星http://bbs.0312.org.cn
整合了站内附件图片展示+首页四格cache + 社区发贴之星(今日+昨日+本周+本月+本年发贴排行),可以在后台开启关闭相关版面。
安装步骤应要求我分成了站内附件图片展示和首页四格+社区发帖之星:



具体步骤如下:
一楼,站内附件图片展示

二楼,首页四格+社区发帖之星



站内附件图片展示

1. 升级数据库
  1. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attaopen', '1');
  2. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attacoun', '15');
  3. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attasehe', '1');
  4. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attasppe', '30');
  5. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('guestope', '0');
  6. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attafids', '0');
  7. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attatime', '10');
复制代码
2. admin/settings.php

查找:
  1. showsetting('settings_smcols', 'settingsnew[smcols]', $settings['smcols'], 'text');
复制代码
下面加:
  1.         showsetting('settings_attaopen', 'settingsnew[attaopen]', $settings['attaopen'], 'text');
  2.         showsetting('settings_guestope', 'settingsnew[guestope]', $settings['guestope'], 'radio');
  3.         showsetting('settings_attacoun', 'settingsnew[attacoun]', $settings['attacoun'], 'text');
  4.         showsetting('settings_attasehe', 'settingsnew[attasehe]', $settings['attasehe'], 'radio');
  5.         showsetting('settings_attasppe', 'settingsnew[attasppe]', $settings['attasppe'], 'text');
  6.         showsetting('settings_attafids', 'settingsnew[attafids]', $settings['attafids'], 'text');
  7.         showsetting('settings_attatime', 'settingsnew[attatime]', $settings['attatime'], 'text');
复制代码
查找:
  1. 'maxonlines', 'loadctrl'
复制代码
后面加:
  1. , 'attacoun', 'attasppe', 'guestope', 'attatime'
复制代码
3.templates\default\admincp.lang.php

查找:
  1. 'settings_smrows_comment' => '发帖页面 Smilies 显示的行数',
复制代码
下面加:
  1.         'settings_attaopen' => '首页站内图片展示开关及选项:',
  2.         'settings_attaopen_comment' => '输入 1 为显示在主页上方, 2 为显示在主页下方, 0 或其它为关闭',
  3.         'settings_guestope' => '是否对游客开放此功能?',
  4.         'settings_guestope_comment' => '如果想让游客看到, 就选择 是 ,否则就选择 否!',
  5.         'settings_attacoun' => '首页站内图片展示中图片的个数:',
  6.         'settings_attasehe' => '首页站内图片展示是否启用随机功能:',
  7.         'settings_attasehe_comment' => '随机功能是指从指定的版块内所上传的图片中随机抽出图片展示,可以设置缓存更新时间',
  8.         'settings_attasppe' => '首页站内图片展示的滚动速度:',
  9.         'settings_attasppe_comment' => '默认为30,数字越大速度越慢,速度越快越占系统资源.(by oytktk)',
  10.         'settings_attafids' => '首页站内图片展示中图片来源版块的FID列表:',
  11.         'settings_attafids_comment' => '想让哪些版块的图片在展示中显示出来, 请输入版块FID列表, 多个用逗号隔开',
  12.         'settings_attatime' => '首页站内图片展示中随机图片的更新时间(分):',
  13.         'settings_attatime_comment' => '想让随机展示的图片多少分钟更新一次?',
复制代码
4. include/cache.php

查找:
  1.   'bbcodes' => array('bbcodes', 'smilies'),
复制代码
下面加:
  1.                 'attasnew'        => array('attachs_new'),//首页站内图片附件展示 by oytktk
  2.                 'attasrand'        => array('attachs_rand'),//首页站内图片附件展示 by oytktk, 分开是为了优化缓存程序的查询
复制代码
查找第一个:
  1. case 'medals':
复制代码
在上面加:
  1.                 //首页站内图片附件展示 by oytktk
  2.                 case 'attachs_new':
  3.                         global $attacoun, $attacoun, $attafids;
  4.                         $table = 'attachments a';
  5.                         $cols= 'a.tid, a.attachment, p.subject';
  6.                         $conditions = "LEFT JOIN {$tablepre}posts p USING(pid) WHERE p.fid IN($attafids) and a.filetype='image/pjpeg' ORDER BY aid DESC LIMIT 0, $attacoun";
  7.                         break;

  8.                 case 'attachs_rand':
  9.                         global $attacoun, $attacoun, $attafids;
  10.                         $table = 'attachments a';
  11.                         $cols = 'a.tid, a.attachment, p.subject';
  12.                         $conditions = "LEFT JOIN {$tablepre}posts p USING(pid) WHERE a.filetype='image/pjpeg' and p.fid IN($attafids) ORDER BY rand() LIMIT 0, $attacoun";
  13.                         break;
  14.                 //首页站内图片附件展示 by oytktk
复制代码
再找第二个:
  1. switch($cachename) {
复制代码
下面加:
  1.                 //首页站内图片附件展示 by oytktk
  2.                 case 'attachs_rand':
  3.                         while($attarand=$db->fetch_array($query))$data[]=$attarand;
  4.                         $data['time']=time();
  5.                 break;
  6.                 //首页站内图片附件展示 by oytktk
复制代码
5. include/newreply.inc.php

查找:
  1. updatecredits($discuz_uid, $postattachcredits, count($attachments));
复制代码
上面加:
  1.                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('attachs_new');
复制代码
6. include/newthread.inc.php

查找:
  1. updatecredits($discuz_uid, $postattachcredits, count($attachments));
复制代码
下面加:
  1.                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('attachs_new');
复制代码
7. include/editpost.inc.php

查找:
第一个
  1.     updatecredits($orig['authorid'], $postattachcredits, -($db->affected_rows()));
复制代码
下面加:
  1.                                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                                 updatecache('attachs_new');
复制代码
再找:
  1.     updatecredits($orig['authorid'], $postattachcredits, count($attachments));
复制代码
下面加:
  1.                                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                                 updatecache('attachs_new');
复制代码
8. index.php

查找:
  1. $catlist = $forumlist = $sublist = $pmlist = array();
复制代码
下面加:
  1.         //首页站内图片附件展示 by oytktk
  2.         if($attaopen && ( $guestope || (!$guestope && $discuz_user))){

  3.                 if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_hk1 ') === FALSE) {
  4.                         $categorys_hk1 = 'collapsed_no.gif';
  5.                         $collapse['category_hk1'] = '';
  6.                 } else {
  7.                         $categorys_hk1 = 'collapsed_yes.gif';
  8.                         $collapse['category_hk1'] = 'display: none';
  9.                 }
  10.                 if($attasehe){
  11.                         require DISCUZ_ROOT.'./forumdata/cache/cache_attasrand.php';
  12.                         $attass=$_DCACHE['attachs_rand'];
  13.                         $i=0;
  14.                         foreach($attass as $aids){
  15.                                 $scoll.="<a href='viewthread.php?tid=".$aids['tid']."'><img border='0' width='120' height='120' src='attachments/".$aids['attachment']."'></a><img border=0 src='images/bk.gif' title=$aids[subject]>";
  16.                                 if(($i++) == $attacoun-1) break;
  17.                         }
  18.                         $thistime=time();
  19.                         if($thistime - $attass['time'] > $attatime*60 ){
  20.                                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  21.                                 updatecache('attachs_rand');
  22.                         }
  23.                 }else{
  24.                         require DISCUZ_ROOT.'./forumdata/cache/cache_attasnew.php';
  25.                         $attass=$_DCACHE['attachs_new'];
  26.                         foreach($attass as $aids){
  27.                                 $scoll.="<a href='viewthread.php?tid=".$aids['tid']."'><img border='0' width='120' height='120' src='attachments/".$aids['attachment']."'></a><img border=0 src='images/bk.gif' title=$aids[subject]>";
  28.                         }
  29.                 }
  30.         }else{
  31.                 $attaopen = 0;
  32.         }
  33.         //首页站内图片附件展示 by oytktk end
复制代码
9. 模板 discuz.htm

查找:
  1. <!--{if !empty($newpmexists) || $announcepm}-->
复制代码
上面加:
  1. <!--{if $attaopen == 1}-->
  2. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  3. <tr class="header"><td>
  4.   <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%"> </table>
  5. </td></tr>
  6. <tr class="altbg2" id="category_hk1" style="$collapse['category_hk1']"><td><center> <div id=demo style=overflow:hidden;height:122;width:100%>
  7. <table height="100%" border=0 align=left cellpadding=2 cellspace=0>
  8. <tr><td height="120" valign=top id=demo1>$scoll</td><td id=demo2 valign=top>
  9. </td></tr>
  10. </tbody>
  11. </table>
  12. </div></center></td></tr>
  13. </table><br>
  14. <!--{/if}-->
复制代码
继续找:
  1. <!--{if empty($gid) && ($_DCACHE['forumlinks'] || $whosonlinestatus || $bdaystatus == 1 || $bdaystatus == 3)}-->
复制代码
下面加:

  1. <!--{if $attaopen == 2}-->
  2. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  3. <tr class="header"><td>
  4.   <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%">
  5.    </table>
  6. </td></tr>
  7. <tr class="altbg2" id="category_hk1" style="$collapse['category_hk1']"><td><center> <div id=demo style=overflow:hidden;height:122;width:100%>
  8. <table height="100%" border=0 align=left cellpadding=2 cellspace=0>
  9. <tr><td height="120" valign=top id=demo1>$scoll</td><td id=demo2 valign=top>
  10. </td></tr>
  11. </table>
  12. </div></center></td></tr></table><!--{/if}-->
复制代码
最后找:
  1. {template footer}
复制代码
下面加:
  1. <script>
  2.         var speed=$attasppe;
  3.         demo2.innerHTML=demo1.innerHTML;
  4.         function Marquee(){
  5.                 if(demo2.offsetWidth-demo.scrollLeft<=0)
  6.                         demo.scrollLeft-=demo1.offsetWidth
  7.                 else{
  8.                         demo.scrollLeft++
  9.                 }
  10.         }
  11.         var MyMar=setInterval(Marquee,speed)
  12.         demo.onmouseover=function() {clearInterval(MyMar)}
  13.         demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
  14. </script>
复制代码
完工..后台设置参数去.然后更新缓存.

[ 本帖最后由 阿飞刘 于 2007-4-4 01:38 编辑 ]

评分

1

查看全部评分

 楼主| 阿飞刘 发表于 2007-3-31 04:11:35 | 显示全部楼层
二,首页四格+社区发帖之星
请大家小心小心再小心。仔细仔细再仔细。。错误的出现多半是因为你的粗心造成的.

请大家一定要备份需要修改的文件!!!
演示:http://bbs.0312.org.cn

1.后台升级数据库(在cdb_settings添加一个show_poststar一个值)
  1. INSERT INTO `cdb_settings` VALUES ('show_poststar', '1');
复制代码
2.编辑文件admin/settings.inc.php

查找:
  1. showsetting('settings_nocacheheaders', 'settingsnew[nocacheheaders]', $settings['nocacheheaders'], 'radio');
复制代码
下面添加:
  1. showsetting('settings_show_poststar', 'settingsnew[show_poststar]', $settings['show_poststar'], 'radio');
复制代码
3,编辑语言包admincp.lang.php(后台管理页面显示的文字)
查找:
  1. 'settings_forumjump_comment' => '选择“是”将在列表页面下部显示快捷跳转菜单。注意: 当分论坛很多时,本功能会严重加重服务器负担',
复制代码
下面添加:
  1. 'settings_show_poststar' => '显示发帖冠军',
  2. 'settings_show_poststar_comment' => '选则“是”将在首页显示发帖冠军',
复制代码
4. 编辑文件  include/cache.func.php

查找
  1. 'medals'        => array('medals')
复制代码
上面加
  1. 'toplist'        => array('newthread', 'newreply', 'topdigest', 'topviews'),//TOPLIST_首页四格_全Cache版_By oytktk
  2. 'poststar'        => array('daystar', 'yestodaystar','weekstar', 'monthstar', 'yearstar'),
复制代码
继续查找
  1. case 'medals':
  2.                         $table = 'medals';
  3.                         $cols = 'medalid, name, image';
  4.                         $c;
  5.                         break;
复制代码
上面加
  1. //首页四格TOPLIST_CACHE版, By oytktk 代码首
  2.                 case 'newthread':
  3.                         $table = 'threads t';
  4.             $cols = 't.tid, t.fid, t.author, t.subject, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
  5.                         $c;
  6.                         break;

  7.                 case 'newreply':
  8.                         $table = 'threads t';
  9.         $cols = 't.tid, t.fid, t.author, t.subject, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
  10.                         $c;
  11.                         break;
  12.                 case 'topdigest':
  13.                         $table = 'threads t';
  14.        $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';
  15.        $c;
  16.                         break;
  17.                
  18.                 case 'topviews':
  19.                         $table = 'threads t';
  20.                         $view = rand(1,3)==1 ? 'views' : 'replies';
  21.    $cols = 't.tid, t.fid, t.author, t.subject, t.dateline, t.lastpost, t.lastposter, t.views, t.replies, t.highlight, f.name';
  22.                         $c;
  23.                         break;

  24.                 //首页四格TOPLIST_CACHE版, By oytktk 代码尾
  25. //===============社区明星BY 33201 开始
  26.                 case 'daystar':
  27.                         $month=date(n);
  28.                         $date=date(j);
  29.                         $year=date(Y);
  30.                         $time=mktime(0,0,0,$month,$date,$year);
  31.                         $table = 'posts p';
  32.                         $cols = 'count(p.pid) as num,p.author,p.authorid,m.uid,m.credits,m.posts,m.digestposts,me.avatar,m.oltime,me.avatarwidth,me.avatarheight';
  33.                         $c;
  34.                         break;
  35.                 case 'yestodaystar':
  36.                         $month=date(n);
  37.                         $date=date(j);
  38.                         $year=date(Y);
  39.                         $time=mktime(0,0,0,$month,$date,$year);
  40.                         $ytime=mktime(0,0,0,$month,$date-1,$year);
  41.                         $table = 'posts p';
  42.                         $cols = 'count(p.pid) as num,p.author,p.authorid,m.uid,m.credits,m.posts,m.digestposts,me.avatar,m.oltime,me.avatarwidth,me.avatarheight';
  43.                         $c;
  44.                         break;
  45.                 case 'weekstar':
  46.                         $month=date(n);
  47.                         $date=date(j);
  48.                         $year=date(Y);
  49.                         $week=date(w);
  50.                         $time=mktime(0,0,0,$month,$date,$year);
  51.                         $weektime=mktime(0,0,0,$month,$date-$week,$year);
  52.                         $table = 'posts p';
  53.                         $cols = 'count(p.pid) as num,p.author,p.authorid,m.uid,m.credits,m.posts,m.digestposts,me.avatar,m.oltime,me.avatarwidth,me.avatarheight';
  54.                         $c;
  55.                         break;
  56.                 case 'monthstar':
  57.                         $month=date(n);
  58.                         $year=date(Y);
  59.                         $monthtime=mktime(0,0,0,$month,1,$year);
  60.                         $table = 'posts p';
  61.                         $cols = 'count(p.pid) as
  62. num,p.author,p.authorid,m.uid,m.credits,m.posts,m.digestposts,me.avatar,m.oltime,me.avatarwidth,me.avatarheight';
  63.                         $c;
  64.                         break;
  65.                
  66.                 case 'yearstar':
  67.                         $year=date(Y);
  68.                         $yeartime=mktime(0,0,0,1,1,$year);
  69.                         $table = 'posts p';
  70.                         $cols = 'count(p.pid) as num,p.author,p.authorid,m.uid,m.credits,m.posts,m.digestposts,me.avatar,m.oltime,me.avatarwidth,me.avatarheight';
  71.                         $c;
  72.                         break;

  73. //===================社区明星BY 33201 结束
复制代码
再找:
  1. case 'settings':
  2.                         $data['qihoo_links'] = array();
  3.                         while($setting = $db->fetch_array($query))
复制代码
上面加
  1. //首页四格TOPLIST_CACHE版, By oytktk 代码首

  2.                 case 'newthread':
  3.                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
  4.                         while($topthread = $db->fetch_array($query)) {
  5.                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
  6.                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
  7.                                 $topthread['subjectc'] = cutstr($topthread['subject'], 28);
  8.                       $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
  9.                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
  10.                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
  11.                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
  12.                                 $data[] = $topthread;
  13.                         }
  14.                         break;

  15.                 case 'newreply':
  16.                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
  17.                         while($topthread = $db->fetch_array($query)) {
  18.                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
  19.                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
  20.                                 $topthread['subjectc'] = cutstr($topthread['subject'], 26);
  21.                      $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
  22.                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
  23.                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
  24.                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
  25.                                 $data[] = $topthread;
  26.                         }
  27.                         break;

  28.                 case 'topdigest':
  29.                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
  30.                         while($topthread = $db->fetch_array($query)) {
  31.                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
  32.                                 $digest = array('1'=>'[Ⅰ]','2'=>'[Ⅱ]','3'=>'[Ⅲ]');
  33.                                 $topthread['subjectc'] = $digest[$topthread['digest']]."-".cutstr($topthread['subject'], 23);
  34.                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
  35.                        $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
  36.                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
  37.                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
  38.                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
  39.                                 $data[] = $topthread;
  40.                         }
  41.                         break;

  42.                 case 'topviews':
  43.                         $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
  44.                         while($topthread = $db->fetch_array($query)) {
  45.                                 $threadcolor = sprintf('%02d', $topthread['highlight']);
  46.                                 $topthread['subjectc'] = cutstr($topthread['subject'], 32);
  47.                $topthread['threadcolor'] = $threadcolor[1] ? " style="color: ".$colorarray[$threadcolor[1]].""" : NULL;
  48.                                 $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
  49.                                 $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
  50.                                 $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
  51.                                 $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
  52.                                 $data[] = $topthread;
  53.                         }
  54.                         break;


  55.                 //首页四格TOPLIST_CACHE版, By oytktk 代码尾
  56. //===================社区明星BY 33201 开始
  57.                 case 'daystar':
  58.                         while($toppost = $db->fetch_array($query)) {
  59.                                 $toppost['author'] = $toppost['author'] ? $toppost['author'] : '游客';
  60.                                 $toppost['authorid'] = $toppost['authorid'] ? $toppost['authorid'] : '游客';
  61.                                 $toppost['avatar'] = $toppost['avatar'] ? $toppost['avatar'] : 'images/nopic.gif';
  62.                                 $toppost['avatarwidth'] = $toppost['avatarwidth'] ? $toppost['avatarwidth'] : '80';
  63.                                 $toppost['avatarheight'] = $toppost['avatarheight'] ? $toppost['avatarheight'] : '80';
  64.                                 $data[] = $toppost;
  65.                         }
  66.                         break;
  67.                 case 'yestodaystar':
  68.                         while($toppost = $db->fetch_array($query)) {
  69.                                 $toppost['author'] = $toppost['author'] ? $toppost['author'] : '游客';
  70.                                 $toppost['authorid'] = $toppost['authorid'] ? $toppost['authorid'] : '游客';
  71.                                 $toppost['avatar'] = $toppost['avatar'] ? $toppost['avatar'] : 'images/nopic.gif';
  72.                                 $toppost['avatarwidth'] = $toppost['avatarwidth'] ? $toppost['avatarwidth'] : '80';
  73.                                 $toppost['avatarheight'] = $toppost['avatarheight'] ? $toppost['avatarheight'] : '80';
  74.                                 $data[] = $toppost;
  75.                         }
  76.                         break;
  77.                 case 'weekstar':
  78.                         while($toppost = $db->fetch_array($query)) {
  79.                                 $toppost['author'] = $toppost['author'] ? $toppost['author'] : '游客';
  80.                                 $toppost['authorid'] = $toppost['authorid'] ? $toppost['authorid'] : '游客';
  81.                                 $toppost['avatar'] = $toppost['avatar'] ? $toppost['avatar'] : 'images/nopic.gif';
  82.                                 $toppost['avatarwidth'] = $toppost['avatarwidth'] ? $toppost['avatarwidth'] : '80';
  83.                                 $toppost['avatarheight'] = $toppost['avatarheight'] ? $toppost['avatarheight'] : '80';
  84.                                 $data[] = $toppost;
  85.                         }
  86.                         break;
  87.                 case 'monthstar':
  88.                         while($toppost = $db->fetch_array($query)) {
  89.                                 $toppost['author'] = $toppost['author'] ? $toppost['author'] : '游客';
  90.                                 $toppost['authorid'] = $toppost['authorid'] ? $toppost['authorid'] : '游客';
  91.                                 $toppost['avatar'] = $toppost['avatar'] ? $toppost['avatar'] : 'images/nopic.gif';
  92.                                 $toppost['avatarwidth'] = $toppost['avatarwidth'] ? $toppost['avatarwidth'] : '80';
  93.                                 $toppost['avatarheight'] = $toppost['avatarheight'] ? $toppost['avatarheight'] : '80';
  94.                                 $data[] = $toppost;
  95.                         }
  96.                         break;
  97.                 case 'yearstar':
  98.                         while($toppost = $db->fetch_array($query)) {
  99.                                 $toppost['author'] = $toppost['author'] ? $toppost['author'] : '游客';
  100.                                 $toppost['authorid'] = $toppost['authorid'] ? $toppost['authorid'] : '游客';
  101.                                 $toppost['avatar'] = $toppost['avatar'] ? $toppost['avatar'] : 'images/nopic.gif';
  102.                                 $toppost['avatarwidth'] = $toppost['avatarwidth'] ? $toppost['avatarwidth'] : '80';
  103.                                 $toppost['avatarheight'] = $toppost['avatarheight'] ? $toppost['avatarheight'] : '80';
  104.                                 $data[] = $toppost;
  105.                         }
  106.                         break;

  107. //=====================社区明星BY 33201 结束
复制代码
5. include/newthread.inc.php

查找
  1. updatepostcredits('+', $discuz_uid, $postcredits);
复制代码
下面加
  1. require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('newthread');
  3. require_once DISCUZ_ROOT.'./include/cache.func.php';
  4.                 updatecache('daystar');
复制代码
6. include/newreply.inc.php

查找
  1. updatepostcredits('+', $discuz_uid, $replycredits);
复制代码
下面加
  1.   require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('newthread');
  3.   require_once DISCUZ_ROOT.'./include/cache.func.php';
  4.                 updatecache('daystar');
复制代码
7. include/editpost.inc.php

查找
  1. updatepostcredits('-', $orig['authorid'], ($isfirstpost ? $postcredits : $replycredits));
复制代码
下面加
  1. require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('newthread');
复制代码
8. 编辑文件index.php

8.1查找
  1. $threads = $posts = $todayposts = $fids = $announcepm = 0;
复制代码
下面加
  1. //首页四格TOPLIST_CACHE版, By oytktk 代码首
  2.         if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'],

  3. 'category_hk2 ') === FALSE) {
  4.                 $categorys_hk2 = 'collapsed_no.gif';
  5.                 $collapse['category_hk2'] = '';
  6.         } else {
  7.                 $categorys_hk2 = 'collapsed_yes.gif';
  8.                 $collapse['category_hk2'] = 'display: none';
  9.         }
  10.         
  11.         if($categorys_hk2 == 'collapsed_no.gif'){
  12.         require_once DISCUZ_ROOT.'./forumdata/cache/cache_toplist.php';
  13.         $toplistloop = $_DCACHE['newthread'];
  14.         }
  15.         //首页四格TOPLIST_CACHE版, By oytktk 代码尾
复制代码
8.2 查找:
  1. require_once DISCUZ_ROOT.'./include/forum.func.php';
复制代码
下面添加:
  1. require_once DISCUZ_ROOT.'./forumdata/cache/cache_poststar.php';
  2. $month=date(n);
  3. $year=date(Y);
复制代码
8.3 查找:
  1. unset($_DCACHE['announcements']);
复制代码
下面添加:
  1. //========== 社区发帖明星 开始
  2. $nopoststar ='<td valign=top>姓名: 虚位以待! <br>积分:空<br>精华:空<br>今日发帖:空<br>总发帖量:空<br>在线时间:空<br></td><td width=16% align=center class=altbg1><IMG height=80 src="images/nopic.gif" width=80 align=center></td>';
  3. if($_DCACHE['daystar']) {
  4.         foreach($_DCACHE['daystar'] as $key => $dstar) {
  5.                 if ($key<3){
  6.                         $daystars .="<td valign=top>姓名:".$dstar[author]."<br>积分:".$dstar[credits]."<br>精华:".$dstar[digestposts]."篇<br>今日发帖:".$dstar[num]."篇<br>总发帖量:".$dstar[posts]." 篇<br>在线时间:".$dstar[oltime]." 小时<br></td><td width=16% align=center class=altbg1><IMG src=".$dstar[avatar]." width=".$dstar[avatarwidth]." height=".$dstar[avatarheight]." align=center></td>";
  7.                         $n=$key;
  8.                 }
  9.         }
  10.             if($n==0){$daystars .=$nopoststar.$nopoststar;}elseif($n==1){$daystars .=$nopoststar;}
  11. }
  12. if($_DCACHE['weekstar']) {
  13.         foreach($_DCACHE['weekstar'] as $key => $wstar) {
  14.                 if ($key<3){
  15.                         $weekstars .="<td valign=top>姓名:".$wstar[author]."<br> 积分:".$wstar[credits]."<br>精华:".$wstar[digestposts]." 篇<br>本周发帖:".$wstar[num]."篇<br>总发帖量:".$wstar[posts]." 篇<br>在线时间:".$wstar[oltime]."小时</td><TD width=16% align=center class=altbg1><IMG src=".$wstar[avatar]." width=".$wstar[avatarwidth]." height=".$wstar[avatarheight]." align=center></td>";
  16.                         $weeknum=$key;
  17.                 }
  18.     }
  19.         if($weeknum==0){$weekstars .= $nopoststar.$nopoststar;}elseif($weeknum==1){$weekstars.=$nopoststar;}
  20. }
  21. if($_DCACHE['monthstar']) {
  22.         foreach($_DCACHE['monthstar'] as $key => $mstar) {
  23.                 if ($key<3){
  24.                         $monthstars .="<td valign=top>姓名:".$mstar[author]."<br>积分:".$mstar[credits]."<br>精华:".$mstar[digestposts]."篇<br>".$month."月发帖:".$mstar[num]." 篇<br>总发帖量:".$mstar[posts]." 篇<br>在线时间:".$mstar[oltime]." 小时</td><TD width=16% align=center class=altbg1><IMG src=".$mstar[avatar]." width=".$mstar[avatarwidth]." height=".$mstar[avatarheight]." align=center></td>";
  25.                         }
  26.         }
  27. }
  28. if($_DCACHE['yearstar']) {
  29.         foreach($_DCACHE['yearstar'] as $key => $ystar) {
  30.                 if ($key<3){
  31.                         $yearstars .="<td valign=top>姓名:".$ystar[author]."<br>积分:".$ystar[credits]."<br>精华:".$ystar[digestposts]." 篇<br>".$year."年发帖:".$ystar[num]."篇<br>总发帖量:".$ystar[posts]." 篇<br>在线时间:".$ystar[oltime]." 小时</td><TD width=16% align=center class=altbg1><IMG src=".$ystar[avatar]." width=".$ystar[avatarwidth]." height=".$ystar[avatarheight]." align=center></td>";
  32.                 }
  33.     }
  34. }
  35. //========== 社区发帖明星 结束
复制代码
9. topicadmin.php

查找
  1. showmessage((isset($resultarray['message']) ? $resultarray['message'] : 'admin_succeed'),
复制代码
上面加
  1. require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.         updatecache('newthread');
  3. require_once DISCUZ_ROOT.'./include/cache.func.php';
  4.                 updatecache('daystar');
复制代码
10. 修改文件:templates\default\discuz.htm

查找
  1. <!--{if !empty($newpmexists) || $announcepm}-->
  2. <div style="clear: both; margin-top: 5px" id="pmprompt">
  3. {template pmprompt}
  4. </div>
  5. <!--{/if}-->
复制代码
下面加
  1. <!--{if empty($gid)}-->
  2. <!--{if $show_poststar}-->
  3. <div style="clear: both; margin-top: 5px">
  4. {template toplist}
  5. </div>
  6. <!--{/if}-->
  7. <!--{/if}-->
复制代码
上传 附件里的 TOPLIST.htm到模版风格目录

11.上传附件到论坛根目录

12.后台更新缓存,一定要更新,否则可能首页无法显示



常见修改问题
1.Warning: main(): Unable to access d:\usr\web\www\bbs\./forumdata/cache/cache_toplist.php in d:\usr\web\www\bbs\index.php on line 97

Warning: main(d:\usr\web\www\bbs\./forumdata/cache/cache_topli ...


修改办法:   清除forumdata/cache/目录下所有文件.后台更新缓存.然后刷新首页两次。正常

2.出现如下错误提示:
Warning: main(d:\webhost\qiuqiao\web\vip\05\./forumdata/templates/1_toplist.tpl.php): failed to open stream: No such file or directory in d:\webhost\qiuqiao\web\vip\05\forumdata\templates\1_discuz.tpl.php on line 106

Warning: main(d:\webhost\qiuqiao\web\vip\05\./forumdata/templates/1_toplist.tpl.php): failed to open stream: No such file or directory in d:\webhost\qiuqiao\web\vip\05\forumdata\templates\1_discuz.tpl.php on line 106

Warning: main(): Failed opening 'd:\webhost\qiuqiao\web\vip\05\./forumdata/templates/1_toplist.tpl.php' for inclusion (include_path='.;c:\php4\pear') in d:\webhost\qiuqiao\web\vip\05\forumdata\templates\1_discuz.tpl.php on line 106

解决办法:清除\forumdata\templates目录下所有文件,然后刷新首页两次.正常..

  1. 如何把首页显示的“XX十大名帖 ”,更改成:“社区十大名帖”?

  2. 修改办法: 修改附件里面的toplist.htm中的如下代码修改:
  3. <td align="left" valign="top"><b> <img src={IMGDIR}/dot.gif BORDER=0> XX十大名帖</b
复制代码

不显示某个子板块:
可以在cache.func.php里面把代码中4个ORDER BY前全部加上and f.fid!=''(引号里是隐藏帖子所在论坛的fid号,例如:and f.fid!='3')

当贴子的标题过长时,会排列多出一排来,难看!!  如何长能排列整齐???(不要排到第二行的)


修改include\cache.func.php里面的语句:
$topthread['subjectc'] = cutstr($topthread['subject'], 25);
调整红色数字就行!

[ 本帖最后由 阿飞刘 于 2007-4-4 01:20 编辑 ]
回复

使用道具 举报

bbscom2 发表于 2007-3-31 06:06:37 | 显示全部楼层
支持。广告位。
回复

使用道具 举报

fzqkensou 发表于 2007-3-31 06:19:05 | 显示全部楼层
请问可以发布单独的 站内附件图片展示 插件吗 急需
回复

使用道具 举报

bluelads 发表于 2007-3-31 06:27:18 | 显示全部楼层
回复

使用道具 举报

叶海燕 发表于 2007-3-31 08:13:01 | 显示全部楼层
不知道你的论坛是不是3月24号的,所以,也不敢装。
回复

使用道具 举报

叶海燕 发表于 2007-3-31 08:16:02 | 显示全部楼层
而且,我的论坛也不是GBK的,郁闷啊,我正在找这个首页四格。

升级后,四格不能用了。
谁能发一个适合5。53月24版UTF8的首页四格啊。

这个功能很全了,可是不知道能不能用。
回复

使用道具 举报

babyq 发表于 2007-3-31 08:19:19 | 显示全部楼层
回复

使用道具 举报

 楼主| 阿飞刘 发表于 2007-3-31 13:25:50 | 显示全部楼层
暂当问题解决帖吧

[ 本帖最后由 阿飞刘 于 2007-4-5 01:07 编辑 ]
回复

使用道具 举报

jzzz 发表于 2007-3-31 17:40:59 | 显示全部楼层
找不到:cache_poststar.php';
文件,怎么了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-23 01:34 , Processed in 0.060889 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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