vBulletin HACK----显示话题大小和打开新窗口于论坛索引页


Posted in PHP onOctober 09, 2006

vBulletin HACK
----显示话题大小和打开新窗口于论坛索引页
作者:gogosoft

《显示话题大小》
原因:1.1.4版本中没有此功能,而部分用户会以此作为是否查看话题的参考因素。
优点:只需要增加几行代码就可以。
缺点:因为每次显示论坛索引页都需要对该页的话题全部计算大小,所以可能会对服务器造成若干的影响。
自评:这是一个小功能,可有可无,实用与否见仁见智。

步骤:
⒈打开 forumdisplay.php ,查找“
if ($announcement=$DB_site->query_first("SELECT announcementid,userid,startdate,title FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1) ORDER BY startdate DESC LIMIT 1")) {
”,在后面加入“
  // Hack thread size
  $size=0;
  $announcements=$DB_site->query("SELECT pagetext FROM announcement WHERE startdate<=$datenow AND enddate>=$datenow AND (forumid=$forumid OR forumid=-1)");
  while ($announce=$DB_site->fetch_array($announcements)) $size+=strlen($announce[pagetext]);
  $size=iif($size>1024,number_format($size/1024,1)."K",$size);
  // End Hack thread size
”,查找“
while ($thread=$DB_site->fetch_array($threads)) {
”,在后面加入“
  // Hack thread size
  $size=0;
  $posts=$DB_site->query("SELECT pagetext FROM post WHERE threadid=".$thread[threadid]);
  while ($post=$DB_site->fetch_array($posts)) $size+=strlen($post[pagetext]);
  $size=iif($size>1024,number_format($size/1024,1)."K",$size);
  // End Hack thread size
”,保存退出;

⒉在《控制面板》打开 forumdisplay 模板,查找“
<td align=center><smallfont color="{tableheadtextcolor}"><B>回复</B></smallfont>
</td>
<td align=center><smallfont color="{tableheadtextcolor}"><B>人气</B></smallfont>
</td>
”,在后面加入“
<td align=center><smallfont color="{tableheadtextcolor}"><B>大小</B></smallfont>
</td>
”,查找“
<TD valign="middle" width="100%" colspan="7">
”,替换为“
<TD valign="middle" width="100%" colspan="8">
”保存。打开 forumdisplaybit 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>$replies</normalfont>
</td>

<td align=center bgcolor="{secondaltcolor}">
<normalfont>$views</normalfont>
</td>
”,在后面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,打开 forumdisplay_announcement 模板,查找“
<td align=center bgcolor="{firstaltcolor}">
<normalfont>-</normalfont>
</td>

<td align=center bgcolor="{secondaltcolor}">
<normalfont>-</normalfont>
</td>
”,在后面加入“
<td align=center bgcolor="{secondaltcolor}">
<normalfont>$size</normalfont>
</td>
”,保存。完成!

《打开新窗口》
原因:这对于浏览一个经常更新的论坛来说,是很有用的,用户可以很简单地就打开了很多不同话题的窗口。
优点:很简单,只需要改动模板就实现了——好象也不是太属于HACK。:)
缺点:只能对话题的第一页打开新的窗口,而其它页,还是要按住Shift。

步骤:控制面板->模板->编辑,打开 forumdisplaybit ,查找“
<td bgcolor="{firstaltcolor}" width="100%"><normalfont>
$gotonew <A HREF="showthread.php?threadid=$threadid">$threadtitle</a>
”,在 $gotonew 后面或前面($gotonew 是那个“有新帖子”的图标)加入“
<A HREF="showthread.php?threadid=$threadid" target="_blank"><img src="images/newwin.gif" border="0"></a>
”,当然了,你得为这个打开新窗口的连接准备一个小图标,并上载到 images 目录下。完成!

范例:http://gogosoft.oso.com.cn/forum/forumdisplay.php?forumid=4

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
PHP学习笔记之数组篇
Jun 28 PHP
php类常量用法实例分析
Jul 09 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
PHP可变变量学习小结
Nov 29 PHP
基于PHP制作验证码
Oct 12 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
thinkphp5使用无限极分类
Feb 18 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
利用递归把多维数组转为一维数组的函数
Oct 09 #PHP
如何在PHP中进行身份认证
Oct 09 #PHP
一个改进的UBB类
Oct 09 #PHP
PHP3 safe_mode 失效漏洞
Oct 09 #PHP
vBulletin HACK----关于排版的两个HACK
Oct 09 #PHP
PHP+APACHE实现用户论证的方法
Oct 09 #PHP
从C/C++迁移到PHP——判断字符类型的函数
Oct 09 #PHP
You might like
一个比较简单的PHP 分页分组类
2009/12/10 PHP
php获取随机数组列表的方法
2014/11/13 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
js表格分页实现代码
2009/09/18 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
一篇不错的Python入门教程
2007/02/08 Python
python生成器generator用法实例分析
2015/06/04 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
python numpy数组中的复制知识解析
2020/02/03 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
什么是继承
2013/12/07 面试题
列车长先进事迹材料
2014/01/25 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
数学系毕业生求职信
2014/05/29 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
2014年科研工作总结
2014/12/03 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python