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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 首页四格(访客信息+论坛档案+最新主题+最新回复)+新手DIY方案 For Discuz! 5.0.0

[复制链接]
Clwarm 发表于 2006-10-4 18:21:30 | 显示全部楼层 |阅读模式
插件信息

插件名称:首页四格(访客信息+论坛档案+最新主题+最新回复)
所属版本:Discuz! 5.0.0 正式版(Discuz! 5.5.0 不适用,需要稍做修改
插件作者:Laoniu(修改自4.0首页四格+魔焰男孩的显示访客信息)[原插件链接]
插件改进:Clwarm(改善模板,提供用户自行个性化的方案)
插件演示:见图片(『温暖世界』学生论坛是经过简化的)
增加文件:userinfo.inc.php / hot_topics.htm
修改文件:index.php / discuz.htm
数据升级:无
查询增加:2个
最后更新:2007年6月3日
2007年6月3日前安装的用户请安装该补丁https://discuz.dismall.com/thread-640662-1-1.html
2006年10月19日前安装的用户请安装该补丁https://discuz.dismall.com/viewthread.php?tid=418450&page=10#pid3411312
2006年11月4日前安装的用户请安装该补丁https://discuz.dismall.com/viewthread.php?tid=418450&page=14#pid3604605
技术支持:『温暖世界』网站:http://warm.meyu.net
     『温暖世界』学生论坛:http://17.vi1.cn
     Clwarm's Blog:http://clwarm.blog.sohu.com
     FreeDiscuz!:www.freediscuz.net
     Discuz!:discuz.dismall.com

演示图片:







功能介绍

  首页四格,顾名思义,就是放在首页上方的四个格子。格子里放的是什么糖,就要看大家的创意了。本插件最基本的就是四项基本内容,即:访客信息、论坛档案、最新主题、最新回复。其他版本的首页四格同样可以作为您DIY的参考哦~


改进说明

  原插件的使用平台为 Discuz! 4.1.0 版本,自从 Discuz! 5.0.0 正式版发布以来,由于时间关系我也很少关注 Discuz! 和 Discuz! 插件区了。十一长假应该说是一个放松的时间,我利用了少许的课余时间研究了一些东西,其中改进了这样一个插件。
  我主要做的改进工作是将模板重新编写,因为原插件的模板代码不是很规范,虽然不影响使用,但从代码上来讲不是太好。我不敢说我重新编写了就都符合规范了,总之有一定的改进吧。原插件有一些重复的代码,也可能是出于某种考虑这样写,在我的改进中还是将其进行了一下简化。
  除此之外呢,我个人感觉这样一个插件比较臃肿。所以给大家提供一些在此基础上DIY,添加删除内容的方法,主要给新手朋友一个体验自己动手实践的机会,相信高手们完全可以根据自己的需求和意愿轻松DIY了。




顺便祝愿大家国庆节快乐,中秋节团圆!


更新说明

  2007年6月3日修正:“隐藏未经审核帖和回收站帖子”部分的代码规范问题(https://discuz.dismall.com/thread-640662-1-1.html
  2006年11月05日增加:功能不变但适合窄页面风格的四格(https://discuz.dismall.com/viewthread.php?tid=418450&page=16#pid3613336
  2006年11月05日尝试:部分积分错位用户可以尝试使用该模版(https://discuz.dismall.com/viewthread.php?tid=418450&page=16#pid3613257
  2006年11月04日修正:等待审核或已经删出到回收站的帖子不显示(https://discuz.dismall.com/viewthread.php?tid=418450&page=14#pid3604605
  2006年10月19日修正:首页四格的验证码问题(https://discuz.dismall.com/viewthread.php?tid=418450&page=10#pid3411312



版权说明

  原来的源代码归原作者本人所有,我改进的部分归我所有。是谁改或写的,那么版权就归谁。大家愿意随心所欲地DIY,只要尊重作者和修改者就可以了,我没什么其他的要求或限制。至于原作者,相信他们同样希望为大家提供一个自主个性化的空间吧。


附件说明

  本帖的附件中,我只提供完整版本的下载。如果你要简化其中的内容,萝卜白菜各有所爱,那么请自己行动吧!

附件中文件详细说明:

根目录
readme.txt ---- 插件信息及安装说明
diy_readme.txt ---- 新手 DIY 方案

upload 目录 ---- 您需要该目录下所有文件上传至论坛根目录下
- include
  - userinfo.inc.php ---- 访客信息部分所需要的文件(新增
- templates
  - default
   - hot_topics.htm ---- 首页四格模板文件(新增

edit 目录 ---- 手工修改部分已经修改好的文件,如果您未曾对这部分文件进行过修改,则可以直接替换到相应目录下的文件
- discuz.htm ---- 如果直接替换的话,请替换到模板目录下
- index.php ---- 如果直接替换的话,青替换到论坛根目录下

preview 目录 ---- 插件完整版的预览

附件下载见本帖最后。


手工修改

  这里提供的是完整版中,所需要对文件做的修改。有关DIY中所要增删的内容,将在后面的DIY方案中详细说明。

一、上传附件中的所有文件。

二、修改根目录下的 index.php 文件。
================================
  1. require_once './include/common.inc.php';
复制代码
替换为
  1. require_once './include/common.inc.php';
  2. //--首页四个之访客信息部分 Start--
  3. require_once './include/userinfo.inc.php';
  4. //--首页四个之访客信息部分 End--
复制代码
================================
  1. } else {
  2.         $showoldetails = false;
  3. }
复制代码
替换为
  1. } else {
  2.         $showoldetails = false;
  3. }

  4. //--首页四格增加 Start--
  5. $hack_subject_len=34; //标题最多显示的字数
  6. $hack_subject_num=12; //最新主题与回复显示的数量

  7. //最新主题
  8. $query = $db->query("SELECT dateline,tid,subject,author,views,replies FROM {$tablepre}threads where displayorder>=0 ORDER BY dateline DESC LIMIT 0, $hack_subject_num");
  9. while($thread = $db->fetch_array($query)) {
  10.          $thread[subject0]=$thread[subject];
  11.         $thread['subject'] = cutstr($thread['subject'], $hack_subject_len);
  12.         $hack_newthreads_threadlist[] = $thread;
  13. }

  14. $threadview = $threadreply = array();

  15. //最新回复
  16. $query = $db->query("SELECT replies, tid, subject,author,views,lastposter FROM {$tablepre}threads where replies !=0 and displayorder>=0 ORDER BY lastpost DESC LIMIT 0, $hack_subject_num");
  17.         while($thread = $db->fetch_array($query)) {
  18.                  $thread[subject0]=$thread[subject];
  19.                 $thread[subject] = cutstr($thread[subject], $hack_subject_len);
  20.                 $threadreply[] = $thread;
  21.         }
  22. //--首页四格增加 End--
复制代码
================================
  1. $newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
复制代码
替换为
  1. $newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
  2. //--首页四格之建站时间增加 Start--
  3. $today  = mktime (0,0,0,date("m")  ,date("d"),date("Y"));
  4. $build_date = mktime (0,0,0,03,31,2006);  //请修改最后的三个数字,分别代表论坛建站时间的月、日、年。
  5. $build_days = (int)(($today-$build_date)/(24*3600));
  6. //--首页四格之建站时间增加 End--
复制代码
================================
2006年10月19日新增
  1. $currenttime = gmdate($timeformat, $timestamp + $timeoffset * 3600);
复制代码
替换为
  1. //--首页四格验证码 Star--
  2. $seccodecheck = substr(sprintf('%05b', $seccodestatus), -2, 1);
  3. if(!submitcheck('loginsubmit', 1, $seccodecheck)) {
  4.   $discuz_action = 6;
  5.   $referer = dreferer();
  6.   $thetimenow = '(GMT '.($timeoffset > 0 ? '+' : '').$timeoffset.') '.
  7.    gmdate("$dateformat $timeformat", $timestamp + $timeoffset *
  8. 3600).
  9.   $styleselect = '';
  10.   $query = $db->query("SELECT styleid, name FROM {$tablepre}styles WHERE
  11. available='1'");
  12.   while($styleinfo = $db->fetch_array($query)) {
  13.    $styleselect .= "<option value="$styleinfo[styleid]">$styleinfo
  14. [name]</option>\n";
  15.   }
  16.   $_DCOOKIE['cookietime'] = isset($_DCOOKIE['cookietime']) ? $_DCOOKIE
  17. ['cookietime'] : 2592000;
  18.   $cookietimecheck = array((isset($_DCOOKIE['cookietime']) ? intval
  19. ($_DCOOKIE['cookietime']) : 2592000) => 'checked');
  20.   if($seccodecheck) {
  21.    $seccode = random(4, 1);
  22.   }
  23. }
  24. //--首页四格验证码 End--
  25. $currenttime = gmdate($timeformat, $timestamp + $timeoffset * 3600);
复制代码
================================

三、修改模板目录下的 discuz.htm 文件。
================================
  1. <div class="left" style="line-height: 18px;">
  2. <span class="bold"><!--{if $gid || !$discuz_uid}--><a href="$indexname">$bbname</a><!--{else}-->$discuz_user<!--{/if}-->
  3. <!--{if $supe_status && $discuz_uid}-->
  4. -
  5.         <!--{if !$xspacestatus}-->
  6.                 <a href="$supe_siteurl/index.php?action/register" target="_blank">{lang supe_signin_xspace}</a>
  7.         <!--{else}-->
  8.                 <a href="$supe_siteurl/index.php?action/space/uid/$discuz_uid" target="_blank">{lang supe_myxspace}</a>
  9.         <!--{/if}-->
  10. <!--{/if}-->
  11. </span>
  12. <br>
  13. {lang credits}: <span class="bold smalltxt">$credits</span> <!--<span id="creditlist">{lang credits_detail}<script type="text/javascript">menuregister(false, "creditlist", true)</script></span>--> / {lang index_status}:
  14. <!--{if $validdays}-->
  15.         <a href="member.php?action=groupexpiry"><span class="bold">$grouptitle</span>($validdays)</a>
  16. <!--{else}-->
  17.         <span class="bold">$grouptitle</span><!--{/if}-->
  18. <!--{if $allowinvisible && $discuz_uid}-->{lang online_status}:
  19.         <!--{if !empty($invisible)}-->
  20.                 <a href="member.php?action=switchstatus" title="{lang login_switch_normal_mode}">{lang login_invisible_mode}</a>
  21.         <!--{else}-->
  22.                 <a href="member.php?action=switchstatus" title="{lang login_switch_invisible_mode}">{lang login_normal_mode}</a>
  23.         <!--{/if}-->
  24. <!--{/if}--><br>
  25. {lang your_lastvisit} <span class="smalltxt">$lastvisittime</span><br>
  26. </div>

  27. <div class="right" style="line-height: 18px;">
  28. <a href="search.php?srchfrom=$newthreads&searchsubmit=yes">{lang show_newthreads}</a> |
  29. <!--{if $discuz_uid}-->
  30.         <!--{if $allowuseblog}-->
  31.                 <a href="blog.php?uid=$discuz_uid" target="_blank">{lang blog}</a> |
  32.         <!--{/if}-->
  33. <!--{/if}-->
  34. <a href="digest.php">{lang digest}</a> |
  35. <a href="member.php?action=markread">{lang mark_read}</a>
  36. <!--{if $rssstatus}--><a href="rss.php?auth=$rssauth" target="_blank"><img src="images/common/xml.gif" border="0" class="absmiddle" alt="{lang rss_subscribe_all}" /></a><!--{/if}-->
  37. <br>
  38. {lang total} <span class="smalltxt">$threads</span> {lang index_threads} / <span class="smalltxt">$posts</span> {lang index_posts} / {lang index_today} <span class="smalltxt">$todayposts</span> {lang index_posts}<br>
  39. {lang total} <span class="smalltxt">$totalmembers</span> {lang index_members} / {lang welcome_newmember} <a href="viewpro.php?username=$memberenc"><span class="bold">$lastmember</span></a>
  40. </div>

  41. </div><br>
复制代码
替换为
  1. <!--首页四格修改 Star-->
  2. <div class="left" style="line-height: 18px;">
  3. <span class="bold"><a href="$indexname">$bbname</a></span>
  4. </div></div><br />

  5. {template hot_topics}
  6. <!--首页四格修改 End-->
复制代码
================================


到此为止,完整版的首页四格安装完毕!

新手 DIY 方案请见2楼。

[ 本帖最后由 Clwarm 于 2007-6-3 19:02 编辑 ]

评分

1

查看全部评分

 楼主| Clwarm 发表于 2006-10-4 18:21:50 | 显示全部楼层
首页四格 DIY方案


文章作者:Clwarm
所需插件:首页四格(访客信息+论坛档案+最新主题+最新回复)
技术支持:『温暖世界』网站:http://warm.meyu.net
     『温暖世界』学生论坛:http://17.vi1.cn
     Clwarm's Blog:http://clwarm.blog.sohu.com
     FreeDiscuz!:www.freediscuz.net
     Discuz!:discuz.dismall.com

说明

  这里所提供的个性化修改方案,主要是针对完整版进行的简化的修改,均不是特别大的修改,适合于新手。以下所有DIY方案,不再提供下载,请根据需要自行修改。修改时注意备份,仔细看清楚修改什么文件,以免出现错误。

DIY方案之一:自主设置最新主题和最新回复显示数量以及标题显示的最多字数
第一步:打开根目录下 index.php 文件,找到
  1. $hack_subject_len=34; //标题最多显示的字数
  2. $hack_subject_num=12; //最新主题与回复显示的数量
复制代码

第二步:将其中的数字修改至您认为合适的数量即可。
(完成)

DIY方案之二:删除游客模式下的安全提问和回答
第一步:打开模板目录下 hot_topics.htm 文件,删除以下部分:
  1.         <div>{lang security_question} :   <select name="questionid" tabindex="3">
  2.           <option value="0">{lang security_question_0}</option>
  3.           <option value="1">{lang security_question_1}</option>
  4.           <option value="2">{lang security_question_2}</option>
  5.           <option value="3">{lang security_question_3}</option>
  6.           <option value="4">{lang security_question_4}</option>
  7.           <option value="5">{lang security_question_5}</option>
  8.           <option value="6">{lang security_question_6}</option>
  9.           <option value="7">{lang security_question_7}</option>
  10.           </select>
  11.         </div>
复制代码

第二步:再删除该文件中的以下部分:
  1. 回      答 :   <input type="text" name="answer" size="18" tabindex="4">
复制代码

(完成)

DIY方案之三:删除访客信息部分的IP、来访地区、浏览软件
第一步:打开模板目录下 hot_topics.htm 文件,删除以下部分:
  1.         <div>IP 地址: $onlineip</div>
  2.         <div>来访地区:  {$userinfo['from']}</div>
  3.         <div>浏览软件:  {$userinfo['browser']}</div>
复制代码

第二步:打开根目录下 index.php 文件,删除以下部分:
  1. //--首页四个之访客信息部分 Start--
  2. require_once './include/userinfo.inc.php';
  3. //--首页四个之访客信息部分 End--
复制代码

第三步:删除 include 目录下 userinfo.inc.php 文件。
(完成)

DIY方案之四:删除论坛运行天数或改为欢迎提示语
第一步:打开模板目录下 hot_topics.htm 文件,删除以下部分:
  1. <div><a href="index.php">$bbname</a> $navigation<span>已运行$build_days</span>天</div>
复制代码

*如果想改为欢迎提示语,则将该部分替换为
  1. <div><a href="index.php">$bbname</a> 欢迎您!</div>
复制代码

第二步:打开根目录下 index.php 文件,删除以下部分:
  1. //--首页四格之建站时间增加 Start--
  2. $today  = mktime (0,0,0,date("m")  ,date("d"),date("Y"));
  3. $build_date = mktime (0,0,0,03,31,2006);  //请修改最后的三个数字,分别代表论坛建站时间的月、日、年。
  4. $build_days = (int)(($today-$build_date)/(24*3600));
  5. //--首页四格之建站时间增加 End--
复制代码

(完成)

DIY方案之四:删除搜索框
第一步:打开模板目录下 hot_topics.htm 文件,删除以下部分:
  1. <br />
  2.         <div><b>论坛搜索</b> - <a href="search.php">高级搜索</a></div>
  3.         <div><form method="get" action="search.php"><input size="15" name="srchtxt"><input type="submit" value="搜索" name="searchsubmit"></form></div>
复制代码

(完成)

DIY方案之N:你还有什么好方法呢?快和大家分享吧!

22楼有一种四格,但代码过于复杂,不够简洁,可能还有优化的余地。
有谁愿意来尝试一下,帮忙完善一下是最好的了:)
https://discuz.dismall.com/viewthread.php?tid=418450&page=3#pid3313221

44楼隐藏指定版面的帖子:https://discuz.dismall.com/viewthread.php?tid=418450&page=5#pid3318472

https://discuz.dismall.com/thread-433569-1-1.html

https://discuz.dismall.com/thread-447634-1-1.html

[ 本帖最后由 Clwarm 于 2006-11-6 18:53 编辑 ]
回复

使用道具 举报

 楼主| Clwarm 发表于 2006-10-4 18:22:07 | 显示全部楼层
首页四格可谓多种多样,其他的样式也有可参考之处。
如您愿意进行更多的DIY,这里推荐几种样式供您参考。


首页调用四格美化 For:5.0/4.1/4.0
https://discuz.dismall.com/thread-388925-1-1.html

首页四格+社区之星后台控制全Cache版 FOR DZ5.0正式版
https://discuz.dismall.com/thread-389680-1-5.html

首页四格:最新话题+最新回复+热门话题+精华文章 for DZ5.0 正式版
https://discuz.dismall.com/thread-397572-1-5.html

首页四格-随机图片调用+最新话题+最新回复+精华帖/本周热门/本月热门
https://discuz.dismall.com/thread-415538-1-2.html


更多“品种”请使用搜索,相信总有一款适合您,无论是直接使用还是DIY,都请修改前进行备份哦!
回复

使用道具 举报

 楼主| Clwarm 发表于 2006-10-4 18:23:35 | 显示全部楼层
既然没人,我继续占位。
回复

使用道具 举报

CS1.3 发表于 2006-10-4 18:25:36 | 显示全部楼层
晕倒....位被你全占了...
回复

使用道具 举报

 楼主| Clwarm 发表于 2006-10-4 18:28:14 | 显示全部楼层
东西我都写好了,然后就一个劲复制/粘贴。
所以经历了几次15秒的限制~
回复

使用道具 举报

xpfox 发表于 2006-10-4 18:34:35 | 显示全部楼层
李记荣?
回复

使用道具 举报

 楼主| Clwarm 发表于 2006-10-4 18:37:22 | 显示全部楼层
原帖由 xpfox 于 2006-10-4 18:34 发表
李记荣?

????????????????????????
回复

使用道具 举报

AgFx 发表于 2006-10-4 18:39:11 | 显示全部楼层
支持一下~~!
祝各位中秋团圆!:)
回复

使用道具 举报

 楼主| Clwarm 发表于 2006-10-4 18:41:41 | 显示全部楼层
原帖由 agfx 于 2006-10-4 18:39 发表
支持一下~~!
祝各位中秋团圆!:)

谢谢:)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-13 15:30 , Processed in 0.052903 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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