protected void btnResetPassword_Click(object sender, EventArgs e) { int user_id = Convert.ToInt32(Context.Items["UserID"]); if (txtPassword.Text == "") { lblMsgReset.Text = "<br><br>New password cannot be blank"; } else if (txtPassword.Text.Length < 6) { lblMsgReset.Text = "<br><br>New password cannot be less than 6 characters"; } else if (txtPassword.Text.Length > 15) { lblMsgReset.Text = "<br><br>New password cannot be longer than 15 characters"; } else if (txtPassword.Text == txtPasswordConfirm.Text) { lblMsgReset.Text = ""; qPtl_User user = new qPtl_User(user_id); user.PasswordResetCode = ""; string password_for_storing = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "sha1"); user.Password = password_for_storing; user.Update(); lblMsgReset.Text = "Your password has been successfully reset.<br><br>"; } else { lblMsgReset.Text = "<br><br>Passwords did not match"; } }
protected string AddCampaignUserPreference(qSoc_Campaign campaign, qPtl_User user, int scope_id) { string return_did = string.Empty; int campaign_did = qCom_CampaignDID.GetNextAvailableCampaignPhoneNumber(campaign.CampaignID); if (campaign_did > 0) { qCom_CampaignDID did = new qCom_CampaignDID(campaign_did); if (did != null) { if (did.CampaignDID > 0) { qCom_UserCampaignPreference u_pref = new qCom_UserCampaignPreference(); u_pref.DID = did.DID; u_pref.UserID = user.UserID; u_pref.Available = "Yes"; u_pref.ScopeID = scope_id; u_pref.Created = DateTime.Now; u_pref.CreatedBy = user.UserID; u_pref.LastModified = DateTime.Now; u_pref.LastModifiedBy = user.UserID; u_pref.MarkAsDelete = 0; u_pref.CampaignID = campaign.CampaignID; u_pref.Insert(); return_did = did.DID; } } } return(return_did); }
protected void radSendTestMessage_Click(object sender, EventArgs e) { int currentUserID = Convert.ToInt32(Context.Items["UserID"]); qPtl_User user = new qPtl_User(Convert.ToInt32(Request.QueryString["userID"])); qPtl_UserProfile profile = new qPtl_UserProfile(Convert.ToInt32(Request.QueryString["userID"])); string userMobile = string.Empty; string smsMessage = string.Empty; string smsMessageURI = string.Empty; userMobile = txtMobileNumber.Text; // create object string smsMode = System.Configuration.ConfigurationManager.AppSettings["SMSMode"]; Guid authToken = new Guid(System.Configuration.ConfigurationManager.AppSettings["SMSLicenseKey"]); Quartz.Communication.qCom_SMSMessageLog sendLong = new Quartz.Communication.qCom_SMSMessageLog(); // send message + add log if (smsMode == "did") { // use custom number + key string did = System.Configuration.ConfigurationManager.AppSettings["SMSDid"]; Quartz.Communication.CDYNE.SMSResponse[] response = Quartz.Communication.qCom_SMSMessage.SendSMSAdvancedSendMessage(userMobile, smsMessage, authToken, did, 0, false); sendLong.Insert(1, DateTime.Now, user.UserID, 0, smsMessageURI, userMobile, did, smsMessage, "sent", Convert.ToString(response[0].MessageID), 0, 0, "", false, false, 0, false, false, 0, string.Empty); } lblMessage.Text += "Finished sending text message to " + userMobile + "<br>"; lblMessage.Visible = true; }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int emailID = Convert.ToInt32(Request.QueryString["emailID"]); // create object qCom_EmailTool email = new qCom_EmailTool(emailID); qPtl_User user = new qPtl_User(Convert.ToInt32(Context.Items["UserID"])); txtEmail.Text = user.Email; lblSubject.Text = email.emailSubject; // get headers and footers string query = "SELECT TOP(1) * FROM qCom_EmailPreferences WHERE Available = 'Yes'"; qDbs_SQLcode sql = new qDbs_SQLcode(); SqlDataReader eReader = sql.GetDataReader(query); eReader.Read(); string header = Convert.ToString(eReader["Header"]); string footer = Convert.ToString(eReader["Footer"]); string unsubscribe = Convert.ToString(eReader["Unsubscribe"]); eReader.Close(); // if email type is bulk, then add footer string completeMessage = header + email.emailDraft + footer; if (email.emailType == "bulk") { completeMessage += unsubscribe; } lblBody.Text = completeMessage; } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (campaign_id > 0) { CampaignAllEnrolledScrolling.CampaignID = campaign_id; CampaignAllEnrolledScrolling.SMSOk = true; qSoc_Campaign campaign = new qSoc_Campaign(campaign_id); if (!String.IsNullOrEmpty(Request.QueryString["userID"])) { int user_id = Convert.ToInt32(Request.QueryString["userID"]); qPtl_User user = new qPtl_User(user_id); litRecipientList.Text = "This message will be sent to a single enrolled member of: <strong>" + campaign.CampaignName + "</strong><br><br><strong>Campaign Member</strong><br>Username = "******"This message will be sent to all enrolled members of: <strong>" + campaign.CampaignName + "</strong><br><strong>Campaign Members</strong>"; plhLimitByDays.Visible = true; } populateCampaignMessages(campaign_id); } } }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Convert.ToString(Context.Items["SessionID"]))) { qPtl_Sessions session = new qPtl_Sessions(Convert.ToInt32(Context.Items["SessionID"])); if (session.SessionID > 0) { session.StopTime = DateTime.Now; session.Update(); } qPtl_User user = new qPtl_User(Convert.ToInt32(Context.Items["UserID"])); if (user.UserID > 0) { DateTime last_time = new DateTime(); last_time = Convert.ToDateTime(user.LastTimeSeen); if (!String.IsNullOrEmpty(Convert.ToString(user.LastTimeSeen))) { user.LastTimeSeen = last_time.AddMinutes(-16); } user.Update(); } } Session.Abandon(); FormsAuthentication.SignOut(); Response.Redirect("~/default.aspx", true); }
protected void AddUserCampaign(int campaign_id, int scope_id, qPtl_User user) { DateTime start_date = new DateTime(); start_date = DateTime.Now; qSoc_UserCampaign new_campaign = qSoc_UserCampaign.EnrollUserInCampaign(user.UserID, campaign_id, "controlled", start_date, Convert.ToInt32(Context.Items["ScopeID"]), "role", "Yes", "Yes", "Yes", "Yes"); }
public void SendNotification(int emailID, int UserID, int ProfileUserID, string comment, int ReferenceID) { qCom_EmailTool email = new qCom_EmailTool(); qPtl_User user = new qPtl_User(ProfileUserID); qPtl_User commentingUser = new qPtl_User(UserID); if (!string.IsNullOrEmpty(user.Email)) { email.SendDatabaseMail(user.Email, emailID, user.UserID, commentingUser.UserName, comment, ReferenceID.ToString(), string.Empty, string.Empty, false); } }
protected void btnResetPassword_Click(object sender, EventArgs e) { int user_id = 0; if (!String.IsNullOrEmpty(Request.QueryString["userID"])) { user_id = Convert.ToInt32(Request.QueryString["userID"]); if (txtPassword.Text == "") { lblMsgReset.Text = "<br><br>New password cannot be blank"; } else if (txtPassword.Text.Length < 6) { lblMsgReset.Text = "<br><br>New password cannot be less than 6 characters"; } else if (txtPassword.Text.Length > 15) { lblMsgReset.Text = "<br><br>New password cannot be longer than 15 characters"; } else if (txtPassword.Text == txtPasswordConfirm.Text) { lblMsgReset.Text = ""; qPtl_User user = new qPtl_User(user_id); if (user.PasswordResetCode == Request.QueryString["resetCode"]) { user.PasswordResetCode = ""; string password_for_storing = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "sha1"); user.Password = password_for_storing; user.Update(); txtPassword.Visible = false; txtPasswordConfirm.Visible = false; btnResetPassword.Visible = false; hplCancelReset.Visible = false; lblMsgReset.Text = "Your password has been successfully reset.<br><br> <a href=\"/logon.aspx\" class=\"btn\">Sign in now</a>"; } else { lblMsgReset.Text = "<br><br>This password reset code is no longer valid. Please request another one or contact support"; } } else { lblMsgReset.Text = "<br><br>Passwords did not match"; } } else { Response.Redirect("/default.aspx"); } }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Request.QueryString["resetCode"])) { int user_id = 0; if (!String.IsNullOrEmpty(Request.QueryString["userID"])) { user_id = Convert.ToInt32(Request.QueryString["userID"]); qPtl_User user = new qPtl_User(user_id); lblResetInstructions.Text = "Welcome, " + user.UserName + ". Enter a password below<br><br />"; } } }
protected void sendNow() { int emailID = Convert.ToInt32(Request.QueryString["emailID"]); // create object qCom_EmailTool email = new qCom_EmailTool(emailID); qPtl_User user = new qPtl_User(Convert.ToInt32(Context.Items["UserID"])); email.SendDatabaseMail(txtEmail.Text, Convert.ToInt32(Request.QueryString["emailID"]), user.UserID, user.UserName, txtValue1.Text, txtValue2.Text, txtValue3.Text, txtValue4.Text, false); lblMessage.Text = "* Email Successfully Sent"; lblMessage.Visible = true; }
protected void Page_Load(object sender, EventArgs e) { int curr_user_id = Convert.ToInt32(Context.Items["UserID"]); qPtl_User user = new qPtl_User(curr_user_id); if (user.HighestRole == "Space Admin") { } siteMedicationGroups.SelectCommand = "SELECT * FROM qSoc_MedicationGroups WHERE MarkAsDelete = 0 ORDER BY MedicationGroupName ASC"; if (!Page.IsPostBack) { } }
protected void btnRequestPasswordReset_Click(object sender, EventArgs e) { var user = qPtl_User.GetUserByEmail(txtOrigEmail.Text); if (user != null) { if (user.UserID > 0) { if (user.SetPasswordResetCode(user.UserID)) { // create object int emailID = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Email_ForgotPasswordID"]); qCom_EmailTool email = new qCom_EmailTool(emailID); qPtl_User updated_user = new qPtl_User(user.UserID); int sent_email_log_id = email.SendDatabaseMail(updated_user.Email, emailID, updated_user.UserID, updated_user.UserName, updated_user.PasswordResetCode, Request.Url.Authority + HttpRuntime.AppDomainAppVirtualPath.TrimEnd('/'), string.Empty, string.Empty, false); if (sent_email_log_id > 0) { lblMsgRequest.Text = "<br>Please check your email for further instructions"; txtOrigEmail.Visible = false; btnRequestPasswordReset.Visible = false; hplCancelRequest.Visible = false; } else { lblMsgRequest.Text = "<br><br>An error occured sending an email, please contact support"; } } else { lblMsgRequest.Text = "<br><br>An error occured setting the reset code, please contact support"; } } } else { lblMsgRequest.Text = "<br><br>Email address not found"; } }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Request.QueryString["resetCode"])) { plhRequest.Visible = false; plhReset.Visible = true; int user_id = 0; if (!String.IsNullOrEmpty(Request.QueryString["userID"])) { user_id = Convert.ToInt32(Request.QueryString["userID"]); qPtl_User user = new qPtl_User(user_id); lblResetInstructions.Text = "Welcome back, " + user.UserName + ". Enter a new password below<br><br />"; } } else { plhRequest.Visible = true; plhReset.Visible = false; lblRequestInstructions.Text = "What email address did you use when you created your account?<br /><br />"; } }
protected void btnVerify_Click(object sender, EventArgs e) { int curr_user_id = Convert.ToInt32(Context.Items["UserID"]); string pin = txtMobileVerify.Text; string return_url = string.Empty; if (!String.IsNullOrEmpty(lblReturnURL.Text)) { return_url = lblReturnURL.Text; } qCom_UserPreference comm = qCom_UserPreference.GetUserPreference(curr_user_id); qPtl_User user = new qPtl_User(curr_user_id); string dbPIN = Convert.ToString(comm.MobilePIN); if (dbPIN == pin) { comm.OkSms = "Yes"; comm.ConfirmSms = "Yes"; comm.MobilePINverified = DateTime.Now; comm.Update(); if (!String.IsNullOrEmpty(return_url)) { Response.Redirect(lblReturnURL.Text); } else { litMsg.Text = "* PIN successfully validated. You will start receiving messages shortly"; } } else { comm.OkSms = "No"; comm.Update(); litMsg.Text = "* WARNING: the PIN your entered does not match the one we sent to your phone. Please try again. If this problem continues, please contact support using the link below.<br><br>"; } }
//Send to just one address with text replacement public int SendDatabaseMail(string address, int emailID, int userID, string userName, string value1, string value2, string value3, string value4, bool no_duplicates_today) { // get email info qCom_EmailTool email = new qCom_EmailTool(emailID); qCom_EmailItem full_email = new qCom_EmailItem(emailID); string header = string.Empty; string footer = string.Empty; string strFromEmail = string.Empty; string fromName = string.Empty; string emailUsername = null; string emailPassword = null; string emailServer = null; bool sslEnabled = false; int portNum = 0; string strDID = string.Empty; int return_email_log_id = 0; bool passed_send_checks = false; bool already_sent_today = true; string returnedEmail = string.Empty; bool ok_to_send = false; string noEmail = string.Empty; // Check to see if email already sent to user today if (no_duplicates_today == true) { var prior_current_day_log = qCom_EmailLog.CheckForEmailSentLastDay(address); if (prior_current_day_log == null) { already_sent_today = false; } } else { already_sent_today = false; } qCom_UserPreference_View u_pref = new qCom_UserPreference_View(address); if (u_pref.UserID > 0) { if (u_pref.OkBulkEmail == "Yes" || u_pref.OkEmail == "Yes") { ok_to_send = true; } } else { ok_to_send = true; } if (already_sent_today == false && ok_to_send == true) { passed_send_checks = true; } else { passed_send_checks = false; } qPtl_User user = new qPtl_User(Convert.ToInt32(userID)); if (user.UserID == 0) { user.Email = ""; user.FirstName = ""; user.LastName = ""; } // load default email preferences if (String.IsNullOrEmpty(emailServer)) { var email_pref = qCom_EmailPreference.GetEmailPreferences(); if (email_pref != null) { if (email_pref.EmailPreferencesID > 0) { header = email_pref.Header; footer = email_pref.Footer; strFromEmail = email_pref.FromEmailAddress; fromName = email_pref.FromName; emailServer = email_pref.SMTPServer; emailUsername = email_pref.SMTPUsername; emailPassword = email_pref.SMTPPassword; sslEnabled = email_pref.SMTPSSL; portNum = email_pref.SMTPPort; } } } // format as friendly send address string strFullEmail = string.Empty; if (!String.IsNullOrEmpty(fromName)) { strFullEmail = fromName + " <" + strFromEmail + ">"; } else { strFullEmail = strFromEmail; } string messageBody = header; messageBody += email.emailDraft; emailSubject = email.emailSubject; messageBody += footer; if (!String.IsNullOrEmpty(emailServer) && passed_send_checks == true) { SmtpClient emailClient = new SmtpClient(emailServer, portNum); emailClient.EnableSsl = sslEnabled; emailClient.DeliveryMethod = SmtpDeliveryMethod.Network; emailClient.Credentials = new System.Net.NetworkCredential(emailUsername, emailPassword); Regex emailCheck = new Regex("^.*<?[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+(\\.[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+)*@(([a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9]+)?){1,63}\\.)+([a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9]+)?){2,63}>?$"); // create temp bulk email log -- used for tracking (must be created before sent so can include id in message html) int t_log_id = 0; qCom_TempBulkEmailLog t_log = new qCom_TempBulkEmailLog(); t_log.EmailItemID = emailID; t_log.EmailAddress = strFullEmail; t_log.Timestamp = DateTime.Now; t_log.Insert(); t_log_id = t_log.TempBulkEmailLogID; if (emailCheck.IsMatch(address.ToLower())) { string finalBody = parseContentField(new string[] { Convert.ToString(user.UserID), userName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2, value3, value4, strDID, Convert.ToString(emailID), Convert.ToString(t_log_id) }, messageBody); string finalSubject = parseContentField(new string[] { Convert.ToString(user.UserID), userName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2, value3, value4, strDID, Convert.ToString(emailID), Convert.ToString(t_log_id) }, emailSubject); MailMessage mailout = new MailMessage(strFullEmail, address, finalSubject, finalBody); mailout.IsBodyHtml = true; emailClient.Send(mailout); return_email_log_id = AddTransmissionLog(scopeID, address, userID, "single", finalSubject, emailID, full_email.CampaignID, strFromEmail); } } return(return_email_log_id); }
private void cmdLogin_ServerClick(object sender, System.EventArgs e) { if (ValidateUser(txtUserName.Value, txtUserPass.Value)) { qPtl_User user = new qPtl_User(txtUserName.Value); qPtl_Sessions session = new qPtl_Sessions(); session.Created = DateTime.Now; session.StartTime = DateTime.Now; session.LastTimeSeen = DateTime.Now; session.ScopeID = user.ScopeID; session.UserID = user.UserID; session.BrowserType = Request.Browser.Browser; session.ComputerType = Request.Browser.Platform; session.Insert(); int sessionID = session.SessionID; int scopeID = user.ScopeID; var u_roles = qPtl_UserRole_View.GetUserRoles(user.UserID); string role_list = string.Empty; if (u_roles != null) { foreach (var u in u_roles) { role_list += string.Format("{0},", u.RoleName, ","); } } role_list.TrimEnd(','); // see if there is a campaign code string reg_code = string.Empty; string custom_redirect = string.Empty; if (!String.IsNullOrEmpty(txtSpaceCode.Text)) { reg_code = txtSpaceCode.Text; qSoc_Campaign campaign = new qSoc_Campaign(reg_code); if (campaign.CampaignID > 0) { // see if already enrolled var exist_campaign = qSoc_UserCampaign.GetUserCampaign(user.UserID, campaign.CampaignID); if (exist_campaign != null) { if (exist_campaign.UserCampaignID > 0) { exist_campaign.DeleteUserCampaign(campaign.CampaignID, user.UserID); exist_campaign.DeleteUserCampaignActions(campaign.CampaignID, user.UserID); } } AddUserCampaign(campaign.CampaignID, user.ScopeID, user); custom_redirect = "~/social/learning/campaigns/campaign-details.aspx?campaignID=" + campaign.CampaignID; } } string userData = string.Format("{0};{1};{2}", sessionID, role_list, scopeID); FormsAuthenticationTicket tkt; string cookiestr; HttpCookie ck; int timeout_minutes = 480; // default shorter timeout (8 hours) int timeout_extended_minutes = 1440; // default extended timeout (1 day) int logout_minutes = 0; if (!String.IsNullOrEmpty(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["Site_LoginTimeOut"]))) { timeout_minutes = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Site_LoginTimeOut"]); } else if (!String.IsNullOrEmpty(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["Site_ExtendedLoginTimeOut"]))) { timeout_extended_minutes = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Site_ExtendedLoginTimeOut"]); } if (chkLeaveLoggedIn.Checked) { logout_minutes = timeout_extended_minutes; } else { logout_minutes = timeout_minutes; } tkt = new FormsAuthenticationTicket(1, user.UserID.ToString(), DateTime.Now, DateTime.Now.AddMinutes(logout_minutes), true, userData); cookiestr = FormsAuthentication.Encrypt(tkt); ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr); //if (chkPersistCookie.Checked) //ck.Expires = tkt.Expiration; ck.Path = FormsAuthentication.FormsCookiePath; Response.Cookies.Add(ck); HttpCookie cookie2 = new HttpCookie("UserID", Convert.ToString(user.UserID)); if (tkt.IsPersistent) { cookie2.Expires = tkt.Expiration.AddMinutes(logout_minutes + 5); } Response.Cookies.Add(cookie2); string strRedirect; strRedirect = Request["ReturnUrl"]; if (strRedirect == null) { strRedirect = "~/utilities/manage-user-access.aspx"; } if (!String.IsNullOrEmpty(custom_redirect)) { strRedirect = custom_redirect; } Response.Redirect(strRedirect, true); } else { lblMsg.Text = "<br><br>Your username or password is not correct. Please try again."; } }
//Send to just one address with a preset body (no text replacement) public int SendEventTestMail(string address, string customMessage, string customSubject, int userID, string value1, string value2) { int return_email_log_id = 0; string header = string.Empty; string footer = string.Empty; string strFromEmail = string.Empty; string fromName = string.Empty; string emailUsername = null; string emailPassword = null; string emailServer = null; bool sslEnabled = false; int portNum = 0; qPtl_User user = new qPtl_User((int)userID); // get email preferences var email_pref = qCom_EmailPreference.GetEmailPreferences(); if (email_pref != null) { if (email_pref.EmailPreferencesID > 0) { header = email_pref.Header; footer = email_pref.Footer; strFromEmail = email_pref.FromEmailAddress; fromName = email_pref.FromName; emailServer = email_pref.SMTPServer; emailUsername = email_pref.SMTPUsername; emailPassword = email_pref.SMTPPassword; sslEnabled = email_pref.SMTPSSL; portNum = email_pref.SMTPPort; } } // format as friendly send address string strFullEmail = fromName + " <" + strFromEmail + ">"; if (email_pref.EmailPreferencesID > 0) { SmtpClient emailClient = new SmtpClient(emailServer, portNum); emailClient.EnableSsl = sslEnabled; emailClient.DeliveryMethod = SmtpDeliveryMethod.Network; emailClient.Credentials = new System.Net.NetworkCredential(emailUsername, emailPassword); emailSubject = customSubject; Regex emailCheck = new Regex("^.*<?[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+(\\.[-a-zA-Z0-9!#$%&'*+/=?^_`{|}~]+)*@(([a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9]+)?){1,63}\\.)+([a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9]+)?){2,63}>?$"); if (emailCheck.IsMatch(address.ToLower())) { string finalBody = parseContentField(new string[] { Convert.ToString(user.UserID), user.UserName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2 }, customMessage); string finalSubject = parseContentField(new string[] { Convert.ToString(user.UserID), user.UserName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2 }, emailSubject); MailMessage mailout = new MailMessage(strFullEmail, address, finalSubject, finalBody); mailout.IsBodyHtml = true; emailClient.Send(mailout); return_email_log_id = AddTransmissionLog(scopeID, strFullEmail, userID, "test", customSubject, 0, 0, address); } } return(return_email_log_id); }
public int SendDatabaseMailWithAttachment(string address, int emailID, int userID, string value1, string value2, string value3, string attachment) { int return_email_log_id = 0; string header = string.Empty; string footer = string.Empty; string strFromEmail = string.Empty; string fromName = string.Empty; string emailUsername = null; string emailPassword = null; string emailServer = null; bool sslEnabled = false; int portNum = 0; qPtl_User user = new qPtl_User((int)userID); // get email preferences var email_pref = qCom_EmailPreference.GetEmailPreferences(); if (email_pref != null) { if (email_pref.EmailPreferencesID > 0) { header = email_pref.Header; footer = email_pref.Footer; strFromEmail = email_pref.FromEmailAddress; fromName = email_pref.FromName; emailServer = email_pref.SMTPServer; emailUsername = email_pref.SMTPUsername; emailPassword = email_pref.SMTPPassword; sslEnabled = email_pref.SMTPSSL; portNum = email_pref.SMTPPort; } } // format as friendly send address string strFullEmail = fromName + " <" + strFromEmail + ">"; // get email info qCom_EmailTool email = new qCom_EmailTool(emailID); string messageBody = header; messageBody += email.emailDraft; messageBody += footer; if (email_pref.EmailPreferencesID > 0) { SmtpClient emailClient = new SmtpClient(emailServer, portNum); emailClient.EnableSsl = sslEnabled; emailClient.DeliveryMethod = SmtpDeliveryMethod.Network; emailClient.Credentials = new System.Net.NetworkCredential(emailUsername, emailPassword); emailSubject = email.emailSubject; Regex emailCheck = new Regex("^.*<?[-a-z0-9!#$%&'*+/=?^_`{|}~]+(\\.[-a-z0-9!#$%&'*+/=?^_`{|}~]+)*@(([a-z]([-a-z0-9]*[a-z0-9]+)?){1,63}\\.)+([a-z]([-a-z0-9]*[a-z0-9]+)?){2,63}>?$"); if (emailCheck.IsMatch(address.ToLower())) { string finalBody = string.Empty; string finalSubject = string.Empty; if (userID == 0) { finalBody = parseContentField(new string[] { "", "", "", "", "", DateTime.Now.ToString(), value1, value2, value3 }, messageBody); finalSubject = parseContentField(new string[] { "", "", "", "", "", DateTime.Now.ToString(), value1, value2, value3 }, emailSubject); } else { finalBody = parseContentField(new string[] { Convert.ToString(user.UserID), user.UserName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2, value3 }, messageBody); finalSubject = parseContentField(new string[] { Convert.ToString(user.UserID), user.UserName, user.FirstName, user.LastName, user.Email, DateTime.Now.ToString(), value1, value2, value3 }, emailSubject); } MailMessage mailout = new MailMessage(strFullEmail, address, finalSubject, finalBody); if (!String.IsNullOrEmpty(attachment)) { Attachment attach = new Attachment(attachment, ""); mailout.Attachments.Add(attach); } mailout.IsBodyHtml = true; emailClient.Send(mailout); return_email_log_id = AddTransmissionLog(scopeID, address, userID, "single", finalSubject, 0, 0, address); } } return(return_email_log_id); }
protected void ProcessContacts(string[] to_pass) { string mode = to_pass[0]; string f_name = to_pass[1]; lblFileName.Text = fileFullName; string fileName = string.Format("{0}{1}", Server.MapPath(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["Resources_PDFFolder"])), f_name); string message = string.Empty; if (File.Exists(fileName)) { List <string[]> contacts = parseCSV(fileName); message = "RESULTS<br>"; //try //{ int i = 0; foreach (string[] c in contacts) { string first_name = string.Empty; string last_name = string.Empty; string email = string.Empty; string keywords = string.Empty; string source = string.Empty; string ok_email = string.Empty; string did = string.Empty; string partner = string.Empty; string main_group = string.Empty; string sub_group = string.Empty; string custom_html_element = string.Empty; first_name = c[0]; last_name = c[1]; email = c[2]; keywords = c[3]; source = c[4]; ok_email = c[5]; partner = c[6]; main_group = c[7]; sub_group = c[8]; custom_html_element = c[9]; bool success = false; string reason = string.Empty; if (i > 0) { // check to see if valid email string pat = @"^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$"; Regex r = new Regex(pat, RegexOptions.IgnoreCase); Match m = r.Match(email); if (m.Success && mode == "process") { // check to see if already exists qCom_Contact e_contact = qCom_Contact.GetContactByEmail(email); if (e_contact != null) { if (e_contact.ContactID > 0) { // update existing contact (except email address) string curr_keywords = e_contact.Keywords; string curr_source = e_contact.Source; e_contact.FirstName = first_name; e_contact.LastName = last_name; e_contact.Email = email; e_contact.Keywords = keywords; e_contact.Source = source; // run check to insure that OkEmail is carried over from existing record if (e_contact.OKEmail == "No") { e_contact.OKEmail = "No"; } else { e_contact.OKEmail = ok_email; } e_contact.LastModified = DateTime.Now; e_contact.LastModifiedBy = Convert.ToInt32(Context.Items["UserID"]); if (!String.IsNullOrEmpty(main_group)) { int int_main_group; if (int.TryParse(main_group, out int_main_group)) { e_contact.MainGroup = Convert.ToInt32(int_main_group); } } if (!String.IsNullOrEmpty(sub_group)) { int int_sub_group; if (int.TryParse(sub_group, out int_sub_group)) { e_contact.SubGroup = Convert.ToInt32(int_sub_group); } } e_contact.CustomHTMLElement = custom_html_element; // does a registered user with the same email exist? only perform this check if the conctact does NOT have a valid userID if (!String.IsNullOrEmpty(Convert.ToString(e_contact.UserID)) && Convert.ToString(e_contact.UserID) != "0") { qPtl_User user = new qPtl_User(email); if (user != null) { if (user.UserID > 0) { e_contact.UserID = user.UserID; } } else { e_contact.UserID = 0; } } e_contact.Update(); success = true; } } else { // create new contact qCom_Contact n_contact = new qCom_Contact(); n_contact.ScopeID = Convert.ToInt32(Context.Items["ScopeID"]); n_contact.Available = "Yes"; n_contact.Created = DateTime.Now; n_contact.CreatedBy = Convert.ToInt32(Context.Items["UserID"]); n_contact.LastModified = DateTime.Now; n_contact.LastModifiedBy = Convert.ToInt32(Context.Items["UserID"]); n_contact.MarkAsDelete = 0; n_contact.FirstName = first_name; n_contact.LastName = last_name; n_contact.Email = email; n_contact.Keywords = keywords; n_contact.Source = source; n_contact.OKEmail = ok_email; n_contact.Partner = partner; n_contact.CustomHTMLElement = custom_html_element; if (!String.IsNullOrEmpty(main_group)) { int int_main_group; if (int.TryParse(main_group, out int_main_group)) { n_contact.MainGroup = Convert.ToInt32(int_main_group); } } if (!String.IsNullOrEmpty(sub_group)) { int int_sub_group; if (int.TryParse(sub_group, out int_sub_group)) { n_contact.SubGroup = Convert.ToInt32(int_sub_group); } } // does a registered user with the same email exist? qPtl_User user = new qPtl_User(email); if (user != null) { if (user.UserID > 0) { n_contact.UserID = user.UserID; } } else { n_contact.UserID = 0; } n_contact.Insert(); success = true; } } else if (m.Success && mode == "test") { success = true; } else if (m.Success == false) { reason = " bad email address"; } } i++; if (mode == "process" && success == true) { message += "Line " + i + " SUCCESS - " + email + " successfully added to contact list<br>"; } else if (mode == "test" && success == true) { message += "Line " + i + " SUCCESS - " + email + " will be processed<br>"; } else if (i > 1) { message += "Line " + i + " FAILURE - " + email + " could not be added for the following reason: " + reason + "<br>"; } else { message += "Line " + i + " LINE NOT PROCESSED - header line in the file<br>"; } } if (mode == "process") { lblMessage.Text = message; plhStep3.Visible = false; plhStep3Completed.Visible = true; } else if (mode == "test") { lblTestOutput.Text = message; plhStep3.Visible = true; plhStep2Completed.Visible = true; lblUploadFail.Text = ""; } //} //catch //{ //lblTestOutput.Text = "WARNING: File processing failed. Make sure to use a properly formatted .csv file. You can download an example from the top of the page."; //} } }
protected void btnSendConfirm_Click(object sender, EventArgs e) { // see if there are alternate language versions of this same message URI if (!string.IsNullOrEmpty(ddlCampaignMessages.SelectedValue)) { // output variables string output_message = string.Empty; int num_messages_sent = 0; int limit_day_in_campaign_min = 0; int limit_day_in_campaign_max = 0; limit_day_in_campaign_min = Convert.ToInt32(txtMinDays.Text); limit_day_in_campaign_max = Convert.ToInt32(txtMaxDays.Text); int sms_message_id = Convert.ToInt32(ddlCampaignMessages.SelectedValue); qCom_SMSMessage init_message = new qCom_SMSMessage(sms_message_id); campaign_id = Convert.ToInt32(Request.QueryString["campaignID"]); bool adjust_times = false; if (chkAlignSendTimes.Checked == true) { adjust_times = true; } // SEND TO INDIVIDUAL OR ALL ENROLLED MEMBERS if (!String.IsNullOrEmpty(Request.QueryString["userID"])) { // send to single person in the campaign int user_id = Convert.ToInt32(Request.QueryString["userID"]); qPtl_User user = new qPtl_User(user_id); if (user.UserID > 0) { var log = SMSMessageFunctions.SendTextMessageToUser(user_id, init_message, campaign_id, adjust_times); if (log != null) { if (!String.IsNullOrEmpty(log.ReferenceMessageID)) { num_messages_sent++; output_message += "<br>Member mobile number: " + log.MobilePhoneNumber + " successfully sent message"; } } } } else if (limit_day_in_campaign_min != limit_day_in_campaign_max) { // send only to members between specific dates var users = qSoc_UserCampaign_View.GetCampaignUsersBetweenDaysInCampaign(campaign_id, limit_day_in_campaign_min, limit_day_in_campaign_max); if (users != null) { foreach (var u in users) { var log = SMSMessageFunctions.SendTextMessageToUser(u.UserID, init_message, campaign_id, adjust_times); if (log != null) { if (!String.IsNullOrEmpty(log.ReferenceMessageID)) { num_messages_sent++; output_message += "<br>Member mobile number: " + log.MobilePhoneNumber + " successfully sent message"; } } } } } else { // send to everyone in the campaign var users = qSoc_UserCampaign_View.GetCampaignUsers(campaign_id); if (users != null) { foreach (var u in users) { var log = SMSMessageFunctions.SendTextMessageToUser(u.UserID, init_message, campaign_id, adjust_times); if (log != null) { if (!String.IsNullOrEmpty(log.ReferenceMessageID)) { num_messages_sent++; output_message += "<br>Member mobile number: " + log.MobilePhoneNumber + " successfully sent message"; } } } } } btnSendConfirm.Visible = false; hlpRefresh.Visible = true; hlpRefresh.NavigateUrl = Request.Url.ToString(); litOutputMessage.Text = "<br><br><div style=\"height:300px; width:500px; overflow-y:auto\"><span class=\"validation2\"><strong>" + num_messages_sent + "</strong> messages successfully sent.<br><br><strong>SEND LOG</strong><br>" + output_message + "</span></div>"; } }
protected void btnSave_OnClick(object sender, EventArgs e) { Page.Validate("form"); if (Page.IsValid) { int language_id = 1; int emailID = (string.IsNullOrEmpty(Request.QueryString["emailID"])) ? 0 : Convert.ToInt32(Request.QueryString["emailID"]); int curr_email_id = 0; int scopeID = Convert.ToInt32(Context.Items["ScopeID"]); int user_id = Convert.ToInt32(Context.Items["UserID"]); var last_version_number = qPtl_HTMLRevision.GetLastVersionNumber(emailID, "email", language_id); qPtl_User user = new qPtl_User(user_id); if (emailID > 0) { lblTitle.Text = "Edit Email"; qCom_EmailItem email = new qCom_EmailItem(emailID); email.URI = txtURI.Text; email.Subject = txtSubject.Text; if (!String.IsNullOrEmpty(Convert.ToString(ddlEmailType.SelectedValue))) { email.Type = Convert.ToString(ddlEmailType.SelectedValue); } if (!String.IsNullOrEmpty(Convert.ToString(ddlLanguages.SelectedValue))) { email.LanguageID = Convert.ToInt32(ddlLanguages.SelectedValue); } if (!String.IsNullOrEmpty(Convert.ToString(ddlCampaigns.SelectedValue))) { email.CampaignID = Convert.ToInt32(ddlCampaigns.SelectedValue); } email.Draft = reContent.Content; email.Update(); lblMessage.Text = "*** Email Successfully Saved at " + DateTime.Now + " ***"; curr_email_id = emailID; //Response.Redirect("~/qCom/email-list.aspx"); } else { int new_email_id = CreateNewEmail("new", -1); lblMessage.Text = "*** Email Successfully Created at " + DateTime.Now + " ***"; curr_email_id = new_email_id; //Response.Redirect("~/qCom/email-list.aspx"); } qPtl_HTMLRevision revision = new qPtl_HTMLRevision(); revision.Available = "Yes"; revision.ScopeID = Convert.ToInt32(Context.Items["ScopeID"]); revision.Created = DateTime.Now; revision.CreatedBy = user_id; revision.LastModified = DateTime.Now; revision.LastModifiedBy = user_id; revision.MarkAsDelete = 0; revision.ModuleInstanceID = curr_email_id; revision.SourceType = "email"; revision.HTML = reContent.Content; revision.VersionNumber = last_version_number + 1; revision.VersionInfo = "Version: " + revision.VersionNumber + " saved by " + user.FirstName + " " + user.LastName + " [" + user.UserName + "] at " + DateTime.Now; revision.LanguageID = language_id; revision.Insert(); } }
protected void btnEnroll_Click(object sender, EventArgs e) { // run check for mobile text if (!String.IsNullOrEmpty(lblCampaignID.Text)) { campaign_id = Convert.ToInt32(lblCampaignID.Text); } return_url = lblReturnURL.Text; string mobile_number = txtMobileNumber.Text; bool error_occurred = false; bool phone_belongs_to_another_user = false; // check to see if this number is already being used by another user int curr_user_id = Convert.ToInt32(Context.Items["UserID"]); int scope_id = Convert.ToInt32(Context.Items["ScopeID"]); var check_user = qPtl_User.GetUserByPhone(txtMobileNumber.Text, scope_id); if (check_user.UserID > 0) { if (check_user.UserID != curr_user_id) { error_occurred = true; phone_belongs_to_another_user = true; } } // replace characters if (mobile_number.Contains("-")) { mobile_number = mobile_number.Replace("-", ""); } if (mobile_number.Contains(".")) { mobile_number = mobile_number.Replace(".", ""); } if (mobile_number.Contains("/")) { mobile_number = mobile_number.Replace("/", ""); } if (mobile_number.Contains("(")) { mobile_number = mobile_number.Replace("(", ""); } if (mobile_number.Contains(")")) { mobile_number = mobile_number.Replace(")", ""); } if (mobile_number.Contains("*")) { mobile_number = mobile_number.Replace("*", ""); } if (mobile_number.Contains(" ")) { mobile_number = mobile_number.Replace(" ", ""); } try { string first_char = mobile_number.Substring(0, 1); if (mobile_number.Length == 11 && first_char == "1") { mobile_number = mobile_number.Substring(1, 10); } } catch { litMsg.Text = "<br><br>* Make sure to enter a 10 digit phone number"; error_occurred = true; } if (String.IsNullOrEmpty(mobile_number)) { litMsg.Text = "<br><br>* Make sure to enter a 10 digit phone number"; error_occurred = true; } string pat_m = @"^[0-9]{10}$"; Regex r_m = new Regex(pat_m, RegexOptions.IgnoreCase); Match m_m = r_m.Match(mobile_number); if (!m_m.Success) { error_occurred = true; litMsg.Text = "<br><br>* Make sure to enter a 10 digit phone number"; } if (error_occurred == false) { if (btnEnroll.Text == "Turn Off Text Messages") { qCom_UserPreference pref = new qCom_UserPreference(curr_user_id); pref.OkSms = "No"; pref.Update(); } else { // save phone number to profile qPtl_UserProfile profile = new qPtl_UserProfile(curr_user_id); if (profile.Phone1Type == "Mobile") { profile.Phone1 = string.Empty; profile.Phone1Type = string.Empty; } if (profile.Phone2Type == "Mobile") { profile.Phone2 = string.Empty; profile.Phone2Type = string.Empty; } profile.Phone1 = txtMobileNumber.Text; profile.Phone1Type = "Mobile"; profile.Update(); // add new mobile verification code to qCom_UserPreferences var pref = qCom_UserPreference.GetUserPreference(curr_user_id); int new_pin = qCom_UserPreference.GenerateMobilePIN(); if (pref != null) { if (pref.UserID > 0) { pref.MobilePIN = Convert.ToString(new_pin); pref.Update(); } } else { qCom_UserPreference pref2 = new qCom_UserPreference(); pref2.ScopeID = Convert.ToInt32(Context.Items["ScopeID"]); pref2.Available = "Yes"; pref2.Created = DateTime.Now; pref2.CreatedBy = curr_user_id; pref2.LastModified = DateTime.Now; pref2.LastModifiedBy = curr_user_id; pref2.UserID = curr_user_id; pref2.OkBulkEmail = "Yes"; pref2.OkSms = "Yes"; pref2.OkEmail = "Yes"; pref2.MobilePIN = Convert.ToString(new_pin); pref2.Insert(); } // get correct DID string alt_did = string.Empty; // see if user has custom record var camp_pref = qCom_UserCampaignPreference.GetUserCampaignPreferences(campaign_id, curr_user_id); if (camp_pref != null) { alt_did = camp_pref.DID; } else { // see if campaign has available dedicated DIDs qSoc_Campaign campaign = new qSoc_Campaign(campaign_id); qPtl_User user = new qPtl_User(curr_user_id); alt_did = AddCampaignUserPreference(campaign, user, scope_id); if (String.IsNullOrEmpty(alt_did)) { alt_did = System.Configuration.ConfigurationManager.AppSettings["SMSDid"]; } } string alt_pin_message_uri = string.Empty; var c_pref = qCom_CampaignPreference.GetCampaignPreferences(campaign_id); if (c_pref != null) { if (c_pref.CampaignPreferenceID > 0) { alt_pin_message_uri = c_pref.MobileVerifySMSURI; } } // send mobile pin qCom_UserPreference.SendMobilePIN(Convert.ToString(new_pin), curr_user_id, alt_did, alt_pin_message_uri); plhManage.Visible = false; plhVerify.Visible = true; } } else { if (phone_belongs_to_another_user == true) { litMsg.Text = "<br><br>* This phone number belongs to another user."; } } }