请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz! X 最新研发动态 通过这个窗口,关注跟踪我们的研发进展 Discuz! 开发技术文库 - 给官方提建议

Discuz! X2 正式版下载 帮助网站实现一站式服务  商业支持服务咨询 下载 - 安装 - 常见问题 - 转换 - 讨论 - 购买

2012站长年会开启报名 限量船票免费发放 Discuz!十大荣誉用户评选 - Discuz!NT3.6发布 漫游引入QQ空间游戏 -火影首服火爆开启-5d6d免费论坛

查看: 49802|回复: 191

主题显示略缩的作者头像 For Discuz 5.5 V1.0 [复制链接]

King

我想要个昵称

Rank: 6Rank: 6

UID
5118
积分
1681
帖子
1450
威望
9
在线时间
1 小时
注册时间
2002-12-2
发表于 2007-4-6 20:18:21 |显示全部楼层
2007-04-26

1.已经有朋友写出来了关于装评分后的冲突问题,请看
http://www.discuz.net/thread-601831-1-1.html

2.关于头像位置问题
主要就是CSS的修改, 看看别人网站改好的代码,就知道怎么下手了.
我这里没有写出来,一是因为我懒,二是懂得一些HTML和CSS对做网站很重要,算是我逼你们学点东西吧.

3.关于公告头像的问题
公告的头像调用可能在最新的版本里面会发布

4.关于生成缩略图大小的问题.
修改ImageCore.inc.php的参数,具体的方法我在 5.0版的里面就写了.其实Imagecore.inc.php里面的东西看一下就懂.

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

6.有没有继续更新插件的想法.
不要以为 1.0 后面就应该有 1.5 2.0
我忙,我还是个懒汉,而且我的PHP水平很菜.别等我动手写了,这个东西不难,自已动手DIY,你会做得比你自己想像的还要好.

7.为什么发给我的PM或QQ消息我都没回复.
因为我曾经回过好多次,重复做同样的事情,很让人为难.

================================================================================




写在发布前



主题显示略缩的作者头像 For  Discuz 5.5  只是修改了 For DZ5.0 的几行代码。
如果您发现这些代码有不足之处,还请提点。
如果您愿意自己动手,也许能做得更好。

参考网站 http://www.v2ex.com  http://www.sunschina.com

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


演示论坛:   http://www.52guixi.com/bbs/

一些建议:
1.您最好能有一款好一点的文本编辑器,记事本看代码人很容易晕[我用的是Editplus]
2.您最好能安装本地调试环境,这比上传一次再刷新方便多了[我以前用微米天空的套件,现在用的是WAMPS,两个都不错]
3.如果您想更好的使用Discuz, 我建意您去下载三本CHM手册 分别是 HTML手册  CSS手册 和 PHP手册 , 如果有必要 MYSQL 手册也去下载一本.



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

/bbs/memcp.php

/bbs/forumdisplay.php  

/bbs/templates/default/forumdisplay.htm

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

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

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


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



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

upload.rar (3.53 KB, 下载次数: 1330)

ImageCore.func.php --->bbs/include/ImageCore.func.php
img_s.php ----->bbs/  
noavatar.gif----->bbs/images/avatars/s/noavatar.gif

然后再按下面的方法修改




1. 打开 /bbs/memcp.php
  1. require_once './include/common.inc.php';
复制代码

后面添加
  1. require DISCUZ_ROOT.'./include/ImageCore.func.php';
复制代码


找到
  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. if(file_exists($avatartarget)) {
  2.                         $avatarx = 'customavatars/s/'.$discuz_uid.'.'.$avatarext;
  3.                         @copy ($avatar,$avatarx);                                       
  4.                         @vxResize($avatarx,$avatarx);}
复制代码


