mirror of
				https://github.com/fspc/Yellow-Bike-Database.git
				synced 2025-10-31 08:55:36 -04:00 
			
		
		
		
	Spiffs up contact_and_edit, adding error correction and required waiver.
1). Next step will be an opt-in/out to mailman. 2). Originally this program was using google lists, but there are too many steps for users involved.
This commit is contained in:
		
							parent
							
								
									8f8e1623df
								
							
						
					
					
						commit
						7b64d0c494
					
				| @ -236,6 +236,15 @@ function list_distinct_shop_years($form_name = "none", $default_value = ""){ | |||||||
| 	generate_list($querySQL,$list_value,$list_text,$form_name, $default_value); | 	generate_list($querySQL,$list_value,$list_text,$form_name, $default_value); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | function list_history($object) { | ||||||
|  | /*	require_once('../php-console/src/PhpConsole/__autoload.php'); | ||||||
|  | 	$handler = PhpConsole\Handler::getInstance(); | ||||||
|  | 	$handler->start(); | ||||||
|  | 	$handler->debug($object);*/ | ||||||
|  | 	 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // #####################
 | // #####################
 | ||||||
| 
 | 
 | ||||||
| // Date/Time functions
 | // Date/Time functions
 | ||||||
|  | |||||||
| @ -14,7 +14,8 @@ case 'new_error_message':	//this is a sample error message.  insert error case h | |||||||
|    $error_message = ''; |    $error_message = ''; | ||||||
|    break; |    break; | ||||||
| default: | default: | ||||||
|    $error_message = 'Enter or Update Contact Information - </span><span class="yb_standard"> Yellow Bike uses this information soely to support the project and it is kept entirely private.  When we apply for grants it helps us to know a little bit about our shop users.  Thanks for supporting The Yellow Bike Project. </p> </span><span class="yb_heading3red">'; |    $error_message = 'Enter or Update Contact Information - </span><span class="yb_standard">  | ||||||
|  |    Thank-you for supporting Positive Spin. </p> </span><span class="yb_heading3red">'; | ||||||
|    break; |    break; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -45,40 +46,37 @@ if($_GET['contact_id'] == 'new_contact'){ | |||||||
| 	$contact_id_entry = -1; | 	$contact_id_entry = -1; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| $editFormAction = $_SERVER['PHP_SELF'] . "?contact_id={$contact_id}&shop_id={$shop_id}"; | $editFormAction = "?contact_id={$contact_id}&shop_id={$shop_id}"; | ||||||
| 
 | 
 | ||||||
| if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { | if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { | ||||||
|   $updateSQL = sprintf("UPDATE contacts SET first_name=%s, middle_initial=%s, last_name=%s, email=%s, DOB=%s, receive_newsletter=%s, phone=%s, address1=%s, address2=%s, city=%s, `state`=%s, zip=%s, pass=ENCODE(%s,'yblcatx') WHERE contact_id=%s", |  | ||||||
|                        GetSQLValueString($_POST['first_name'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['middle_initial'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['last_name'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['email'], "text"), |  | ||||||
| 					   GetSQLValueString($_POST['DOB'], "date"), |  | ||||||
| 					   GetSQLValueString($_POST['list_yes_no'], "int"), |  | ||||||
|                        GetSQLValueString($_POST['phone'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['address1'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['address2'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['city'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['state'], "text"), |  | ||||||
|                        GetSQLValueString($_POST['zip'], "text"), |  | ||||||
| 					   GetSQLValueString($_POST['password'], "text"), |  | ||||||
| 					   GetSQLValueString($_POST['contact_id'], "int")); |  | ||||||
| 
 | 
 | ||||||
|   mysql_select_db($database_YBDB, $YBDB); | 	$updateSQL = sprintf("UPDATE contacts SET first_name=%s, middle_initial=%s, last_name=%s, email=%s, 
 | ||||||
|   $Result1 = mysql_query($updateSQL, $YBDB) or die(mysql_error()); |   								DOB=%s, receive_newsletter=%s, phone=%s, address1=%s, address2=%s, city=%s,  | ||||||
|  |   								`state`=%s, zip=%s, pass=ENCODE(%s,'yblcatx') WHERE contact_id=%s",
 | ||||||
|  |                     	GetSQLValueString($_POST['first_name'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['middle_initial'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['last_name'], "text"), | ||||||
|  |                    	GetSQLValueString($_POST['email'], "text"), | ||||||
|  | 					   	GetSQLValueString($_POST['DOB'], "date"), | ||||||
|  | 					   	GetSQLValueString($_POST['list_yes_no'], "int"), | ||||||
|  |                     	GetSQLValueString($_POST['phone'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['address1'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['address2'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['city'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['state'], "text"), | ||||||
|  |                     	GetSQLValueString($_POST['zip'], "text"), | ||||||
|  | 					   	GetSQLValueString($_POST['password'], "text"), | ||||||
|  | 					   	GetSQLValueString($_POST['contact_id'], "int")); | ||||||
|  | 
 | ||||||
|  | 	mysql_select_db($database_YBDB, $YBDB); | ||||||
|  | 	$Result1 = mysql_query($updateSQL, $YBDB) or die(mysql_error()); | ||||||
|    |    | ||||||
|   if ($_POST['contact_id_entry'] == 'new_contact'){ |   if ($_POST['contact_id_entry'] == 'new_contact'){ | ||||||
|  |    | ||||||
|   	//navigate back to shop that it came from
 |   	//navigate back to shop that it came from
 | ||||||
| 	 | 	$pagegoto = PAGE_SHOP_LOG . "?shop_id={$shop_id}&new_user_id={$contact_id}"; | ||||||
| 	//if there is an email address submitted pass this to google groups signup.  Otherwise redirect to shop log.
 |  | ||||||
| 	if ((strpos($_POST['email'], '@') > 0) && ($_POST['list_yes_no'] == 1)) { |  | ||||||
| 		$email = $_POST['email']; |  | ||||||
| 		$pagegoto = "contact_add_edit_confirmation_iframe.php" . "?shop_id={$shop_id}&new_user_id={$contact_id}&email=$email"; |  | ||||||
| 	} else {  |  | ||||||
| 		$pagegoto = PAGE_SHOP_LOG . "?shop_id={$shop_id}&new_user_id={$contact_id}"; |  | ||||||
| 	} |  | ||||||
| 		 |  | ||||||
| 	header(sprintf("Location: %s", $pagegoto)); | 	header(sprintf("Location: %s", $pagegoto)); | ||||||
|  | 
 | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -96,100 +94,104 @@ $totalRows_Recordset1 = mysql_num_rows($Recordset1); | |||||||
|     <td   align="left"><span class="yb_heading3red"><?php echo $error_message; ?></span></td>
 |     <td   align="left"><span class="yb_heading3red"><?php echo $error_message; ?></span></td>
 | ||||||
| 	  </tr> | 	  </tr> | ||||||
|   <tr> |   <tr> | ||||||
|     <td align="center"> |  | ||||||
|        |        | ||||||
|       <form method="post" name="form1" action="<?php echo $editFormAction; ?>"> |       <form method="post" name="form1" action="<?php echo $editFormAction; ?>"> | ||||||
|         <table width="500" border="1" cellpadding="1" cellspacing="0" bordercolor="#CCCCCC"> |         <table border="0" cellpadding="1" cellspacing="0" bordercolor="#CCCCCC"> | ||||||
|           <tr valign="baseline"> |           <tr> | ||||||
|             <td width="200" align="right" nowrap>Contact_id:</td> |             <td><label>Contact_id:</label></td> | ||||||
| 			    <td><?php echo $row_Recordset1['contact_id']; ?></td>
 | 			    <td><?php echo $row_Recordset1['contact_id']; ?></td>
 | ||||||
|  | 			 </tr> | ||||||
|  |           <tr > | ||||||
|  |             <td><label>Name:</label></td> | ||||||
|  | 			    <td><input id="first_name" type="text" name="first_name" value="<?php echo $row_Recordset1['first_name']; ?>" size="32"> | ||||||
|  | 			    		<span id="first_name_error"></span> | ||||||
|  | 			    		<input name="middle_initial" type="text" value="<?php echo $row_Recordset1['middle_initial']; ?>" size="1" maxlength="1"> | ||||||
|  | 			    		<input id="last_name" type="text" name="last_name" value="<?php echo $row_Recordset1['last_name']; ?>" size="32"> | ||||||
|  | 						<span id="last_name_error"></span>			     | ||||||
|  | 			   </td> | ||||||
| 			    </tr> | 			    </tr> | ||||||
|           <tr valign="baseline"> |           <tr> | ||||||
|             <td nowrap align="right">First_name:</td> |             <td><label>Date of Birth:</label></td> | ||||||
| 			    <td><input type="text" name="first_name" value="<?php echo $row_Recordset1['first_name']; ?>" size="32"></td> | 			    <td><input id="birth_date" type="text" name="DOB" value="<?php echo $row_Recordset1['DOB']; ?>" size="10" />  | ||||||
| 			    </tr> | 			    </td> | ||||||
|           <tr valign="baseline"> | 			 </tr>			  | ||||||
|             <td nowrap align="right">Middle_initial:</td> |           <tr> | ||||||
| 			    <td><input name="middle_initial" type="text" value="<?php echo $row_Recordset1['middle_initial']; ?>" size="1" maxlength="1"></td> |             <td><label>Email:</label></td> | ||||||
| 			    </tr> | 			    <td><input id="email" type="text" name="email" value="<?php echo $row_Recordset1['email']; ?>" size="32"> | ||||||
|           <tr valign="baseline"> | 			    <span id="email_error"></span></td> | ||||||
|             <td nowrap align="right">Last_name:</td> | 			 </tr> | ||||||
| 			    <td><input type="text" name="last_name" value="<?php echo $row_Recordset1['last_name']; ?>" size="32"></td> |           <tr > | ||||||
| 			    </tr> |             <td ><label>Phone:</label></td> | ||||||
|           <tr valign="baseline"> | 			    <td><input id="phone" type="text" name="phone" value="<?php echo $row_Recordset1['phone']; ?>" size="32"> | ||||||
|             <td nowrap align="right">Email:</td> | 			    <span id="phone_error"></span></td> | ||||||
| 			    <td><input type="text" name="email" value="<?php echo $row_Recordset1['email']; ?>" size="32"></td> | 			 </tr> | ||||||
| 			    </tr> |           <tr> | ||||||
|           <tr valign="baseline"> |             <td><label>Address1:</label></td> | ||||||
|             <td nowrap align="right">Date of Birth: </td> |  | ||||||
| 			    <td><input type="text" name="DOB" value="<?php echo $row_Recordset1['DOB']; ?>" size="10" />  |  | ||||||
| 			      (YYYY-MM-DD) </td> |  | ||||||
| 			    </tr> |  | ||||||
|           <tr valign="baseline"> |  | ||||||
|             <td nowrap align="right">Phone:</td> |  | ||||||
| 			    <td><input type="text" name="phone" value="<?php echo $row_Recordset1['phone']; ?>" size="32"></td> |  | ||||||
| 			    </tr> |  | ||||||
|           <tr valign="baseline"> |  | ||||||
|             <td nowrap align="right">Address1:</td> |  | ||||||
| 			    <td><input type="text" name="address1" value="<?php echo $row_Recordset1['address1']; ?>" size="32"></td> | 			    <td><input type="text" name="address1" value="<?php echo $row_Recordset1['address1']; ?>" size="32"></td> | ||||||
| 			    </tr> | 			 </tr> | ||||||
|           <tr valign="baseline"> |           <tr > | ||||||
|             <td nowrap align="right">Address2:</td> |             <td><label>Address2:</label></td> | ||||||
| 			    <td><input type="text" name="address2" value="<?php echo $row_Recordset1['address2']; ?>" size="32"></td> | 			    <td><input type="text" name="address2" value="<?php echo $row_Recordset1['address2']; ?>" size="32"></td> | ||||||
| 			    </tr> | 			 </tr> | ||||||
|           <tr valign="baseline"> |           <tr> | ||||||
|             <td nowrap align="right">City:</td> |             <td><label>City:</label></td> | ||||||
| 			    <td><input type="text" name="city" value="<?php echo $row_Recordset1['city']; ?>" size="32"></td> | 			    <td><input type="text" name="city" value="<?php echo $row_Recordset1['city']; ?>" size="32"></td> | ||||||
| 			    </tr> | 			 </tr> | ||||||
|           <tr valign="baseline"> |           <tr> | ||||||
|             <td nowrap align="right">State:</td> |             <td><label>State:</label></td> | ||||||
| 			    <td><input name="state" type="text" value="<?php echo $row_Recordset1['state']; ?>" size="2" maxlength="2"></td> | 			    <td><input id="state_abbreviation" name="state" type="text" value="<?php echo $row_Recordset1['state']; ?>" size="2" maxlength="2"></td> | ||||||
| 			    </tr> | 			 </tr> | ||||||
|           <tr valign="baseline"> |           <tr > | ||||||
|             <td nowrap align="right">ZIP:</td> |             <td><label>zip:</label></td> | ||||||
| 			    <td><input type="text" name="zip" value="<?php echo $row_Recordset1['zip']; ?>" size="5"></td> | 			    <td><input id="zip" type="text" name="zip" value="<?php echo $row_Recordset1['zip']; ?>" size="10"></td> | ||||||
| 			    </tr> | 			 </tr> | ||||||
|           <tr valign="baseline"> |           <tr> | ||||||
|             <td nowrap align="right">New Password:</td> |             <td><label>New Password:</label></td> | ||||||
| 			    <td><input name="password" type="password" id="password" value="<?php echo $row_Recordset1['passdecode']; ?>" size="32"> | 			    <td> | ||||||
| 			      <br /> | 			    <input name="password" type="password" id="password" value="<?php echo $row_Recordset1['passdecode']; ?>" size="32"> | ||||||
| 			      Your password keeps others from viewing your personal information. </td> | 			    </td> | ||||||
| 			    </tr> | 			 </tr> | ||||||
|           <tr valign="baseline"> | 			<tr> | ||||||
|             <td nowrap align="right"> </td> | 				<td><label>Waiver of Liability:</label></td> | ||||||
| 			    <td><input type="submit" value="Update Contact Info"></td> | 			   <td>			  	<div id="waiver"> | ||||||
| 		        </tr> | 				  <p> | ||||||
|  | 				  I, and my heirs, in consideration of my participation in the Positive Spin Community  | ||||||
|  | 				  Bike Project's Open Workshop hereby release Positive Spin, | ||||||
|  | 				  its officers, employees and agents, and any other people officially connected with this  | ||||||
|  | 				  organization, from any and all liability for damage to or loss of personal | ||||||
|  | 				  property, sickness, or injury from whatever source, legal entanglements, imprisonment,  | ||||||
|  | 				  death, or loss of money, which might occur while participating in said event/activity/class. | ||||||
|  | 				  Specifically, I release Positive Spin from any liability or  | ||||||
|  | 				  responsibility for my personal well-being, condition of tools and equipment provided  | ||||||
|  | 				  and produced thereof, including, but not limited to, bicycles and modes of transportation  | ||||||
|  | 				  produced by participants. The Positive Spin Community Bike Project is a working,  | ||||||
|  | 				  mechanical environment and I am aware of the risks of participation. I hereby state  | ||||||
|  | 				  that I am in sufficient physical condition to accept a rigorous level of physical  | ||||||
|  | 				  activity and exertion, as is sometimes the case when working in a mechanical environment.  | ||||||
|  | 				  I understand that participation in this program is strickly voluntary and I  | ||||||
|  | 				  freely chose to participate. I understand Positive Spin does not provide medical coverage for me.  | ||||||
|  | 				  I verify that I will be responsible  for any medical costs I incur as a result of my participation. | ||||||
|  | 				  </p> | ||||||
|  | 				  </div><input id="waiver_checkbox" type="checkbox"> I agree <span id="waiver_error"></span> | ||||||
|  | 			  	<input type="submit" id="waiver_button" value="Show Waiver" \> | ||||||
|  | 
 | ||||||
|  | 				</td> | ||||||
|  | 			  </tr> | ||||||
|  |           	<tr> | ||||||
|  |           	 <td></td> | ||||||
|  | 			    <td><br /><input id="submit_contact" type="submit" value="Submit"></td> | ||||||
|  | 		    	</tr> | ||||||
|           </table> |           </table> | ||||||
| 		    <input type="hidden" name="list_yes_no" value="1">  <!--This overides the option not to be invited to the newsletter list.--> | 		    <input type="hidden" name="list_yes_no" value="1">  <!--This overides the option not to be invited to the newsletter list.--> | ||||||
|         <input type="hidden" name="MM_insert" value="form1"> |         <input type="hidden" name="MM_insert" value="form1"> | ||||||
|         <input type="hidden" name="contact_id" value="<?php echo $row_Recordset1['contact_id']; ?>"> |         <input type="hidden" name="contact_id" value="<?php echo $row_Recordset1['contact_id']; ?>"> | ||||||
|         <input type="hidden" name="contact_id_entry" value="<?php echo $contact_id_entry; ?>"> |         <input type="hidden" name="contact_id_entry" value="<?php echo $contact_id_entry; ?>"> | ||||||
|         </form>	  </td> |         </form> | ||||||
| 	  </tr> | 	  </tr> | ||||||
| </table> | </table> | ||||||
| <p> </p> | 
 | ||||||
| <div class="well"> | 
 | ||||||
|   <span class="yb_heading3red">Waiver of Liability</span> | 
 | ||||||
|   <br /> |  | ||||||
|   <br /> |  | ||||||
|   <p>I, and my heirs, in consideration of my participation in the New Orleans Community  |  | ||||||
|   Bike Project's Open Workshop hereby release the New Orleans Community Bike Project, |  | ||||||
|   its officers, employees and agents, and any other people officially connected with this  |  | ||||||
|   organization, from any and all liability for damage to or loss of personal |  | ||||||
|   property, sickness, or injury from whatever source, legal entanglements, imprisonment,  |  | ||||||
|   death, or loss of money, which might occur while participating in said event/activity/class. |  | ||||||
|   Specifically, I release The New Orleans Community Bike Project from any liability or  |  | ||||||
|   responsibility for my personal well-being, condition of tools and equipment provided  |  | ||||||
|   and produced thereof, including, but not limited to, bicycles and modes of transportation  |  | ||||||
|   produced by participants. The New Orleans Community Bike Project is a working,  |  | ||||||
|   mechanical environment and I am aware of the risks of participation. I hereby state  |  | ||||||
|   that I am in sufficient physical condition to accept a rigorous level of physical  |  | ||||||
|   activity and exertion, as is sometimes the case when working in a mechanical environment.  |  | ||||||
|   I understand that participation in this program is strickly voluntary and I  |  | ||||||
|   freely chose to participate. I understand that The New Orleans Community Bike Project  |  | ||||||
|   does not provide medical coverage for me. I verify that I will be responsible  |  | ||||||
|   for any medical costs I incur as a result of my participation.</p> |  | ||||||
| </div> |  | ||||||
| 
 | 
 | ||||||
| <?php include("include_footer.html"); ?>
 | <?php include("include_footer.html"); ?>
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										7
									
								
								css/contacts.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								css/contacts.css
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | 
 | ||||||
|  | /* errors */ | ||||||
|  | #waiver_error, #phone_error, #email_error, | ||||||
|  | #first_name_error, #last_name_error | ||||||
|  |  { | ||||||
|  | 	color: red;  | ||||||
|  | } | ||||||
| @ -23,12 +23,14 @@ function resetTimer() | |||||||
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> | ||||||
| <title>YBDB</title> | <title>YBDB</title> | ||||||
| <link href="css/transactions.css" rel="stylesheet" type="text/css" /> | <link href="css/transactions.css" rel="stylesheet" type="text/css" /> | ||||||
|  | <link href="css/contacts.css" rel="stylesheet" type="text/css" /> | ||||||
| <link href="css/css_yb_standard.css" rel="stylesheet" type="text/css" /> | <link href="css/css_yb_standard.css" rel="stylesheet" type="text/css" /> | ||||||
| <link href="css/jquery.nouislider.css" rel="stylesheet" type="text/css" /> | <link href="css/jquery.nouislider.css" rel="stylesheet" type="text/css" /> | ||||||
| <link href="css/chosen.css" rel="stylesheet" type="text/css" /> | <link href="css/chosen.css" rel="stylesheet" type="text/css" /> | ||||||
| 
 | 
 | ||||||
| <script src="js/jquery-2.1.1.js"></script> | <script src="js/jquery-2.1.1.js"></script> | ||||||
| <script src="js/transaction.js"></script> | <script src="js/transaction.js"></script> | ||||||
|  | <script src="js/contact.js"></script> | ||||||
| <script src="js/jquery.mask.js"></script> | <script src="js/jquery.mask.js"></script> | ||||||
| <script src="js/jquery.jeditable.js"></script> | <script src="js/jquery.jeditable.js"></script> | ||||||
| <script src="js/jquery.nouislider.js"></script> | <script src="js/jquery.nouislider.js"></script> | ||||||
|  | |||||||
							
								
								
									
										122
									
								
								js/contact.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								js/contact.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,122 @@ | |||||||
|  | $(function(){ | ||||||
|  | 
 | ||||||
|  | 	"use strict"; | ||||||
|  | 
 | ||||||
|  | 	var birth_date = $("#birth_date"); | ||||||
|  | 	var waiver_checkbox = $("#waiver_checkbox"), waiver_error = $("#waiver_error"); | ||||||
|  | 	var first_name = $("#first_name"), first_name_error = $("#first_name_error"); | ||||||
|  | 	var last_name = $("#last_name"), last_name_error = $("#last_name_error"); | ||||||
|  | 	var phone = $("#phone"), phone_error = $("#phone_error"); | ||||||
|  | 	var email = $("#email"), email_error = $("#email_error"); | ||||||
|  | 	var zip = $("#zip"); | ||||||
|  | 	var state_abbreviation = $("#state_abbreviation"); | ||||||
|  | 
 | ||||||
|  | 	// sensible defaults
 | ||||||
|  | 	first_name.mask('#',{placeholder: "first", translation: {"#": {pattern: /[A-Za-z0-9@.]/, recursive: true} } }); | ||||||
|  | 	last_name.mask('#',{placeholder: "last", translation: {"#": {pattern: /[A-Za-z0-9@.]/, recursive: true} } }); | ||||||
|  | 	birth_date.mask("0000-00-00", {placeholder: "yyyy-mm-dd" }); | ||||||
|  | 	phone.mask('(000) 000-0000', {placeholder: "(000) 000-0000"}); | ||||||
|  | 	email.mask('#',{placeholder: "_@_", translation: {"#": {pattern: /[A-Za-z0-9@.]/, recursive: true} } }); | ||||||
|  | 	zip.mask('00000-0000', {placeholder: "00000-0000"}); | ||||||
|  | 	state_abbreviation.mask('AA',{placeholder: "WV", translation: {"A": {pattern: /[A-Za-z]/, recursive: false} } }); | ||||||
|  | 	$("#submit_contact").on("click keypress", function(e) {				 | ||||||
|  | 		 | ||||||
|  | 		// check for errors
 | ||||||
|  | 		//error_handler(input,error_span,error,error_text,event);
 | ||||||
|  | 		 | ||||||
|  | 		var err0 = 0,  err1 = 0; | ||||||
|  | 
 | ||||||
|  | 		// first name & last name input
 | ||||||
|  | 		error_handler(first_name.val(), first_name_error, "","*Required",e); | ||||||
|  | 		error_handler(last_name.val(), last_name_error, "","*Required",e);		 | ||||||
|  | 		 | ||||||
|  | 		// email and phone input
 | ||||||
|  | 		if (email.val() === "" && phone.val() === "") { | ||||||
|  | 			 | ||||||
|  | 			error_handler(email.val(), email_error, "","*Required - email address and/or phone number",e); | ||||||
|  | 			error_handler(phone.val(), phone_error, "","*Required - email address and/or phone number",e);	 | ||||||
|  | 			 | ||||||
|  | 		} else if ( (email.val() === "" && phone.val() !== "") ) { | ||||||
|  | 			 | ||||||
|  | 			email_error.hide(); | ||||||
|  | 			phone_error.hide(); | ||||||
|  | 			phone_validator(phone.val(),e); | ||||||
|  | 						 | ||||||
|  | 		} else if ( (email.val() !== "" && phone.val() === "") ) { | ||||||
|  | 
 | ||||||
|  | 			email_error.hide(); | ||||||
|  | 			phone_error.hide(); | ||||||
|  | 			email_validator(email.val(),e); | ||||||
|  | 
 | ||||||
|  | 		} else if ( email.val()  && phone.val() ) { | ||||||
|  | 
 | ||||||
|  | 			email_error.hide(); | ||||||
|  | 			phone_error.hide();				 | ||||||
|  | 			phone_validator(phone.val(),e); | ||||||
|  | 			email_validator(email.val(),e); | ||||||
|  | 			 | ||||||
|  | 		} | ||||||
|  | 		 | ||||||
|  | 		// waiver checkbox
 | ||||||
|  | 		error_handler(waiver_checkbox.prop("checked"),waiver_error,false,"*Required",event); | ||||||
|  | 	 | ||||||
|  | 	} ); | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
|  | 	// waiver slideup/slidedown
 | ||||||
|  |   	$('#waiver').hide(); | ||||||
|  |   	var c=0; | ||||||
|  |   	$('#waiver_button').click(function(e){ | ||||||
|  |   		e.preventDefault(); | ||||||
|  | 	  	if (c == 0) { | ||||||
|  | 		$('#waiver').slideDown(); | ||||||
|  | 			$(this).attr("value","Hide Waiver"); | ||||||
|  | 			c++; | ||||||
|  | 	  	} else { | ||||||
|  | 	   	$('#waiver').slideUp(); | ||||||
|  | 	   	$(this).attr("value","Show Waiver"); | ||||||
|  | 	    	c--; | ||||||
|  |   	} }); | ||||||
|  |   	 | ||||||
|  |   	 | ||||||
|  | 	function phone_validator(val, e) { | ||||||
|  | 				var re = /^\(\d{3}\)\s?\d{3}-\d{4}$/; | ||||||
|  | 				if ( !re.test(val) ) { | ||||||
|  | 					console.log("hello"); | ||||||
|  | 					error_handler(false, phone_error, false,"*Enter a correct phone number",e); | ||||||
|  | 				} | ||||||
|  | 	}  	 | ||||||
|  |   	 | ||||||
|  | 
 | ||||||
|  | 	function email_validator(val, e) { | ||||||
|  | 				// https://fightingforalostcause.net/content/misc/2006/compare-email-regex.php
 | ||||||
|  | 				var re = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;			 | ||||||
|  | 				if ( !re.test(val) ) { | ||||||
|  | 					error_handler(false, email_error, false,"*Enter a correct email address",e); | ||||||
|  | 				} | ||||||
|  | 	} | ||||||
|  | 	  	 | ||||||
|  |   	 | ||||||
|  |   	// error handler for contacts		
 | ||||||
|  | 	function error_handler(input,error_span,error,error_text,event) {		 | ||||||
|  | 		var trans_error = 0; | ||||||
|  | 		if ( input == error ) { | ||||||
|  | 			if ( !error_span.is(":visible") ) { | ||||||
|  | 				error_span.show();		 | ||||||
|  | 			}									 | ||||||
|  | 			error_span.html(error_text); | ||||||
|  | 			trans_error = 1; | ||||||
|  | 		} else { | ||||||
|  | 			trans_error = 0; | ||||||
|  | 			error_span.hide();	 | ||||||
|  | 		}						 | ||||||
|  | 			 | ||||||
|  | 		if (trans_error) { | ||||||
|  | 	   	event.preventDefault(); | ||||||
|  | 		}  | ||||||
|  | 		 | ||||||
|  | 		return trans_error; | ||||||
|  | 
 | ||||||
|  | 	} // end error_handling function
 | ||||||
|  |   		 | ||||||
|  | }); | ||||||
| @ -617,7 +617,6 @@ $(function() { | |||||||
| 					date = "0000-00-00";				 | 					date = "0000-00-00";				 | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 				// find new transaction_id if date has changed for a storage transaction
 | 				// find new transaction_id if date has changed for a storage transaction
 | ||||||
| 				//  this is the most recent transaction_id					
 | 				//  this is the most recent transaction_id					
 | ||||||
| 				if ($("#date_startstorage").val() && date !== "0000-00-00") { | 				if ($("#date_startstorage").val() && date !== "0000-00-00") { | ||||||
| @ -695,29 +694,19 @@ $(function() { | |||||||
| 						transaction_history.push(current_transaction); | 						transaction_history.push(current_transaction); | ||||||
| 						$.post("json/transaction.php",{ history_update: 1,  | 						$.post("json/transaction.php",{ history_update: 1,  | ||||||
| 																		transaction_id: transaction_id,  | 																		transaction_id: transaction_id,  | ||||||
| 																		history: transaction_history }); | 																		history: transaction_history, | ||||||
| 					 | 																		more_than_one: 1 }); | ||||||
| 					 | 						 | ||||||
| 					} // more than 1 transaction in the history
 | 					} // more than 1 transaction in the history
 | ||||||
| 					 | 					 | ||||||
| 				} );	 | 				} );	// check for prior transactions
 | ||||||
| 				 | 					 | ||||||
| 				 |  | ||||||
| 	 | 	 | ||||||
| 			} // End Save History		
 | 			} // End Save History		
 | ||||||
| 
 | 
 | ||||||
| 		 | 		 | ||||||
| 		})  // end function save_and_close
 | 		})  // end function save_and_close
 | ||||||
| 				 | 				 | ||||||
| 		// show history if more than 1 transaction can also be done within transactions.php	& 
 |  | ||||||
| 		// choosen dis-activating  active trans.					
 |  | ||||||
| 		$.post("json/transaction.php",{ history_select: 1, transaction_id: transaction_id }, function(data) { |  | ||||||
| 			 |  | ||||||
| 			if (data !== "First Transaction") {				 |  | ||||||
| 				var transaction_history = $.parseJSON(data); |  | ||||||
| 			} |  | ||||||
| 		} ); |  | ||||||
| 
 |  | ||||||
|       // On reload if patron isn't logged in replace pull-down with patrons name 
 |       // On reload if patron isn't logged in replace pull-down with patrons name 
 | ||||||
| 		if (sold_to.val() == "no_selection") { | 		if (sold_to.val() == "no_selection") { | ||||||
| 			$.post("json/transaction.php",{ not_logged_in: 1, transaction_id: transaction_id }, function(data) { | 			$.post("json/transaction.php",{ not_logged_in: 1, transaction_id: transaction_id }, function(data) { | ||||||
|  | |||||||
| @ -97,17 +97,28 @@ $change_fund = CHANGE_FUND; | |||||||
| 		if ($result['history'] == "") { | 		if ($result['history'] == "") { | ||||||
| 			echo "First Transaction";		 | 			echo "First Transaction";		 | ||||||
| 		} else { | 		} else { | ||||||
| 			echo $result['history'];		 | 			// Description may have newlines			
 | ||||||
|  | 			$history_result = str_replace("\n", "\\n",$result['history']); | ||||||
|  | 			echo $history_result;		 | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Transaction history - update transaction history
 | 	// Transaction history - update transaction history
 | ||||||
|  | 	// Note:  This could easily be turned into its own table with a foreign key
 | ||||||
|  | 	// referencing transaction_log.transaction_id, but most transactions
 | ||||||
|  | 	// will probably only occur 1 time, and there probably isn't that much
 | ||||||
|  | 	// need to do many things with this data other than rollback a transaction, or
 | ||||||
|  | 	// research what happened on a particular shop day.
 | ||||||
| 	if(isset($_POST['history_update'])) { | 	if(isset($_POST['history_update'])) { | ||||||
| 		$json = json_encode($_POST['history']); | 		$json = json_encode($_POST['history']); | ||||||
| 		$query = "UPDATE transaction_log SET history='$json'" .   | 		$query = "UPDATE transaction_log SET history='$json'" .   | ||||||
| 					' WHERE transaction_id="' . $_POST['transaction_id'] . '";'; | 					' WHERE transaction_id="' . $_POST['transaction_id'] . '";'; | ||||||
| 		$result = mysql_query($query, $YBDB) or die(mysql_error());	 | 		$result = mysql_query($query, $YBDB) or die(mysql_error());	 | ||||||
| 		//echo ;	
 | 
 | ||||||
|  | 		// show history
 | ||||||
|  | 		if(isset($_POST['more_than_one'])) { | ||||||
|  | 			list_history($_POST['history']); | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Check for most recent transaction_id if transaction_id has changed
 | 	// Check for most recent transaction_id if transaction_id has changed
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user