コード例 #1
0
ファイル: Utils.cs プロジェクト: wefasdfaew2/tngames
        public static string ResolveMessage(string template, User user)
        {
            string result = template;

            if (user != null && !string.IsNullOrEmpty(template))
            {
                string activeLink = string.Format("/kich-hoat-tai-khoan/{0}", user.ActiveCode);
                string siteUrl    = TNHelper.GetSettings().SiteUrl;
                if (siteUrl.EndsWith("/"))
                {
                    siteUrl = siteUrl.Substring(0, siteUrl.Length - 1);
                }

                activeLink = string.Format("{0}{1}", siteUrl, activeLink);

                if (!string.IsNullOrEmpty(result))
                {
                    result = result.Replace("$SiteUrl$", TNHelper.GetSettings().SiteUrl);
                    result = result.Replace("$Username$", user.DisplayName);
                    result = result.Replace("$Password$", user.Password);
                    result = result.Replace("$ActiveLink$", activeLink);
                    result = result.Replace("$AcitveCode$", user.ActiveCode);
                }
            }
            return(result);
        }
コード例 #2
0
ファイル: Settings.ascx.cs プロジェクト: wefasdfaew2/tngames
        private void LoadEditData()
        {
            BizSettings biz = TNHelper.GetSettings();

            if (biz != null)
            {
                txtSmtpServer.Text            = biz.SmtpServer;
                txtSmtpUsername.Text          = biz.SmtpUsername;
                txtSmtpPassword.Text          = biz.SmtpPassword;
                chkSmtpAuthentication.Checked = biz.SmtpAuthentication;
                txtSmtpPort.Text = biz.SmtpPort.ToString();

                txtDefaultSender.Text = biz.DefaultSender;
                txtSiteUrl.Text       = biz.SiteUrl;

                txtAcitveSubject.Text       = biz.ActiveEmailSubject;
                txtActiveEmailTemplate.Text = biz.ActiveEmailTemplate;

                txtResetSubject.Text = biz.ResetEmailSubject;
                txtRestBody.Text     = biz.ResetEmailTemplate;

                txtDefaultPoint.Text    = biz.DefaultPoint.ToString();
                txtHomeDisplayItem.Text = biz.HomeDisplayItem.ToString();
            }
        }
コード例 #3
0
ファイル: Utils.cs プロジェクト: wefasdfaew2/tngames
        public static bool SendEmail(string from, string to, string subject, string body)
        {
            string server         = TNHelper.GetSettings().SmtpServer;
            string username       = TNHelper.GetSettings().SmtpUsername;
            string password       = TNHelper.GetSettings().SmtpPassword;
            bool   authentication = TNHelper.GetSettings().SmtpAuthentication;
            int    port           = TNHelper.GetSettings().SmtpPort;

            MailMessage msg = new MailMessage();

            string[] addresses = to.Split(new string[] { ";", "," }, StringSplitOptions.RemoveEmptyEntries);
            msg.To.Clear();
            Regex regr = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");

            foreach (string adr in addresses)
            {
                if (regr.IsMatch(adr.Trim()))
                {
                    msg.To.Add(adr);
                }
            }

            msg.From            = new MailAddress(from);
            msg.Subject         = subject;
            msg.Body            = body;
            msg.BodyEncoding    = Encoding.UTF8;
            msg.IsBodyHtml      = true;
            msg.SubjectEncoding = Encoding.UTF8;

            SmtpClient mailClient = new SmtpClient();

            if (authentication)
            {
                System.Net.NetworkCredential credential = new System.Net.NetworkCredential(username, password);
                mailClient.Credentials = credential;

                if (username.ToLower().Contains("gmail.com"))
                {
                    mailClient.EnableSsl = true;
                }
            }

            mailClient.Host = server;
            mailClient.Port = port;

            try
            {
                mailClient.Send(msg);
                return(true);
            }
            catch (Exception exp)
            {
                TNHelper.LogError(body, exp.ToString());
                return(false);
            }
        }
コード例 #4
0
ファイル: Register.ascx.cs プロジェクト: wefasdfaew2/tngames
        private bool SendActiveEmail(User user, string code)
        {
            string subject = TNHelper.GetSettings().ActiveEmailSubject;
            string body    = TNHelper.GetSettings().ActiveEmailTemplate;
            string from    = TNHelper.GetSettings().DefaultSender;
            string to      = user.Email;

            subject = Utils.ResolveMessage(subject, user);
            body    = Utils.ResolveMessage(body, user);

            return(Utils.SendEmail(from, to, subject, body));
        }
コード例 #5
0
        protected void btnSend_Click(object sender, EventArgs e)
        {
            string email = txtEmail.Text.Trim();
            User   user  = TNHelper.GetUserByEmail(email);

            if (user == null)
            {
                Utils.ShowMessage(lblMsg, "Địa chỉ email không tồn tại.");
            }
            else if (user != null && !user.Active)
            {
                Utils.ShowMessage(lblMsg, "Tài khoản của bạn chưa được kích hoạt. Hãy kích hoạt tài của bạn trước khi gởi yêu cầu mật khẩu mới.");
            }
            else
            {
                user = DomainManager.GetObject <User>(user.Id);
                if (user != null)
                {
                    string newpass = Utils.GetNewPassword();
                    string oldpass = user.Password;
                    user.Password = newpass;

                    string from    = TNHelper.GetSettings().DefaultSender;
                    string to      = user.Email;
                    string subject = TNHelper.GetSettings().ResetEmailSubject;
                    subject = Utils.ResolveMessage(subject, user);

                    string content = TNHelper.GetSettings().ResetEmailTemplate;
                    content = Utils.ResolveMessage(content, user);

                    if (Utils.SendEmail(from, to, subject, content))
                    {
                        pnlReset.Visible = false;
                        user.Password    = Utils.EncodePassword(newpass);
                        DomainManager.Update(user);
                        Utils.ResetCurrentUser();
                        Utils.ShowMessage(lblMsg, string.Format("Mật khẩu mới đã được gởi vào địa chỉ email <b>{0}</b>", email));
                        TNHelper.LogAction(user, LogType.UserLog, "Reset mật khẩu");
                    }
                    else
                    {
                        user.Password = oldpass;
                        DomainManager.Update(user);
                        Utils.ResetCurrentUser();
                        Utils.ShowMessage(lblMsg, "Gởi mật khẩu không thành công. Bạn hãy thử lại sau.");
                        TNHelper.LogAction(user, LogType.UserLog, "Reset mật khẩu không thành công.");
                    }
                }
            }
        }
コード例 #6
0
ファイル: Profile.ascx.cs プロジェクト: wefasdfaew2/tngames
        protected void btnResetAccount_Click(object sender, EventArgs e)
        {
            User user = Utils.GetCurrentUser();

            if (user != null && TNHelper.ResetUser(user.Id))
            {
                TNHelper.LogAction(LogType.UserLog, "Khởi tạo thông tin tài khoản");
                litPoint.Text = TNHelper.GetSettings().DefaultPoint.ToString("N0");
                Utils.ShowMessage(lblMsgPoint, "Tài khoản của bạn đã được khởi tạo lại thành công.");
            }
            else
            {
                Utils.ShowMessage(lblMsgPoint, "Khởi tạo tài khoản không thành công.");
            }
        }
コード例 #7
0
        private void LoadData()
        {
            BizSettings biz   = TNHelper.GetSettings();
            int         count = new BizSettings().HomeDisplayItem;

            if (biz != null)
            {
                count = biz.HomeDisplayItem;
            }

            List <User> lst = TNHelper.GetTopRankingUser(count);

            if (lst != null && lst.Count > 0)
            {
                rptList.DataSource = lst;
                rptList.DataBind();
            }
            else
            {
                rptList.Visible = false;
                Utils.ShowMessage(lblMsg, "Không tìm thấy dữ liệu");
            }
        }
コード例 #8
0
ファイル: Settings.ascx.cs プロジェクト: wefasdfaew2/tngames
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                BizSettings biz = TNHelper.GetSettings();
                if (biz == null)
                {
                    biz = new BizSettings();
                }

                biz.SmtpServer   = TextInputUtil.GetSafeInput(txtSmtpServer.Text);
                biz.SmtpUsername = TextInputUtil.GetSafeInput(txtSmtpUsername.Text);
                if (txtSmtpPassword.Text.Trim().Length > 0)
                {
                    biz.SmtpPassword = TextInputUtil.GetSafeInput(txtSmtpPassword.Text);
                }
                biz.SmtpAuthentication = chkSmtpAuthentication.Checked;

                int port;
                int.TryParse(txtSmtpPort.Text.Trim(), out port);
                if (port == 0)
                {
                    port = 80;
                }
                biz.SmtpPort = port;

                biz.DefaultSender       = TextInputUtil.GetSafeInput(txtDefaultSender.Text);
                biz.SiteUrl             = TextInputUtil.GetSafeInput(txtSiteUrl.Text.Trim());
                biz.ActiveEmailSubject  = TextInputUtil.GetSafeInput(txtAcitveSubject.Text);
                biz.ActiveEmailTemplate = TextInputUtil.GetSafeInput(txtActiveEmailTemplate.Text);

                biz.ResetEmailSubject  = TextInputUtil.GetSafeInput(txtResetSubject.Text);
                biz.ResetEmailTemplate = TextInputUtil.GetSafeInput(txtRestBody.Text);

                int point;
                int.TryParse(txtDefaultPoint.Text.Trim(), out point);
                if (point == 0)
                {
                    point = new BizSettings().DefaultPoint;
                }
                biz.DefaultPoint = point;


                int homeDisplayItem;
                int.TryParse(txtHomeDisplayItem.Text.Trim(), out homeDisplayItem);
                if (homeDisplayItem == 0)
                {
                    homeDisplayItem = new BizSettings().HomeDisplayItem;
                }
                biz.HomeDisplayItem = homeDisplayItem;

                Setting setting = DomainManager.GetObject <Setting>(1);
                if (setting == null)
                {
                    setting = new Setting();
                }

                setting.SettingValue = Utils.SerializeObject <BizSettings>(biz);

                if (setting.Id == 0)
                {
                    DomainManager.Insert(setting);
                }
                else
                {
                    DomainManager.Update(setting);
                }

                TNHelper.RemoveCaches();
                Utils.ShowMessage(lblMsg, "Cập nhật thông tin cấu hình thành công.");
            }
        }
コード例 #9
0
ファイル: Register.ascx.cs プロジェクト: wefasdfaew2/tngames
        protected void btnRegister_Click(object sender, EventArgs e)
        {
            #region Valid data

            string captcha = Session[TNHelper.CaptchaKey] as string;
            if (string.Compare(txtCaptcha.Text, captcha, false) != 0)
            {
                Utils.ShowMessage(lblMsg, "Mã captcha chưa đúng. Bạn hãy kiểm tra lại.");
                return;
            }

            string email = TextInputUtil.GetSafeInput(txtEmail.Text.Trim());
            if (!TNHelper.IsValidRegisterEmail(email))
            {
                Utils.ShowMessage(lblMsg, string.Format("Địa chỉ email <b>{0}</b> đã được sử dụng.", email));
                return;
            }

            if (string.Compare(txtPassword.Text, txtRetypePass.Text, false) != 0)
            {
                Utils.ShowMessage(lblMsg, "Mật khẩu chưa trùng khớp. Hãy kiểm tra lại");
                return;
            }

            #endregion

            if (Page.IsValid)
            {
                User user = new User();
                user.DisplayName  = TextInputUtil.GetSafeInput(txtDisplayName.Text);
                user.FullName     = TextInputUtil.GetSafeInput(txtFullName.Text);
                user.Email        = email;
                user.Password     = Utils.EncodePassword(txtPassword.Text);
                user.RegisterDate = DateTime.Now;
                string code = Utils.GenerateNewActiveCode();
                user.ActiveCode = code;
                user.Point      = TNHelper.GetSettings().DefaultPoint;

                if (user.Point == 0)
                {
                    TNHelper.LogError("Không lấy được điểm khởi tạo. Khởi tạo lại điểm mặc định.", "Error get GetSettings object");
                    user.Point = new BizSettings().DefaultPoint;
                }


                if (DomainManager.Insert(user))
                {
                    bool isSent = SendActiveEmail(user, code);
                    if (isSent)
                    {
                        Utils.ShowMessage(lblMsg, string.Format("Đăng ký tài khoản thành công. Email kích hoạt đã đựoc gởi tới địa chỉ email <b>{0}</b> của bạn.", user.Email));
                    }
                    else
                    {
                        Utils.ShowMessage(lblMsg, string.Format("Gởi email kích hoạt không thành công. Bạn liên hệ admin để kích hoạt tài khoản.", user.Email));
                        lblMsg.ForeColor = Color.Red;
                    }

                    TNHelper.LogAction(user, LogType.UserLog, "Đăng ký tài khoản");
                    pnlRegister.Visible = false;
                }
                else
                {
                    Utils.ShowMessage(lblMsg, "Đăng ký tài khoản không thành công. Bạn hãy thử lại");
                }
            }
        }