找到
  1. if(preg_match("/^(images\/avatars\/.+?)|(customavatars\/.+?)$/i", $urlavatar) || (ini_get('allow_url_fopen') && (substr(PHP_OS, 0, 3) != 'WIN' || PHP_VERSION >= 5))){
  2.                                 $avatarimagesize = @getimagesize($urlavatar);
  3.                         }
  4.                         $avatar = $urlavatar;
复制代码


后面添加
  1. $avatarx = 'images/avatars/s/noavatar.gif';
复制代码


找到
  1. } elseif(($allowavatar == 1 || $allowavatar == 2 || $allowavatar == 3) && $urlavatar) {
  2.                         if(!preg_match("/^(images\/avatars\/.+?)$/i", $urlavatar)) {
  3.                                 showmessage('profile_avatar_invalid');
  4.                         }
  5.                         $avatarimagesize = @getimagesize($urlavatar);
  6.                         $avatar = $urlavatar;
复制代码


后面添加
  1. $avatarx = (str_replace("images/avatars/", "images/avatars/s/", $urlavatarr));
  2.                         @copy ($avatar,$avatarx);
  3.             @vxResize($avatarx,$avatarx);
复制代码




2.找开/bbs/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.         if(preg_match("/^(customavatars\/.+?)$/i", $thread['avatar'])) {
  2.                         $thread['avatarx'] = str_replace("customavatars/", "customavatars/s/", $thread['avatar']);
  3.                 }elseif (preg_match("/^(images\/avatars\/.+?)$/i",$thread['avatar'])) {
  4.                 $thread['avatarx'] = str_replace("images/avatars/", "images/avatars/s/", $thread['avatar']);
  5.         } else { $thread['avatarx'] = 'images/avatars/s/noavatar.gif';}
复制代码



找到
  1.         } else {
  2.                 $thread['highlight'] = '';
  3.         }
复制代码


下面添加
  1. if(!$thread['avatar']){
  2.          $thread['avatarx'] = 'images/avatars/s/noavatar.gif';
  3.         }
复制代码



3. 打开 /bbs/templates/default/forumdisplay.htm

找到
  1. </td><td class="f_author">
复制代码


后面添加
  1. <!--{if $thread['authorid'] && $thread['author']}-->  
  2.                 <div class="avatarx" style="width:22;height=22"><img src="$thread['avatarx']" onerror="src='images/avatars/s/noavatar.gif'"  width="16" height="16" /></div>
  3.                                 <!--{else}-->
  4.                                         <div class="avatarx" style="width:22;height=22"><img src="images/avatars/s/noavatar.gif"  width="16" height="16" /></div>                 <!--{/if}-->
复制代码



4 在的 /bbs/templates/default/css.htm 最后面加上

在最后面加上
  1. .avatarx {
  2. border: 1px solid #ccc;
  3. background-color: :#fff;
  4. padding: 2px;
  5. float:left;}
复制代码


确定修改完毕后 在浏览器里输入 http://youbbs.com/bbs/img_s.php  如果头像数量过多,请等待。
最后记得,一定要删除 img_s.php

[ 本帖最后由 freeher 于 2007-4-26 20:46 编辑 ]
已有 6 人评分威望 金币 收起 理由
bvtc + 1 www.3gnp.com 已经有演示
ljm146 + 2 我很赞同
yanyouzhi + 1 屡教不改

总评分: 威望 + 6  金币 + 4   查看全部评分

乱码问题,可加QQ35645368讨论

成功升至discuz 5.0RC2
我爱贵溪
  
博客小熊

Rank: 3Rank: 3

UID
273803
积分
362
帖子
267
威望
0
在线时间
1 小时
注册时间
2005-11-15
发表于 2007-4-6 20:29:40 |显示全部楼层
沙发支持!!!!
哈哈,第一次抢到沙发~!

[ 本帖最后由 yhy8064 于 2007-4-7 07:41 编辑 ]
聚点论坛
http://www.ygjd.net

使用道具 举报

Genius

Administrator

