www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/hack/toolcenter/require/changename.php

    <?php
!function_exists('readover') && exit('Forbidden');

/****

@name:更改用户名道具
@type:会员类
@effect:可更改自已在论坛的用户名

****/

if($tooldb['type']!=2){
	Showmsg('tooluse_type_error');  // 判断道具类型是否设置错误
}
if(!$_POST['step']){
	require_once PrintHack('index');footer();
} else{
	include_once(D_P."data/bbscache/dbreg.php");
	if (isset($rg_namelen)) {
		list($rg_regminname,$rg_regmaxname) = explode("\t",$rg_namelen);
	} else {
		$rg_regminname = 3;
		$rg_regmaxname = 12;
	}
	InitGP(array('pwuser'),'P',1);
	!$pwuser && Showmsg('username_empty');
	if(strlen($pwuser)>$rg_regmaxname || strlen($pwuser)<$rg_regminname){
		Showmsg('reg_username_limit');
	}
	$S_key=array('&',' ',"'",'"','/','*',',','<','>',"\r","\t","\n",'#');
	foreach($S_key as $value){
		if (strpos($pwuser,$value)!==false){
			Showmsg('illegal_username');
		}
	}
	if(!$rg_rglower){
		for($asc=65;$asc<=90;$asc++){
			if(strpos($pwuser,chr($asc))!==false){
				Showmsg('username_limit');
			}
		}
	}
	$pwuser=='guest' && Showmsg('illegal_username');
	$rg_banname=explode(',',$rg_banname);
	foreach($rg_banname as $value){
		if(strpos($pwuser,$value)!==false){
			Showmsg('illegal_username');
		}
	}
	if($pwuser!==Sql_cv($pwuser)){
		Showmsg('illegal_username');
	}
	$rt = $db->get_one("SELECT uid FROM pw_members WHERE username='$pwuser'");
	if($rt['uid']){
		Showmsg('username_same');
	}
	$db->update("UPDATE pw_members SET username='$pwuser' WHERE uid='$winduid'");
	$db->update("UPDATE pw_threads SET author='$pwuser' WHERE authorid='$winduid'");
	$ptable_a=array('pw_posts');
	if($db_plist){
		$p_list=explode(',',$db_plist);
		foreach($p_list as $val){
			$ptable_a[]='pw_posts'.(int)$val;
		}
	}
	foreach($ptable_a as $val){
		$db->update("UPDATE $val SET author='$pwuser' WHERE authorid='$winduid'");
	}
	$db->update("UPDATE pw_cmembers SET username='$pwuser' WHERE uid='$winduid'");
	$db->update("UPDATE pw_argument SET author='$pwuser' WHERE authorid='$winduid'");
	$db->update("UPDATE pw_colonys SET admin='$pwuser' WHERE admin='$windid'");
	$db->update("UPDATE pw_announce SET author='$pwuser' WHERE author='$windid'");

	$query = $db->query("SELECT fid,forumadmin,fupadmin FROM pw_forums WHERE forumadmin LIKE '%,".addslashes($windid).",%' OR fupadmin LIKE '%,".addslashes($windid).",%'");
	while($rt = $db->fetch_array($query)){
		$rt['forumadmin']	= str_replace(",$windid,",",$pwuser,",$rt['forumadmin']);
		$rt['fupadmin']		= str_replace(",$windid,",",$pwuser,",$rt['fupadmin']);
		$db->update("UPDATE pw_forums SET forumadmin='".addslashes($rt['forumadmin'])."',fupadmin='".addslashes($rt['fupadmin'])."' WHERE fid='$rt[fid]'");
	}

	$db->update("UPDATE pw_usertool SET nums=nums-1 WHERE uid='$winduid' AND toolid='$toolid'");
	$logdata=array(
		'type'		=>	'use',
		'nums'		=>	'',
		'money'		=>	'',
		'descrip'	=>	'tool_8_descrip',
		'uid'		=>	$winduid,
		'username'	=>	$windid,
		'ip'		=>	$onlineip,
		'time'		=>	$timestamp,
		'toolname'	=>	$tooldb['name'],
		'newname'	=>	$pwuser,
		'tid'		=>	$tid,
	);
	writetoollog($logdata);
	Showmsg('toolmsg_8_success');
}
?>