discuzuc.php改名,Discuz!X2 用户改名程序

Discuz!X2 修改用户名小工具,可以安全的修改论坛和UCENTER中的关联信息。

在网上找了一些插件,发现没有对UCENTER数据库做检查,也没有对新的用户名做检查,容易产生错误。

[php]

require './source/class/class_core.php';

require './source/function/function_forum.php';

$discuz = & discuz_core::instance();

$discuz->init();

//加载UCENTER支持

loaducenter();

$olduserid = '';

$oldusername = '76135';

$newusername = '果子狸';

DB::query("SET NAMES utf8;");

if(empty($olduserid) || !is_numeric($olduserid))

{

$user = DB::fetch_first("SELECT uid FROM ".UC_DBTABLEPRE."members WHERE username = '{$oldusername}'");

$olduserid = $user['uid'];

empty($olduserid) && exit('没有找到旧用户');

}

if(empty($newusername) || !is_numeric($olduserid))

{

echo '请指定用户的UID或者用户名';

exit;

}

$check = uc_user_checkname($newusername);

$error_info = array(

'-1' => '新用户名不合法',

'-2' => '新用户名包含要不允许注册的词语',

'-3' => '新用户名已经存在',

);

$check !== 1 && exit($error_info[$check]);

//修改UCENTER中的记录

DB::query("UPDATE ".UC_DBTABLEPRE."members SET `username`='{$newusername}' WHERE `uid`='{$olduserid}'");

//修改论坛数据表中的所有记录

$tables = array(

'common_block' => array('id' => 'uid', 'name' => 'username'),

'common_invite' => array('id' => 'fuid', 'name' => 'fusername'),

'common_member' => array('id' => 'uid', 'name' => 'username'),

'common_member_security' => array('id' => 'uid', 'name' => 'username'),

'common_mytask' => array('id' => 'uid', 'name' => 'username'),

'common_report' => array('id' => 'uid', 'name' => 'username'),

'forum_thread' => array('id' => 'authorid', 'name' => 'author'),

'forum_post' => array('id' => 'authorid', 'name' => 'author'),

'forum_activityapply' => array('id' => 'uid', 'name' => 'username'),

'forum_groupuser' => array('id' => 'uid', 'name' => 'username'),

'forum_pollvoter' => array('id' => 'uid', 'name' => 'username'),

'forum_postcomment' => array('id' => 'authorid', 'name' => 'author'),

'forum_ratelog' => array('id' => 'uid', 'name' => 'username'),

'home_album' => array('id' => 'uid', 'name' => 'username'),

'home_blog' => array('id' => 'uid', 'name' => 'username'),

'home_clickuser' => array('id' => 'uid', 'name' => 'username'),

'home_docomment' => array('id' => 'uid', 'name' => 'username'),

'home_doing' => array('id' => 'uid', 'name' => 'username'),

'home_feed' => array('id' => 'uid', 'name' => 'username'),

'home_feed_app' => array('id' => 'uid', 'name' => 'username'),

'home_friend' => array('id' => 'fuid', 'name' => 'fusername'),

'home_friend_request' => array('id' => 'fuid', 'name' => 'fusername'),

'home_notification' => array('id' => 'authorid', 'name' => 'author'),

'home_pic' => array('id' => 'uid', 'name' => 'username'),

'home_poke' => array('id' => 'fromuid', 'name' => 'fromusername'),

'home_share' => array('id' => 'uid', 'name' => 'username'),

'home_show' => array('id' => 'uid', 'name' => 'username'),

'home_specialuser' => array('id' => 'uid', 'name' => 'username'),

'home_visitor' => array('id' => 'vuid', 'name' => 'vusername'),

'portal_article_title' => array('id' => 'uid', 'name' => 'username'),

'portal_comment' => array('id' => 'uid', 'name' => 'username'),

'portal_topic' => array('id' => 'uid', 'name' => 'username'),

'portal_topic_pic' => array('id' => 'uid', 'name' => 'username'),

);

foreach($tables as $table => $conf) {

DB::query("UPDATE ".DB::table($table)." SET `$conf[name]`='{$newusername}' WHERE `$conf[id]`='{$olduserid}'");

}

echo '处理完成';

exit;

?>

[/php]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值