第1498天:uch2.0 默认头像不使用 onerror 读取的方法,北软健身(27)

星期二 上午阴,下午小雨转暴雨 22~29℃

uch2.0 默认头像不使用 onerror 读取的方法

用 onerror 读取默认头像显示比较慢。修改如下。

处理头像的函数在 function_common.php

function avatar($uid, $size=’small’, $returnsrc = FALSE) {
 global $_SCONFIG, $_SN;
 $size = in_array($size, array(‘big’, ‘middle’, ‘small’)) ? $size : ‘small’;
 $avatarfile = avatar_file($uid, $size);
 return $returnsrc ? UC_API.’/data/avatar/’.$avatarfile : ‘<img src="’.UC_API.’/data/avatar/’.$avatarfile.’" onerror="this.onerror=null;this.src=\”.UC_API.’/images/noavatar_’.$size.’.jpg\’">’;
}

改为(三元写法比较费眼,改用 if…else…):

function avatar($uid, $size=’small’, $returnsrc = FALSE) {
 global $_SCONFIG, $_SN;
 $size = in_array($size, array(‘big’, ‘middle’, ‘small’)) ? $size : ‘small’;
 $avatarfile = avatar_file($uid, $size);
 if ($returnsrc) {
  return ‘<img src="’.UC_API.’/data/avatar/’.$avatarfile.’" />’;
 } else {
  return ‘<img src="’.UC_API.’/images/noavatar_’.$size.’.jpg" />’;
 }
}

在模板里获取头像时,默认模板是这样写:

<!–{avatar($value[uid], small)}–>

改为(所有模板调用头像的地方都要改,否则只会加载默认头像):

<!–{avatar($value[uid], small, $value[avatar])}–>

增加一个 $value[avatar],调用的是 uh_space 表里的 avatar 字段。即给 avatar() 函数的 $returnsrc 参数赋值。

这里其实有个权衡的问题:

  • 使用 onerror:请求头像图片超时的时候才去调用默认头像(默认头像显示会比较慢),且如果网络很不通畅,即使头像图片存在,也可能触发 onerror.
  • 使用 $value[avatar]:需要去 uh_space 表读取 avatar 字段。

北软健身(27)

周日做一阵仰卧起坐后,这两天腹部都有反应。既然开始了,那就要保持,今天去健身房,做 30 个俯卧撑,两组仰卧起坐(板的角度调得太大,大约有 45 度,一组只做了十几个),再做一会蝴蝶机。

因为要控制时间,就没跑步了。每周最多只能有一天花一个小时以上去健身,多了就没太多时间做友吧了。


友吧今天

蔚蓝城又设计了两个 logo 方案。

三戒发现“最近登录”头像显示错误(修改 avatar() 函数的原因,已修复)。

蔚蓝城发现两个问题:

  • 有一些会员主页无法访问(space_index.php 误删了一些代码,已修复)。
  • 装备和教练评论时提示“出问题了,您要查看的信息不存在或者已经被删除”( form 的 action 忘记加 type 了,已修复)。

其他处理:

  • 评论后,广场动态里的链接错误(未加 type,已修复)。
  • 处理“头像设置”页面。

RSS

上一篇:

下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注