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

 找回密码
 立即注册
搜索

[发布] 主题显示略缩的作者头像 For Discuz 6.0 Final 修复问题

[复制链接]
LITEQQ.CN 发表于 2007-11-1 03:29:32 | 显示全部楼层 |阅读模式
强烈抗议一下,不容易才问朋友要的邀请,兴致勃勃的进来,谁知道要等五小时哇! 郁闷,本来11点就可以的,但是朋友约出去漂移,感觉真好,下雨了,写完睡觉,舒服!
希望大家用的也舒服!
首先,要感谢freeher给我带来的这么好的插件,其次,是帮助朋友更新此插件,然后发扬共享精神给大家提供出来修改方法!
主题显示略缩的作者头像 For Discuz 5.5 V1.0 https://discuz.dismall.com/viewthread.php?tid=583064

1.关于头像位置问题
自己研究才是王道,想放的与众不同就要努力学习!

2.关于公告头像的问题
公告的头像调用比较麻烦,懒得去研究!用无头像代替这样比较舒服,总比没有放哪里好吧!

3.关于生成缩略图大小的问题.
修改ImageCore.inc.php , 参数就那么简单,写的很清楚了,看不懂我也没办法了.

4.关于这个插件是否会影响速度(引用原话)
我不骗你,加了东西,理所当然会影响速度.
影响多少我不知道, 访问一下回帖里面的URL不就知道快还是慢了. DZ再快,总快不过纯文本的HTML吧.

5.有没有继续更新插件的想法.
很麻烦的东西,搞半天,别看是升级,有人说过,6.0代码改动太大,所以不会有下个版本了!
================================================================================
上面是一些废话.

HACK 特点
1.主题帖作者缩略头像会在 forumdisplay.php [帖子列表] 显示
2.缩略头像因为是采用GD库生成的头像,所以体积小,不影响网页加载
3.这样做会使你的页面很酷,对于提高论坛用户的积极性有一定的效果

演示论坛:   http://bbs.LiteQQ.cn

建议:
最好用 Editplus 编辑代码

下面开始正式修改!

安装中要修改或者增加的文件

/memcp.php

/forumdisplay.php  

/templates/default/forumdisplay.htm

/templates/default/css.htm [定义缩略头像样式]

/include/ImageCore.func.php [新增]

/img_s.php [新增,用于对以前上传的头像进行批量略缩,运行一次必须删除]


==========================修改方法========================================
分别在
/images/avatars/
/customavatars/
两个目录内各建一个 /s 目录,用来存放缩略文件,权限为 777

请先将附件下载并上传,且将文件权限改为777,附件内一共包括三个文件


1. /memcp.php
  1. require_once './include/common.inc.php';
复制代码
后面添加
  1. //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
  2. require DISCUZ_ROOT.'./include/ImageCore.func.php';
  3. //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
复制代码
找到
  1.                                 $avatar = 'customavatars/'.$discuz_uid.'.'.$avatarext;
  2.                                 $avatartarget = DISCUZ_ROOT.'./'.$avatar;
  3.                                 if(!@copy($_FILES['customavatar']['tmp_name'], $avatartarget)) {
  4.                                         @move_uploaded_file($_FILES['customavatar']['tmp_name'], $avatartarget);
  5.                                 }
复制代码
后面加
  1.                                 //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
  2.                                 if(file_exists($avatartarget)) {
  3.                                         $avatarx = 'customavatars/s/'.$discuz_uid.'.'.$avatarext;
  4.                                         @copy ($avatar,$avatarx);                                       
  5.                                         @vxResize($avatarx,$avatarx);}
  6.                                 //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
复制代码
找到
  1.                                 $avatarimagesize = @getimagesize($urlavatar);
  2.                                 $avatar = $urlavatar;
  3.                         }
复制代码
修改为
  1.                         //////////$avatarimagesize = @getimagesize($urlavatar);
  2.                         //////////$avatar = $urlavatar;
  3.                         //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 tension
  4.                         if(!preg_match("/^(images\/avatars\/.+?)$/i", $urlavatar)) {
  5.                                 $avatarimagesize = @getimagesize($urlavatar);
  6.                                 $avatar = $urlavatar;
  7.                         }else{
  8.                                 $avatar=$systemavatar;
  9.                                 $avatarx = (str_replace("images/avatars/", "images/avatars/s/",$systemavatar));
  10.                                 @copy ($avatar,$avatarx);
  11.                                 @vxResize($avatarx,$avatarx);
  12.                         }
  13.                         //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 tension
  14.                         }
