LifeType 中文開發論壇

測試 => LifeType 1.1 測試 => 主題作者是: Tbreeze 於 八月 23, 2006, 03:02:34 下午



主題: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: Tbreeze八月 23, 2006, 03:02:34 下午
LifeType 1.1-beta 2中检验第一步创建用户里的电子邮件是否正确的文件是哪个啊,居然不支持纯数字域名的电子邮件,比如:@163.com、@263.com 等 所以我得改改,请问匹配的文件是哪个,我找了n久都没找到


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: wangyu1314八月 23, 2006, 10:32:04 下午
最好在后台将这个功能关闭,否则连gmail都不认识。关闭后何用邮箱验证激活blog的方法进行管理。


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: Tbreeze八月 24, 2006, 08:10:19 上午
最好在后台将这个功能关闭,否则连gmail都不认识。关闭后何用邮箱验证激活blog的方法进行管理。

你误解了,我说的是注册的时候检验电子邮件格式的合法性跟你说的用户注册后使用电子邮件进行认证激活是两回事


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: wangyu1314八月 24, 2006, 03:24:33 下午
对,你说的那个问题我也发现了,连126.com等等国内邮箱都说是格式不对,必须修改。


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: Tbreeze八月 29, 2006, 09:24:05 上午
怎么没有人知道吗,知道的请告知一下,这个文件在哪里


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: markwu八月 29, 2006, 11:03:58 下午
這是 bug,你可以把 /class/data/validate/rules/emailformatrule.class.php 換成 1.0 的,應該可以運作。

新的 validattion rule 是用 pear::validate,看來是有 bug 的。

Mark


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: markwu八月 29, 2006, 11:23:50 下午
另外,你也可以試試把 /class/data/validate/rules/emailformatrule.class.php 36-44 行換成:

程式碼:
	        $regex = '&^(?:                                               # recipient:
         ("\s*(?:[^"\f\n\r\t\v\b\s]+\s*)+")|                          #1 quoted name
         ([-\w!\#\$%\&\'*+~/^`|{}]+(?:\.[-\w!\#\$%\&\'*+~/^`|{}]+)*)) #2 OR dot-atom
         @(((\[)?                     #3 domain, 4 as IPv4, 5 optionally bracketed
         (?:(?:(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))\.){3}
               (?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))))(?(5)\])|
         ((?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)*[a-z0-9](?:[-a-z0-9]*[a-z0-9])?)  #6 domain as hostname
         \.((?:([^-])[-a-z]*[-a-z])?)) #7 ICANN domain names
         $&xi';

這是我剛剛修復的,應該可以用。已經 commit 到 3920 中了。

Mark

Mark


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: wangyu1314八月 30, 2006, 10:31:51 上午
另外,你也可以試試把 /class/data/validate/rules/emailformatrule.class.php 36-44 行換成:

程式碼:
	        $regex = '&^(?:                                               # recipient:
         ("\s*(?:[^"\f\n\r\t\v\b\s]+\s*)+")|                          #1 quoted name
         ([-\w!\#\$%\&\'*+~/^`|{}]+(?:\.[-\w!\#\$%\&\'*+~/^`|{}]+)*)) #2 OR dot-atom
         @(((\[)?                     #3 domain, 4 as IPv4, 5 optionally bracketed
         (?:(?:(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))\.){3}
               (?:(?:25[0-5])|(?:2[0-4][0-9])|(?:[0-1]?[0-9]?[0-9]))))(?(5)\])|
         ((?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)*[a-z0-9](?:[-a-z0-9]*[a-z0-9])?)  #6 domain as hostname
         \.((?:([^-])[-a-z]*[-a-z])?)) #7 ICANN domain names
         $&xi';

這是我剛剛修復的,應該可以用。已經 commit 到 3920 中了。

Mark

Mark

谢谢你,能用了,非常非常感谢。


主題: Re: 检验lt注册的第一步创建用户里的电子邮件的文件是哪个
作者: Tbreeze八月 30, 2006, 04:25:46 下午
收到 谢谢Mark