diff --git a/cron.php b/cron.php index 020c0960..d9be95bb 100644 --- a/cron.php +++ b/cron.php @@ -541,6 +541,7 @@ while ($row = mysqli_fetch_array($sql_recurring)) { $recurring_status = sanitizeInput($row['recurring_status']); $recurring_last_sent = sanitizeInput($row['recurring_last_sent']); $recurring_next_date = sanitizeInput($row['recurring_next_date']); + $recurring_discount_amount = floatval($row['recurring_discount_amount']); $recurring_amount = floatval($row['recurring_amount']); $recurring_currency_code = sanitizeInput($row['recurring_currency_code']); $recurring_note = sanitizeInput($row['recurring_note']); //Escape SQL @@ -562,7 +563,7 @@ while ($row = mysqli_fetch_array($sql_recurring)) { //Generate a unique URL key for clients to access $url_key = randomString(156); - mysqli_query($mysqli, "INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $new_invoice_number, invoice_scope = '$recurring_scope', invoice_date = CURDATE(), invoice_due = DATE_ADD(CURDATE(), INTERVAL $client_net_terms day), invoice_amount = $recurring_amount, invoice_currency_code = '$recurring_currency_code', invoice_note = '$recurring_note', invoice_category_id = $category_id, invoice_status = 'Sent', invoice_url_key = '$url_key', invoice_client_id = $client_id"); + mysqli_query($mysqli, "INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $new_invoice_number, invoice_scope = '$recurring_scope', invoice_date = CURDATE(), invoice_due = DATE_ADD(CURDATE(), INTERVAL $client_net_terms day), invoice_discount_amount = $recurring_discount_amount, invoice_amount = $recurring_amount, invoice_currency_code = '$recurring_currency_code', invoice_note = '$recurring_note', invoice_category_id = $category_id, invoice_status = 'Sent', invoice_url_key = '$url_key', invoice_client_id = $client_id"); $new_invoice_id = mysqli_insert_id($mysqli); diff --git a/post/invoice.php b/post/invoice.php index 0ffedaf0..5ca28064 100644 --- a/post/invoice.php +++ b/post/invoice.php @@ -1028,7 +1028,7 @@ if (isset($_GET['email_invoice'])) { $mysqli, "SELECT contact_name, contact_email FROM contacts WHERE contact_billing = 1 - AND contact_email != '$contact_email_escaped' + AND contact_email != '$contact_email' AND contact_email != '' AND contact_client_id = $client_id" ); @@ -1072,6 +1072,7 @@ if (isset($_GET['force_recurring'])) { $recurring_status = sanitizeInput($row['recurring_status']); $recurring_last_sent = sanitizeInput($row['recurring_last_sent']); $recurring_next_date = sanitizeInput($row['recurring_next_date']); + $recurring_discount_amount = floatval($row['recurring_discount_amount']); $recurring_amount = floatval($row['recurring_amount']); $recurring_currency_code = sanitizeInput($row['recurring_currency_code']); $recurring_note = sanitizeInput($row['recurring_note']); @@ -1087,7 +1088,7 @@ if (isset($_GET['force_recurring'])) { //Generate a unique URL key for clients to access $url_key = randomString(156); - mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $new_invoice_number, invoice_scope = '$recurring_scope', invoice_date = CURDATE(), invoice_due = DATE_ADD(CURDATE(), INTERVAL $client_net_terms day), invoice_amount = $recurring_amount, invoice_currency_code = '$recurring_currency_code', invoice_note = '$recurring_note', invoice_category_id = $category_id, invoice_status = 'Sent', invoice_url_key = '$url_key', invoice_client_id = $client_id"); + mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $new_invoice_number, invoice_scope = '$recurring_scope', invoice_date = CURDATE(), invoice_due = DATE_ADD(CURDATE(), INTERVAL $client_net_terms day), invoice_discount_amount = $recurring_discount_amount, invoice_amount = $recurring_amount, invoice_currency_code = '$recurring_currency_code', invoice_note = '$recurring_note', invoice_category_id = $category_id, invoice_status = 'Sent', invoice_url_key = '$url_key', invoice_client_id = $client_id"); $new_invoice_id = mysqli_insert_id($mysqli); @@ -1127,7 +1128,7 @@ if (isset($_GET['force_recurring'])) { //Update Recurring Balances by tallying up recurring items also update recurring dates $sql_recurring_total = mysqli_query($mysqli,"SELECT SUM(item_total) AS recurring_total FROM invoice_items WHERE item_recurring_id = $recurring_id"); $row = mysqli_fetch_array($sql_recurring_total); - $new_recurring_amount = floatval($row['recurring_total']); + $new_recurring_amount = floatval($row['recurring_total']) - $recurring_discount_amount; mysqli_query($mysqli,"UPDATE recurring SET recurring_amount = $new_recurring_amount, recurring_last_sent = CURDATE(), recurring_next_date = DATE_ADD(CURDATE(), INTERVAL 1 $recurring_frequency) WHERE recurring_id = $recurring_id"); @@ -1164,6 +1165,10 @@ if (isset($_GET['force_recurring'])) { $company_email = sanitizeInput($row['company_email']); $company_website = sanitizeInput($row['company_website']); + // Sanitize Config Vars + $config_invoice_from_email = sanitizeInput($config_invoice_from_email); + $config_invoice_from_name = sanitizeInput($config_invoice_from_name); + // Email to client $subject = "Invoice $invoice_prefix$invoice_number"; diff --git a/post/quote.php b/post/quote.php index 158c2c83..26384317 100644 --- a/post/quote.php +++ b/post/quote.php @@ -99,6 +99,7 @@ if (isset($_POST['add_quote_to_invoice'])) { $sql = mysqli_query($mysqli,"SELECT * FROM quotes WHERE quote_id = $quote_id"); $row = mysqli_fetch_array($sql); + $quote_discount_amount = floatval($row['quote_discount_amount']); $quote_amount = floatval($row['quote_amount']); $quote_currency_code = sanitizeInput($row['quote_currency_code']); $quote_scope = sanitizeInput($row['quote_scope']); @@ -110,7 +111,7 @@ if (isset($_POST['add_quote_to_invoice'])) { //Generate a unique URL key for clients to access $url_key = randomString(156); - mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $invoice_number, invoice_scope = '$quote_scope', invoice_date = '$date', invoice_due = DATE_ADD(CURDATE(), INTERVAL $client_net_terms day), invoice_category_id = $category_id, invoice_status = 'Draft', invoice_amount = $quote_amount, invoice_currency_code = '$quote_currency_code', invoice_note = '$quote_note', invoice_url_key = '$url_key', invoice_client_id = $client_id"); + mysqli_query($mysqli,"INSERT INTO invoices SET invoice_prefix = '$config_invoice_prefix', invoice_number = $invoice_number, invoice_scope = '$quote_scope', invoice_date = '$date', invoice_due = DATE_ADD(CURDATE(), INTERVAL $client_net_terms day), invoice_category_id = $category_id, invoice_status = 'Draft', invoice_discount_amount = $quote_discount_amount, invoice_amount = $quote_amount, invoice_currency_code = '$quote_currency_code', invoice_note = '$quote_note', invoice_url_key = '$url_key', invoice_client_id = $client_id"); $new_invoice_id = mysqli_insert_id($mysqli); diff --git a/recurring_invoice.php b/recurring_invoice.php index 9dd3ba8f..f578e314 100644 --- a/recurring_invoice.php +++ b/recurring_invoice.php @@ -363,7 +363,7 @@ if (isset($_GET['recurring_id'])) { 0) { ?>