Please upgrade here. These earlier versions are no longer being updated and have security issues.

[Simplified Chinese Locale Addon] 中文用户名解决方案

This discussion is related to the Simplified Chinese Locale(简体中文) addon.
andelfandelf New
edited February 2011 in Vanilla 2.0 - 2.3
12月27日更新

中文用户名profile访问出错

必须要保证 /profile/用户名 可以访问到用户资料。这个在 @mentions 以及个人资料页面跳转中用到。
// applications/dashboard/models/class.usermodel.php:130:
$User = $this->SQL->Where('u.Name', urldecode($Username))->Get()->FirstRow();

中文用户名支持

functions.validation.php:L123
中 ValidateUsername 函数, 正则改为:
'/^([\d\w_\x80-\xff]{3,20})?$/si'

@mentions 的中文用户名支持

functions.generl.php 中 GetMention 函数
这个函数在发帖提交后调用。
正则改为
'/(?:^|[\s,\.])@([\S]{1,20})(?=[\s,\.!?]|$)/i' , 个人觉得不需要做用户名过滤。

同时需要识别 @中文 的 Format.
library/core/class.format.php 文件中 Menions() 函数
第一个正则改为 '/(^|[\s,\.])@([\S]{1,20})(?=[\s,\.!?]|$)/i',

同时该函数里还用来处理 #topic 中文下该功能bug很多。目前使用 #话题# 的解决方法,
第二个改为 '/(^|[\s,\.])\#([\S]{1,30}?)#/i' 只能保证正常跳转,搜索依然不可用。等待下次更新。
Tagged:
«1

Comments

«1
Sign In or Register to comment.