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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] UCHOME一个很重要的bug,可以解决论坛上提到两个问题

[复制链接]
robinw 发表于 2009-4-3 12:22:08 | 显示全部楼层 |阅读模式
问题:
1.部分站点论坛可以发邮件,而UCHOME设置与论坛完全相同却无法发送邮件。
2.设置个性问题和答案后,明明回答是正确的,但是程序显示不正确。
何时发生:
以上问题只有当“邮件的发送认证的密码”和“个性问题的答案”为以0开始的全部为数字时会出现,如:“邮件的发送认证的密码”为"012345",“个性问题的答案”为区号 "0852"。
原因:
UCHOME的缓存程序将“邮件的发送认证的密码”和“个性问题的答案”的字符串当作数字处理。因此“邮件的发送认证的密码”会变成12345,“个性问题的答案”为区号 852。
解决方法:
修改程序./source/function_cache.php中的函数arrayeval。
增加了红色部分
//数组转换成字串
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $i++) {
  $space .= "\t";
}
$evaluate = "Array\n$space(\n";
$comma = $space;
foreach($array as $key => $val) {
  $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key;
  $val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12) || is_string($val) ? '\''.addcslashes($val, '\'\\').'\'' : $val;
  if(is_array($val)) {
   $evaluate .= "$comma$key => ".arrayeval($val, $level + 1);
  } else {
   $evaluate .= "$comma$key => $val";
  }
  $comma = ",\n$space";
}
$evaluate .= "\n$space)";
return $evaluate;
}

评分

1

查看全部评分

hudielan 发表于 2009-4-3 13:32:03 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

hedengfu 发表于 2009-4-16 15:34:13 | 显示全部楼层
这个帖子好,帮顶一下
回复

使用道具 举报

lzxfox 发表于 2009-4-16 22:52:24 | 显示全部楼层
原来如此,谢谢楼主
回复

使用道具 举报

云过无烟 发表于 2009-4-22 11:07:43 | 显示全部楼层
占位支持!
回复

使用道具 举报

Jetlin_Yuan 发表于 2009-4-25 18:29:40 | 显示全部楼层
做个记号,真的会就来改!!!谢谢!!!!!!
回复

使用道具 举报

shazima 发表于 2009-5-20 00:15:58 | 显示全部楼层
楼主很强悍
回复

使用道具 举报

djfeizhu 发表于 2009-5-31 14:12:19 | 显示全部楼层
做个记录
回复

使用道具 举报

major297 发表于 2009-6-1 17:18:16 | 显示全部楼层
楼主你太牛了
我的密码是0开头你都知道!!!!!
回复

使用道具 举报

major297 发表于 2009-6-1 17:18:57 | 显示全部楼层
官方为何不修正?
难道这不算BUG?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 10:33 , Processed in 0.032130 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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