From a5100ea1871478e60d10ef7807cdb570ba227f78 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Mon, 3 Jul 2023 20:16:39 -0400 Subject: [PATCH] Update the remaining logic to take advantage of the moved contact_primary and contact_location fields --- client_contact_add_modal.php | 4 ++-- client_contact_details.php | 7 ++++--- client_contact_edit_modal.php | 4 ++-- client_contacts.php | 11 ++++++----- client_location_add_modal.php | 2 +- client_location_edit_modal.php | 2 +- client_locations.php | 9 +++++---- client_overview.php | 5 +++-- cron.php | 4 ++-- guest_pay_invoice_stripe.php | 2 +- guest_view_invoice.php | 4 ++-- guest_view_quote.php | 4 ++-- inc_all_client.php | 8 ++++---- invoice.php | 4 ++-- portal/check_login.php | 4 +--- portal/document.php | 2 +- portal/documents.php | 2 +- portal/invoices.php | 2 +- portal/portal_functions.php | 4 ++-- portal/portal_header.php | 4 ++-- portal/profile.php | 2 +- portal/quotes.php | 2 +- portal/ticket.php | 2 +- portal/ticket_view_all.php | 2 +- portal/tickets.php | 2 +- post/client.php | 16 ++++------------ post/client_locations_model.php | 2 +- post/contact.php | 9 +-------- post/contact_model.php | 2 +- post/invoice.php | 6 +++--- post/location.php | 14 +++----------- post/quote.php | 2 +- quote.php | 4 ++-- recurring_invoice.php | 4 ++-- 34 files changed, 68 insertions(+), 89 deletions(-) diff --git a/client_contact_add_modal.php b/client_contact_add_modal.php index 970b95bb..1f991ade 100644 --- a/client_contact_add_modal.php +++ b/client_contact_add_modal.php @@ -9,7 +9,7 @@
- + @@ -47,7 +47,7 @@
- > +
diff --git a/client_contact_details.php b/client_contact_details.php index bd27a747..d9606fde 100644 --- a/client_contact_details.php +++ b/client_contact_details.php @@ -22,14 +22,15 @@ if (isset($_GET['contact_id'])) { $contact_pin = nullable_htmlentities($row['contact_pin']); $contact_initials = initials($contact_name); $contact_notes = nullable_htmlentities($row['contact_notes']); + $contact_primary = intval($row['contact_primary']); $contact_important = intval($row['contact_important']); $contact_billing = intval($row['contact_billing']); $contact_technical = intval($row['contact_technical']); $contact_created_at = nullable_htmlentities($row['contact_created_at']); - if ($contact_id == $primary_contact) { - $primary_contact_display = "Primary Contact"; + if ($contact_primary == 1 ) { + $contact_primary_display = "Primary Contact"; } else { - $primary_contact_display = false; + $contact_primary_display = false; } $contact_location_id = intval($row['contact_location_id']); $location_name = nullable_htmlentities($row['location_name']); diff --git a/client_contact_edit_modal.php b/client_contact_edit_modal.php index 741cccb8..2a740fb2 100644 --- a/client_contact_edit_modal.php +++ b/client_contact_edit_modal.php @@ -9,7 +9,7 @@ - + @@ -48,7 +48,7 @@
- > + >
diff --git a/client_contacts.php b/client_contacts.php index 32a1ed0e..5e774ee8 100644 --- a/client_contacts.php +++ b/client_contacts.php @@ -116,14 +116,15 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); $contact_photo = nullable_htmlentities($row['contact_photo']); $contact_initials = initials($contact_name); $contact_notes = nullable_htmlentities($row['contact_notes']); + $contact_primary = intval($row['contact_primary']); $contact_important = intval($row['contact_important']); $contact_billing = intval($row['contact_billing']); $contact_technical = intval($row['contact_technical']); $contact_created_at = nullable_htmlentities($row['contact_created_at']); - if ($contact_id == $primary_contact) { - $primary_contact_display = "Primary Contact"; + if ($contact_primary == 1) { + $contact_primary_display = "Primary Contact"; } else { - $primary_contact_display = false; + $contact_primary_display = false; } $contact_location_id = intval($row['contact_location_id']); $location_name = nullable_htmlentities($row['location_name']); @@ -170,7 +171,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
-
+
@@ -189,7 +190,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); Edit - + Archive diff --git a/client_location_add_modal.php b/client_location_add_modal.php index 10425f71..6a09380b 100644 --- a/client_location_add_modal.php +++ b/client_location_add_modal.php @@ -38,7 +38,7 @@
- > + >
diff --git a/client_location_edit_modal.php b/client_location_edit_modal.php index 5c79de18..688d1e30 100644 --- a/client_location_edit_modal.php +++ b/client_location_edit_modal.php @@ -40,7 +40,7 @@
- > + >
diff --git a/client_locations.php b/client_locations.php index 42bfbd4e..c4ec8d88 100644 --- a/client_locations.php +++ b/client_locations.php @@ -91,10 +91,11 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); $location_notes = nullable_htmlentities($row['location_notes']); $location_created_at = nullable_htmlentities($row['location_created_at']); $location_contact_id = intval($row['location_contact_id']); - if ($location_id == $primary_location) { - $primary_location_display = "

Primary Location

"; + $location_primary = intval($row['location_primary']); + if ( $location_primary == 1 ) { + $location_primary_display = "

Primary Location

"; } else { - $primary_location_display = ""; + $location_primary_display = ""; } ?> @@ -102,7 +103,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
- + " target="_blank">
diff --git a/client_overview.php b/client_overview.php index 0441d07d..9cffdcf5 100644 --- a/client_overview.php +++ b/client_overview.php @@ -13,8 +13,9 @@ $sql_important_contacts = mysqli_query( $mysqli, "SELECT * FROM contacts WHERE contact_client_id = $client_id - AND (contact_important = 1 OR contact_billing = 1 OR contact_technical = 1 OR contact_id = $primary_contact) - AND contact_archived_at IS NULL ORDER BY contact_name DESC" + AND (contact_important = 1 OR contact_billing = 1 OR contact_technical = 1 OR contact_primary = 1) + AND contact_archived_at IS NULL + ORDER BY contact_primary DESC, contact_name DESC" ); $sql_recent_tickets = mysqli_query( diff --git a/cron.php b/cron.php index f9fa39d7..34789a36 100644 --- a/cron.php +++ b/cron.php @@ -435,7 +435,7 @@ foreach ($invoiceAlertArray as $day) { $mysqli, "SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Paid' AND invoice_status NOT LIKE 'Cancelled' @@ -563,7 +563,7 @@ while ($row = mysqli_fetch_array($sql_recurring)) { $mysqli, "SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_id = $new_invoice_id" ); diff --git a/guest_pay_invoice_stripe.php b/guest_pay_invoice_stripe.php index 3f70932c..e81d0cfa 100644 --- a/guest_pay_invoice_stripe.php +++ b/guest_pay_invoice_stripe.php @@ -193,7 +193,7 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent $mysqli, "SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_id = $pi_invoice_id AND invoice_status != 'Draft' AND invoice_status != 'Paid' diff --git a/guest_view_invoice.php b/guest_view_invoice.php index 0d5b42e9..f6d4a918 100644 --- a/guest_view_invoice.php +++ b/guest_view_invoice.php @@ -15,8 +15,8 @@ $sql = mysqli_query( $mysqli, "SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN locations ON primary_location = location_id - LEFT JOIN contacts ON primary_contact = contact_id + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_id = $invoice_id AND invoice_url_key = '$url_key'" ); diff --git a/guest_view_quote.php b/guest_view_quote.php index d9e485a4..a3804a5c 100644 --- a/guest_view_quote.php +++ b/guest_view_quote.php @@ -16,8 +16,8 @@ $sql = mysqli_query( $mysqli, "SELECT * FROM quotes LEFT JOIN clients ON quote_client_id = client_id - LEFT JOIN locations ON primary_location = location_id - LEFT JOIN contacts ON primary_contact = contact_id + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 WHERE quote_id = $quote_id AND quote_url_key = '$url_key'" ); diff --git a/inc_all_client.php b/inc_all_client.php index 8d818a1e..fdb247af 100644 --- a/inc_all_client.php +++ b/inc_all_client.php @@ -14,8 +14,8 @@ if (isset($_GET['client_id'])) { $sql = mysqli_query( $mysqli, "SELECT * FROM clients - LEFT JOIN locations ON primary_location = location_id AND location_archived_at IS NULL - LEFT JOIN contacts ON primary_contact = contact_id AND contact_archived_at IS NULL + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE client_id = $client_id" ); @@ -38,8 +38,6 @@ if (isset($_GET['client_id'])) { $client_rate = floatval($row['client_rate']); $client_notes = nullable_htmlentities($row['client_notes']); $client_created_at = nullable_htmlentities($row['client_created_at']); - $primary_contact = intval($row['primary_contact']); - $primary_location = intval($row['primary_location']); $contact_id = intval($row['contact_id']); $contact_name = nullable_htmlentities($row['contact_name']); $contact_title = nullable_htmlentities($row['contact_title']); @@ -47,6 +45,7 @@ if (isset($_GET['client_id'])) { $contact_phone = formatPhoneNumber($row['contact_phone']); $contact_extension = nullable_htmlentities($row['contact_extension']); $contact_mobile = formatPhoneNumber($row['contact_mobile']); + $contact_primary = intval($row['contact_primary']); $location_id = intval($row['location_id']); $location_name = nullable_htmlentities($row['location_name']); $location_address = nullable_htmlentities($row['location_address']); @@ -55,6 +54,7 @@ if (isset($_GET['client_id'])) { $location_zip = nullable_htmlentities($row['location_zip']); $location_country = nullable_htmlentities($row['location_country']); $location_phone = formatPhoneNumber($row['location_phone']); + $location_primary = intval($row['location_primary']); //Client Tags diff --git a/invoice.php b/invoice.php index ed1a6d78..dd75dd4e 100644 --- a/invoice.php +++ b/invoice.php @@ -10,8 +10,8 @@ if (isset($_GET['invoice_id'])) { $mysqli, "SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN locations ON primary_location = location_id - LEFT JOIN contacts ON primary_contact = contact_id + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 WHERE invoice_id = $invoice_id" ); diff --git a/portal/check_login.php b/portal/check_login.php index 161f907a..72357302 100644 --- a/portal/check_login.php +++ b/portal/check_login.php @@ -50,6 +50,7 @@ $session_contact_initials = initials($session_contact_name); $session_contact_title = sanitizeInput($contact['contact_title']); $session_contact_email = sanitizeInput($contact['contact_email']); $session_contact_photo = sanitizeInput($contact['contact_photo']); +$session_contact_primary = intval($client['contact_primary']); $session_contact_is_technical_contact = false; $session_contact_is_billing_contact = false; @@ -60,11 +61,8 @@ if ($contact['contact_billing'] == 1) { $session_contact_is_billing_contact = true; } - - // Get client info $client_sql = mysqli_query($mysqli, "SELECT * FROM clients WHERE client_id = $session_client_id"); $client = mysqli_fetch_array($client_sql); $session_client_name = $client['client_name']; -$session_client_primary_contact_id = intval($client['primary_contact']); diff --git a/portal/document.php b/portal/document.php index fd1fb431..41249df9 100644 --- a/portal/document.php +++ b/portal/document.php @@ -8,7 +8,7 @@ header("Content-Security-Policy: default-src 'self' fonts.googleapis.com fonts.g require_once("inc_portal.php"); -if ($session_contact_id !== $session_client_primary_contact_id && !$session_contact_is_technical_contact) { +if ($session_contact_primary == 0 && !$session_contact_is_technical_contact) { header("Location: portal_post.php?logout"); exit(); } diff --git a/portal/documents.php b/portal/documents.php index e6cfa819..52109572 100644 --- a/portal/documents.php +++ b/portal/documents.php @@ -8,7 +8,7 @@ header("Content-Security-Policy: default-src 'self' fonts.googleapis.com fonts.g require_once("inc_portal.php"); -if ($session_contact_id !== $session_client_primary_contact_id && !$session_contact_is_technical_contact) { +if ($session_contact_primary == 0 && !$session_contact_is_technical_contact) { header("Location: portal_post.php?logout"); exit(); } diff --git a/portal/invoices.php b/portal/invoices.php index 590de567..0c180cfd 100644 --- a/portal/invoices.php +++ b/portal/invoices.php @@ -8,7 +8,7 @@ header("Content-Security-Policy: default-src 'self' fonts.googleapis.com fonts.g require_once("inc_portal.php"); -if ($session_contact_id !== $session_client_primary_contact_id && !$session_contact_is_billing_contact) { +if ($session_contact_primary == 0 && !$session_contact_is_billing_contact) { header("Location: portal_post.php?logout"); exit(); } diff --git a/portal/portal_functions.php b/portal/portal_functions.php index 334dcfbe..a9ac1f14 100644 --- a/portal/portal_functions.php +++ b/portal/portal_functions.php @@ -11,7 +11,7 @@ function verifyContactTicketAccess($requested_ticket_id, $expected_ticket_state) { // Access the global variables - global $mysqli, $session_contact_id, $session_client_primary_contact_id, $session_contact_is_technical_contact, $session_client_id; + global $mysqli, $session_contact_id, $session_contact_primary, $session_contact_is_technical_contact, $session_client_id; // Setup if ($expected_ticket_state == "Closed") { @@ -27,7 +27,7 @@ function verifyContactTicketAccess($requested_ticket_id, $expected_ticket_state) $row = mysqli_fetch_array($sql); $ticket_id = $row['ticket_id']; - if (intval($ticket_id) && ($session_contact_id == $row['ticket_contact_id'] || $session_contact_id == $session_client_primary_contact_id || $session_contact_is_technical_contact)) { + if (intval($ticket_id) && ($session_contact_id == $row['ticket_contact_id'] || $session_contact_primary == 1 || $session_contact_is_technical_contact)) { // Client is ticket owner, primary contact, or a technical contact return true; } diff --git a/portal/portal_header.php b/portal/portal_header.php index c87dab96..06a331bd 100644 --- a/portal/portal_header.php +++ b/portal/portal_header.php @@ -45,7 +45,7 @@ header("X-Frame-Options: DENY"); // Legacy - + @@ -53,7 +53,7 @@ header("X-Frame-Options: DENY"); // Legacy " href="quotes.php">Quotes - + diff --git a/portal/profile.php b/portal/profile.php index 0a938abf..faecd405 100644 --- a/portal/profile.php +++ b/portal/profile.php @@ -15,7 +15,7 @@ require_once('inc_portal.php');

Email:

Client:


-

Client Primary Contact:

+

Client Primary Contact:

Client Technical Contact:

Client Billing Contact:

diff --git a/portal/quotes.php b/portal/quotes.php index 3562ad12..bf9af1da 100644 --- a/portal/quotes.php +++ b/portal/quotes.php @@ -8,7 +8,7 @@ header("Content-Security-Policy: default-src 'self' fonts.googleapis.com fonts.g require_once("inc_portal.php"); -if ($session_contact_id !== $session_client_primary_contact_id && !$session_contact_is_billing_contact) { +if ($session_contact_primary == 0 && !$session_contact_is_billing_contact) { header("Location: portal_post.php?logout"); exit(); } diff --git a/portal/ticket.php b/portal/ticket.php index ca669f41..36d113d0 100644 --- a/portal/ticket.php +++ b/portal/ticket.php @@ -15,7 +15,7 @@ $purifier = new HTMLPurifier($purifier_config); if (isset($_GET['id']) && intval($_GET['id'])) { $ticket_id = intval($_GET['id']); - if ($session_contact_id == $session_client_primary_contact_id || $session_contact_is_technical_contact) { + if ($session_contact_primary == 1 || $session_contact_is_technical_contact) { $ticket_sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_id = $ticket_id AND ticket_client_id = $session_client_id"); } else { $ticket_sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_id = $ticket_id AND ticket_client_id = $session_client_id AND ticket_contact_id = $session_contact_id"); diff --git a/portal/ticket_view_all.php b/portal/ticket_view_all.php index ab845acf..9f08d186 100644 --- a/portal/ticket_view_all.php +++ b/portal/ticket_view_all.php @@ -6,7 +6,7 @@ require_once('inc_portal.php'); -if ($session_contact_id !== $session_client_primary_contact_id && !$session_contact_is_technical_contact) { +if ($session_contact_primary == 0 && !$session_contact_is_technical_contact) { header("Location: portal_post.php?logout"); exit(); } diff --git a/portal/tickets.php b/portal/tickets.php index 24b1b92d..ec2c2156 100644 --- a/portal/tickets.php +++ b/portal/tickets.php @@ -119,7 +119,7 @@ $total_tickets = intval($row['total_tickets']); All my tickets |
diff --git a/post/client.php b/post/client.php index 9cc78531..b7176b9f 100644 --- a/post/client.php +++ b/post/client.php @@ -38,10 +38,6 @@ if (isset($_POST['add_client'])) { if (!empty($location_phone) || !empty($address) || !empty($city) || !empty($state) || !empty($zip)) { mysqli_query($mysqli, "INSERT INTO locations SET location_name = 'Primary', location_address = '$address', location_city = '$city', location_state = '$state', location_zip = '$zip', location_phone = '$location_phone', location_country = '$country', location_primary = 1, location_client_id = $client_id"); - //Update Primay location in clients - $location_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli, "UPDATE clients SET primary_location = $location_id WHERE client_id = $client_id"); - //Extended Logging $extended_log_description .= ", primary location $address added"; } @@ -51,10 +47,6 @@ if (isset($_POST['add_client'])) { if (!empty($contact) || !empty($title) || !empty($contact_phone) || !empty($contact_mobile) || !empty($contact_email)) { mysqli_query($mysqli, "INSERT INTO contacts SET contact_name = '$contact', contact_title = '$title', contact_phone = '$contact_phone', contact_extension = '$contact_extension', contact_mobile = '$contact_mobile', contact_email = '$contact_email', contact_primary = 1, contact_important = 1, contact_client_id = $client_id"); - //Update Primary contact in clients - $contact_id = mysqli_insert_id($mysqli); - mysqli_query($mysqli, "UPDATE clients SET primary_contact = $contact_id WHERE client_id = $client_id"); - //Extended Logging $extended_log_description .= ", primary contact $contact added"; } @@ -306,8 +298,8 @@ if (isset($_POST['export_clients_csv'])) { //get records from database $sql = mysqli_query($mysqli, "SELECT * FROM clients - LEFT JOIN contacts ON clients.primary_contact = contacts.contact_id AND contact_archived_at IS NULL - LEFT JOIN locations ON clients.primary_location = locations.location_id AND location_archived_at IS NULL + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 ORDER BY client_name ASC "); @@ -368,8 +360,8 @@ if (isset($_POST['export_client_pdf'])) { //get records from database $sql = mysqli_query($mysqli,"SELECT * FROM clients - LEFT JOIN contacts ON primary_contact = contact_id - LEFT JOIN locations ON primary_location = location_id + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 WHERE client_id = $client_id "); diff --git a/post/client_locations_model.php b/post/client_locations_model.php index 242681be..0073ad41 100644 --- a/post/client_locations_model.php +++ b/post/client_locations_model.php @@ -10,4 +10,4 @@ $phone = preg_replace("/[^0-9]/", '',$_POST['phone']); $hours = sanitizeInput($_POST['hours']); $notes = sanitizeInput($_POST['notes']); $contact = intval($_POST['contact']); -$location_primary = intval($_POST['primary_location']); \ No newline at end of file +$location_primary = intval($_POST['location_primary']); \ No newline at end of file diff --git a/post/contact.php b/post/contact.php index e28d478f..391bd6e5 100644 --- a/post/contact.php +++ b/post/contact.php @@ -21,11 +21,7 @@ if (isset($_POST['add_contact'])) { $contact_id = mysqli_insert_id($mysqli); //Update Primary contact in clients if primary contact is checked - if ($contact_primary == 1) { - // Old way of adding contact_primary Set for Removal - mysqli_query($mysqli,"UPDATE clients SET primary_contact = $contact_id WHERE client_id = $client_id"); - - // New Way of setting primary contact + if ($contact_primary == 1) { mysqli_query($mysqli,"UPDATE contacts SET contact_primary = 0 WHERE contact_client_id = $client_id"); mysqli_query($mysqli,"UPDATE contacts SET contact_primary = 1, contact_important = 1 WHERE contact_id = $contact_id"); } @@ -80,9 +76,6 @@ if (isset($_POST['edit_contact'])) { // Update Primary contact in clients if primary contact is checked if ($contact_primary == 1) { - // Old way of adding contact_primary Set for Removal - mysqli_query($mysqli,"UPDATE clients SET primary_contact = $contact_id WHERE client_id = $client_id"); - mysqli_query($mysqli,"UPDATE contacts SET contact_primary = 0 WHERE contact_client_id = $client_id"); mysqli_query($mysqli,"UPDATE contacts SET contact_primary = 1, contact_important = 1 WHERE contact_id = $contact_id"); } diff --git a/post/contact_model.php b/post/contact_model.php index 22fda2c0..395854d7 100644 --- a/post/contact_model.php +++ b/post/contact_model.php @@ -9,7 +9,7 @@ $extension = preg_replace("/[^0-9]/", '', $_POST['extension']); $mobile = preg_replace("/[^0-9]/", '', $_POST['mobile']); $email = sanitizeInput($_POST['email']); $notes = sanitizeInput($_POST['notes']); -$contact_primary = intval($_POST['primary_contact']); +$contact_primary = intval($_POST['contact_primary']); $contact_important = intval($_POST['contact_important']); $contact_billing = intval($_POST['contact_billing']); $contact_technical = intval($_POST['contact_technical']); diff --git a/post/invoice.php b/post/invoice.php index 05733ebd..6d3922f5 100644 --- a/post/invoice.php +++ b/post/invoice.php @@ -559,7 +559,7 @@ if (isset($_POST['add_payment'])) { //Get the invoice total $sql = mysqli_query($mysqli,"SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_id = $invoice_id" ); @@ -721,7 +721,7 @@ if (isset($_GET['email_invoice'])) { $sql = mysqli_query($mysqli,"SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_id = $invoice_id" ); $row = mysqli_fetch_array($sql); @@ -899,7 +899,7 @@ if (isset($_GET['force_recurring'])) { if ($config_recurring_auto_send_invoice == 1) { $sql = mysqli_query($mysqli,"SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_id = $new_invoice_id" ); $row = mysqli_fetch_array($sql); diff --git a/post/location.php b/post/location.php index 3b9e671a..abb74258 100644 --- a/post/location.php +++ b/post/location.php @@ -19,16 +19,12 @@ if(isset($_POST['add_location'])){ $location_id = mysqli_insert_id($mysqli); // Update Primay location in clients if primary location is checked - if($location_primary == 1){ - // Old way of adding contact_primary Set for Removal - mysqli_query($mysqli,"UPDATE clients SET primary_location = $location_id WHERE client_id = $client_id"); - - // New Way of setting primary location + if ($location_primary == 1) { mysqli_query($mysqli,"UPDATE locations SET location_primary = 0 WHERE location_client_id = $client_id"); mysqli_query($mysqli,"UPDATE locations SET location_primary = 1 WHERE location_id = $location_id"); } - //Check to see if a file is attached + // Check to see if a file is attached if($_FILES['file']['tmp_name'] != ''){ if ($new_file_name = checkFileUpload($_FILES['file'], array('jpg', 'jpeg', 'gif', 'png'))) { @@ -79,11 +75,7 @@ if(isset($_POST['edit_location'])){ mysqli_query($mysqli,"UPDATE locations SET location_name = '$name', location_country = '$country', location_address = '$address', location_city = '$city', location_state = '$state', location_zip = '$zip', location_phone = '$phone', location_hours = '$hours', location_notes = '$notes', location_contact_id = $contact WHERE location_id = $location_id"); // Update Primay location in clients if primary location is checked - if($location_primary == 1){ - // Old way of adding contact_primary Set for Removal - mysqli_query($mysqli,"UPDATE clients SET primary_location = $location_id WHERE client_id = $client_id"); - - // New Way of setting primary location + if ($location_primary == 1) { mysqli_query($mysqli,"UPDATE locations SET location_primary = 0 WHERE location_client_id = $client_id"); mysqli_query($mysqli,"UPDATE locations SET location_primary = 1 WHERE location_id = $location_id"); } diff --git a/post/quote.php b/post/quote.php index 432c76b1..1dc7d788 100644 --- a/post/quote.php +++ b/post/quote.php @@ -328,7 +328,7 @@ if (isset($_GET['email_quote'])) { $sql = mysqli_query($mysqli,"SELECT * FROM quotes LEFT JOIN clients ON quote_client_id = client_id - LEFT JOIN contacts ON contact_id = primary_contact + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE quote_id = $quote_id" ); diff --git a/quote.php b/quote.php index 57d9a3b9..44d223b6 100644 --- a/quote.php +++ b/quote.php @@ -9,8 +9,8 @@ if (isset($_GET['quote_id'])) { $mysqli, "SELECT * FROM quotes LEFT JOIN clients ON quote_client_id = client_id - LEFT JOIN locations ON primary_location = location_id - LEFT JOIN contacts ON primary_contact = contact_id + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 WHERE quote_id = $quote_id" ); diff --git a/recurring_invoice.php b/recurring_invoice.php index f797f306..e8561a27 100644 --- a/recurring_invoice.php +++ b/recurring_invoice.php @@ -9,8 +9,8 @@ if (isset($_GET['recurring_id'])) { $mysqli, "SELECT * FROM recurring LEFT JOIN clients ON recurring_client_id = client_id - LEFT JOIN locations ON primary_location = location_id - LEFT JOIN contacts ON primary_contact = contact_id + LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 + LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 WHERE recurring_id = $recurring_id" );