示例#1
0
        public static void LoginUser(DataRow member, bool persist, bool rememberName)
        {
            WebContext.Profile.UserEmail         = member["Email"].ToString();
            WebContext.Profile.UserGuid          = (System.Guid)member["Geuid"];
            WebContext.Profile.UserId            = (int)member["MemberId"];
            WebContext.Profile.UserLogged        = true;
            WebContext.Profile.UserRememberMe    = persist;
            WebContext.Profile.UserRememberName  = rememberName;
            WebContext.Profile.UserFullName      = string.Format("{0} {1}", member["FirstName"], member["LastName"]);
            WebContext.Profile.CurrentUserStatus = (int)MembersManager.GetUserStatus(member);
            WebContext.Profile.Roles             = (int)member["Roles"];
            WebContext.Profile.CurrentUserType   = UserType.User;
            WebContext.Profile.dbUserName        = member["UserName"].ToString();
            //MembersManager.UpdateOnlineStatus((int)member["MemberId"], true);

            FriendsManager fMgr = new FriendsManager();

            WebContext.Profile.FriendsCount = fMgr.GetFriendsCount((int)member["MemberId"]);

            MemberLoginActivity mlMgr = new MemberLoginActivity();

            mlMgr.AddMemberLogin((int)member["MemberId"], WebContext.IPAddress + "," + WebTools.WebContext.Request.ServerVariables["LOCAL_ADDR"]);

            Caching.UpdateUserCache();
        }
示例#2
0
        public override void DataBind()
        {
            if (_bound)
            {
                return;
            }
            _bound = true;

            if (CMSMode == false && !CMSMode.Value && !this.MyPage.Editable)
            {
                StringBuilder cond = new StringBuilder();

                if (!String.IsNullOrWhiteSpace(Type))
                {
                    cond.Append(string.Format(" And (Type='{0}' or UniqueName='{0}')", StringUtils.SQLEncode(Type)));
                }

                if (status != DownloadStatus.All)
                {
                    cond.Append(string.Format(" And Status={0}", (int)Status));
                }

                if (NetworkBound)
                {
                    NetworkRelations networkRelations = new NetworkRelations();
                    cond.Append(" and " + networkRelations.GetRelationQueryByMember(cte.NetworkRelationTable, cte.NetworkRelateToField, WebContext.Profile.UserId));
                }

                if (NonMemberNetworkBound)
                {
                    NetworkRelations networkRelations = new NetworkRelations();
                    cond.Append(" and " + networkRelations.GetRelationQueryByNetwork(cte.NetworkRelationTable, cte.NetworkRelateToField, Int32.Parse(networkName)));
                }

                if (!string.IsNullOrWhiteSpace(Condition))
                {
                    cond.Append(string.Format(" And " + Condition));
                }

                if (DisplaySinceLastLogin)
                {
                    System.Data.DataRow member = lw.Members.Security.User.LoggedInUser(this, false) as System.Data.DataRow;
                    MemberLoginActivity mlMgr  = new MemberLoginActivity();
                    DataView            dv     = mlMgr.GetMemberActivity((int)member["MemberId"]);
                    dv.Sort = "Id Desc";
                    if (dv.Count >= 2)
                    {
                        cond.Append(string.Format(" and DateAdded>='{0}'", dv[1]["LoggedInDate"]));
                    }
                }

                this.SelectCommand = string.Format(" select Top {0} d.*,  '{1}/' + d.UniqueName + '/' + d.FileName as DownloadLink, FileSize/1024 as KB from DownloadsView d where Status<>{2} {3}",
                                                   Top,
                                                   Downloads.DownloadsVR,
                                                   (int)DownloadStatus.Disabled,
                                                   cond.ToString()
                                                   );

                if (!EnablePaging)
                {
                    this.SelectCommand += " Order By " + OrderBy;
                }
            }
            else
            {
                System.Web.HttpRequest Request = WebContext.Request;

                string cond = "1=1 ";

                if (!string.IsNullOrWhiteSpace(Condition))
                {
                    cond += string.Format(" And " + Condition);
                }
                if (!String.IsNullOrEmpty(Request["q"]))
                {
                    cond += string.Format(" and (Title like '%{0}%' or FileName like '%{0}%')", StringUtils.SQLEncode(Request["q"]));
                }

                if (!String.IsNullOrEmpty(Request["NetworkId"]))
                {
                    cond += string.Format(" and DownloadId in (select DownloadId from DownloadsNetwork where NetworkId = {0})", Int32.Parse(Request["NetworkId"]));
                }

                if (!String.IsNullOrWhiteSpace(Type))
                {
                    cond += (string.Format(" And (Type='{0}' or UniqueName='{0}')", StringUtils.SQLEncode(Type)));
                }

                if (!String.IsNullOrEmpty(Request["TypeId"]))
                {
                    string _type = Request["TypeId"];
                    cond += string.Format(" and DownloadType={0}", Int32.Parse(_type));
                }
                if (!String.IsNullOrEmpty(Request["Status"]))
                {
                    string _Status = Request["Status"];
                    cond += string.Format(" and Status={0}", Int32.Parse(_Status));
                }

                this.SelectCommand = string.Format(" select top {3} d.*,  '{1}/' + d.UniqueName + '/' + d.FileName as DownloadLink, FileSize/1024 as KB from DownloadsView d where {2}",
                                                   "100%",
                                                   Downloads.DownloadsVR,
                                                   cond,
                                                   Top
                                                   );


                if (!EnablePaging)
                {
                    this.SelectCommand += " Order By " + OrderBy;
                }
            }
            base.DataBind();
        }
示例#3
0
        public override void Action()
        {
            WebContext.CreateHttpContext();

            MemberLoginActivity mlMgr = new MemberLoginActivity();

            DataView members = mlMgr.GetMembersActivity(string.Format("LoggedInDate >='{0}'", DateTime.Now.AddDays(-7)));

            members.Sort = "MemberId Asc, LoggedInDate Desc";

            Mail m = new Mail("Login Activity");

            int    MemberID = -1;
            bool   _bound   = false;
            string emailTo  = "";

            StringBuilder str = new StringBuilder("<table><tr><th>Ip Address</th><th>Login Date</th></tr>");

            foreach (DataRowView drv in members)
            {
                if (!_bound)
                {
                    MemberID = (int)drv["MemberId"];
                    _bound   = true;
                }

                if ((int)drv["MemberId"] != MemberID)
                {
                    str.Append("</table>");
                    try
                    {
                        m.Data           = new NameValueCollection();
                        m.Data["Result"] = str.ToString();
                        m.To             = emailTo;
                        m.Send();
                    }
                    catch
                    {
                    }

                    MemberID = (int)drv["MemberId"];
                    str      = new StringBuilder("<table><tr><th>Ip Address</th><th>Login Date</th></tr>");
                    str.Append(string.Format("<tr><td>{0}</td><td>{1}</td></tr>", drv["IpAddress"], drv["LoggedInDate"]));
                    emailTo = (string)drv["Email"];
                }
                else
                {
                    str.Append(string.Format("<tr><td>{0}</td><td>{1}</td></tr>", drv["IpAddress"], drv["LoggedInDate"]));
                    emailTo = (string)drv["Email"];
                }
            }

            str.Append("</table>");
            try
            {
                m.Data           = new NameValueCollection();
                m.Data["Result"] = str.ToString();
                m.To             = emailTo;
                m.Send();
            }
            catch
            {
            }
        }