Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. <form id="changeCustAddr" action="#" method="post" data-url="<?php echo admin_url('/admin-ajax.php'); ?>">
  2. <input type="hidden" name="action" value="cust_address">
  3. <input type="hidden" name="nonce" value="<?php echo wp_create_nonce( 'cust_address_nonce' )?>">
  4. <input type="hidden" id="record" name="record" value="<?php echo (!$newone) ? $rec : $max+1 ?>">
  5. <input type="hidden" id="custno" name="custno" value="<?php echo $custno ?>">
  6.  
  7. input fields for addresses
  8. Prev, Next and New buttons etc have been removed for clarity
  9.  
  10. <input type="submit" id="CustAddrDelete" name="delete" class="btn" value="Delete" data-url="<?php echo bloginfo('template_directory') ?>/scripts/deleteCustAddrform.php?cust=<?php echo $custno ?>&record=<?php echo $rec ?>" >
  11. <input type="button" id="CustAddrNew" name="new" class="btn" value="New" data-url="<?php echo get_page_link( $post->ID ),'?cust=', $custno, '&record=new' ?>" >
  12.  
  13. <small class="field-msg js-form-submission">Submission in progress, Please wait &hellip;</small>
  14. <small class="field-msg success js-form-success">Details Successfully submitted, thank you!</small>
  15. <small class="field-msg error js-form-error">Could not update database. Please try again.</small>
  16.  
  17. <input type="submit" id="CustAddrSave" name="save" class="btn btn-blue" value="<?php echo (!$newone) ? 'Save' : 'Add New' ?>" data-action="cust_address">
  18. <input type="button" id="CustAddrClose" name="close" class="btn btn-blue" value="<?php echo (!$newone) ? 'Close' : 'Discard Changes' ?>" data-url="<?php echo get_page_link( get_page_by_title( 'dojo details' )->ID ),'?cust=', $custno, '&record=1' ?>">
  19.  
  20. document.addEventListener('DOMContentLoaded', function (e) {
  21. const changeCustAddrFrm = document.getElementById('changeCustAddr');
  22. if (changeCustAddrFrm) {
  23. changeCustAddrFrm.addEventListener('submit', (e) => {
  24. e.preventDefault();
  25.  
  26. let data = {
  27. custno: changeCustAddrFrm.querySelector('[name="custno"]').value,
  28. priority: changeCustAddrFrm.querySelector('[name="record"]').value,
  29. address1: changeCustAddrFrm.querySelector('[name="address1"]').value,
  30. ... more address lines ...
  31. postcode: changeCustAddrFrm.querySelector('[name="postcode"]').value,
  32. }
  33. // ajax http post request
  34. let url = changeCustAddrFrm.dataset.url;
  35. console.log(url);
  36. let params = new URLSearchParams(new FormData(changeCustAddrFrm));
  37. console.log(params);
  38. changeCustAddrFrm.querySelector('.js-form-submission').classList.add('show');
  39.  
  40. fetch(url, {
  41. method: "POST",
  42. body: params
  43. }).then(res => res.json())
  44. .catch(error => {
  45. resetMessages();
  46. changeCustAddrFrm.querySelector('.js-form-error').classList.add('show');
  47. })
  48. .then(response => {
  49. resetMessages();
  50.  
  51. if (response === 0 || response.status === 'error') {
  52. changeCustAddrFrm.querySelector('.js-form-error').classList.add('show');
  53. return;
  54. }
  55.  
  56. changeCustAddrFrm.querySelector('.js-form-success').classList.add('show');
  57. })
  58. });
  59.  
  60. public function cust_address() {
  61. if (! DOING_AJAX || ! check_ajax_referer('cust_address_nonce', 'nonce') ) {
  62. return $this->return_json( 'error' );
  63. }
  64. $custno = $_POST['custno'];
  65. $addressno = $_POST['record'];
  66. $max = $_POST['max'];
  67.  
  68. $servername = "localhost";
  69. $username = "uuuu";
  70. $password = "pppp";
  71. $dbname = "db";
  72. $mydb = new wpdb( $username, $password, $dbname, $servername );
  73. $table = 'mem_custaddress';
  74.  
  75. $data = [
  76. 'Address1'=>sanitize_text_field($_POST['address1']),
  77. ... other address lines ...
  78. 'Postcode'=>sanitize_text_field($_POST['postcode']),
  79. ];
  80. $format = [ '%s', ... , '%s' ];
  81. $where = [
  82. 'Custno'=>$_POST['custno'],
  83. 'Priority'=>$_POST['record']
  84. ];
  85. $where_format = [ '%d', '%d' ];
  86.  
  87. if ($addressno <= $max) {
  88. $result = $mydb->update( $table, $data, $where, $format, $where_format );
  89. } else {
  90. $dataInsert =[
  91. 'Custno'=>$_POST['custno'],
  92. 'Priority'=>$_POST['record'],
  93. 'Address1'=>$_POST['Address1'],
  94. ...
  95. 'Postcode'=>$_POST['Postcode'],
  96. ];
  97. $formatInsert = ['%d', '%d', '%s', ... , '%s'];
  98. $result = $mydb->insert( $table, $dataInsert, $formatInsert );
  99. }
  100.  
  101. if ($result) {
  102. return $this->return_json( 'success');
  103. wp_die();
  104. }
  105. return $this->return_json( 'error');
  106. wp_die();
  107. }
  108.  
  109. public function return_json($status)
  110. {
  111. $return = array(
  112. 'status' => $status
  113. );
  114. wp_send_json($return);
  115. wp_die();
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement