建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 网站地图 | 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:建站技术网 > cms教程 > 帝国cms教程

帝国cms整合discuz论坛,修改ucenter用户名长度限制的方法

时间:2019-05-12 11:13:01  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次

大家使用帝国cms开发时经常会遇到需要整合discuz论坛的状况,有时会需要增加注册用户名的长度,来实现更个性化的设置,例如8个中文汉字,帝国cms后台可以轻松设置,对于discuz就无能为力了。下面cms大学小编记录一下修改各处的方法,供大家参考。

一、首先是/e/client/model/user.php文件,此处问整合的api文件,查找check_username($username)函数,将内容修改为如下:

折叠PHP 代码
  1. function check_username($username) {  
  2.                 //$guestexp = '/xA1/xA1|/xAC/xA3|^Guest|^/xD3/xCE/xBF/xCD|/xB9/x43/xAB/xC8';  
  3.                 //$len = strlen($username);  
  4.                 //if($len > 15 || $len < 3 || preg_match("//s+|^c://con//con|[%,/*/"/s/</>/&]|$guestexp/is", $username)) {  
  5.                 //        return FALSE;  
  6.                 //} else {  
  7.                         return TRUE;  
  8.                 //}   
  9. }  

二、接下来是论坛部分的修改

添加用户函数,修改source/class/class_member.php,定位578行,把

