本帖最后由 o5786486 于 2009-10-31 20:36 编辑
之前有许多人提出来的头像补丁大多都有问题
不是显示不出来 就是一直显示默认头像
我看了一下2.0的头像获取方式 是直接取得ucenter头像的文件
而1.5是使用ucenter中的avatar.php来调用
发现用1.5版的若没有头像自动会转向默认头像
因此本补丁采用1.5版的头像获取方式
-----------------------------------------------------------
农场
找到newfarmjson.php-
- function unicode_encodebig5( $name )
- {
- $name = iconv( "big5", "UCS-2", $name );
- $len = strlen( $name );
- $str = "";
- $i = 0;
- for ( ; $i < $len - 1; $i += 2 )
- {
- $c = $name[$i];
- $c2 = $name[$i + 1];
- if ( 0 < ord( $c ) )
- {
- $c2 = base_convert( ord( $c2 ), 10, 16 );
- if ( strlen( $c2 ) == 1 )
- {
- $c2 = "0".$c2;
- }
- $str .= "\\u".base_convert( ord( $c ), 10, 16 ).$c2;
- }
- else
- {
- $str .= $c2;
- }
- }
- return $str;
- }
复制代码 在下面添加-
- function avatarfarm($uid, $size='small') {
- global $_SCONFIG;
- $type = empty($_SCONFIG['avatarreal'])?'virtual':'real';
- if(empty($_SCONFIG['uc_dir'])) {
- return UC_API.'/avatar.php?uid='.$uid.'&size='.$size.'&type='.(empty($_SCONFIG['avatarreal'])?'virtual':'real');
- } else {
- if(ckavatar($uid)) {
- return UC_API.'/data/avatar/'.avatarfile($uid, $size, $type);
- } else {
- return UC_API."/images/noavatar_$size.gif";
- }
- }
- }
复制代码 接着找出所有有使用avatar函数的代码
这里举例:
找到- avatar( $_SGLOBAL[supe_uid], "small", TRUE )
复制代码 在"avatar"的后面加上"farm"
即- avatarfarm( $_SGLOBAL[supe_uid], "small", TRUE )
复制代码 改完后再继续搜索
应该会有两个
另一个是- avatar($value[uid], 'small', true)
复制代码 依照上述方法改为- avatarfarm($value[uid], 'small', true)
复制代码 注意:修改完后可能要按一下好友列表旁的刷新按钮才能看到效果
-----------------------------------------------------------
牧场
找到newmc.php- function unicode_encodebig5( $name )
- {
- $name = iconv( "big5", "UCS-2", $name );
- $len = strlen( $name );
- $str = "";
- $i = 0;
- for ( ; $i < $len - 1; $i += 2 )
- {
- $c = $name[$i];
- $c2 = $name[$i + 1];
- if ( 0 < ord( $c ) )
- {
- $c2 = base_convert( ord( $c2 ), 10, 16 );
- if ( strlen( $c2 ) == 1 )
- {
- $c2 = "0".$c2;
- }
- $str .= "\\u".base_convert( ord( $c ), 10, 16 ).$c2;
- }
- else
- {
- $str .= $c2;
- }
- }
- return $str;
- }
复制代码 在下面添加- function avatarmc($uid, $size='small') {
- global $_SCONFIG;
- $type = empty($_SCONFIG['avatarreal'])?'virtual':'real';
- if(empty($_SCONFIG['uc_dir'])) {
- return UC_API.'/avatar.php?uid='.$uid.'&size='.$size.'&type='.(empty($_SCONFIG['avatarreal'])?'virtual':'real');
- } else {
- if(ckavatar($uid)) {
- return UC_API.'/data/avatar/'.avatarfile($uid, $size, $type);
- } else {
- return UC_API."/images/noavatar_$size.gif";
- }
- }
- }
复制代码 接着找出所有有使用avatar函数的代码共有三处
找到- avatar( $_SGLOBAL[supe_uid], "small", TRUE )
复制代码 在"avatar"的后面加上"mc"
即- avatarmc( $_SGLOBAL[supe_uid], "small", TRUE )
复制代码 (估计这种的有两处 另一个可能用搜索会搜索不到 建议您找"$_SGLOBAL[supe_uid],"来试试看)
改完后再继续搜索- avatar($value[uid], 'small', true)
复制代码 改为- avatarmc($value[uid], 'small', true)
复制代码 估计共一处
修改完后可能要按一下好友列表旁的刷新按钮才能看到效果
若有漏掉的请回帖举报一下
还有使用MFYOYO版本的朋友们看二楼 |