Esempio n. 1
0
        public int UpdateOperator(
            int MemberId,
            string Email, string AlternateEmail,
            string FirstName, string LastName,
            int GroupId,
            string UserName, string Password,
            string SecretQuestion, string SecretAnswer, int status,
            string style, int ChangedBy, bool JoinNewsletter,
            string PrivateComments, string Comments)
        {
            MembersManager mMgr = new MembersManager();
            int            ret  = mMgr.UpdateMember(MemberId,
                                                    UserName, Password,
                                                    Email, AlternateEmail,
                                                    SecretQuestion, SecretAnswer, "", FirstName, "", LastName, null, null,
                                                    status, lw.WebTools.WebContext.Profile.UserId,
                                                    JoinNewsletter, PrivateComments, Comments
                                                    );

            CreateOperatorProfile(MemberId, GroupId, style);

            if (ret == -1)
            {
                ErrorContext.Add("UsernameEmailExists", ContentManager.ErrorMsg(Errors.UsernameEmailExists));
            }
            return(ret);
        }
Esempio n. 2
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();
        }
Esempio n. 3
0
        public int AddOperator(
            string Email,
            string AlternateEmail,
            string FirstName,
            string LastName,
            int?GroupId,
            string UserName, string Password,
            string SecretQuestion, string SecretAnswer, int?status,
            string style)
        {
            MembersManager mMgr = new MembersManager();

            MembersDs.MembersRow member = mMgr.AddMember(UserName,
                                                         Email, AlternateEmail,
                                                         Password, SecretAnswer,
                                                         SecretAnswer, "", FirstName, "",
                                                         LastName,
                                                         Gender.Unknown,
                                                         null,
                                                         status, 0, "", "",
                                                         lw.WebTools.WebContext.Profile.UserId,
                                                         true);

            if (member == null)
            {
                return(-1);
            }

            CreateOperatorProfile(member.MemberId, GroupId, style);

            return(member.MemberId);
        }
Esempio n. 4
0
        public override void DataBind()
        {
            if (_bound)
            {
                return;
            }

            _bound = false;

            MembersManager mMgr = new MembersManager();

            if (MemberId != null)
            {
                this.DataItem = mMgr.GetMembersWithProfile(string.Format("MemberId={0}", memberId)).Rows[0];
            }
            else
            {
                if (UserName != null)
                {
                    this.DataItem = mMgr.GetMembersWithProfile(string.Format("UserName='******'", UserName)).Rows[0];
                }
                else
                if (Security.User.LoggedIn)
                {
                    this.DataItem = mMgr.GetMemberProfile(WebContext.Profile.UserId);
                }
            }


            base.DataBind();
        }
Esempio n. 5
0
    private void Start()
    {
        _screenManager  = ScreenManager.instance;
        _fundManager    = FundManager.instance;
        _membersManager = MembersManager.instance;

        _screenManager.LoadScreens(screens);
    }
Esempio n. 6
0
    private static MembersManager GetInstance()
    {
        if (_instance == null)
        {
            _instance = new MembersManager();
        }

        return(_instance);
    }
Esempio n. 7
0
        public override void DataBind()
        {
            if (bound)
            {
                return;
            }
            bound = true;

            this.Visible = false;

            UserStatus status = UserStatus.Unknown;

            if (User.LoggedIn)
            {
                status = MembersManager.GetUserStatus(User.LoggedInUser(this));
            }
            if (Price == PriceCategory.ResellerPrice && status != UserStatus.Reseller)
            {
                this.Visible = false;
                return;
            }
            object obj = DataBinder.Eval(this.NamingContainer, "DataItem." + Price.ToString());

            if (obj != null && obj != System.DBNull.Value)
            {
                int stat = (int)DataBinder.Eval(this.NamingContainer, "DataItem.Status");
                if (!Tools.CheckStatus(ItemStatus.OnSale, stat) && Price == PriceCategory.SalePrice)
                {
                    return;
                }
                _priceValue = (decimal)obj;

                this.Text    = string.Format(Format, obj);
                this.Visible = true;

                if (Price == PriceCategory.Price)
                {
                    if (Tools.CheckStatus(ItemStatus.OnSale, stat))
                    {
                        this.CssClass += " strike";
                    }
                    else
                    {
                        if (status == UserStatus.Reseller)
                        {
                            this.CssClass += " strike";
                        }
                    }
                }
            }
            base.DataBind();
        }
        public override void Action()
        {
            WebContext.CreateHttpContext();

            MembersManager mMgr = new MembersManager();
            Downloads      dMgr = new Downloads();

            DataView members = mMgr.GetMembers("").DefaultView;



            string protocol   = WebContext.Protocol;
            string serverName = WebContext.ServerName;
            string root       = WebContext.Root;

            foreach (DataRowView drv in members)
            {
                DataView downloads = dMgr.GetDownloadsByNetwork((int)drv["MemberId"], DateTime.Now.AddDays(-7)).DefaultView;

                if (downloads.Count > 0)
                {
                    StringBuilder str = new StringBuilder();

                    str.Append("<ul>");

                    foreach (DataRowView dr in downloads)
                    {
                        str.Append(string.Format("<li><a href=\"{0}://{1}{2}/DownloadHandler.ashx?FileId={3}\" />{4}</a></li>",
                                                 protocol, /*serverName*/ "66.162.120.92" /* this ip is used only for licensing website */, root, dr["DownloadId"], dr["Title"]));
                    }

                    str.Append("</ul>");

                    try
                    {
                        Mail m = new Mail("Weekly Downloads");

                        m.Data = new NameValueCollection();
                        m.Data["Downloads"] = str.ToString();
                        m.To = (string)drv["Email"];

                        m.Send();
                    }
                    catch
                    {
                    }
                }
            }
        }
