Advertisement
Guest User

Untitled

a guest
Jun 12th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.96 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', '1');
  4. require('../wp-load.php');
  5. global $wpdb;
  6. $amount = $_POST['amount'];
  7. $description = $_POST['description'];
  8. $invoice_id = $_POST['invoice_id'];
  9. $subject = $_POST['subject'];
  10. $itemized = $_POST['itemized'];
  11.  
  12. $user_id = $_POST['user_id'];
  13.  
  14. //Update User Information
  15. $first_name = $_POST['wp_invoice_first_name'];
  16. $last_name = $_POST['wp_invoice_last_name'];
  17. $shipping_address = $_POST['shipping_address'];
  18. $shipping_city = $_POST['shipping_city'];
  19. $shipping_state = $_POST['shipping_state'];
  20. $shipping_zip = $_POST['shipping_zip'];
  21. $shipping_country = $_POST['shipping_country'];
  22. $shipping_service = $_POST['shipping_service'];
  23. $user_email = $_POST['email'];
  24.  
  25. if(!empty($user_id) && $user_id != 0) {
  26. $user_info = array();
  27. $user_info['wp_invoice_first_name'] = $first_name;
  28. $user_info['wp_invoice_last_name'] = $last_name;
  29. $user_info['wp_invoice_new_user_username'] = $user_email;
  30. $user_info['wp_invoice_new_user_email_address'] = $user_email;
  31. $user_id = wp_invoice_create_wp_user($user_info, true);
  32. }
  33.  
  34. if(!empty($first_name)) update_user_meta($user_id, 'first_name', $first_name);
  35. if(!empty($last_name)) update_user_meta($user_id, 'last_name', $last_name);
  36.  
  37. if(!empty($shipping_address)) update_user_meta($user_id, 'shipping_address',$_POST['shipping_address']);
  38. if(!empty($shipping_city)) update_user_meta($user_id, 'shipping_city', $_POST['shipping_city']);
  39. if(!empty($shipping_state)) update_user_meta($user_id, 'shipping_state', $_POST['shipping_state']);
  40. if(!empty($shipping_zip)) update_user_meta($user_id, 'shipping_zip', $_POST['shipping_zip']);
  41. if(!empty($shipping_country)) update_user_meta($user_id, 'shipping_country',$_POST['shipping_country']);
  42.  
  43. // Itemized List
  44. array_values($itemized);
  45. $itemized = urlencode(serialize($itemized));
  46.  
  47. // Check if this is a new invoice, or an update
  48. if(wp_invoice_does_invoice_exist($invoice_id)) {
  49. // Updating Old Invoice
  50.  
  51. if(wp_invoice_get_invoice_attrib($invoice_id,'subject') != $subject) { $wpdb->query("UPDATE ".WP_Invoice::tablename('main')." SET subject = '$subject' WHERE invoice_num = $invoice_id"); wp_invoice_update_log($invoice_id, 'updated', ' Subject Updated '); $message .= "Subject updated. ";}
  52. if(wp_invoice_get_invoice_attrib($invoice_id,'description') != $description) { $wpdb->query("UPDATE ".WP_Invoice::tablename('main')." SET description = '$description' WHERE invoice_num = $invoice_id"); wp_invoice_update_log($invoice_id, 'updated', ' Description Updated '); $message .= "Description updated. ";}
  53. if(wp_invoice_get_invoice_attrib($invoice_id,'amount') != $amount) { $wpdb->query("UPDATE ".WP_Invoice::tablename('main')." SET amount = '$amount' WHERE invoice_num = $invoice_id"); wp_invoice_update_log($invoice_id, 'updated', ' Amount Updated '); $message .= "Amount updated. ";}
  54. if(wp_invoice_get_invoice_attrib($invoice_id,'itemized') != $itemized) { $wpdb->query("UPDATE ".WP_Invoice::tablename('main')." SET itemized = '$itemized' WHERE invoice_num = $invoice_id"); wp_invoice_update_log($invoice_id, 'updated', ' Itemized List Updated '); $message .= "Itemized List updated. ";}
  55. }
  56. else {
  57. // Create New Invoice
  58.  
  59. if($wpdb->insert(WP_Invoice::tablename('main'), array( 'amount' => $amount, 'description' => $description, 'invoice_num' => $invoice_id, 'user_id' => $user_id, 'subject' => $subject, 'itemized' => $itemized))) {
  60. $message = __("New Invoice saved.", WP_INVOICE_TRANS_DOMAIN);
  61. wp_invoice_update_log($invoice_id, 'created', ' Created ');;
  62. }
  63. else {
  64. $error = true; $message = __("There was a problem saving invoice. Try deactivating and reactivating plugin.", WP_INVOICE_TRANS_DOMAIN);
  65. }
  66. }
  67.  
  68. if($message && $invoice_id) {
  69. $invoice_class = new wp_invoice_get($invoice_id);
  70. $invoice = $invoice_class->data;
  71. $invoice_link = " <a href='".$invoice->pay_link."' target='_blank'>".__("View Web Invoice", WP_INVOICE_TRANS_DOMAIN)."</a>.";
  72.  
  73. $message .= $invoice_link;
  74. $email_content = 'Dear ' . $first_name . ' ' . $last_name .
  75. ',\nSlides.com has sent you a web invoice in the amount of $' .
  76. $amount .
  77. '.\n\nYou may pay, view and print the invoice online by visiting the following link:\n' .
  78. $invoice->pay_link .
  79. '\n\nBest regards,\nSlides.com ( Slides@slides.com )';
  80. wp_invoice_update_invoice_meta($invoice_id, 'email_message_content', $email_content);
  81.  
  82. $to = "orders@slides.com";
  83. $subject = 'Need:' . $_POST['nbdate'] . ' Order #' .$invoice_id . ' for ' . $first_name . ' ' . $last_name;
  84. $invoice_class = new wp_invoice_get($invoice_id);
  85. $invoice = $invoice_class->data;
  86. $email_message = 'Shipping Information:\n\n' .$first_name . ' ' . $last_name . '\n' .
  87. $shipping_address . '\n' . $shipping_city . ', ' .$shipping_zip .
  88. ' ' . $shipping_state . '\n' . $shipping_country . '\n' .
  89. $invoice->user_class->user_email . '\n' .
  90. $_POST['phone'] . '\n' . $_POST['sphone'] . '\n' . '\n\n' . $shipping_service .
  91. '\n\n Copy of Customer email:\n' . $email_content;
  92. $email_message = str_replace('\n', '<br>', $email_message);
  93.  
  94. $headers = 'MIME-Version: 1.0' . "\r\n";
  95. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  96. $headers .= "From: Slides.com <admin@slides.com>\r\n";
  97. mail($to, $subject, $email_message, $headers);
  98.  
  99. }
  100.  
  101. echo $message;
  102.  
  103. // Update Invoice Settings
  104. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_currency_code', 'USD');
  105. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_payment_method', 'cc');
  106. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_client_change_payment_method', 'yes');
  107. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_paypal_allow', 'yes');
  108. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_paypal_address', 'davidsieverding@mail.slides.com');
  109. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_cc_allow', 'yes');
  110.  
  111. // Update Transaction Settings
  112. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_url', get_option('wp_invoice_gateway_url'));
  113. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_tran_key', get_option('wp_invoice_gateway_tran_key'));
  114. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_username', get_option('wp_invoice_gateway_username'));
  115. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_recurring_gateway_url', get_option('wp_invoice_recurring_gateway_url'));
  116. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_delim_char', get_option('wp_invoice_gateway_delim_char'));
  117. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_encap_char', get_option('wp_invoice_gateway_encap_char'));
  118. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_merchant_email', get_option('wp_invoice_gateway_merchant_email'));
  119. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_email_customer', get_option('wp_invoice_gateway_email_customer'));
  120. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_MD5Hash', get_option('wp_invoice_gateway_MD5Hash'));
  121. wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_delim_data', get_option('wp_invoice_gateway_delim_data'));
  122.  
  123. wp_send_single_invoice($invoice_id, false, false);
  124. ?>
  125. // WP Invoice reference function
  126.  
  127. function wp_invoice_create_wp_user($p, $send_notification = false) {
  128.  
  129. $username = $p['wp_invoice_new_user_username'];
  130. if(!$username or wp_invoice_username_taken($username)) {
  131. $username = wp_invoice_get_user_login_name();
  132. }
  133.  
  134. $generated_password = wp_generate_password();
  135.  
  136. $userdata = array(
  137. 'user_pass' => $generated_password,
  138. 'user_login' => $username,
  139. 'user_email' => $p['wp_invoice_new_user_email_address'],
  140. 'first_name' => $p['wp_invoice_first_name'],
  141. 'last_name' => $p['wp_invoice_last_name']);
  142.  
  143. if(empty($p['wp_invoice_new_user_email_address']))
  144. return false;
  145.  
  146. $wpuid = wp_insert_user($userdata);
  147.  
  148. if($send_notification) {
  149. wp_new_user_notification($wpuid, $generated_password);
  150. }
  151.  
  152.  
  153. return $wpuid;
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement