void CheckForEmailAddress()
		{
			Trace.Write("CheckingForEmailAddress");
			RegularExpression regex = new RegularExpression(EmailRegex);
			string email = selector.Text.Trim();
			if (regex.Test(email))
			{
				Suggestion suggestion = new Suggestion();
				suggestion.html = GetPicTitleDetailTemplateHtml(@"/gfx/icon40-inbox.png", "Add " + selector.Text.Trim() + " as a buddy", "When they join DontStayIn they will be added as one of your buddies.  If you type a name after the email address you can use that in future to find this person.");
				suggestion.text = selector.Text;
				suggestion.value = "{'email': '" + selector.Text.Escape() + "'}";
				suggestion.priority = selector.Text.Length * 100;
				for (int i = 0; i < selector.Suggestions.Count; i++)
				{
					if (selector.Suggestions[i].value.StartsWith("{'email': "))
					{
						selector.Suggestions.RemoveAt(i);
						break;
					}
				}
				selector.AddSuggestion(suggestion);
				selector.DisplaySuggestionsInPopupMenu();
			}
			if (oldOnSuggestionsRequested != null) oldOnSuggestionsRequested();
		}
Пример #2
0
		void CheckForEmailAddresses()
		{
			Trace.Write("CheckingForEmailAddresses");
			RegularExpression regExp = new RegularExpression(@"\s|,|;| +", "g");
			string text = selector.Text.Replace(regExp, " ");
			while (text.IndexOf("  ") > -1)
			{
				text = text.Replace("  ", " ");
			}
			text = text.Trim();
			for (int i = selector.Suggestions.Count - 1; i > -1; i--)
			{
				Trace.Write(selector.Suggestions[i].value);
				if (selector.Suggestions[i].value.StartsWith("{'emails': "))
				{
					selector.Suggestions.RemoveAt(i);
					break;
				}
			}
			RegularExpression regex = new RegularExpression(EmailsRegex);
			if (regex.Test(text))
			{
				selector.Text = text;
				selector.Suggestions.Clear();
				string[] emails = text.Split(" ");
				Suggestion suggestion = new Suggestion();
				suggestion.html = GetPicTitleDetailTemplateHtml(@"/gfx/icon40-inbox.png", "Add " + emails.Length + " email addresses as buddies", "Next time you want to include these email addresses, just add all your buddies and they will be included.");
				suggestion.text = emails.Length + " email addresses as buddies";
				suggestion.value = "{'emails': '" + text.Escape() + "', 'buddies':'true'}";
				suggestion.priority = selector.Text.Length * 100;
				selector.AddSuggestion(suggestion);

				Suggestion suggestion2 = new Suggestion();
				suggestion2.html = GetPicTitleDetailTemplateHtml(@"/gfx/icon40-inbox.png", "Add " + emails.Length + " email addresses, but NOT as buddies", "Next time you want to include these email addresses you'll have to copy them in again");
				suggestion2.text = emails.Length + " email addresses";
				suggestion2.value = "{'emails': '" + text.Escape() + "', 'buddies':'false'}";
				suggestion2.priority = selector.Text.Length * 100;
				selector.AddSuggestion(suggestion2);
				
				
				selector.DisplaySuggestionsInPopupMenu();
				
			}
			if (oldOnSuggestionsRequested != null) oldOnSuggestionsRequested();
		}
Пример #3
0
        private void SubmitButtonClicked(jQueryEvent e)
        {
            // return if anything is checking
            if (MySqlSettingChecking || SevenZipSettingChecking)
            {
                return;
            }

            if (!AllRequiredComponentLoaded)
            {
                ErrorModal.ShowError(Strings.Get("MissingRequiredComponent"));
                return;
            }

            if (!CanEnableZip && !CanEnableRar && !CanEnablePdf)
            {
                ErrorModal.ShowError(Strings.Get("NeedFileSupport"));
                return;
            }

            string username = jQuery.Select("#install-admin-username").GetValue();
            string password = jQuery.Select("#install-admin-password").GetValue();
            string password2 = jQuery.Select("#install-admin-password2").GetValue();

            RegularExpression regex = new RegularExpression("[^a-zA-Z0-9]");

            if (username == "" || regex.Test(username) || password.Length < 8 || password != password2)
            {
                ErrorModal.ShowError(Strings.Get("AdminUserSettingFailed"));
                return;
            }

            InstallRequest request = new InstallRequest();
            request.mysqlServer = jQuery.Select("#install-mysql-server").GetValue();
            request.mysqlPort = int.Parse(jQuery.Select("#install-mysql-port").GetValue(), 10);
            request.mysqlUser = jQuery.Select("#install-mysql-username").GetValue();
            request.mysqlPassword = jQuery.Select("#install-mysql-password").GetValue();
            request.mysqlDatabase = jQuery.Select("#install-mysql-database").GetValue();

            request.sevenZipPath = jQuery.Select("#install-sevenzip-dll").GetValue();

            request.zip = jQuery.Select("#install-zip-checkbox").Is(":checked");
            request.rar = jQuery.Select("#install-rar-checkbox").Is(":checked");
            request.pdf = jQuery.Select("#install-pdf-checkbox").Is(":checked");

            request.admin = username;
            request.password = password;
            request.password2 = password2;

            new InstallingModal().SendInstallRequest(request);
        }
Пример #4
0
        private void AdminUserChanged(jQueryEvent e)
        {
            RegularExpression regex = new RegularExpression("[^a-zA-Z0-9]");

            string username = jQuery.Select("#install-admin-username").GetValue();
            if (username == "" || regex.Test(username))
            {
                jQuery.Select("#install-admin-username-check").Hide();
            }
            else
            {
                jQuery.Select("#install-admin-username-check").Show();
            }
        }
Пример #5
0
		void dateYearTextBoxKeyUpChange(bool change)
		{
			try
			{
				RegularExpression regex = new RegularExpression("[^0-9]", "g");
				if (!regex.Test(view.DateYearTextBox.Value))
				{
					int newYear = int.Parse(view.DateYearTextBox.Value, 10);
					if (newYear > 1900 && newYear < 2100)
					{
						if (newYear != Date.Year)
						{
							dateRefreshDays(newYear, Date.Month);
							int newDay = OptionDateDay ? getValueInt(view.DateDayDropDown) : 0;
							DateStub newDate = new DateStub(newYear, Date.Month, newDay);
							addHistory("Date", newDate.ToString());
							
							//Moved to navigateDate
							//initialiseEventDropDown();
						}
					}
					else
					{
						if (change)
							view.DateYearTextBox.Value = Date.Year.ToString();
					}
				}
				else
				{
					if (change)
						view.DateYearTextBox.Value = Date.Year.ToString();
				}
			}
			catch
			{
				if (change)
					view.DateYearTextBox.Value = Date.Year.ToString();
			}
		}
Пример #6
0
        private void SubmitForm(jQueryEvent e)
        {
            e.PreventDefault();

            string name = jQuery.Trim(jQuery.Select("#admin-user-add-name").GetValue());
            string password = jQuery.Select("#admin-user-add-password").GetValue();
            string password2 = jQuery.Select("#admin-user-add-password2").GetValue();

            if (name == "" || password == "" || password2 == "" || submittingForm)
            {
                return;
            }

            RegularExpression regex = new RegularExpression("[^a-zA-Z0-9]");

            if (regex.Test(name) || password.Length < 8 || password != password2)
            {
                ErrorModal.ShowError(Strings.Get("AddUserInvalidInput"));
                return;
            }

            submittingForm = true;

            AdminUserAddRequest request = new AdminUserAddRequest();
            request.username = name;
            request.password = password;
            request.password2 = password2;
            request.admin = jQuery.Select("#admin-user-add-administrator").Is(":checked");

            Request.Send(request, SubmitSuccess, SubmitFailure);
        }
Пример #7
0
		void noFacebookSignup1SaveClick(DomEvent e)
		{
			e.PreventDefault();

			if (AsyncInProgress)
				return;

			View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "";

			#region Email
			if (NoFacebookSignUp1PanelSource == "NoFacebookNewAccount")
			{
				if (View.Connect_LoggedOut_NoFacebook_SignUp1_EmailTextbox.Value.Length == 0)
				{
					View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "Enter an email";
					return;
				}

				RegularExpression emailRegex = new RegularExpression(@"^[^\@\s]+\@[A-Za-z0-9\-]{1}[.A-Za-z0-9\-]+\.[.A-Za-z0-9\-]*[A-Za-z0-9]$", "g");
				if (!emailRegex.Test(View.Connect_LoggedOut_NoFacebook_SignUp1_EmailTextbox.Value))
				{
					View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "Check your email";
					return;
				}
			}
			#endregion

			#region Password
			if (View.Connect_LoggedOut_NoFacebook_SignUp1_Password1Textbox.Value.Length == 0)
			{
				View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "Enter a password";
				return;
			}

			if (View.Connect_LoggedOut_NoFacebook_SignUp1_Password1Textbox.Value.Length < 4)
			{
				View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "Password is too short";
				return;
			}

			if (View.Connect_LoggedOut_NoFacebook_SignUp1_Password1Textbox.Value != View.Connect_LoggedOut_NoFacebook_SignUp1_Password2Textbox.Value)
			{
				View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "Passwords don't match";
				return;
			}
			#endregion

			
			if (NoFacebookSignUp1PanelSource == "NoFacebookNewAccount")
			{
				#region Check email for duplicates
				int thisAsyncOperation = RegisterStartAsync("Checking email...");
				Server.CheckEmail(
					View.Connect_LoggedOut_NoFacebook_SignUp1_EmailTextbox.Value,
					new Response(
						delegate(Dictionary response)
						{
							if (RegisterEndAsync(thisAsyncOperation))
								return;

							if (U.isTrue(response, "Exception"))
							{
								showError(7, "Internal server error");
							}
							else
							{
								bool emailFound = (bool)U.get(response, "Found");
								if (emailFound)
								{
									#region Send password
									int thisAsyncOperationSendPassword = RegisterStartAsync("Checking email...");
									Server.SendPassword(
										View.Connect_LoggedOut_NoFacebook_SignUp1_EmailTextbox.Value,
										new Response(
											delegate(Dictionary responseSendPassword)
											{
												if (RegisterEndAsync(thisAsyncOperationSendPassword))
													return;

												if (U.isTrue(responseSendPassword, "Exception"))
												{
													showError(12, "Internal server error.");
												}
												else
												{
													if (U.isTrue(responseSendPassword, "Done"))
													{
														View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "This email is already in our database. We've sent you a password reset email.";
													}
													else
													{
														View.Connect_LoggedOut_NoFacebook_SignUp1_ErrorLabel.InnerHTML = "This email is already in our database.";
													}
												}
											}
										)
									);
									#endregion
								}
								else
								{
									showNoFacebookSignUp2Panel("NoFacebookNewAccount", null);
								}
							}
						}
					)
				);
				#endregion
			}
			else if (NoFacebookSignUp1PanelSource == "AutoLoginNoFacebookSkeleton")
			{
				Dictionary details = new Dictionary();
				details["UsrK"] = AutoLoginUsrK;
				details["Nickname"] = AutoLoginNickname;
				showNoFacebookSignUp2Panel("AutoLoginNoFacebookSkeleton", details);
			}

		}