Esempio n. 9
0
 public static void SignOut()
 {
     MembersManager.UpdateOnlineStatus(WebContext.Profile.UserId, false);
     WebContext.Profile.UserEmail         = "";
     WebContext.Profile.dbUserName        = "";
     WebContext.Profile.UserGuid          = new Guid();
     WebContext.Profile.UserId            = -1;
     WebContext.Profile.UserLogged        = false;
     WebContext.Profile.UserRememberMe    = false;
     WebContext.Profile.UserFullName      = "";
     WebContext.Profile.FriendsCount      = 0;
     WebContext.Profile.CurrentUserStatus = (int)UserStatus.None;
     WebContext.Profile.CurrentUserType   = UserType.Guest;
     WebContext.Profile.CurrentUserStatus = (int)lw.CTE.Enum.UserStatus.Unknown;
 }
Esempio n. 10
0
        public int UpdateOperator(
            int MemberId,
            string Email, string AlternateEmail,
            string FirstName, string LastName,
            int GroupId,
            string UserName, string SecretQuestion, string SecretAnswer, int status,
            string style, int ChangedBy, bool JoinNewsletter,
            string PrivateComments, string Comments)
        {
            DataView       dv   = GetOperators("MemberId=" + MemberId);
            MembersManager mMgr = new MembersManager();

            string pass = mMgr.DecryptPassword((string)dv[0]["Password"]);

            return(UpdateOperator(MemberId, Email, AlternateEmail, FirstName, LastName, GroupId, UserName, pass,
                                  SecretQuestion, SecretAnswer, status, style, ChangedBy, JoinNewsletter, PrivateComments, Comments));
        }
Esempio n. 11
0
        /// <summary>
        /// Returns the current logged in user with his profile
        /// </summary>
        /// <param name="ctrl">Any control on the current page or the page itself</param>
        /// <param name="GetWithProfile">Flag if set to true it will read from MemberView if false it will read from Members</param>
        /// <returns>DataRow Logged In Member</returns>
        public static DataRow LoggedInUser(Control ctrl, bool GetWithProfile)
        {
            lw.Base.CustomPage page = null;
            if (ctrl != null)
            {
                page = ctrl.Page as lw.Base.CustomPage;
            }

            if (page != null)
            {
                if (page.PageContext[cte.LoggedInUserContextKey] != null)
                {
                    return(page.PageContext[cte.LoggedInUserContextKey] as DataRow);
                }
            }

            if (WebContext.Profile.UserLogged)
            {
                MembersManager mMgr = new MembersManager();

                DataTable members;

                if (GetWithProfile)
                {
                    members = mMgr.GetMembersWithProfile(string.Format("MemberId={0}", WebContext.Profile.UserId));
                }
                else
                {
                    members = mMgr.GetMembers(string.Format("MemberId={0}", WebContext.Profile.UserId));
                }

                if (members.Rows.Count > 0)
                {
                    if (page != null)
                    {
                        page.PageContext[cte.LoggedInUserContextKey] = members.Rows[0];
                    }
                    return(members.Rows[0]);
                }
            }
            else
            {
                SignOut();
            }
            return(null);
        }