Rank: 12Rank: 12Rank: 12

UID
486920
积分
13842
帖子
7820
威望
560
在线时间
0 小时
注册时间
2006-11-11
发表于 2007-4-6 20:31:20 |显示全部楼层
好消息!联想活动:送KC免费电话100分钟话费!&copy;Xuexiao.Sh.Cn

使用道具 举报

Genius

Administrator

Rank: 12Rank: 12Rank: 12

UID
486920
积分
13842
帖子
7820
威望
560
在线时间
0 小时
注册时间
2006-11-11
发表于 2007-4-6 20:31:41 |显示全部楼层

使用道具 举报

Genius

Administrator

Rank: 12Rank: 12Rank: 12

UID
486920
积分
13842
帖子
7820
威望
560
在线时间
0 小时
注册时间
2006-11-11
发表于 2007-4-6 20:31:59 |显示全部楼层
前排
好消息!联想活动:送KC免费电话100分钟话费!&copy;Xuexiao.Sh.Cn

使用道具 举报

Rank: 6Rank: 6

UID
206675
积分
1248
帖子
1552
威望
0
在线时间
0 小时
注册时间
2005-6-5
发表于 2007-4-6 20:53:22 |显示全部楼层
以前DZ5.0版本的那个插件会出现

当帖子评为精华或加分后...上下主题的作者头像对不准确的情况

强烈希望解决这问题

建议作者头像最靠右边..这样就避免了主题之间作者头像对不齐的情况了


楼主说说...........
www.china-tkd.cn我的论坛--爱国--热血--抗日--保钓--跆拳道

使用道具 举报

Rank: 2

UID
267237
积分
179
帖子
207
威望
0
在线时间
2 小时
注册时间
2005-10-30
发表于 2007-4-6 21:03:26 |显示全部楼层
这个准不错,谢谢分享!

使用道具 举报

King

我想要个昵称

Rank: 6Rank: 6

UID
5118
积分
1681
帖子
1450
威望
9
在线时间
1 小时
注册时间
2002-12-2
发表于 2007-4-6 21:18:36 |显示全部楼层
原帖由 拒买日本货 于 2007-4-6 20:53 发表
以前DZ5.0版本的那个插件会出现

当帖子评为精华或加分后...上下主题的作者头像对不准确的情况

强烈希望解决这问题

建议作者头像最靠右边..这样就避免了主题之间作者头像对不齐的情况了


...


CSS 的东西我正在重写

我以前自己写的CSS并不会出现你所说的情况

这次会顺带把CSS一起放出来
已有 1 人评分金币 收起 理由
ljm146 + 2 屡教不改

总评分: 金币 + 2   查看全部评分

乱码问题,可加QQ35645368讨论

成功升至discuz 5.0RC2
我爱贵溪
  
博客小熊

使用道具 举报

Rank: 6Rank: 6

UID
345367
积分
1266
帖子
1211
威望
12
在线时间
11 小时
注册时间
2006-4-12
发表于 2007-4-6 21:29:30 |显示全部楼层
已经用上,谢谢分享。



演示http://city.student163.com/forumdisplay.php?fid=3

[ 本帖最后由 cn256 于 2007-4-6 21:56 编辑 ]

使用道具 举报

Forum Legend

海豹特种作战部队

Rank: 8Rank: 8

UID
3104
积分
3300
帖子
2623
威望
56
在线时间
173 小时
注册时间
2002-10-14
发表于 2007-4-6 21:44:47 |显示全部楼层
请问这些缩略头像系统会自动生成还是需要我们每次都要运行那个文件进行生成?

非常感谢。
好好学习,天天向上

使用道具 举报

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

fastpost

手机版|Archiver|北京康盛新创科技有限责任公司 ( 京ICP证110024号|京网文[2011]0019-007号 )  

GMT+8, 2012-2-9 12:29 , Processed in 0.162327 second(s), 17 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部