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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[展示] Discuz!X2 用户改名程序(只提供代码和功能)

[复制链接]
youthliuhao 发表于 2012-5-10 15:44:57 | 显示全部楼层 |阅读模式
插件发布
插件名称: Discuz!X2 用户改名程序
插件来源: 转载他人插件
适用版本: Discuz! X2
语言编码: GBK简体 UTF8简体 BIG5繁体 UTF8繁体 
最后更新时间: 2012-05-10
插件作者: 尘缘
插件简介: Discuz!X2 修改用户名小工具,可以安全的修改论坛和UCENTER中的关联信息。
在网上找了一些插件,发现没有对UCENTER数据库做检查,也没有对新的用户名做检查,容易产生错误。
本帖最后由 youthliuhao 于 2013-3-6 08:34 编辑

Discuz!X2 修改用户名小工具,可以安全的修改论坛和UCENTER中的关联信息。
在网上找了一些插件,发现没有对UCENTER数据库做检查,也没有对新的用户名做检查,容易产生错误。


<pre><?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;

以上是全部的代码!!

请支持下我的网站哈:成都雄起网 成都论坛  成都公益  成都吃喝玩乐论坛  成都摄影论坛   成都婚庆论坛  成都足球论坛  成都交友论坛   成都招聘  成都租房

温馨阁 发表于 2012-5-21 21:43:20 | 显示全部楼层
给力啊。喜欢。希望出个完整的可以让大家用下。
回复

使用道具 举报

 楼主| youthliuhao 发表于 2012-5-21 21:47:11 | 显示全部楼层
都发出来咯!!!!
回复

使用道具 举报

49445 发表于 2013-2-25 09:25:19 | 显示全部楼层
可以了吗?
回复

使用道具 举报

Bacysoft.cn 发表于 2013-8-20 11:45:25 | 显示全部楼层
这东东实际用处不大,不过作为练手学习,还不错的!
回复

使用道具 举报

Oiger 发表于 2013-8-21 15:07:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 19:37 , Processed in 0.101003 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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