Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(E_ALL);
- ini_set('display_errors', '1');
- require('../wp-load.php');
- global $wpdb;
- $amount = $_POST['amount'];
- $description = $_POST['description'];
- $invoice_id = $_POST['invoice_id'];
- $subject = $_POST['subject'];
- $itemized = $_POST['itemized'];
- $user_id = $_POST['user_id'];
- //Update User Information
- $first_name = $_POST['wp_invoice_first_name'];
- $last_name = $_POST['wp_invoice_last_name'];
- $shipping_address = $_POST['shipping_address'];
- $shipping_city = $_POST['shipping_city'];
- $shipping_state = $_POST['shipping_state'];
- $shipping_zip = $_POST['shipping_zip'];
- $shipping_country = $_POST['shipping_country'];
- $shipping_service = $_POST['shipping_service'];
- $user_email = $_POST['email'];
- if(!empty($user_id) && $user_id != 0) {
- $user_info = array();
- $user_info['wp_invoice_first_name'] = $first_name;
- $user_info['wp_invoice_last_name'] = $last_name;
- $user_info['wp_invoice_new_user_username'] = $user_email;
- $user_info['wp_invoice_new_user_email_address'] = $user_email;
- $user_id = wp_invoice_create_wp_user($user_info, true);
- }
- if(!empty($first_name)) update_user_meta($user_id, 'first_name', $first_name);
- if(!empty($last_name)) update_user_meta($user_id, 'last_name', $last_name);
- if(!empty($shipping_address)) update_user_meta($user_id, 'shipping_address',$_POST['shipping_address']);
- if(!empty($shipping_city)) update_user_meta($user_id, 'shipping_city', $_POST['shipping_city']);
- if(!empty($shipping_state)) update_user_meta($user_id, 'shipping_state', $_POST['shipping_state']);
- if(!empty($shipping_zip)) update_user_meta($user_id, 'shipping_zip', $_POST['shipping_zip']);
- if(!empty($shipping_country)) update_user_meta($user_id, 'shipping_country',$_POST['shipping_country']);
- // Itemized List
- array_values($itemized);
- $itemized = urlencode(serialize($itemized));
- // Check if this is a new invoice, or an update
- if(wp_invoice_does_invoice_exist($invoice_id)) {
- // Updating Old Invoice
- 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. ";}
- 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. ";}
- 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. ";}
- 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. ";}
- }
- else {
- // Create New Invoice
- if($wpdb->insert(WP_Invoice::tablename('main'), array( 'amount' => $amount, 'description' => $description, 'invoice_num' => $invoice_id, 'user_id' => $user_id, 'subject' => $subject, 'itemized' => $itemized))) {
- $message = __("New Invoice saved.", WP_INVOICE_TRANS_DOMAIN);
- wp_invoice_update_log($invoice_id, 'created', ' Created ');;
- }
- else {
- $error = true; $message = __("There was a problem saving invoice. Try deactivating and reactivating plugin.", WP_INVOICE_TRANS_DOMAIN);
- }
- }
- if($message && $invoice_id) {
- $invoice_class = new wp_invoice_get($invoice_id);
- $invoice = $invoice_class->data;
- $invoice_link = " <a href='".$invoice->pay_link."' target='_blank'>".__("View Web Invoice", WP_INVOICE_TRANS_DOMAIN)."</a>.";
- $message .= $invoice_link;
- $email_content = 'Dear ' . $first_name . ' ' . $last_name .
- ',\nSlides.com has sent you a web invoice in the amount of $' .
- $amount .
- '.\n\nYou may pay, view and print the invoice online by visiting the following link:\n' .
- $invoice->pay_link .
- '\n\nBest regards,\nSlides.com ( Slides@slides.com )';
- wp_invoice_update_invoice_meta($invoice_id, 'email_message_content', $email_content);
- $to = "orders@slides.com";
- $subject = 'Need:' . $_POST['nbdate'] . ' Order #' .$invoice_id . ' for ' . $first_name . ' ' . $last_name;
- $invoice_class = new wp_invoice_get($invoice_id);
- $invoice = $invoice_class->data;
- $email_message = 'Shipping Information:\n\n' .$first_name . ' ' . $last_name . '\n' .
- $shipping_address . '\n' . $shipping_city . ', ' .$shipping_zip .
- ' ' . $shipping_state . '\n' . $shipping_country . '\n' .
- $invoice->user_class->user_email . '\n' .
- $_POST['phone'] . '\n' . $_POST['sphone'] . '\n' . '\n\n' . $shipping_service .
- '\n\n Copy of Customer email:\n' . $email_content;
- $email_message = str_replace('\n', '<br>', $email_message);
- $headers = 'MIME-Version: 1.0' . "\r\n";
- $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
- $headers .= "From: Slides.com <admin@slides.com>\r\n";
- mail($to, $subject, $email_message, $headers);
- }
- echo $message;
- // Update Invoice Settings
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_currency_code', 'USD');
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_payment_method', 'cc');
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_client_change_payment_method', 'yes');
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_paypal_allow', 'yes');
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_paypal_address', 'davidsieverding@mail.slides.com');
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_cc_allow', 'yes');
- // Update Transaction Settings
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_url', get_option('wp_invoice_gateway_url'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_tran_key', get_option('wp_invoice_gateway_tran_key'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_username', get_option('wp_invoice_gateway_username'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_recurring_gateway_url', get_option('wp_invoice_recurring_gateway_url'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_delim_char', get_option('wp_invoice_gateway_delim_char'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_encap_char', get_option('wp_invoice_gateway_encap_char'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_merchant_email', get_option('wp_invoice_gateway_merchant_email'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_email_customer', get_option('wp_invoice_gateway_email_customer'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_MD5Hash', get_option('wp_invoice_gateway_MD5Hash'));
- wp_invoice_update_invoice_meta($invoice_id, 'wp_invoice_gateway_delim_data', get_option('wp_invoice_gateway_delim_data'));
- wp_send_single_invoice($invoice_id, false, false);
- ?>
- // WP Invoice reference function
- function wp_invoice_create_wp_user($p, $send_notification = false) {
- $username = $p['wp_invoice_new_user_username'];
- if(!$username or wp_invoice_username_taken($username)) {
- $username = wp_invoice_get_user_login_name();
- }
- $generated_password = wp_generate_password();
- $userdata = array(
- 'user_pass' => $generated_password,
- 'user_login' => $username,
- 'user_email' => $p['wp_invoice_new_user_email_address'],
- 'first_name' => $p['wp_invoice_first_name'],
- 'last_name' => $p['wp_invoice_last_name']);
- if(empty($p['wp_invoice_new_user_email_address']))
- return false;
- $wpuid = wp_insert_user($userdata);
- if($send_notification) {
- wp_new_user_notification($wpuid, $generated_password);
- }
- return $wpuid;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement