public static void CompareOldAndNewModerator(string oldmoderators, string newmoderators, int currentfid) { if (oldmoderators == null || String.IsNullOrEmpty(oldmoderators)) { return; } string[] array = oldmoderators.Split(','); for (int i = 0; i < array.Length; i++) { string name = array[i]; if (name != "" && ("," + newmoderators + ",").IndexOf("," + name + ",") < 0) { var user = User.FindByName(name); if (user != null) { int uid = user.ID; int adminid = user.AdminID; //DataTable uidInModeratorsByUid = BBX.Data.Moderators.GetUidInModeratorsByUid(currentfid, uid); //if (uidInModeratorsByUid.Rows.Count == 0 && adminid != 1) if (adminid != 1 && Moderator.FindByUidAndFid(uid, currentfid) == null) { var ug = CreditsFacade.GetCreditsUserGroupId((float)user.Credits); //BBX.Data.Users.UpdateUserOnlineInfo(ug.ID, uid); //BBX.Data.Users.UpdateUserOtherInfo(ug.ID, uid); user.AdminID = 0; user.GroupID = ug.ID; user.Save(); var online = Online.FindByUserID(user.ID); if (online != null) { online.AdminID = 0; online.GroupID = ug.ID; online.Save(); } } } } } }
protected override void OnLoad(EventArgs e) { LoadTemplate(); base.OnLoad(e); if (this.pagename != "forumlist.aspx" && this.pagename != "forumindex.aspx") { this.oluserinfo = Online.UpdateInfo(); } else { try { this.oluserinfo = Online.UpdateInfo(); } catch { Thread.Sleep(2000); this.oluserinfo = Online.UpdateInfo(); } } if (this.config.PostTimeStorageMedia == 1 && Utils.GetCookie("lastposttime") != "") { var lptime = DateTime.MinValue; if (DateTime.TryParse(Utils.GetCookie("lastposttime"), out lptime)) { this.oluserinfo.LastPostTime = lptime; } } if (userid > 0) { if (oluserinfo == null) { XTrace.WriteLine("发现Cookie记录ID={0}已登录,但是未检测到登录对象", userid); } else if (userid != oluserinfo.UserID) { XTrace.WriteLine("发现Cookie记录ID={0}已登录,实际登录对象ID={1}", userid, oluserinfo.UserID); } } this.userid = this.oluserinfo.UserID; this.usergroupid = (int)this.oluserinfo.GroupID; this.username = this.oluserinfo.UserName; this.password = this.oluserinfo.Password; //2014-1-20 增加判断password是否为null,初次使用时使用QQ登陆,密码会为空 this.userkey = password != null ? (this.password.Length > 16) ? this.password.Substring(4, 8).Trim() : "" : ""; this.lastposttime = this.oluserinfo.LastPostTime; this.lastpostpmtime = this.oluserinfo.LastPostpmTime; this.lastsearchtime = this.oluserinfo.LastSearchTime; this.olid = this.oluserinfo.ID; //this.isopenconnect = DiscuzCloud.GetCloudServiceEnableStatus("connect"); if (this.userid > 0) { this.useravatar = Avatars.GetAvatarUrl(this.userid, AvatarSize.Small); } this.pmsound = ForumUtils.GetCookie("pmsound").ToInt(0); if (this.usergroupid == 4 || this.usergroupid == 5) { var user = BBX.Entity.User.FindByID(this.userid); //var user2 = user as IUser; if (user.GroupExpiry != 0 && user.GroupExpiry <= DateTime.Now.ToString("yyyyMMdd").ToInt(0)) { var creditsUserGroupId = CreditsFacade.GetCreditsUserGroupId((float)user.Credits); this.usergroupid = ((creditsUserGroupId.ID != 0) ? creditsUserGroupId.ID : this.usergroupid); //Users.UpdateUserGroup(this.userid, this.usergroupid); user.GroupID = usergroupid; user.Save(); } } this.usergroupinfo = UserGroup.FindByID(this.usergroupid); this.useradminid = this.usergroupinfo.RadminID; string userCreditsCookie = ForumUtils.GetUserCreditsCookie(this.userid, this.usergroupinfo.GroupTitle); if (userCreditsCookie != "") { string[] array = userCreditsCookie.Split(','); this.userinfotips = "<p><a class=\"drop\" onmouseover=\"showMenu(this.id);\" href=\"" + BaseConfigs.GetForumPath + "usercpcreditspay.aspx\" id=\"extcreditmenu\">" + array[0] + "</a> "; string text = this.userinfotips; this.userinfotips = text + "<span class=\"pipe\">|</span>用户组: <a class=\"xi2\" id=\"g_upmine\" href=\"" + BaseConfigs.GetForumPath + "usercp.aspx\">" + array[1].Split(':')[1] + "</a></p>"; this.userinfotips += "<ul id=\"extcreditmenu_menu\" class=\"p_pop\" style=\"display:none;\">"; for (int i = 2; i < array.Length; i++) { this.userinfotips += string.Format("<li><a> {0}</a></li>", array[i]); } this.userinfotips += "</ul>"; } this.mainnavigation = Nav.GetNavigationString(this.userid, this.useradminid); this.subnavigation = Nav.GetSubNavigation(); this.mainnavigationhassub = Nav.Root.Childs.GetItem <Int32>(Nav._.ID).ToArray(); if (this.config.Closed == 1 && this.pagename != "login.aspx" && this.pagename != "logout.aspx" && this.pagename != "register.aspx" && this.useradminid != 1) { this.ShowMessage(1); return; } if (!Utils.InArray(this.pagename, "attachment.aspx")) { //this.onlineusercount = Online.Meta.Count; var st = Online.GetStat(); this.onlineusercount = st.Total; } if (!this.ValidateUserPermission()) { return; } if (this.userid != -1 && !Utils.InArray(this.pagename, "attachment.aspx")) { Online.UpdateOnlineTime(this.config.Oltimespan, this.userid); } var tmp = Template.FindByID(this.templateid); this.templatepath = tmp.Directory; if (!String.IsNullOrEmpty(tmp.Url) && tmp.Url.StartsWithIgnoreCase("http://")) { imagedir = tmp.Url.TrimEnd('/') + "/images"; cssdir = tmp.Url.TrimEnd('/'); } else { imagedir = forumpath + "templates/" + tmp.Directory + "/images"; cssdir = forumpath + "templates/" + tmp.Directory; } if (!config.ImageServer.IsNullOrEmpty()) { imagedir = config.ImageServer.TrimEnd("/") + imagedir; } if (!config.CssServer.IsNullOrEmpty()) { cssdir = config.CssServer.TrimEnd("/") + cssdir; } this.topicidentifydir = this.forumpath + "images/identify"; this.posticondir = this.forumpath + "images/posticons"; this.jsdir = "javascript"; if (!config.JsServer.IsNullOrEmpty()) { jsdir = config.JsServer.EnsureEnd("/") + jsdir; } else { jsdir = this.rooturl + jsdir; } //this.nowdatetime = Utils.GetDateTime(); //this.ispost = DNTRequest.IsPost(); //this.isget = DNTRequest.IsGet(); //this.link = ""; //this.script = ""; this.templatelistboxoptions = Caches.GetTemplateListBoxOptionsCache(); string oldValue = string.Format("<li><a href=\"###\" onclick=\"window.location.href='{0}showtemplate.aspx?templateid={1}'\">", "", BaseConfigs.GetForumPath, this.templateid); string newValue = string.Format("<li class=\"current\"><a href=\"###\" onclick=\"window.location.href='{0}showtemplate.aspx?templateid={1}'\">", BaseConfigs.GetForumPath, this.templateid); this.templatelistboxoptions = this.templatelistboxoptions.Replace(oldValue, newValue); this.isLoginCode = this.config.Seccodestatus.Contains("login.aspx"); this.isseccode = (Utils.InArray(this.pagename, this.config.Seccodestatus) && this.usergroupinfo.IgnoresecCode == 0); this.headerad = Advertisement.GetOneHeaderAd("", 0); this.footerad = Advertisement.GetOneFooterAd("", 0); if (this.config.Allowchangewidth == 0) { Utils.WriteCookie("allowchangewidth", ""); } if (this.pagename != "website.aspx" && (Utils.GetCookie("allowchangewidth") == "0" || (string.IsNullOrEmpty(Utils.GetCookie("allowchangewidth")) && this.config.Showwidthmode == 1))) { this.isnarrowpage = true; } if (this.isseccode && this.ispost && !this.ValidateVerifyCode()) { return; } this.newtopicminute = this.config.Viewnewtopicminute; CanShow = true; this.ShowPage(); }