Esempio n. 12
0
        /// <summary>
        /// Removes the specified user names from the specified roles for the configured applicationName.
        /// </summary>
        /// <param name="usernames">A string array of user names to be removed from the specified roles.</param>
        /// <param name="roleNames">A string array of role names to remove the specified user names from.</param>
        public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
        {
            Roles allRoles = Roles.Visitor;
            Roles role;

            foreach (string roleName in roleNames)
            {
                role     = (Roles)Enum.Parse(typeof(Roles), roleName);
                allRoles = allRoles | role;
            }

            MembersDs.MembersRow member;

            foreach (string username in usernames)
            {
                member = manager.GetMember(username);
                Roles roles = member.Roles.EnsureEnum <Roles>() ^ allRoles;
                MembersManager.UpdateRoles(member.MemberId, roles);
            }
        }
Esempio n. 13
0
        public bool TryLogIn(string UserName, string Password)
        {
            OperatorsManager op = new OperatorsManager();

            System.Data.DataView dv = op.GetOperatorsV(string.Format("UserName='******' or Email='{0}'",
                                                                     StringUtils.SQLEncode(UserName)));
            if (dv.Count > 0)
            {
                MembersManager mMgr      = new MembersManager();
                string         _Password = dv[0]["Password"].ToString();
                int            stat      = (int)UserStatus.Enabled | (int)UserStatus.Modified;
                if (_Password.Equals(mMgr.EncryptPassword(Password)) &&
                    ((int)dv[0]["Status"] & stat) != 0)
                {
                    lw.Members.Security.User.LoginUser(mMgr.GetMember((int)dv[0]["MemberId"]));
                    LoginOp(dv[0]["GroupName"].ToString(), dv[0]["GroupName"].ToString());
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 14
0
        public static void TimeoutUser(string key, object v, System.Web.Caching.CacheItemRemovedReason r)
        {
            //   return;
            if (r == CacheItemRemovedReason.Removed ||
                r == CacheItemRemovedReason.DependencyChanged ||
                r == CacheItemRemovedReason.Expired)
            {
                string userId = v.ToString();

                WebContext.CreateHttpContext();

                try
                {
                    MembersManager.UpdateOnlineStatus(Int32.Parse(userId), false);
                }
                catch (Exception Ex)
                {
                    throw (Ex);
                }
            }
        }
Esempio n. 15
0
        public HomeController(
            ProductsManager _productsManager,
            MembersManager _membersManager,
            SysRolesManager _sysRolesManager,
            MemberRolesManager _memberRolesManager,
            SysFunctionsManager _sysFunctionsManager,
            SysRolesFunctionsManager _sysRolesFunctionsManager,

            IHttpContextAccessor _httpContextAccessor,
            ILogger <HomeController> _logger)
        {
            membersManager           = _membersManager;
            productsManager          = _productsManager;
            sysRolesManager          = _sysRolesManager;
            memberRolesManager       = _memberRolesManager;
            sysFunctionsManager      = _sysFunctionsManager;
            sysRolesFunctionsManager = _sysRolesFunctionsManager;

            logger  = _logger;
            session = _httpContextAccessor.HttpContext.Session;
        }
Esempio n. 16
0
        public bool Login(string userName, string Password)
        {
            if (Authenticate(userName, Password))
            {
                MembersManager mMgr = new MembersManager();
                DataRow        dr   = mMgr.GetMember(userName);
                if (dr == null)
                {
                    dr = mMgr.GetMember(userName + "@sabis.net");
                }
                if (dr != null)
                {
                    int      status   = (int)dr["Status"];
                    string   password = dr["Password"].ToString();
                    string[] gid      = dr["Geuid"].ToString().Split('-');

                    if (status == (int)lw.CTE.Enum.UserStatus.Enabled)
                    {
                        string m = "m";
                        string x = "x";
                        string y = "y";
                        string z = "z";
                        string p = "p";
                        string t = "t";
                        string l = "l";
                        string k = "k";
                        if (password == lw.Utils.Cryptography.Encrypt(gid[gid.Length - 1], m + x + y + z + p + t + y + l + k))
                        {
                            User.LoginUser(dr);
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Esempio n. 17
0
        public override void DataBind()
        {
            dataSrc = this.Parent as CommentsDataSource;

            if (!_bound)
            {
                _bound = true;

                CommentsManager cMgr = new CommentsManager();

                Comments.Comments_Tables_View table = cMgr.GetTableDetails(TableName);
                if (table == null)
                {
                    CommentsSetup cs = new CommentsSetup();
                    if (MembersOnly)
                    {
                        cs.CreateCommentsTableWithMembers(TableName, RelateTo, 1);
                    }
                    else
                    {
                        cs.CreateCommentsTableNoMembers(TableName, RelateTo, 1);
                    }

                    table = cMgr.GetTableDetails(TableName);
                }

                //HtmlInputHidden RelationId = new HtmlInputHidden();
                //RelationId.ID = "RelationId";
                //RelationId.Value = "-2";
                //this.Controls.Add(RelationId);

                HtmlInputHidden ParentId = new HtmlInputHidden();
                ParentId.ID = "ParentId";
                if (this.dataSrc == null)
                {
                    ParentId.Value = "-1";
                }
                else
                {
                    ParentId.Value = dataSrc.ParentId.ToString();
                }
                this.Controls.Add(ParentId);


                if (!NoRelations)
                {
                    object relationValue = ControlUtils.GetBoundedDataField(this.NamingContainer, table.RelationField);

                    RelationId = (int)relationValue;
                }
                if (AjaxSubmit)
                {
                    AjaxResponse resp = new AjaxResponse();

                    if (this.IsPostBack)
                    {
                        resp.callBack = this.AjaxCallback;
                        this.Validate();
                        resp.valid = this.IsValid.Value;

                        if (resp.valid)
                        {
                            if (this.MembersOnly)
                            {
                                string text = WebContext.Request["CommentText"];
                                if (!String.IsNullOrWhiteSpace(text))
                                {
                                    int comment = cMgr.AddMemberComment(TableName,
                                                                        Int32.Parse(ParentId.Value), RelationId,
                                                                        WebContext.Request["CommentTitle"],
                                                                        text, WebContext.Profile.UserId, CommentType.Text);

                                    var dr = cMgr.GetTopComment(TableName, RelationId, Int32.Parse(ParentId.Value), "Order By CommentId Desc");

                                    MembersManager mMgr = new MembersManager();

                                    resp r = new resp();

                                    string mId = dr["MemberId"].ToString();

                                    if (!String.IsNullOrWhiteSpace(mId))
                                    {
                                        var member = mMgr.GetMember(Int32.Parse(mId));

                                        r.FirstName = member.FirstName;
                                        r.LastName  = member.LastName;
                                        r.Username  = member.UserName;
                                        r.Picture   = member.Picture;
                                    }

                                    r.CommentId   = dr["CommentId"].ToString();
                                    r.ParentId    = dr["ParentId"].ToString();
                                    r.RelationId  = dr["RelationId"].ToString();
                                    r.DateCreated = string.Format("{0:MMM dd, yyyy} at {0:h:mm:tt}", dr["DateCreated"]);
                                    r.Title       = dr["Title"].ToString();
                                    r.CommentText = dr["CommentText"].ToString();
                                    r.MemberId    = dr["MemberId"].ToString();
                                    r.TableName   = TableName;

                                    resp.data    = r;
                                    resp.message = "Text successfully added";
                                    resp.error   = null;
                                }
                                else
                                {
                                    resp.message = "Please write your text before submitting and try again.";
                                    resp.error   = "true";
                                }
                            }
                            else
                            {
                                NameValueCollection post = GetValues();
                                ContentManager      pMgr = new ContentManager();

                                CustomPage thisPage = this.Page as CustomPage;
                                if (thisPage == null)
                                {
                                    thisPage = new CustomPage();
                                }

                                if (String.IsNullOrEmpty(post["Name"]))
                                {
                                    Validated = false;
                                    ErrorContext.Add("validation-name", ContentManager.ErrorMsg("Name-Validation", thisPage.Language));
                                }
                                if (String.IsNullOrEmpty(post["Email"]) || !Validation.IsEmail(post["Email"]))
                                {
                                    Validated = false;
                                    ErrorContext.Add("validation-email", ContentManager.ErrorMsg("Email-Validation", thisPage.Language));
                                }
                                if (String.IsNullOrEmpty(post["Title"]))
                                {
                                    Validated = false;
                                    ErrorContext.Add("validation-comment", ContentManager.ErrorMsg("Comment-Validation", thisPage.Language));
                                }
                                if (String.IsNullOrEmpty(post["Comment"]))
                                {
                                    Validated = false;
                                    ErrorContext.Add("validation-comment", ContentManager.ErrorMsg("Comment-Validation", thisPage.Language));
                                }
                                if (Validated != null && Validated.Value)
                                {
                                    int commentId = -1;
                                    try
                                    {
                                        commentId = cMgr.AddNoMemberComment(TableName, -1,
                                                                            RelationId,
                                                                            post["Title"],
                                                                            post["Comment"], WebContext.Profile.UserGuid,
                                                                            post["Name"], post["Website"],
                                                                            post["Country"], WebContext.Request.ServerVariables["REMOTE_ADDR"],
                                                                            post["avatar"], CommentType.Text);
                                    }
                                    catch (Exception ex)
                                    {
                                        ErrorContext.Add(ex);
                                    }
                                    if (commentId > 0)
                                    {
                                        if (!String.IsNullOrEmpty(table.Email))
                                        {
                                            Config cfg  = new Config();
                                            Mail   mail = new Mail("Comments");
                                            mail.Subject = post["Name"] + " submitted a comment to " + table.TableName;

                                            NameValueCollection dic = new NameValueCollection();
                                            dic["Name"]    = post["Name"];
                                            dic["Email"]   = post["Email"];
                                            dic["Comment"] = StringUtils.PutBR(post["Comment"].ToString());

                                            if (!String.IsNullOrWhiteSpace(post["Website"]))
                                            {
                                                dic["Website"] = post["Website"];
                                            }

                                            ArrayList files = cMgr.AddFiles(TableName, commentId);

                                            StringBuilder sb = new StringBuilder();

                                            if (files.Count > 0)
                                            {
                                                sb.Append("<dl><dt>Files:</dt><dd>");
                                                foreach (string s in files)
                                                {
                                                    string temp = s;
                                                    if (temp.IndexOf("~") == 0)
                                                    {
                                                        temp = temp.Substring(1);
                                                    }

                                                    sb.Append(String.Format("<a href=\"http://{0}/{1}\">{2}</a>",
                                                                            WebTools.WebContext.ServerName,
                                                                            s.Replace("\\", "/").Substring(1),
                                                                            Path.GetFileName(temp)));
                                                    sb.Append("<br />");
                                                }
                                                sb.Append("</dd></dl>");
                                            }

                                            dic["Files"] = sb.ToString();
                                            sb.Clear();

                                            sb.Append(string.Format(@"<p>
	<a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=approve"">Approve</a>
	- <a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=edit"">Edit</a>
	- <a href=""http://{0}/Prv/proxies/comments/status.ashx?CommentId={1}&table={2}&action=delete"">Delete</a>
</p>", WebTools.WebContext.ServerName, commentId, table.TableName));

                                            dic["Permission"] = sb.ToString();

                                            mail.Data = dic;
                                            mail.To   = table.Email;

                                            /*
                                             * mail.From = cfg.GetKey("EmailsFrom");
                                             *
                                             * StringBuilder sb = new StringBuilder();
                                             *
                                             * sb.Append("<dl>");
                                             * sb.Append(String.Format("<dt>Name: </dt><dd>{0}</dd>", post["Name"]));
                                             * sb.Append(String.Format("<dt>Email: </dt><dd>{0}</dd>", post["Email"]));
                                             *
                                             * if(!String.IsNullOrWhiteSpace(post["Website"]))
                                             *      sb.Append(String.Format("<dt>Website: </dt><dd>{0}</dd>", post["Website"]));
                                             *
                                             *
                                             * ArrayList files = cMgr.AddFiles(TableName, commentId);
                                             *
                                             * if (files.Count > 0)
                                             * {
                                             *      sb.Append("<dt>Files:</dt><dd>");
                                             *      foreach (string s in files)
                                             *      {
                                             *              String.Format("<a href=\"{0}/{1}\">{2}</a>",
                                             *                      WebTools.WebContext.ServerName,
                                             *                      s.Replace("\\", "/"),
                                             *                      Path.GetFileName(s));
                                             *      }
                                             *      sb.Append("</dd>");
                                             * }
                                             *
                                             * sb.Append(String.Format("<dt>Comment: </dt><dd>{0}</dd>", StringUtils.PutBR(post["Comment"])));
                                             * sb.Append("</dl>");
                                             *
                                             * sb.Append(string.Format(@"<p>
                                             * <a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=approve"">Approve</a>
                                             * - <a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=edit"">Edit</a>
                                             * - <a href=""http://{0}/Prv/proxies/comments/status.ashx?CommentId={1}&table={2}&action=delete"">Delete</a>
                                             * </p>", WebTools.WebContext.ServerName, commentId, table.TableName));
                                             *
                                             * mail.Body = sb.ToString();
                                             * mail.Subject = post["Name"] + " submitted a comment to " + table.TableName;
                                             */
                                            mail.Send();
                                        }
                                        SuccessContext.Add("comment-submitted", ContentManager.Message("comment-submitted"));
                                        this.Visible = false;
                                    }
                                }
                            }
                        }
                        resp.WriteJson(true);
                    }
                }
                else
                {
                    if (this.MembersOnly)
                    {
                        string text = WebContext.Request["CommentText"];
                        if (!String.IsNullOrWhiteSpace(text))
                        {
                            cMgr.AddMemberComment(TableName,
                                                  Int32.Parse(ParentId.Value), RelationId,
                                                  WebContext.Request["CommentTitle"],
                                                  text, WebContext.Profile.UserId, CommentType.Text);

                            WebContext.Response.Redirect(WebContext.Request.RawUrl);
                        }
                    }
                    else
                    {
                        NameValueCollection post = GetValues();
                        ContentManager      pMgr = new ContentManager();

                        CustomPage thisPage = this.Page as CustomPage;
                        if (thisPage == null)
                        {
                            thisPage = new CustomPage();
                        }

                        if (String.IsNullOrEmpty(post["Name"]))
                        {
                            Validated = false;
                            ErrorContext.Add("validation-name", ContentManager.ErrorMsg("Name-Validation", thisPage.Language));
                        }
                        if (String.IsNullOrEmpty(post["Email"]) || !Validation.IsEmail(post["Email"]))
                        {
                            Validated = false;
                            ErrorContext.Add("validation-email", ContentManager.ErrorMsg("Email-Validation", thisPage.Language));
                        }
                        if (String.IsNullOrEmpty(post["Title"]))
                        {
                            Validated = false;
                            ErrorContext.Add("validation-comment", ContentManager.ErrorMsg("Comment-Validation", thisPage.Language));
                        }
                        if (String.IsNullOrEmpty(post["Comment"]))
                        {
                            Validated = false;
                            ErrorContext.Add("validation-comment", ContentManager.ErrorMsg("Comment-Validation", thisPage.Language));
                        }
                        if (Validated != null && Validated.Value)
                        {
                            int commentId = -1;
                            try
                            {
                                commentId = cMgr.AddNoMemberComment(TableName, -1,
                                                                    RelationId,
                                                                    post["Title"],
                                                                    post["Comment"], WebContext.Profile.UserGuid,
                                                                    post["Name"], post["Website"],
                                                                    post["Country"], WebContext.Request.ServerVariables["REMOTE_ADDR"],
                                                                    post["avatar"], CommentType.Text);
                            }
                            catch (Exception ex)
                            {
                                ErrorContext.Add(ex);
                            }
                            if (commentId > 0)
                            {
                                if (!String.IsNullOrEmpty(table.Email))
                                {
                                    Config cfg  = new Config();
                                    Mail   mail = new Mail("Comments");
                                    mail.Subject = post["Name"] + " submitted a comment to " + table.TableName;

                                    NameValueCollection dic = new NameValueCollection();
                                    dic["Name"]    = post["Name"];
                                    dic["Email"]   = post["Email"];
                                    dic["Comment"] = StringUtils.PutBR(post["Comment"].ToString());

                                    if (!String.IsNullOrWhiteSpace(post["Website"]))
                                    {
                                        dic["Website"] = post["Website"];
                                    }

                                    ArrayList files = cMgr.AddFiles(TableName, commentId);

                                    StringBuilder sb = new StringBuilder();

                                    if (files.Count > 0)
                                    {
                                        sb.Append("<dl><dt>Files:</dt><dd>");
                                        foreach (string s in files)
                                        {
                                            string temp = s;
                                            if (temp.IndexOf("~") == 0)
                                            {
                                                temp = temp.Substring(1);
                                            }

                                            sb.Append(String.Format("<a href=\"http://{0}/{1}\">{2}</a>",
                                                                    WebTools.WebContext.ServerName,
                                                                    s.Replace("\\", "/").Substring(1),
                                                                    Path.GetFileName(temp)));
                                            sb.Append("<br />");
                                        }
                                        sb.Append("</dd></dl>");
                                    }

                                    dic["Files"] = sb.ToString();
                                    sb.Clear();

                                    sb.Append(string.Format(@"<p>
								<a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=approve"">Approve</a>
								- <a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=edit"">Edit</a>
								- <a href=""http://{0}/Prv/proxies/comments/status.ashx?CommentId={1}&table={2}&action=delete"">Delete</a>
							</p>"                            , WebTools.WebContext.ServerName, commentId, table.TableName));

                                    dic["Permission"] = sb.ToString();

                                    mail.Data = dic;
                                    mail.To   = table.Email;

                                    /*
                                     * mail.From = cfg.GetKey("EmailsFrom");
                                     *
                                     * StringBuilder sb = new StringBuilder();
                                     *
                                     * sb.Append("<dl>");
                                     * sb.Append(String.Format("<dt>Name: </dt><dd>{0}</dd>", post["Name"]));
                                     * sb.Append(String.Format("<dt>Email: </dt><dd>{0}</dd>", post["Email"]));
                                     *
                                     * if(!String.IsNullOrWhiteSpace(post["Website"]))
                                     *      sb.Append(String.Format("<dt>Website: </dt><dd>{0}</dd>", post["Website"]));
                                     *
                                     *
                                     * ArrayList files = cMgr.AddFiles(TableName, commentId);
                                     *
                                     * if (files.Count > 0)
                                     * {
                                     *      sb.Append("<dt>Files:</dt><dd>");
                                     *      foreach (string s in files)
                                     *      {
                                     *              String.Format("<a href=\"{0}/{1}\">{2}</a>",
                                     *                      WebTools.WebContext.ServerName,
                                     *                      s.Replace("\\", "/"),
                                     *                      Path.GetFileName(s));
                                     *      }
                                     *      sb.Append("</dd>");
                                     * }
                                     *
                                     * sb.Append(String.Format("<dt>Comment: </dt><dd>{0}</dd>", StringUtils.PutBR(post["Comment"])));
                                     * sb.Append("</dl>");
                                     *
                                     * sb.Append(string.Format(@"<p>
                                     * <a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=approve"">Approve</a>
                                     * - <a href=""http://{0}/Prv/proxies/comments/status.ashx?commentId={1}&table={2}&action=edit"">Edit</a>
                                     * - <a href=""http://{0}/Prv/proxies/comments/status.ashx?CommentId={1}&table={2}&action=delete"">Delete</a>
                                     * </p>", WebTools.WebContext.ServerName, commentId, table.TableName));
                                     *
                                     * mail.Body = sb.ToString();
                                     * mail.Subject = post["Name"] + " submitted a comment to " + table.TableName;
                                     */
                                    mail.Send();
                                }
                                SuccessContext.Add("comment-submitted", ContentManager.Message("comment-submitted"));
                                this.Visible = false;
                            }
                        }
                    }
                }
            }
            base.DataBind();
        }
Esempio n. 18
0
        public void DeleteOperator(int OperatorId)
        {
            MembersManager mMgr = new MembersManager();

            mMgr.DeleteMember(OperatorId);
        }
Esempio n. 19
0
        public override void DataBind()
        {
            if (bound)
            {
                return;
            }
            bound = true;

            this.Visible = false;

            UserStatus status = UserStatus.Unknown;

            if (User.LoggedIn)
            {
                status = MembersManager.GetUserStatus(User.LoggedInUser(this));
            }
            if (Price == PriceCategory.ResellerPrice && status != UserStatus.Reseller)
            {
                this.Visible = false;
                return;
            }


            DataRowView price = GetDefaultPrice();

            bool   UseMultiplePriceForItems = true;
            string temp = lw.WebTools.XmlManager.GetFromWebConfig(lw.CTE.parameters.UseMultiplePriceForItems);

            if (!string.IsNullOrWhiteSpace(temp))
            {
                UseMultiplePriceForItems = bool.Parse(temp);
            }

            try
            {
                if (price == null || !UseMultiplePriceForItems)
                {
                    object obj = DataBinder.Eval(this.NamingContainer, "DataItem." + Price.ToString());

                    if (obj != null && obj != System.DBNull.Value)
                    {
                        int stat = (int)DataBinder.Eval(this.NamingContainer, "DataItem.Status");
                        if (!Tools.CheckStatus(ItemStatus.OnSale, stat) && Price == PriceCategory.SalePrice)
                        {
                            return;
                        }
                        _priceValue = (decimal)obj;

                        this.Text    = string.Format(Format, obj);
                        this.Visible = true;

                        if (Price == PriceCategory.Price)
                        {
                            if (Tools.CheckStatus(ItemStatus.OnSale, stat))
                            {
                                this.CssClass += " strike";
                            }
                            else
                            {
                                if (status == UserStatus.Reseller)
                                {
                                    this.CssClass += " strike";
                                }
                            }
                        }
                    }
                }
                else
                {
                    object obj = price["Price"];

                    if (obj != null && obj != System.DBNull.Value)
                    {
                        int stat = (int)DataBinder.Eval(this.NamingContainer, "DataItem.Status");
                        if (!Tools.CheckStatus(ItemStatus.OnSale, stat) && Price == PriceCategory.SalePrice)
                        {
                            return;
                        }
                        _priceValue = (decimal)obj;

                        this.Text    = string.Format(Format, obj) + "/" + price["PriceFor"].ToString();
                        this.Visible = true;

                        if (Price == PriceCategory.Price)
                        {
                            if (Tools.CheckStatus(ItemStatus.OnSale, stat))
                            {
                                this.CssClass += " strike";
                            }
                            else
                            {
                                if (status == UserStatus.Reseller)
                                {
                                    this.CssClass += " strike";
                                }
                            }
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                lw.WebTools.ErrorContext.Add(ex);
            }

            base.DataBind();
        }
Esempio n. 20
0
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            if (!_bound)
            {
                this.DataBind();
            }



            if (memberRow == null)
            {
                return;
            }


            MembersManager mMgr = new MembersManager();


            //why we have to get the member row again??? i couldn't find a reason.
            //memberRow = mMgr.GetMemberProfile((int)memberRow["MemberId"]);


            string picture = "";

            if (memberRow["Picture"] != System.DBNull.Value &&
                !String.IsNullOrEmpty(memberRow["Picture"].ToString()))
            {
                picture = memberRow["Picture"].ToString();
            }
            int MemberId = (int)memberRow["MemberId"];
            int privacy  = 0;

            if (memberRow["Privacy"] != DBNull.Value)
            {
                privacy = (int)memberRow["Privacy"];
            }

            string image = "";

            PrivacySettingsManager psMgr = new PrivacySettingsManager();

            if (MemberId != WebContext.Profile.UserId)
            {
                switch (psMgr.CheckMemberProperty("ProfilePicture", privacy))
                {
                case PrivacyOptions.OnlyMe:
                    picture = "";
                    break;

                case PrivacyOptions.Friends:
                    lw.Base.CustomPage page = this.Page as lw.Base.CustomPage;

                    DataTable MyFriends = FriendsManager.GetMyFriends(page);

                    if (MyFriends.Select(string.Format("FriendId={0} and Status=1", memberRow["MemberId"])).Length == 0)
                    {
                        picture = "";
                    }
                    break;

                default:
                    break;
                }
                if (!Visible)
                {
                    return;
                }
            }

            if (picture != "")
            {
                if (useGUID)
                {
                    image = string.Format("{0}/{2}/{1}",
                                          MembersSettings.MemberPicturesFolder, picture, StringUtils.ToURL(memberRow["Geuid"]));
                }
                else
                {
                    image = string.Format("{0}/{2}/{1}",
                                          MembersSettings.MemberPicturesFolder, picture, StringUtils.ToURL(memberRow["UserName"]));
                }
            }
            else
            {
                if (NoPicture != "")
                {
                    image     = NoPicture;
                    this._Src = NoPicture;
                }

                else
                {
                    if (NoFPicture != "" && NoMPicture != "")
                    {
                        Gender?_gender = Gender.Male;
                        try
                        {
                            _gender = (lw.Members.Gender)Enum.Parse(typeof(lw.Members.Gender), memberRow["Gender"].ToString());
                        }
                        catch
                        {
                        }


                        if (_gender == lw.Members.Gender.Male)
                        {
                            image     = NoMPicture;
                            this._Src = NoMPicture;
                        }
                        else
                        {
                            image     = NoFPicture;
                            this._Src = NoFPicture;
                        }
                    }
                }
            }

            //this.Alt = memberRow["Name"].ToString();
            this.Alt = memberRow["FirstName"].ToString() + " " + memberRow["LastName"].ToString();

            switch (MemberImageType)
            {
            case ImageType.Crop:
            case ImageType.Resize:
                if (_width > 0)
                {
                    if (MemberImageType == ImageType.Resize)
                    {
                        this._Src = string.Format("{4}/prv/handlers/ImageResizer.ashx?src={0}&width={1}&height={2}&fillColor={3}",
                                                  image, _Width, _Height, FillColor.ToArgb(), WebContext.Root);
                    }
                    else
                    {
                        this._Src = string.Format("{4}/prv/handlers/ImageCropper.ashx?src={0}&width={1}&height={2}&fillColor={3}",
                                                  image, _Width, _Height, FillColor.ToArgb());
                    }
                }
                else
                {
                    this._Src = string.Format("{0}/{1}", WebContext.Root, image);
                }
                break;

            case ImageType.NewResize:
                this._Src = string.Format("{3}prv/handlers/ResizeImage.ashx?img={0}&w={1}&h={2}",
                                          image, _Width, _Height, WebContext.Root);
                break;

            case ImageType.Large:
                this._Src = image;
                break;

            case ImageType.Medium:
                if (picture != "")
                {
                    this._Src = image.ToLower().Replace(".jpg", "-m.jpg");
                }
                else
                {
                    this._Src = NoPicture;
                }
                break;

            case ImageType.Thumb:
                if (picture != "")
                {
                    this._Src = image.ToLower().Replace(".jpg", "-s.jpg?" + DateTime.Now.ToFileTime());                             // Datetime added to prevent cashing
                }
                else
                {
                    this._Src = NoPicture;
                }
                break;

            default:
                break;
            }
            if (this._Src != "")
            {
                this.Src = WebContext.Root + "/" + this._Src;
                base.Render(writer);
            }
        }
Esempio n. 21
0
 public MembersDataSource()
 {
     this.DataLibrary = cte.lib;
     OrderBy          = "MemberId Desc";
     mMgr             = new MembersManager();
 }