コード例 #1
0
        public void CheckVeriCode(LoginInfo info)
        {
            ShortUserInfo item = new ShortUserInfo();

            if (Session["userinfo"] == null)
            {
                var resuser = GetUserLoginInfo.Do();
                if (resuser != null && resuser.Body != null)
                {
                    item = resuser.Body;
                    Session["userinfo"] = item;
                }
            }
            else
            {
                item = (ShortUserInfo)Session["userinfo"];
            }
            if (item == null)
            {
                item = new ShortUserInfo();
            }
            if (info.MobileNo == null || info.LastLogionIp == null || info.LastLogionTime == null || !info.MobileNo.Equals(item.mobile_no) || !info.LastLogionTime.Equals(item.last_login_time))
            {
                Logger.Error("我也不知道发生什么了。。。");
                System.Web.HttpContext.Current.Response.Redirect(this._config.UrlManager);//未登录
                System.Web.HttpContext.Current.Response.End();
            }
        }
コード例 #2
0
        public fronttop()
        {
            if (userid == -1)
            {
                return;
            }

            //已登录
            ShortUserInfo _user = Users.GetShortUserInfo(userid);

            username = _user.Username;
            spaceid  = _user.Spaceid;
            if (_user.Password.Length > 16)
            {
                userkey = _user.Password.Substring(4, 8).Trim();
            }

            configspaceurl = config.Spaceurl;

            if (configspaceurl.ToLower().IndexOf("http://") < 0)
            {
                configspaceurl = forumurlnopage + configspaceurl;
            }

            configalbumurl = config.Albumurl;
            if (configalbumurl.ToLower().IndexOf("http://") < 0)
            {
                configalbumurl = forumurlnopage + configalbumurl;
            }
        }
コード例 #3
0
        /// <summary>
        /// 创建邀请码信息
        /// </summary>
        /// <param name="userInfo">创建用户信息</param>
        /// <returns></returns>
        public static int CreateInviteCode(ShortUserInfo userInfo)
        {
            InvitationConfigInfo configInfo = InvitationConfigs.GetConfig();
            InviteCodeInfo       inviteCode = new InviteCodeInfo();

            inviteCode.CreatorId = userInfo.Uid;
            inviteCode.Creator   = userInfo.Username;

            inviteCode.Code = BuildInviteCode();
            while (IsInviteCodeExist(inviteCode.Code))//生成的邀请码code是否存在于数据库中
            {
                inviteCode.Code = BuildInviteCode();
            }

            inviteCode.CreateTime = Utils.GetDateTime();
            inviteCode.InviteType = GeneralConfigs.GetConfig().Regstatus;
            inviteCode.ExpireTime = Utils.GetDateTime(configInfo.InviteCodeExpireTime);
            if (inviteCode.InviteType == 3)
            {
                inviteCode.MaxCount = configInfo.InviteCodeMaxCount > 1 ? configInfo.InviteCodeMaxCount : 1;
            }
            else
            {
                inviteCode.MaxCount = configInfo.InviteCodeMaxCount;
            }
            return(Data.Invitation.CreateInviteCode(inviteCode));
        }
コード例 #4
0
ファイル: forumlist.aspx.cs プロジェクト: object8421/ichari
        protected override void ShowPage()
        {
            pagetitle = "版块列表";

            if (config.Rssstatus == 1)
            {
                AddLinkRss("tools/rss.aspx", config.Forumtitle + "最新主题");
            }
            userinfo = new ShortUserInfo();
            if (userid != -1)
            {
                userinfo = Discuz.Forum.Users.GetShortUserInfo(userid);
                if (userinfo.Newpm == 0)
                {
                    base.newpmcount = 0;
                }
            }

            OnlineUsers.UpdateAction(olid, UserAction.IndexShow.ActionID, 0, config.Onlinetimeout);
            // 获得统计信息
            totalonline     = onlineusercount;
            totalonlineuser = OnlineUsers.GetOnlineUserCount();

            score = Scoresets.GetValidScoreName();
        }
コード例 #5
0
ファイル: Users.cs プロジェクト: xslonglianxia/DiscuzNT
        /// <summary>
        /// 检测DVBBS兼容模式的密码
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="password">密码</param>
        /// <param name="questionid">问题id</param>
        /// <param name="answer">答案</param>
        /// <returns>如果正确则返回用户id, 否则返回-1</returns>
        public static int CheckDvBbsPasswordAndSecques(string username, string password, int questionid, string answer)
        {
            ShortUserInfo userInfo = Discuz.Data.Users.GetShortUserInfoByName(username);
            int           uid      = -1;

            if (userInfo != null)
            {
                if (questionid != -1 && !Utils.StrIsNullOrEmpty(answer) &&
                    userInfo.Secques.Trim() != ForumUtils.GetUserSecques(questionid, answer))
                {
                    return(-1);
                }

                string pw = userInfo.Password.Trim();

                if (pw.Length > 16 && Utils.MD5(password) == pw)
                {
                    uid = userInfo.Uid;
                }
                else if (Utils.MD5(password).Substring(8, 16) == pw)
                {
                    uid = userInfo.Uid;
                    UpdateUserPassword(uid, password, true);
                }
            }
            return(uid);
        }
コード例 #6
0
        public ActionResult Create(PostInfo newPost)
        {
            if (!Request.IsAuthenticated && (newPost.Poster == null || newPost.Poster.Trim() == string.Empty))
            {
                ModelState.AddModelError("", "请填写昵称或登录帐号,然后再发表留言!");
                return(View(newPost));
            }

            if (newPost.Content == null || newPost.Content.Trim() == string.Empty)
            {
                ModelState.AddModelError("", "请填写留言内容!");
                return(View(newPost));
            }
            if (ModelState.IsValid)
            {
                newPost.Content = HttpUtility.HtmlEncode(newPost.Content).Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />");
                newPost.Poster  = Request.IsAuthenticated ? User.Identity.Name : newPost.Poster;
                ShortUserInfo posterInfo = Users.GetUserInfoByUsername(newPost.Poster);
                newPost.PosterId = posterInfo != null ? posterInfo.Uid : 0;
                newPost.Ip       = Request.UserHostAddress;
                newPost.PostDate = DateTime.Now;
                newPost.Email    = "";
                newPost.Website  = "";

                Posts.CreatePost(newPost);
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError("", "验证失败,请填写必填项!");
                return(View(newPost));
            }
        }
コード例 #7
0
        /// <summary>
        /// 根据积分公式更新用户积分,并且受分数变动影响有可能会更改用户所属的用户组
        /// <param name="uid">用户ID</param>
        /// </summary>
        public static int UpdateUserCredits(int uid)
        {
            ShortUserInfo userInfo = uid > 0 ? Users.GetShortUserInfo(uid) : null;

            if (userInfo != null)
            {
                Discuz.Data.UserCredits.UpdateUserCredits(uid);
                UserGroupInfo tmpUserGroupInfo = UserGroups.GetUserGroupInfo(userInfo.Groupid);

                if (tmpUserGroupInfo != null && (UserGroups.IsCreditUserGroup(tmpUserGroupInfo) || tmpUserGroupInfo.Groupid == 7))//当用户组为积分用户组或者组ID为游客(ID=7)
                {
                    tmpUserGroupInfo = GetCreditsUserGroupId(userInfo.Credits);
                    if (tmpUserGroupInfo.Groupid != userInfo.Groupid)//当用户所属组发生变化时
                    {
                        Discuz.Data.Users.UpdateUserGroup(userInfo.Uid.ToString(), tmpUserGroupInfo.Groupid);
                        Discuz.Data.OnlineUsers.UpdateGroupid(userInfo.Uid, tmpUserGroupInfo.Groupid);
                    }
                }
                //判断操作用户是否是当前用户,如果是则更新dntusertips的cookie
                HttpCookie cookie = HttpContext.Current.Request.Cookies["dnt"];
                if (cookie != null)
                {
                    if (cookie["userid"] == uid.ToString())
                    {
                        ForumUtils.WriteUserCreditsCookie(userInfo, tmpUserGroupInfo.Grouptitle);
                    }
                }
                return(1);
            }
            else
            {
                return(0);
            }
        }
コード例 #8
0
ファイル: Stats.cs プロジェクト: object8421/ichari
        public static ShortUserInfo[] GetUserOnlinetime(string field)
        {
            IDataReader reader = DatabaseProvider.GetInstance().GetUserByOnlineTime(field);

            if (reader == null)
            {
                return(new ShortUserInfo[0]);
            }
#if NET1
            ArrayList list = new ArrayList();
#else
            List <ShortUserInfo> list = new List <ShortUserInfo>();
#endif
            while (reader.Read())
            {
                ShortUserInfo u = new ShortUserInfo();
                u.Username = reader["username"].ToString();
                u.Uid      = Utils.StrToInt(reader["uid"], 0);
                u.Oltime   = Utils.StrToInt(reader[field], 0);
                u.Password = string.Empty;
                u.Secques  = string.Empty;
                u.Nickname = string.Empty;

                list.Add(u);
            }
            reader.Close();
#if NET1
            return((ShortUserInfo[])list.ToArray(typeof(ShortUserInfo)));
#else
            return(list.ToArray());
#endif
        }
コード例 #9
0
        public ActionResult LogOnByQQCallback(string oauth_token, string oauth_vericode)
        {
            if (oauth_token != null && oauth_vericode != null && Session["requesttokensecret"] != null)
            {
                var            requestTokenSecret = Session["requesttokensecret"].ToString();
                QzoneSDK.Qzone qzone    = new QzoneSDK.Qzone(key, secret, oauth_token, requestTokenSecret, oauth_vericode);
                ShortUserInfo  userinfo = Users.GetUserInfoByQqOpenid(qzone.OpenID);
                if (userinfo != null)
                {
                    FormsAuthentication.SetAuthCookie(userinfo.Username, true);
                    Response.Write("<script type=\"text/javascript\">window.opener.location.reload();window.close();</script>");
                    return(View());
                }

                var currentUser = qzone.GetCurrentUser();
                //Response.Write(currentUser);
                var user = (BasicProfile)JsonConvert.DeserializeObject(currentUser, typeof(BasicProfile));
                if (null != user)
                {
                    userinfo            = new ShortUserInfo();
                    userinfo.Username   = user.Nickname;
                    Session["qqopenid"] = qzone.OpenID;

                    //Response.Write("<br />" + user.Nickname + "<br />" + qzone.OpenID);
                    return(View(userinfo));
                }
            }
            return(RedirectToAction("LogOn", "Account"));
        }
コード例 #10
0
        public static int CreateInviteCode(ShortUserInfo userInfo)
        {
            InvitationConfigInfo config         = InvitationConfigInfo.Current;
            InviteCodeInfo       inviteCodeInfo = new InviteCodeInfo();

            inviteCodeInfo.CreatorId = userInfo.Uid;
            inviteCodeInfo.Creator   = userInfo.Username;
            inviteCodeInfo.Code      = Invitation.BuildInviteCode();
            while (Invitation.IsInviteCodeExist(inviteCodeInfo.Code))
            {
                inviteCodeInfo.Code = Invitation.BuildInviteCode();
            }
            inviteCodeInfo.CreateTime = Utils.GetDateTime();
            inviteCodeInfo.InviteType = GeneralConfigInfo.Current.Regstatus;
            inviteCodeInfo.ExpireTime = Utils.GetDateTime(config.InviteCodeExpireTime);
            if (inviteCodeInfo.InviteType == 3)
            {
                inviteCodeInfo.MaxCount = ((config.InviteCodeMaxCount > 1) ? config.InviteCodeMaxCount : 1);
            }
            else
            {
                inviteCodeInfo.MaxCount = config.InviteCodeMaxCount;
            }
            return(Discuz.Data.Invitation.CreateInviteCode(inviteCodeInfo));
        }
