private void SaveUserInfo_Click(object sender, EventArgs e) { #region 保存用户信息 if (this.CheckCookie()) { int uid = DNTRequest.GetInt("uid", -1); string errorInfo = ""; if (!AllowEditUserInfo(uid, true)) { return; } if (userName.Text != ViewState["username"].ToString()) { if (AdminUsers.GetUserId(userName.Text) > 0) { base.RegisterStartupScript("", "<script>alert('您所输入的用户名已被使用过, 请输入其他的用户名!');</script>"); return; } } if (userName.Text == "") { base.RegisterStartupScript("", "<script>alert('用户名不能为空!');</script>"); return; } if (groupid.SelectedValue == "0") { base.RegisterStartupScript("", "<script>alert('您未选中任何用户组!');</script>"); return; } userInfo = AdminUsers.GetUserInfo(uid); userInfo.Username = userName.Text; userInfo.Nickname = nickname.Text; userInfo.Accessmasks = Convert.ToInt32(accessmasks.SelectedValue); //当用户组发生变化时则相应更新用户的管理组字段 if (userInfo.Groupid.ToString() != groupid.SelectedValue) { userInfo.Adminid = UserGroups.GetUserGroupInfo(int.Parse(groupid.SelectedValue)).Radminid; } //userInfo.Avatarshowid = 0; if ((bday.Text == "0000-00-00") || (bday.Text == "0000-0-0") | (bday.Text.Trim() == "")) { userInfo.Bday = ""; } else { if (!Utils.IsDateString(bday.Text.Trim())) { base.RegisterStartupScript("", "<script>alert('用户生日不是有效的日期型数据!');</script>"); return; } else { userInfo.Bday = bday.Text; } } if (!Users.ValidateEmail(email.Text, uid)) { base.RegisterStartupScript("", "<script>alert('当前用户的邮箱地址已被使用过, 请输入其他的邮箱!');</script>"); return; } userInfo.Email = email.Text; userInfo.Gender = Convert.ToInt32(gender.SelectedValue); //userInfo.Groupexpiry = Convert.ToInt32(groupexpiry.Text);后台操作为永久禁言和永久禁访 userInfo.Groupexpiry = 0; userInfo.Extgroupids = extgroupids.GetSelectString(","); if ((groupid.SelectedValue != "1") && (userInfo.Uid == BaseConfigs.GetFounderUid)) { base.RegisterStartupScript("", "<script>alert('创始人的所属用户组不能被修改为其它组!');window.location.href='global_edituser.aspx?uid=" + DNTRequest.GetString("uid") + "';</script>"); return; } userInfo.Groupid = Convert.ToInt32(groupid.SelectedValue); userInfo.Invisible = Convert.ToInt32(invisible.SelectedValue); userInfo.Joindate = joindate.Text; userInfo.Lastactivity = lastactivity.Text; userInfo.Lastip = lastip.Text; userInfo.Lastpost = lastpost.Text; userInfo.Lastvisit = lastvisit.Text; userInfo.Newpm = Convert.ToInt32(newpm.SelectedValue); userInfo.Newsletter = (ReceivePMSettingType)GetNewsLetter(); userInfo.Oltime = Convert.ToInt32(oltime.Text); userInfo.Pageviews = Convert.ToInt32(pageviews.Text); userInfo.Pmsound = Convert.ToInt32(pmsound.Text); userInfo.Posts = Convert.ToInt32(posts.Text); userInfo.Ppp = Convert.ToInt32(ppp.Text); userInfo.Regip = regip.Text; userInfo.Digestposts = Convert.ToInt32(digestposts.Text); if (secques.SelectedValue == "1") { userInfo.Secques = ""; //清空安全码 } userInfo.Showemail = Convert.ToInt32(showemail.SelectedValue); userInfo.Sigstatus = Convert.ToInt32(sigstatus.SelectedValue); userInfo.Templateid = Convert.ToInt32(templateid.SelectedValue); userInfo.Tpp = Convert.ToInt32(tpp.Text); if (Utils.IsNumeric(extcredits1.Text.Replace("-", ""))) { userInfo.Extcredits1 = float.Parse(extcredits1.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits2.Text.Replace("-", ""))) { userInfo.Extcredits2 = float.Parse(extcredits2.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits3.Text.Replace("-", ""))) { userInfo.Extcredits3 = float.Parse(extcredits3.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits4.Text.Replace("-", ""))) { userInfo.Extcredits4 = float.Parse(extcredits4.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits5.Text.Replace("-", ""))) { userInfo.Extcredits5 = float.Parse(extcredits5.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits6.Text.Replace("-", ""))) { userInfo.Extcredits6 = float.Parse(extcredits6.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits7.Text.Replace("-", ""))) { userInfo.Extcredits7 = float.Parse(extcredits7.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } if (Utils.IsNumeric(extcredits8.Text.Replace("-", ""))) { userInfo.Extcredits8 = float.Parse(extcredits8.Text); } else { base.RegisterStartupScript("", "<script>alert('用户扩展积分不能为空或大于7位 !');</script>"); return; } //根据公式计算用户的总积分,并更新 userInfo.Credits = CreditsFacade.GetUserCreditsByUserInfo(userInfo); //判断用户组是否为积分用户组。如果是的话,就用当前积分更新。 if (UserGroups.IsCreditUserGroup(userInfo.Groupid)) { userInfo.Groupid = CreditsFacade.GetCreditsUserGroupId(userInfo.Credits).Groupid; } //用户扩展信息 userInfo.Website = website.Text; userInfo.Icq = icq.Text; userInfo.Qq = qq.Text; userInfo.Yahoo = yahoo.Text; userInfo.Msn = msn.Text; userInfo.Skype = skype.Text; userInfo.Location = location.Text; userInfo.Customstatus = customstatus.Text; //userInfo.Avatar = avatar.Text; //userInfo.Avatarheight = Convert.ToInt32(avatarheight.Text); //userInfo.Avatarwidth = Convert.ToInt32(avatarwidth.Text); userInfo.Bio = bio.Text; if (signature.Text.Length > UserGroups.GetUserGroupInfo(userInfo.Groupid).Maxsigsize) { errorInfo = "更新的签名长度超过 " + UserGroups.GetUserGroupInfo(userInfo.Groupid).Maxsigsize + " 字符的限制,未能更新。"; } else { userInfo.Signature = signature.Text; //签名UBB转换HTML PostpramsInfo _postpramsinfo = new PostpramsInfo(); _postpramsinfo.Showimages = UserGroups.GetUserGroupInfo(userInfo.Groupid).Allowsigimgcode; _postpramsinfo.Sdetail = signature.Text; userInfo.Sightml = UBB.UBBToHTML(_postpramsinfo); } userInfo.Realname = realname.Text; userInfo.Idcard = idcard.Text; userInfo.Mobile = mobile.Text; userInfo.Phone = phone.Text; userInfo.Medals = DNTRequest.GetString("medalid"); if (IsEditUserName.Checked && userName.Text != ViewState["username"].ToString()) { AdminUsers.UserNameChange(userInfo, ViewState["username"].ToString()); //用户重命名同步 Discuz.Forum.Sync.RenameUser(userInfo.Uid, ViewState["username"].ToString(), userInfo.Username, ""); } if (AdminUsers.UpdateUserAllInfo(userInfo)) { OnlineUsers.DeleteUserByUid(userInfo.Uid); //移除该用户的在线信息,使之重建在线表信息 if (ViewState["Groupid"].ToString() != userInfo.Groupid.ToString()) { if (userInfo.Groupid == 4) { if (AlbumPluginProvider.GetInstance() != null) { AlbumPluginProvider.GetInstance().Ban(userInfo.Uid); } if (SpacePluginProvider.GetInstance() != null) { SpacePluginProvider.GetInstance().Ban(userInfo.Uid); } } else { if (AlbumPluginProvider.GetInstance() != null) { AlbumPluginProvider.GetInstance().UnBan(userInfo.Uid); } if (SpacePluginProvider.GetInstance() != null) { SpacePluginProvider.GetInstance().UnBan(userInfo.Uid); } } } //if (userName.Text != ViewState["username"].ToString()) //{ // AdminUsers.UserNameChange(userInfo, ViewState["username"].ToString()); //} //删除头像 if (delavart.Checked) { Avatars.DeleteAvatar(userInfo.Uid.ToString()); } AdminVistLogs.InsertLog(this.userid, this.username, this.usergroupid, this.grouptitle, this.ip, "后台编辑用户", "用户名:" + userName.Text); if (errorInfo == "") { base.RegisterStartupScript("PAGE", "window.location.href='global_usergrid.aspx?condition=" + DNTRequest.GetString("condition") + "';"); } else { base.RegisterStartupScript("PAGE", "alert('" + errorInfo + "');window.location.href='global_usergrid.aspx?condition=" + DNTRequest.GetString("condition") + "';"); } } else { base.RegisterStartupScript("", "<script>alert('操作失败');window.location.href='global_usergrid.aspx?condition=" + DNTRequest.GetString("condition") + "';</script>"); } } #endregion }