折叠PHP 代码
  1. elseif($usernamelen > 15) {  

修改为(不一定要改为32,你需要多少位都可以,下同):

折叠PHP 代码
  1. elseif($usernamelen > 32) {  

AJAX验证,修改source/module/forum/forum_ajax.php,定位22行,把

折叠PHP 代码
  1. elseif($usernamelen > 15) {  

修改为:

折叠PHP 代码
  1. elseif($usernamelen > 32) {    
 

前端js验证,修改static/js/register.js,定位281、282行,把

折叠PHP 代码
  1. if(unlen < 3 || unlen > 15) {  
  2.   
  3.                 errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');  

修改为:

折叠PHP 代码
  1. if(unlen < 3 || unlen > 32) {  
  2.                 errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 32 个字符');  

 

Ucenter中的用户名过滤,修改uc_client/model/user.php uc_server/model/user.php,同样定位到44行,把

折叠PHP 代码
  1. if($len > 15 || $len < 3 || preg_match("//s+|^c://con//con|[%,/*/"/s/</>/&]|$guestexp/is"$username)) {  

修改为:

折叠PHP 代码
  1. if($len > 32 || $len < 3 || preg_match("//s+|^c://con//con|[%,/*/"/s/</>/&]|$guestexp/is"$username)) {  

接着修改模板注册页面表单的长度的限制,修改template/default/member/register.htm,定位到125行,把

折叠PHP 代码
  1. <td><input type="text" id="{$this->setting['reginput']['username']}" name="" class="px" tabindex="1" autocomplete="off" size="25" maxlength="15" required /></td>  

修改为:

折叠PHP 代码
  1. 'profile_username_toolong' => '抱歉,您的用户名超过 32 个字符,请输入一个较短的用户名',  

接着修改语言包,修改source/language/member/lang_template.php,定位到52行,把

折叠PHP 代码
  1. 'register_username_tips' => '用户名由 3 到 15 个字符组成',  

修改为

折叠PHP 代码
  1. 'register_username_tips' => '用户名由 3 到 32 个字符组成',  

最后是修改数据库的用户名长度限制,因为字段属性为 char(15),varchar(15),char(20)等等,我们统一修改它为 varchar(32),当然改成100也是可以的,复制和运行以下SQL语句即可:

折叠SQL 代码
  1. ALTER TABLE `pre_common_adminnote` modify column `admin`  varchar(32);  
  2. ALTER TABLE `pre_common_banned` modify column `admin`  varchar(32);  
  3. ALTER TABLE `pre_common_diy_data` modify column `username`  varchar(32);  
  4. ALTER TABLE `pre_common_grouppm` modify column `author`  varchar(32);  
  5. ALTER TABLE `pre_common_member` modify column `username`  varchar(32);  
  6. ALTER TABLE `pre_common_member_crime` modify column `operator`  varchar(32);  
  7. ALTER TABLE `pre_common_member_validate` modify column `admin`  varchar(32);  
  8. ALTER TABLE `pre_common_mytask` modify column `username`  varchar(32);  
  9. ALTER TABLE `pre_common_report` modify column `username`  varchar(32),modify column `opname`  varchar(32);  
  10. ALTER TABLE `pre_common_session` modify column `username`  varchar(32);  
  11. ALTER TABLE `pre_common_word` modify column `admin`  varchar(32);  
  12. ALTER TABLE `pre_common_card_log` modify column `username`  varchar(32);  
  13. ALTER TABLE `pre_common_failedlogin` modify column `username`  varchar(32);  
  14. ALTER TABLE `pre_common_invite` modify column `fusername`  varchar(32);  
  15. ALTER TABLE `pre_common_member_verify_info` modify column `username`  varchar(32);  
  16. ALTER TABLE `pre_forum_announcement` modify column `author`  varchar(32);  
  17. ALTER TABLE `pre_forum_collection` modify column `username`  varchar(32),modify column `lastposter`  varchar(32);  
  18. ALTER TABLE `pre_forum_collectioncomment` modify column `username`  varchar(32);  
  19. ALTER TABLE `pre_forum_collectionfollow` modify column `username`  varchar(32);  
  20. ALTER TABLE `pre_forum_collectionteamworker` modify column `username`  varchar(32);  
  21. ALTER TABLE `pre_forum_creditslog` modify column `fromto`  varchar(32);  
  22. ALTER TABLE `pre_forum_forumrecommend` modify column `author`  varchar(32);  
  23. ALTER TABLE `pre_forum_groupuser` modify column `username`  varchar(32);  
  24. ALTER TABLE `pre_forum_order` modify column `admin`  varchar(32);  
  25. ALTER TABLE `pre_forum_pollvoter` modify column `username`  varchar(32);  
  26. ALTER TABLE `pre_forum_post` modify column `author`  varchar(32);  
  27. ALTER TABLE `pre_forum_postcomment` modify column `author`  varchar(32);  
  28. ALTER TABLE `pre_forum_promotion` modify column `username`  varchar(32);  
  29. ALTER TABLE `pre_forum_ratelog` modify column `username`  varchar(32);  
  30. ALTER TABLE `pre_forum_rsscache` modify column `author`  varchar(32);  
  31. ALTER TABLE `pre_forum_thread` modify column `author`  varchar(32),modify column `lastposter`  varchar(32);  
  32. ALTER TABLE `pre_forum_threadmod` modify column `username`  varchar(32);  
  33. ALTER TABLE `pre_forum_trade` modify column `seller`  varchar(32),modify column `lastbuyer`  varchar(32);  
  34. ALTER TABLE `pre_forum_tradecomment` modify column `rater`  varchar(32),modify column `ratee`  varchar(32);  
  35. ALTER TABLE `pre_forum_tradelog` modify column `seller`  varchar(32),modify column `buyer`  varchar(32);  
  36. ALTER TABLE `pre_forum_warning` modify column `operator`  varchar(32),modify column `author`  varchar(32);  
  37. ALTER TABLE `pre_home_album` modify column `username`  varchar(32);  
  38. ALTER TABLE `pre_home_blog` modify column `username`  varchar(32);  
  39. ALTER TABLE `pre_home_clickuser` modify column `username`  varchar(32);  
  40. ALTER TABLE `pre_home_comment` modify column `author`  varchar(32);  
  41. ALTER TABLE `pre_home_docomment` modify column `username`  varchar(32);  
  42. ALTER TABLE `pre_home_doing` modify column `username`  varchar(32);  
  43. ALTER TABLE `pre_home_feed` modify column `username`  varchar(32);  
  44. ALTER TABLE `pre_home_feed_app` modify column `username`  varchar(32);  
  45. ALTER TABLE `pre_home_follow` modify column `username`  varchar(32),modify column `fusername`  varchar(32);  
  46. ALTER TABLE `pre_home_follow_feed` modify column `username`  varchar(32);  
  47. ALTER TABLE `pre_home_follow_feed_archiver` modify column `username`  varchar(32);  
  48. ALTER TABLE `pre_home_friend` modify column `fusername`  varchar(32);  
  49. ALTER TABLE `pre_home_friend_request` modify column `fusername`  varchar(32);  
  50. ALTER TABLE `pre_home_notification` modify column `author`  varchar(32);  
  51. ALTER TABLE `pre_home_pic` modify column `username`  varchar(32);  
  52. ALTER TABLE `pre_home_poke` modify column `fromusername`  varchar(32);  
  53. ALTER TABLE `pre_home_share` modify column `username`  varchar(32);  
  54. ALTER TABLE `pre_home_show` modify column `username`  varchar(32);  
  55. ALTER TABLE `pre_home_specialuser` modify column `username`  varchar(32),modify column `opusername`  varchar(32);  
  56. ALTER TABLE `pre_home_visitor` modify column `vusername`  varchar(32);  
  57. ALTER TABLE `pre_portal_rsscache` modify column `author`  varchar(32);  
  58. ALTER TABLE `pre_portal_topic_pic` modify column `username`  varchar(32);  
  59. ALTER TABLE `pre_ucenter_admins` modify column `username`  varchar(32);  
  60. ALTER TABLE `pre_ucenter_badwords` modify column `admin`  varchar(32);  
  61. ALTER TABLE `pre_ucenter_feeds` modify column `username`  varchar(32);  
  62. ALTER TABLE `pre_ucenter_members` modify column `username`  varchar(32);  
  63. ALTER TABLE `pre_ucenter_mergemembers` modify column `username`  varchar(32);  
  64. ALTER TABLE `pre_ucenter_protectedmembers` modify column `username`  varchar(32),modify column `admin`  varchar(32);  

注:如果其他论坛插件有设计用户名的字段,也需要相应修改字符数限制。

至此全部修改完成。

标签:
文章标题:帝国cms整合discuz论坛,修改ucenter用户名长度限制的方法
文章网址:http://www.jzjsw.com/cmsJiaocheng/diguocms/11430.html
上一篇:帝国cms多终端方案,js通过替换子域名的方式访问手机版本网站
下一篇:帝国cms制作的模板中百度地图联系方式及经纬度信息的修改
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门