コード例 #11
0
        public ActionResult LogOn(ShortUserInfo shortUserInfo)
        {
            if (Request.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (shortUserInfo.Email != null && shortUserInfo.Password != null && shortUserInfo.Email.Trim() != string.Empty && shortUserInfo.Password != string.Empty)
            {
                ShortUserInfo loginedUserInfo = Users.CheckUserLogin(shortUserInfo.Email, shortUserInfo.Password);
                if (loginedUserInfo != null)
                {
                    FormsAuthentication.SetAuthCookie(loginedUserInfo.Username, true);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", "Email或密码错误!");
                    return(View(shortUserInfo));
                }
            }
            else
            {
                ModelState.AddModelError("", "Email和密码必须填写!");
                return(View());
            }
        }
コード例 #12
0
ファイル: PaymentLogs.cs プロジェクト: terryxym/DiscuzNT
        /// <summary>
        /// 购买主题
        /// </summary>
        /// <param name="uid">用户id</param>
        /// <param name="tid">主题id</param>
        /// <param name="posterid">发帖者用户id</param>
        /// <param name="price">价格</param>
        /// <param name="netamount"></param>
        /// <returns></returns>
        public static int BuyTopic(int uid, int tid, int posterid, int price, float netamount)
        {
            int tmpprice = price;

            if (price > Scoresets.GetMaxIncPerTopic())
            {
                tmpprice = Scoresets.GetMaxIncPerTopic();
            }

            ShortUserInfo userInfo = Discuz.Data.Users.GetShortUserInfo(uid);

            if (userInfo == null)
            {
                return(-2);
            }

            if (GetUserExtCredits(userInfo, Scoresets.GetTopicAttachCreditsTrans()) < price)
            {
                return(-1);
            }

            Discuz.Data.Users.BuyTopic(uid, tid, posterid, price, netamount, Scoresets.GetTopicAttachCreditsTrans());
            UserCredits.UpdateUserCredits(uid);
            UserCredits.UpdateUserCredits(posterid);
            return(Discuz.Data.PaymentLogs.CreatePaymentLog(uid, tid, posterid, price, netamount));
        }
コード例 #13
0
        public SpaceManageBasePage()
        {
            if (userid == -1)
            {
                Context.Response.Redirect("../../login.aspx");
                return;
            }

            //已登录
            ShortUserInfo _user = Users.GetShortUserInfo(userid);

            if (_user.Spaceid == 0) //用户还未开通个人空间
            {
                Context.Response.Write("<script type='text/javascript'>alert('您还未开通" + config.Spacename + "!');window.location='../../';</script>");
                Context.Response.End();
                return;
            }

            username = _user.Username;
            spaceid  = _user.Spaceid;
            if (_user.Password.Length > 16)
            {
                userkey = _user.Password.Substring(4, 8).Trim();
            }
            if (!Page.IsPostBack)
            {
                this.RegisterAdminPageClientScriptBlock();
            }
        }
コード例 #14
0
        public string GetFriendInfo()
        {
            GetFriendInfoParams actionParams = JavaScriptConvert.DeserializeObject <GetFriendInfoParams>(JsonParams);

            ShortUserInfo shortInfo = Forum.Users.GetShortUserInfo(actionParams.Uid);
            UserInfo      user      = new UserInfo();

            user.Uid      = shortInfo.Uid;
            user.UserName = shortInfo.Username;

            GetFriendInfoResponse gfiResponse = new GetFriendInfoResponse();

            gfiResponse.TotalNum = Forum.Friendship.GetUserFriendsCount(user.Uid);
            gfiResponse.Me       = user;

            List <FriendshipInfo> friendshipList = Friendship.GetUserFriendsList(user.Uid, 1, actionParams.ShowFriendsNum);
            List <Friend>         friendList     = new List <Friend>();

            foreach (FriendshipInfo info in friendshipList)
            {
                friendList.Add(new Friend(info.FriendUid, info.FriendUserName.Trim()));
            }

            gfiResponse.Friends = friendList;

            return(GetResult(gfiResponse));
        }
コード例 #15
0
        /// <summary>
        /// 根据用户信息重新计算用户积分
        /// </summary>
        /// <param name="shortUserInfo">用户信息</param>
        /// <returns>用户积分</returns>
        public static int GetUserCreditsByUserInfo(ShortUserInfo shortUserInfo)
        {
            string ArithmeticStr = Scoresets.GetScoreCalFormula();

            if (Utils.StrIsNullOrEmpty(ArithmeticStr))
            {
                return(0);
            }

            ArithmeticStr = ArithmeticStr.Replace("digestposts", shortUserInfo.Digestposts.ToString());
            ArithmeticStr = ArithmeticStr.Replace("posts", shortUserInfo.Posts.ToString());
            ArithmeticStr = ArithmeticStr.Replace("oltime", shortUserInfo.Oltime.ToString());
            ArithmeticStr = ArithmeticStr.Replace("pageviews", shortUserInfo.Pageviews.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits1", shortUserInfo.Extcredits1.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits2", shortUserInfo.Extcredits2.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits3", shortUserInfo.Extcredits3.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits4", shortUserInfo.Extcredits4.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits5", shortUserInfo.Extcredits5.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits6", shortUserInfo.Extcredits6.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits7", shortUserInfo.Extcredits7.ToString());
            ArithmeticStr = ArithmeticStr.Replace("extcredits8", shortUserInfo.Extcredits8.ToString());

            object expression = Arithmetic.ComputeExpression(ArithmeticStr);

            return(Utils.StrToInt(Math.Floor(Utils.StrToFloat(expression, 0)), 0));
        }
コード例 #16
0
ファイル: Users.cs プロジェクト: terryxym/DiscuzNT
        /// <summary>
        /// 检测密码
        /// </summary>
        /// <param name="uid">用户id</param>
        /// <param name="password">密码</param>
        /// <param name="originalpassword">是否非MD5密码</param>
        /// <returns>如果用户密码正确则返回uid, 否则返回-1</returns>
        public static ShortUserInfo CheckPassword(int uid, string password, bool originalpassword)
        {
            ShortUserInfo userInfo = null;
            if (appDBCache)
            {
                userInfo = IUserService.CheckPassword(uid, password, originalpassword);
                if (userInfo != null)
                    return userInfo;
            }

            IDataReader reader = DatabaseProvider.GetInstance().CheckPassword(uid, password, originalpassword);

            if (reader.Read())
            {
                userInfo = new ShortUserInfo();
                userInfo.Uid = Utils.StrToInt(reader[0].ToString(), -1);
                userInfo.Groupid = Utils.StrToInt(reader[1].ToString(), -1);
                userInfo.Adminid = Utils.StrToInt(reader[2].ToString(), -1);
            }
            reader.Close();

            if (appDBCache && userInfo != null && userInfo.Uid > 0)
                GetUserInfo(userInfo.Uid);

            return userInfo;
        }
コード例 #17
0
        /// <summary>
        /// 常规项验证
        /// </summary>
        /// <param name="admininfo"></param>
        /// <param name="postmessage"></param>
        private void NormalValidate(AdminGroupInfo admininfo, string postmessage, ShortUserInfo user)
        {
            if (ForumUtils.IsCrossSitePost())
            {
                AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。");
                return;
            }
            else if (posttitle.Length > 60)
            {
                AddErrLine("标题最大长度为60个字符,当前为 " + posttitle.Length + " 个字符");
            }

            if (Utils.StrIsNullOrEmpty(postmessage.Replace(" ", "")))
            {
                AddErrLine("内容不能为空");
            }

            if (admininfo != null && admininfo.Disablepostctrl != 1)
            {
                if (postmessage.Length < config.Minpostsize)
                {
                    AddErrLine("您发表的内容过少, 系统设置要求帖子内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字");
                }
                else if (postmessage.Length > config.Maxpostsize)
                {
                    AddErrLine("您发表的内容过多, 系统设置要求帖子内容不得少于 " + config.Minpostsize + " 字多于 " + config.Maxpostsize + " 字");
                }
            }

            if (topic.Special == 4 && DNTRequest.GetInt("debateopinion", 0) == 0)
            {
                AddErrLine("请选择您在辩论中的观点");
            }

            if (topic.Special == 4)
            {
                DebateInfo debateexpand = Debates.GetDebateTopic(topic.Tid);
                if (debateexpand.Terminaltime < DateTime.Now)
                {
                    AddErrLine("此辩论主题已经到期");
                }
            }

            //新用户广告强力屏蔽检查
            if ((config.Disablepostad == 1) && useradminid < 1)  //如果开启新用户广告强力屏蔽检查或是游客
            {
                if ((config.Disablepostadpostcount != 0 && user.Posts <= config.Disablepostadpostcount) ||
                    (config.Disablepostadregminute != 0 && DateTime.Now.AddMinutes(-config.Disablepostadregminute) <= Convert.ToDateTime(user.Joindate)))
                {
                    foreach (string regular in config.Disablepostadregular.Replace("\r", "").Split('\n'))
                    {
                        if (Posts.IsAD(regular, posttitle, postmessage))
                        {
                            AddErrLine("发帖失败,内容中有不符合新用户强力广告屏蔽规则的字符,请检查标题和内容,如有疑问请与管理员联系");
                        }
                    }
                }
            }
        }
コード例 #18
0
ファイル: Users.cs プロジェクト: terryxym/DiscuzNT
 public static ShortUserInfo LoadSingleShortUserInfo(IDataReader reader)
 {
     ShortUserInfo userInfo = null;
     if (reader.Read())
     {
         userInfo = new ShortUserInfo();
         userInfo.Uid = TypeConverter.ObjectToInt(reader["uid"]);
         userInfo.Username = reader["username"].ToString();
         userInfo.Nickname = reader["nickname"].ToString();
         userInfo.Password = reader["password"].ToString();
         userInfo.Spaceid = TypeConverter.ObjectToInt(reader["spaceid"]);
         userInfo.Secques = reader["secques"].ToString();
         userInfo.Gender = TypeConverter.ObjectToInt(reader["gender"]);
         userInfo.Adminid = TypeConverter.ObjectToInt(reader["adminid"]);
         userInfo.Groupid = TypeConverter.ObjectToInt(reader["groupid"]);
         userInfo.Groupexpiry = TypeConverter.ObjectToInt(reader["groupexpiry"]);
         userInfo.Extgroupids = reader["extgroupids"].ToString();
         userInfo.Regip = reader["regip"].ToString();
         userInfo.Joindate = reader["joindate"].ToString();
         userInfo.Lastip = reader["lastip"].ToString();
         userInfo.Lastvisit = reader["lastvisit"].ToString();
         userInfo.Lastactivity = reader["lastactivity"].ToString();
         userInfo.Lastpost = reader["lastpost"].ToString();
         userInfo.Lastpostid = TypeConverter.ObjectToInt(reader["lastpostid"]);
         userInfo.Lastposttitle = reader["lastposttitle"].ToString();
         userInfo.Posts = TypeConverter.ObjectToInt(reader["posts"]);
         userInfo.Digestposts = TypeConverter.StrToInt(reader["digestposts"].ToString());
         userInfo.Oltime = TypeConverter.ObjectToInt(reader["oltime"]);
         userInfo.Pageviews = TypeConverter.StrToInt(reader["pageviews"].ToString());
         userInfo.Credits = TypeConverter.ObjectToInt(reader["credits"]);
         userInfo.Extcredits1 = TypeConverter.StrToFloat(reader["extcredits1"].ToString());
         userInfo.Extcredits2 = TypeConverter.StrToFloat(reader["extcredits2"].ToString());
         userInfo.Extcredits3 = TypeConverter.StrToFloat(reader["extcredits3"].ToString());
         userInfo.Extcredits4 = TypeConverter.StrToFloat(reader["extcredits4"].ToString());
         userInfo.Extcredits5 = TypeConverter.StrToFloat(reader["extcredits5"].ToString());
         userInfo.Extcredits6 = TypeConverter.StrToFloat(reader["extcredits6"].ToString());
         userInfo.Extcredits7 = TypeConverter.StrToFloat(reader["extcredits7"].ToString());
         userInfo.Extcredits8 = TypeConverter.StrToFloat(reader["extcredits8"].ToString());
         userInfo.Email = reader["email"].ToString();
         userInfo.Bday = reader["bday"].ToString();
         userInfo.Sigstatus = TypeConverter.ObjectToInt(reader["sigstatus"]);
         userInfo.Tpp = TypeConverter.ObjectToInt(reader["tpp"]);
         userInfo.Ppp = TypeConverter.ObjectToInt(reader["ppp"]);
         userInfo.Templateid = TypeConverter.ObjectToInt(reader["templateid"]);
         userInfo.Pmsound = TypeConverter.ObjectToInt(reader["pmsound"]);
         userInfo.Showemail = TypeConverter.ObjectToInt(reader["showemail"]);
         userInfo.Newsletter = (ReceivePMSettingType)TypeConverter.ObjectToInt(reader["newsletter"]);
         userInfo.Invisible = TypeConverter.ObjectToInt(reader["invisible"]);
         userInfo.Newpm = TypeConverter.ObjectToInt(reader["newpm"]);
         userInfo.Newpmcount = TypeConverter.ObjectToInt(reader["newpmcount"]);
         userInfo.Accessmasks = TypeConverter.ObjectToInt(reader["accessmasks"]);
         userInfo.Onlinestate = TypeConverter.ObjectToInt(reader["onlinestate"]);
         userInfo.Salt = reader["salt"].ToString();//二次MD5所用的字段
     }
     reader.Close();
     return userInfo;
 }
コード例 #19
0
        protected override void ShowPage()
        {
            pagetitle = "撰写短消息";

            if (!IsLogin())
            {
                return;
            }

            if (!CheckPermission())
            {
                return;
            }

            if (DNTRequest.IsPost() && !ForumUtils.IsCrossSitePost())
            {
                if (!CheckPermissionAfterPost())
                {
                    return;
                }

                SendPM();
                if (IsErr())
                {
                    return;
                }
            }

            ShortUserInfo shortUserInfo = Users.GetShortUserInfo(msgtoid);
            string        msttoName     = (shortUserInfo != null) ? shortUserInfo.Username : "";

            msgto = msgtoid > 0 ? msttoName : msgto;

            string action = DNTRequest.GetQueryString("action").ToLower();

            if (action.CompareTo("re") == 0 || action.CompareTo("fw") == 0) //回复或者转发
            {
                if (DNTRequest.GetQueryInt("pmid", -1) != -1)
                {
                    PrivateMessageInfo pm = PrivateMessages.GetPrivateMessageInfo(DNTRequest.GetQueryInt("pmid", -1));
                    if (pm != null && (pm.Msgtoid == userid || pm.Msgfromid == userid))
                    {
                        msgto   = action.CompareTo("re") == 0 ? Utils.HtmlEncode(pm.Msgfrom) : "";
                        subject = Utils.HtmlEncode(action) + ":" + pm.Subject;
                        message = Utils.HtmlEncode("> ") + pm.Message.Replace("\n", "\n> ") + "\r\n\r\n";
                    }
                }
            }

            if (DNTRequest.GetString("operation") == "pmfriend")
            {
                CreatePmFriendMessage();
            }

            newnoticecount = Notices.GetNewNoticeCountByUid(userid);
        }
コード例 #20
0
        /// <summary>
        /// 设置分页信息
        /// </summary>
        private void SetPageIdAndNumber()
        {
            //设置查询条件
            //SetCondition();
            //获取主题总数
            topiccount = Topics.GetTopicCount(condition);

            //防止查询数超过系统规定的最大值
            topiccount = maxseachnumber > topiccount ? topiccount : maxseachnumber;

            if (tpp <= 0)
            {
                tpp = config.Tpp;
            }

            //得到用户设置的每页显示主题数
            if (userid != -1)
            {
                ShortUserInfo userinfo = Users.GetShortUserInfo(userid);
                if (userinfo != null)
                {
                    if (userinfo.Tpp > 0)
                    {
                        tpp = userinfo.Tpp;
                    }

                    if (userinfo.Newpm == 0)
                    {
                        newpmcount = 0;
                    }
                }
            }

            //获取总页数
            pagecount = topiccount % tpp == 0 ? topiccount / tpp : topiccount / tpp + 1;
            if (pagecount == 0)
            {
                pagecount = 1;
            }

            //修正请求页数中可能的错误
            pageid = pageid < 1 ? 1 : pageid;
            pageid = pageid > pagecount ? pagecount : pageid;

            //如果当前页面的返回结果超过系统规定的的范围时,则进行相应删剪
            if ((pageid * tpp) > topiccount)
            {
                tpp = tpp - (pageid * tpp - topiccount);
            }

            //得到页码链接
            pagenumbers = Utils.StrIsNullOrEmpty(DNTRequest.GetString("search")) ?
                          Utils.GetPageNumbers(pageid, pagecount, string.Format("showtopiclist.aspx?type={0}&newtopic={1}&forumid={2}&forums={3}", type, newtopic, forumid, forums), 8) :
                          Utils.GetPageNumbers(pageid, pagecount, string.Format("showtopiclist.aspx?search=1&type={0}&newtopic={1}&order={2}&direct={3}&forumid={4}&forums={5}",
                                                                                type, newtopic, DNTRequest.GetString("order"), DNTRequest.GetString("direct"), forumid, forums), 8);
        }
コード例 #21
0
        public ActionResult LogOnByQQCallback(ShortUserInfo shortUserInfo)
        {
            if (Request.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                if ((shortUserInfo.Email == null || shortUserInfo.Email.Trim() == string.Empty) ||
                    (shortUserInfo.Username == null || shortUserInfo.Username.Trim() == string.Empty) ||
                    Session["qqopenid"] == null
                    )
                {
                    ModelState.AddModelError("", "必填项缺失,或者激活超时。请重新激活QQ登录!");
                    return(View(shortUserInfo));
                }
                switch (Users.IsExits(shortUserInfo.Username, shortUserInfo.Email))
                {
                case 0:
                    shortUserInfo.Password      = "";
                    shortUserInfo.LastLoginDate = DateTime.MinValue;
                    shortUserInfo.LastLoginIp   = "";
                    shortUserInfo.RegDate       = DateTime.Now;
                    shortUserInfo.RegIp         = Request.UserHostAddress;
                    shortUserInfo.Salt          = "";
                    shortUserInfo.SecQues       = "";
                    shortUserInfo.QqOpenId      = Session["qqopenid"].ToString();
                    Users.CreateUser(shortUserInfo);

                    FormsAuthentication.SetAuthCookie(shortUserInfo.Username, true);
                    Response.Write("<script type=\"text/javascript\">window.opener.location.reload();window.close();</script>");
                    return(View());

                case 3:
                    ModelState.AddModelError("", "用户名和邮箱已被其他人注册,请重新填写。(<a href=\"#\">[忘记密码?]</a>)");
                    return(View(shortUserInfo));

                case 2:
                    ModelState.AddModelError("", "邮箱已被其他人注册,请重新填写。(<a href=\"#\">[忘记密码?]</a>)");
                    return(View(shortUserInfo));

                case 1:
                    ModelState.AddModelError("", "用户名已被其他人注册,请重新填写。(<a href=\"#\">[忘记密码?]</a>)");
                    return(View(shortUserInfo));

                default:
                    ModelState.AddModelError("", "注册发生错误!");
                    return(View(shortUserInfo));
                }
            }
            else
            {
                return(View(shortUserInfo));
            }
        }
コード例 #22
0
        /// <summary>
        /// 根据用户Id重新计算用户积分
        /// </summary>
        /// <param name="uid">用户id</param>
        /// <returns>用户积分</returns>
        public static int GetUserCreditsByUid(int uid)
        {
            ShortUserInfo shortUserInfo = Discuz.Data.Users.GetShortUserInfo(uid);

            if (shortUserInfo != null)
            {
                return(GetUserCreditsByUserInfo(shortUserInfo));
            }
            return(0);
        }
コード例 #23
0
        public ActionResult Create(ShortUserInfo shortUserInfo)
        {
            if (Request.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                if ((shortUserInfo.Email == null || shortUserInfo.Email.Trim() == string.Empty) ||
                    (shortUserInfo.Username == null || shortUserInfo.Username.Trim() == string.Empty) ||
                    shortUserInfo.Password == null
                    )
                {
                    ModelState.AddModelError("", "请填写完整的注册信息!");
                    return(View(shortUserInfo));
                }
                switch (Users.IsExits(shortUserInfo.Username, shortUserInfo.Email))
                {
                case 0:
                    shortUserInfo.Password =
                        System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(shortUserInfo.Password, "MD5");
                    shortUserInfo.LastLoginDate = DateTime.MinValue;
                    shortUserInfo.LastLoginIp   = "";
                    shortUserInfo.RegDate       = DateTime.Now;
                    shortUserInfo.RegIp         = Request.UserHostAddress;
                    shortUserInfo.Salt          = "";
                    shortUserInfo.SecQues       = "";
                    Users.CreateUser(shortUserInfo);

                    FormsAuthentication.SetAuthCookie(shortUserInfo.Username, true);
                    return(RedirectToAction("Index", "Home"));

                case 3:
                    ModelState.AddModelError("", "用户名和邮箱已被其他人注册,请重新填写。(<a href=\"#\">[忘记密码?]</a>)");
                    return(View(shortUserInfo));

                case 2:
                    ModelState.AddModelError("", "邮箱已被其他人注册,请重新填写。(<a href=\"#\">[忘记密码?]</a>)");
                    return(View(shortUserInfo));

                case 1:
                    ModelState.AddModelError("", "用户名已被其他人注册,请重新填写。(<a href=\"#\">[忘记密码?]</a>)");
                    return(View(shortUserInfo));

                default:
                    ModelState.AddModelError("", "注册发生错误!");
                    return(View(shortUserInfo));
                }
            }
            else
            {
                return(View(shortUserInfo));
            }
        }
コード例 #24
0
 private void CalculatorScore_Click(object sender, EventArgs e)
 {
     #region 计算积分
     if (this.CheckCookie())
     {
         ShortUserInfo shortUserInfo = Users.GetShortUserInfo(DNTRequest.GetInt("uid", -1));
         if (userInfo != null)
         {
             credits.Text = CreditsFacade.GetUserCreditsByUserInfo(shortUserInfo).ToString();
         }
     }
     #endregion
 }
コード例 #25
0
        /// <summary>
        /// 检查用户是否在新手见习期
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static bool CheckNewbieSpan(int userId)
        {
            if (GeneralConfigs.GetConfig().Newbiespan > 0)
            {
                ShortUserInfo userInfo = Users.GetShortUserInfo(userId);
                string        joindate = (userInfo != null) ? userInfo.Joindate : "";

                if (joindate == "" || Utils.StrDateDiffMinutes(joindate, GeneralConfigs.GetConfig().Newbiespan) < 0)
                {
                    return(true);
                }
            }
            return(false);
        }
コード例 #26
0
        public static List <ShortUserInfo> GetUserListWithDigestTopicList(string digestTopicList, int digestType)
        {
            IDataReader reader = DatabaseProvider.GetInstance().GetUserListWithDigestTopicList(digestTopicList, digestType);

            List <ShortUserInfo> users = new List <ShortUserInfo>();

            while (reader.Read())
            {
                ShortUserInfo userInfo = new ShortUserInfo();
                userInfo.Uid = TypeConverter.ObjectToInt(reader["posterid"], -1);
                users.Add(userInfo);
            }
            reader.Close();
            return(users);
        }
コード例 #27
0
ファイル: Users.cs プロジェクト: yeyong/manageserver
        /// <summary>
        /// 检测密码
        /// </summary>
        /// <param name="uid">用户id</param>
        /// <param name="password">密码</param>
        /// <param name="originalpassword">是否非MD5密码</param>
        /// <returns>如果用户密码正确则返回uid, 否则返回-1</returns>
        public static ShortUserInfo CheckPassword(int uid, string password, bool originalpassword)
        {
            IDataReader reader = DatabaseProvider.GetInstance().CheckPassword(uid, password, originalpassword);
            ShortUserInfo userInfo = null;

            if (reader.Read())
            {
                userInfo = new ShortUserInfo();
                userInfo.Ps_id = Utils.StrToInt(reader[0].ToString(), -1);
                userInfo.Ps_ug_id = Utils.StrToInt(reader[1].ToString(), -1);
                userInfo.Ps_pg_id = Utils.StrToInt(reader[2].ToString(), -1);
            }
            reader.Close();
            return userInfo;
        }
コード例 #28
0
ファイル: Feeds.cs プロジェクト: xslonglianxia/DiscuzNT
        /// <summary>
        /// 获得百度论坛收录协议xml
        /// </summary>
        /// <param name="ttl">TTL数值</param>
        /// <returns></returns>
        public static string GetBaiduSitemap(string sbforumlist, ShortUserInfo master)
        {
            StringBuilder sitemapBuilder = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n");
            IDataReader   reader         = DatabaseProvider.GetInstance().GetSitemapNewTopics(sbforumlist.ToString());

            sitemapBuilder.Append("<document xmlns:bbs=\"http://www.baidu.com/search/bbs_sitemap.xsd\">\r\n");
            sitemapBuilder.AppendFormat("  <webSite>{0}</webSite>\r\n", forumurl);
            sitemapBuilder.AppendFormat("  <webMaster>{0}</webMaster>\r\n", master != null ? master.Email : "");
            sitemapBuilder.AppendFormat("  <updatePeri>{0}</updatePeri>\r\n", config.Sitemapttl);
            sitemapBuilder.AppendFormat("  <updatetime>{0}</updatetime>\r\n", DateTime.Now.ToString("r"));
            sitemapBuilder.AppendFormat("  <version>Discuz!NT {0}</version>\r\n", Utils.GetAssemblyVersion());

            if (reader != null)
            {
                while (reader.Read())
                {
                    sitemapBuilder.Append("    <item>\r\n");
                    sitemapBuilder.AppendFormat("      <link>{0}", Utils.HtmlEncode(forumurl));
                    if (config.Aspxrewrite == 1)
                    {
                        sitemapBuilder.AppendFormat("showtopic-{0}{1}", reader["tid"], config.Extname);
                    }
                    else
                    {
                        sitemapBuilder.AppendFormat("showtopic-{0}", reader["tid"]);
                    }

                    sitemapBuilder.Append("      </link>\r\n");
                    sitemapBuilder.AppendFormat("      <title>{0}</title>\r\n", Utils.HtmlEncode(reader["title"].ToString().Trim()));
                    sitemapBuilder.AppendFormat("      <pubDate>{0}</pubDate>\r\n", Utils.HtmlEncode(reader["postdatetime"].ToString().Trim()));
                    sitemapBuilder.AppendFormat("      <bbs:lastDate>{0}</bbs:lastDate>\r\n", reader["lastpost"]);
                    sitemapBuilder.AppendFormat("      <bbs:reply>{0}</bbs:reply>\r\n", reader["replies"]);
                    sitemapBuilder.AppendFormat("      <bbs:hit>{0}</bbs:hit>\r\n", reader["views"]);
                    sitemapBuilder.AppendFormat("      <bbs:boardid>{0}</bbs:boardid>\r\n", reader["fid"]);
                    sitemapBuilder.AppendFormat("      <bbs:pick>{0}</bbs:pick>\r\n", reader["digest"]);
                    sitemapBuilder.Append("    </item>\r\n");
                }
                reader.Close();
                sitemapBuilder.Append("</document>");
            }
            else
            {
                sitemapBuilder.Length = 0;
                sitemapBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
                sitemapBuilder.Append("<document>Error</document>\r\n");
            }
            return(sitemapBuilder.ToString());
        }
コード例 #29
0
ファイル: Users.cs プロジェクト: xslonglianxia/DiscuzNT
        /// <summary>
        /// 检测密码
        /// </summary>
        /// <param name="uid">用户id</param>
        /// <param name="password">密码</param>
        /// <param name="originalpassword">是否非MD5密码</param>
        /// <param name="groupid">用户组id</param>
        /// <param name="adminid">管理id</param>
        /// <returns>如果用户密码正确则返回uid, 否则返回-1</returns>
        public static int CheckPassword(int uid, string password, bool originalpassword, out int groupid, out int adminid)
        {
            ShortUserInfo userInfo = Discuz.Data.Users.CheckPassword(uid, password, originalpassword);

            uid     = -1;
            groupid = 7;
            adminid = 0;

            if (userInfo != null)
            {
                uid     = userInfo.Uid;
                groupid = userInfo.Groupid;
                adminid = userInfo.Adminid;
            }
            return(uid);
        }
コード例 #30
0
ファイル: Users.cs プロジェクト: Natsuwind/DeepInSummer
        public static ShortUserInfo GetUserInfoByQqOpenid(string openid)
        {
            if (openid == null || openid.Trim() == string.Empty)
            {
                return(null);
            }

            DbParameter[] prams =
            {
                DbHelper.MakeInParam("?qqopenid", (DbType)MySqlDbType.String, 45, openid)
            };
            IDataReader   dr            = DbHelper.ExecuteReader(CommandType.Text, "SELECT * FROM members WHERE qqopenid=?qqopenid", prams);
            ShortUserInfo shortUserInfo = BindUserInfo(dr);

            dr.Close();
            return(shortUserInfo);
        }
コード例 #31
0
ファイル: Users.cs プロジェクト: Natsuwind/DeepInSummer
        public static ShortUserInfo GetUserInfo(int uid)
        {
            if (uid <= 0)
            {
                return(null);
            }

            DbParameter[] prams =
            {
                DbHelper.MakeInParam("?uid", (DbType)MySqlDbType.Int24, 4, uid)
            };
            IDataReader   dr            = DbHelper.ExecuteReader(CommandType.Text, "SELECT * FROM members WHERE uid=?uid", prams);
            ShortUserInfo shortUserInfo = BindUserInfo(dr);

            dr.Close();
            return(shortUserInfo);
        }
コード例 #32
0
ファイル: Stats.cs プロジェクト: yeyong/manageserver
        public static ShortUserInfo[] GetUserOnlinetime(string field)
        {
            IDataReader reader = DatabaseProvider.GetInstance().GetUserByOnlineTime(field);

            List<ShortUserInfo> list = new List<ShortUserInfo>();

            while (reader.Read())
            {
                ShortUserInfo u = new ShortUserInfo();
                u.Ps_name = reader["Ps_name"].ToString();
                u.Ps_id = Utils.StrToInt(reader["Ps_id"], 0);
                u.Ps_onlinetime = Utils.StrToInt(reader[field], 0);
                u.Ps_password = string.Empty;
                u.Ps_secques = string.Empty;
                u.Ps_nickName = string.Empty;

                list.Add(u);
            }
            reader.Close();

            return list.ToArray();
        }
コード例 #33
0
ファイル: Stats.cs プロジェクト: yeyong/manageserver
        ///// <summary>
        ///// 获得未发帖会员数
        ///// </summary>
        ///// <returns></returns>
        //public static int GetNonPostMemCount()
        //{
        //    return DatabaseProvider.GetInstance().GetNonPostMemCount();
        //}
        ///// <summary>
        ///// 获得今日最佳用户
        ///// </summary>
        ///// <param name="bestmem"></param>
        ///// <param name="bestmemposts"></param>
        //public static void GetBestMember(out string bestmem, out int bestmemposts, string postTableId)
        //{
        //    bestmem = "";
        //    bestmemposts = 0;
        //    IDataReader reader = DatabaseProvider.GetInstance().GetBestMember(postTableId);
        //    if (reader.Read())
        //    {
        //        bestmem = reader["poster"].ToString();
        //        bestmemposts = Utils.StrToInt(reader["posts"], 0);
        //    }
        //    reader.Close();
        //}
        ///// <summary>
        ///// 获得每月发帖统计
        ///// </summary>
        ///// <param name="monthpostsstats"></param>
        ///// <returns></returns>
        //public static Hashtable GetMonthPostsStats(Hashtable monthpostsstats, string postTableId)
        //{
        //    Hashtable ht = new Hashtable();
        //    IDataReader reader = DatabaseProvider.GetInstance().GetMonthPostsStats(postTableId);
        //    while (reader.Read())
        //    {
        //        string key = reader["year"].ToString() + Utils.StrToInt(reader["month"], 1).ToString("00");
        //        int count = Utils.StrToInt(reader["count"], 0);
        //        if (!monthpostsstats.ContainsKey(key) || monthpostsstats[key].ToString() != count.ToString())
        //        {
        //            monthpostsstats[key] = count.ToString();
        //            ht[key] = count;
        //        }
        //    }
        //    reader.Close();
        //    foreach (string key in ht.Keys)
        //    {
        //        UpdateStatVars("monthposts", key, ht[key].ToString());
        //    }
        //    ArrayList list = new ArrayList(monthpostsstats.Values);
        //    list.Sort(new StatVarSorter());
        //    monthpostsstats["maxcount"] = list.Count > 0 ? Utils.StrToInt(list[list.Count - 1], 0) : 0;
        //    return monthpostsstats;
        //}
        ///// <summary>
        ///// 获得每日发帖统计
        ///// </summary>
        ///// <param name="daypostsstats"></param>
        ///// <returns></returns>
        //public static Hashtable GetDayPostsStats(Hashtable daypostsstats, string postTableId)
        //{
        //    Hashtable ht = new Hashtable();
        //    IDataReader reader = DatabaseProvider.GetInstance().GetDayPostsStats(postTableId);
        //    while (reader.Read())
        //    {
        //        string key = reader["year"].ToString() + Utils.StrToInt(reader["month"], 1).ToString("00") + Utils.StrToInt(reader["day"], 1).ToString("00");
        //        int count = Utils.StrToInt(reader["count"], 0);
        //        if (!daypostsstats.ContainsKey(key) || daypostsstats[key].ToString() != count.ToString())
        //        {
        //            daypostsstats[key] = count.ToString();
        //            ht[key] = count;
        //        }
        //    }
        //    reader.Close();
        //    foreach (string key in ht.Keys)
        //    {
        //        UpdateStatVars("dayposts", key, ht[key].ToString());
        //    }
        //    ArrayList list = new ArrayList(daypostsstats.Values);
        //    list.Sort(new StatVarSorter());
        //    daypostsstats["maxcount"] = list.Count < 1 ? 0 : Utils.StrToInt(list[list.Count - 1], 0);
        //    return daypostsstats;
        //}
        ///// <summary>
        ///// 获得热门主题html
        ///// </summary>
        ///// <returns></returns>
        //public static List<TopicInfo> GetHotTopicsList()
        //{
        //    List<TopicInfo> topicInfoList = new List<TopicInfo>();
        //    IDataReader reader = DatabaseProvider.GetInstance().GetHotTopics(20);
        //    while (reader.Read())
        //    {
        //        TopicInfo topicInfo = new TopicInfo();
        //        topicInfo.Views = TypeConverter.ObjectToInt(reader["views"]);
        //        topicInfo.Tid = TypeConverter.ObjectToInt(reader["tid"]);
        //        topicInfo.Title = reader["title"].ToString();
        //        topicInfoList.Add(topicInfo);
        //    }
        //    reader.Close();
        //    return topicInfoList;
        //}
        ///// <summary>
        ///// 获得热门回复主题html
        ///// </summary>
        ///// <returns></returns>
        //public static List<TopicInfo> GetHotReplyTopicsHtml()
        //{
        //    List<TopicInfo> topicInfoList = new List<TopicInfo>();
        //    IDataReader reader = DatabaseProvider.GetInstance().GetHotReplyTopics(20);
        //    while (reader.Read())
        //    {
        //        TopicInfo topicInfo = new TopicInfo();
        //        topicInfo.Replies = TypeConverter.ObjectToInt(reader["replies"]);
        //        topicInfo.Tid = TypeConverter.ObjectToInt(reader["tid"]);
        //        topicInfo.Title = reader["title"].ToString();
        //        topicInfoList.Add(topicInfo);
        //    }
        //    reader.Close();
        //    return topicInfoList;
        //}
        ///// <summary>
        ///// 获得板块列表
        ///// </summary>
        ///// <param name="type"></param>
        ///// <returns></returns>
        //public static ForumInfo[] GetForumArray(string type, string postTableId)
        //{
        //    IDataReader reader = null;
        //    switch (type)
        //    {
        //        case "topics":
        //            reader = DatabaseProvider.GetInstance().GetForumsByTopicCount(20);
        //            break;
        //        case "posts":
        //            reader = DatabaseProvider.GetInstance().GetForumsByPostCount(20);
        //            break;
        //        case "thismonth":
        //            reader = DatabaseProvider.GetInstance().GetForumsByMonthPostCount(20, postTableId);
        //            break;
        //        case "today":
        //            reader = DatabaseProvider.GetInstance().GetForumsByDayPostCount(20, postTableId);
        //            break;
        //    }
        //    if (reader == null)
        //        return new ForumInfo[0];
        //    List<ForumInfo> list = new List<ForumInfo>();
        //    while (reader.Read())
        //    {
        //        ForumInfo f = new ForumInfo();
        //        f.Fid = Utils.StrToInt(reader["fid"], 0);
        //        f.Name = reader["name"].ToString();
        //        if (type == "topics")
        //            f.Topics = Utils.StrToInt(reader["topics"], 0);
        //        else
        //            f.Posts = Utils.StrToInt(reader["posts"], 0);
        //        list.Add(f);
        //    }
        //    reader.Close();
        //    return list.ToArray();
        //}
        /// <summary>
        /// 获得用户列表
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static ShortUserInfo[] GetUserArray(string type, string postTableId)
        {
            IDataReader reader = DatabaseProvider.GetInstance().GetUsersRank(20, postTableId, type);
            if (reader == null)
                return new ShortUserInfo[0];

            List<ShortUserInfo> list = new List<ShortUserInfo>();

            while (reader.Read())
            {
                ShortUserInfo u = new ShortUserInfo();
                u.Ps_name = reader["Ps_name"].ToString();
                u.Ps_id = Utils.StrToInt(reader["Ps_id"], 0);
                //if (type == "digestposts")
                //    u.Digestposts = Utils.StrToInt(reader["digestposts"], 0);
                //else
                if (type == "credits")
                    u.Ps_credits = Utils.StrToInt(reader["Ps_credits"], 0);
                else
                {
                    switch (type)
                    {
                        //case "extcredits1":
                        //    u.Extcredits1 = Utils.StrToFloat(reader["extcredits1"], 0);
                        //    break;
                        //case "extcredits2":
                        //    u.Extcredits2 = Utils.StrToFloat(reader["extcredits2"], 0);
                        //    break;
                        //case "extcredits3":
                        //    u.Extcredits3 = Utils.StrToFloat(reader["extcredits3"], 0);
                        //    break;
                        //case "extcredits4":
                        //    u.Extcredits4 = Utils.StrToFloat(reader["extcredits4"], 0);
                        //    break;
                        //case "extcredits5":
                        //    u.Extcredits5 = Utils.StrToFloat(reader["extcredits5"], 0);
                        //    break;
                        //case "extcredits6":
                        //    u.Extcredits6 = Utils.StrToFloat(reader["extcredits6"], 0);
                        //    break;
                        //case "extcredits7":
                        //    u.Extcredits7 = Utils.StrToFloat(reader["extcredits7"], 0);
                        //    break;
                        //case "extcredits8":
                        //    u.Extcredits8 = Utils.StrToFloat(reader["extcredits8"], 0);
                        //    break;
                        case "oltime":
                            u.Ps_onlinetime = Utils.StrToInt(reader["oltime"], 0);
                            break;
                        default:
                            //u.Posts = Utils.StrToInt(reader["posts"], 0);
                            break;
                    }
                }
                u.Ps_password = string.Empty;
                u.Ps_secques = string.Empty;
                u.Ps_nickName = string.Empty;

                list.Add(u);
            }
            reader.Close();

            return list.ToArray();
        }
コード例 #34
0
ファイル: posttopic.aspx.cs プロジェクト: yeyong/manageserver
        protected override void ShowPage()
        {
            if (oluserinfo.Ol_ug_id == 4)
            {
                AddErrLine("你所在的用户组,为禁止发言"); return;
            }

            if (userid > 0)
            {
                userinfo = Users.GetShortUserInfo(userid);
            }

            #region 获取并检查版块信息
            forumid = 2;
            forum = Forums.GetForumInfo(forumid);
            if (forum == null || forum.Layer == 0)
            {
                forum = new ForumInfo();//如果不初始化对象,则会报错
                allowposttopic = false;
                AddErrLine("错误的论坛ID"); return;
            }

            pagetitle = Utils.RemoveHtml(forum.Name);
            enabletag = (config.Enabletag & forum.Allowtag) == 1;

            if (forum.Applytopictype == 1)  //启用主题分类
                topictypeselectoptions = Forums.GetCurrentTopicTypesOption(forum.Fid, forum.Topictypes);

            if (forum.Password != "" && Utils.MD5(forum.Password) != LogicUtils.GetCookie("forum" + forumid + "password"))
            {
                AddErrLine("本版块被管理员设置了密码");
                SetBackLink(base.ShowForumAspxRewrite(forumid, 0)); return;
            }
            needaudit = UserAuthority.NeedAudit(forum, useradminid, userid);
            smileyoff = 1 - forum.Allowsmilies;
            bbcodeoff = (forum.Allowbbcode == 1 && usergroupinfo.Ug_allowcusbbcode == 1) ? 0 : 1;
            allowimg = forum.Allowimgcode;
            #endregion

            #region  附件信息绑定
            //得到用户可以上传的文件类型
            string attachmentTypeSelect = Attachments.GetAllowAttachmentType(usergroupinfo, forum);
            attachextensions = Attachments.GetAttachmentTypeArray(attachmentTypeSelect);
            attachextensionsnosize = Attachments.GetAttachmentTypeString(attachmentTypeSelect);
            //得到今天允许用户上传的附件总大小(字节)
            int MaxTodaySize = (userid > 0 ? MaxTodaySize = Attachments.GetUploadFileSizeByuserid(userid) : 0);
            attachsize = usergroupinfo.Ug_maxsizeperday - MaxTodaySize;//今天可上传得大小
            //是否有上传附件的权限
            canpostattach = UserAuthority.PostAttachAuthority(forum, usergroupinfo, userid, ref msg);

            if (canpostattach && (userinfo != null && userinfo.Ps_id > 0) && apb != null && config.Enablealbum == 1 &&
            (UserGroups.GetUserGroupInfo(userinfo.Ps_ug_id).ug_maxspacephotosize - apb.GetPhotoSizeByUserid(userid) > 0))
            {
                caninsertalbum = true;
                albumlist = apb.GetSpaceAlbumByUserId(userid);
            }
            #endregion

            if (ispost)
            {
            }
            else //非提交操作
                AddLinkCss(BaseConfigs.GetSitePath + "templates/" + templatepath + "/editor.css", "css");
        }
コード例 #35
0
ファイル: Users.cs プロジェクト: yeyong/manageserver
 public static ShortUserInfo LoadSingleShortUserInfo(IDataReader reader)
 {
     ShortUserInfo userInfo = null;
     if (reader.Read())
     {
         userInfo = new ShortUserInfo();
         userInfo.Ps_id = TypeConverter.StrToInt(reader["Ps_id"].ToString(), 0);
         userInfo.Ps_en_id = TypeConverter.StrToInt(reader["Ps_en_id"].ToString(), 0);
         userInfo.Ps_name = reader["Ps_name"].ToString();
         userInfo.Ps_nickName = reader["Ps_nickName"].ToString();
         userInfo.Ps_password = reader["Ps_password"].ToString();
         userInfo.Ps_pay_pass = reader["Ps_pay_pass"].ToString();
         userInfo.Ps_init = reader["Ps_init"].ToString();
         userInfo.Ps_secques = reader["ps_secques"].ToString();
         userInfo.Ps_isLock = TypeConverter.StrToBool(reader["Ps_isLock"].ToString().Trim(), false);
         userInfo.Ps_gender = TypeConverter.StrToInt(reader["Ps_gender"].ToString(), 0);
         userInfo.Ps_pg_id = TypeConverter.StrToInt(reader["Ps_pg_id"].ToString(), 0);
         userInfo.Ps_ug_id = TypeConverter.StrToInt(reader["Ps_ug_id"].ToString(), 0);
         userInfo.Ps_company = reader["Ps_company"].ToString();
         userInfo.Ps_regIP = reader["Ps_regIP"].ToString();
         userInfo.Ps_createDate = Utils.GetStandardDateTime(reader["Ps_createDate"].ToString());
         userInfo.Ps_lastChangePass = Utils.GetStandardDateTime(reader["Ps_lastChangePass"].ToString());
         userInfo.Ps_lockDate = Utils.GetStandardDateTime(reader["Ps_lockDate"].ToString());
         userInfo.Ps_loginIP = reader["Ps_loginIP"].ToString();
         userInfo.Ps_lastactivity = Utils.GetStandardDateTime(reader["Ps_lastactivity"].ToString());
         userInfo.Ps_lastLogin = Utils.GetStandardDateTime(reader["Ps_lastLogin"].ToString());
         userInfo.Ps_onlinetime = TypeConverter.StrToInt(reader["Ps_onlinetime"].ToString(), 0);
         userInfo.Ps_pageviews = TypeConverter.StrToInt(reader["ps_pageviews"].ToString(), 0);
         userInfo.Ps_credits = TypeConverter.StrToInt(reader["Ps_credits"].ToString(), 0);
         userInfo.Ps_star = TypeConverter.StrToInt(reader["Ps_star"].ToString(), 0);
         userInfo.Ps_scores = TypeConverter.StrToInt(reader["Ps_scores"].ToString(), 0);
         userInfo.Ps_email = reader["Ps_email"].ToString();
         userInfo.Ps_prev_email = reader["Ps_prev_email"].ToString();
         //userInfo.Pd_birthday = reader["Pd_birthday"].ToString();
         userInfo.Ps_issign = TypeConverter.StrToInt(reader["ps_issign"].ToString(), 0);
         userInfo.Ps_tempID = TypeConverter.StrToInt(reader["Ps_tempID"].ToString(), 0);
         userInfo.Ps_bdSound = TypeConverter.StrToInt(reader["Ps_bdSound"].ToString(), 0);
         userInfo.Ps_isEmail = TypeConverter.StrToInt(reader["Ps_isEmail"].ToString(), 0);
         userInfo.Ps_newsletter = (ReceivePMSettingType)TypeConverter.StrToInt(reader["ps_newsletter"].ToString(), 0);
         userInfo.Ps_invisible = TypeConverter.StrToInt(reader["ps_invisible"].ToString(), 0);
         userInfo.Ps_newpm = TypeConverter.StrToInt(reader["ps_newpm"].ToString(), 0);
         userInfo.Ps_newMess = TypeConverter.StrToInt(reader["Ps_newMess"].ToString(), 0);
         userInfo.Ps_status = TypeConverter.StrToInt(reader["Ps_status"].ToString(), 0);
         userInfo.Ps_isDetail = TypeConverter.StrToBool(reader["Ps_isDetail"].ToString().Trim(), true);
         userInfo.Ps_isCreater = TypeConverter.StrToBool(reader["Ps_isCreater"].ToString().Trim(), false);
         userInfo.Ps_creater = TypeConverter.StrToInt(reader["Ps_creater"].ToString().Trim(),0);
         userInfo.Ps_salt = reader["ps_salt"].ToString().Trim();
     }
     reader.Close();
     return userInfo;
 }
コード例 #36
0
ファイル: Main.cs プロジェクト: pkt30/OscarLib
 void Icq_ShortUserInfoReceived(object sender, ShortUserInfo ui)
 {
     TimeSpan end = new TimeSpan(DateTime.Now.Ticks - start.Ticks);
     Console.WriteLine("ShortUserInfo from Nickname: {0}, Firstname: {1}, Millisec: {2}", ui.Nickname, ui.Firstname, end.TotalMilliseconds);
 }
コード例 #37
0
ファイル: Stats.cs プロジェクト: yeyong/manageserver
        /////// <summary>
        /////// 获得板块排行的html
        /////// </summary>
        /////// <param name="forums"></param>
        /////// <param name="type"></param>
        /////// <returns></returns>
        ////public static string GetForumsRankHtml(ForumInfo[] forums, string type, int maxrows)
        ////{
        ////    StringBuilder builder = new StringBuilder();
        ////    foreach (ForumInfo f in forums)
        ////    {
        ////        builder.AppendFormat("<li><em>{0}</em><a href=\"{1}\" target=\"_blank\">{2}</a></li>", type == "topics" ? f.Topics : f.Posts, Urls.ShowForumAspxRewrite(f.Fid, 0), f.Name);
        ////        maxrows--;
        ////    }
        ////    for (int i = 0; i < maxrows; i++)
        ////    {
        ////        builder.Append("<li>&nbsp;</li>");
        ////    }
        ////    return builder.ToString();
        ////}
        /// <summary>
        /// 获得用户排行的html
        /// </summary>
        /// <param name="users"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static string GetUserRankHtml(ShortUserInfo[] users, string type, int maxrows)
        {
            StringBuilder builder = new StringBuilder();
            string unit = "";
            int blankrows = maxrows;
            foreach (ShortUserInfo u in users)
            {
                string count = string.Empty;
                switch (type)
                {
                    case "credits":
                        count = u.Ps_credits.ToString();
                        break;
                    //case "extcredits1":
                    //    count = u.Extcredits1.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[1];
                    //    break;
                    //case "extcredits2":
                    //    count = u.Extcredits2.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[2];
                    //    break;
                    //case "extcredits3":
                    //    count = u.Extcredits3.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[3];
                    //    break;
                    //case "extcredits4":
                    //    count = u.Extcredits4.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[4];
                    //    break;
                    //case "extcredits5":
                    //    count = u.Extcredits5.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[5];
                    //    break;
                    //case "extcredits6":
                    //    count = u.Extcredits6.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[6];
                    //    break;
                    //case "extcredits7":
                    //    count = u.Extcredits7.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[7];
                    //    break;
                    //case "extcredits8":
                    //    count = u.Extcredits8.ToString();
                    //    unit = Scoresets.GetValidScoreUnit()[8];
                    //    break;
                    //case "digestposts":
                    //    count = u.Digestposts.ToString();
                    //    break;
                    case "onlinetime":
                        count = Math.Round(((double)u.Ps_onlinetime) / 60, 2).ToString();
                        unit = "小时";
                        break;
                    default:
                        //count = u.Posts.ToString();
                        break;
                }

                builder.AppendFormat("<li><em>{0}</em><a href=\"{1}\" target=\"_blank\">{2}</a></li>", count + (unit == string.Empty ? string.Empty : " " + unit), Urls.UserInfoAspxRewrite(u.Ps_id), u.Ps_name);
                blankrows--;
            }
            for (int i = 0; i < blankrows; i++)
            {
                builder.Append("<li>&nbsp;</li>");
            }
            return builder.ToString();
        }