复制代码
2. /forumdisplay.php
找到下面的代码,共有三处
  1. query("SELECT t.* FROM {$tablepre}threads t
复制代码
全部替换为
  1. query("SELECT t.*, mf.avatar FROM {$tablepre}threads t
  2.         LEFT JOIN {$tablepre}memberfields mf ON(mf.uid = t.authorid)
复制代码
找到
  1.         $thread['lastposterenc'] = rawurlencode($thread['lastposter']);
复制代码
下面加
  1. //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
  2.         if(preg_match("/^(customavatars\/.+?)$/i", $thread['avatar'])) {
  3.                         $thread['avatarx'] = str_replace("customavatars/", "customavatars/s/", $thread['avatar']);
  4.         }elseif (preg_match("/^(images\/avatars\/.+?)$/i",$thread['avatar'])) {
  5.                         $thread['avatarx'] = str_replace("images/avatars/", "images/avatars/s/", $thread['avatar']);
  6.         } else {
  7.                         $thread['avatarx'] = 'images/avatars/s/noavatar.gif';
  8.                 }
  9. //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
复制代码
找到
  1.         } else {
  2.                 $thread['highlight'] = '';
  3.         }
复制代码
下面加
  1.         //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
  2.         if(!$thread['avatar']){
  3.           $thread['avatarx'] = 'images/avatars/s/noavatar.gif';
  4.         }
  5.         //////////主题列表后显示作者略缩头像HACK For Discuz!6.0 LiteQQ.cn
复制代码
3. /templates/default/forumdisplay.htm
找到
  1.                                         <td class="author">
  2.                                                 <cite><a href="space.php?action=viewpro&uid=$announcement[authorid]">$announcement[author]</a></cite>
  3.                                                 <em>$announcement[starttime]</em>
  4.                                         </td>
复制代码
修改为
  1.                                         <td class="author">
  2.                                         <div style="float:left"><img src="images/avatars/s/noavatar.gif" width="24" height="24" class="avatarx" /></div>
  3.                                                 <cite><a href="space.php?action=viewpro&uid=$announcement[authorid]">$announcement[author]</a></cite>
  4.                                                 <em>$announcement[starttime]</em>
  5.                                         </td>
复制代码
找到
  1. <td class="author">
复制代码
后面添加
  1.                                         <!--主题列表后显示作者略缩头像HACK For Discuz!6.0 by LiteQQ.cn-->
  2.                                         <!--{if $thread['authorid'] && $thread['author']}-->  
  3.                                         <div style="float:left"><img src="$thread[avatarx]" onerror="src='images/avatars/s/noavatar.gif'" width="24" height="24" class="avatarx" /></div>      
  4.                     <!--{else}-->
  5.                     <div style="float:left"><img src="customavatars/s/noavatar.gif"  width="24" height="24" class="avatarx" /></div>
  6.                     <!--{/if}-->
  7.                                         <!--主题列表后显示作者略缩头像HACK For Discuz!6.0 by LiteQQ.cn-->
复制代码
4. /templates/default/css.htm 最后面加上
  1. .avatarx {        border:1px solid #AEAEAE; padding:0px;        margin: 5px 5px 5px 0; background-color:#F6FBFF; vertical-align:middle; }
复制代码
确定修改完毕后 在浏览器里输入 http://youbbs.com/bbs/img_s.php  如果头像数量过多,请等待。
最后记得,一定要删除 img_s.php


请不要PM我,我不会为此插件做任何后续工作!

BS看帖子不回的!

[ 本帖最后由 LITEQQ.CN 于 2007-11-1 16:04 编辑 ]

upload.rar

2.08 KB, 下载次数: 689

回复

使用道具 举报

wul8 发表于 2007-11-1 04:23:07 | 显示全部楼层
沙发。
回复

使用道具 举报

leshow 发表于 2007-11-1 04:44:42 | 显示全部楼层
看上去不错,用的就是非常中国的模板
回复

使用道具 举报

wul8 发表于 2007-11-1 04:49:19 | 显示全部楼层
- -#
不行`
回复

使用道具 举报

wul8 发表于 2007-11-1 05:23:52 | 显示全部楼层
成功调试完成。
但不是完全用你的方法。
你的那种打不开版块
回复

使用道具 举报

wlqc 发表于 2007-11-1 06:24:05 | 显示全部楼层
支持一下楼主!~
回复

使用道具 举报

cnzol 发表于 2007-11-1 09:27:19 | 显示全部楼层
每次都要生成过的吗
回复

使用道具 举报

sky-z 发表于 2007-11-1 09:32:23 | 显示全部楼层
不错的说.
回复

使用道具 举报

 楼主| LITEQQ.CN 发表于 2007-11-1 09:50:22 | 显示全部楼层
刚才忘记加了一句话
回复

使用道具 举报

bz5480058 发表于 2007-11-1 11:38:50 | 显示全部楼层
可以用哈。。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-8 06:40 , Processed in 0.118768 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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